Modern IDB: Land empty IDBCursor/Index IDL implementations.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2015-11-03  Brady Eidson  <beidson@apple.com>
2
3         Modern IDB: Land empty IDBCursor/Index IDL implementations.
4         https://bugs.webkit.org/show_bug.cgi?id=150839
5
6         Reviewed by Alex Christensen.
7
8         No new tests (No change in behavior).
9
10         * CMakeLists.txt:
11         * WebCore.xcodeproj/project.pbxproj:
12
13         * Modules/indexeddb/IDBIndex.h:
14         
15         * Modules/indexeddb/client/IDBCursorImpl.cpp: Added.
16         (WebCore::IDBClient::IDBCursor::~IDBCursor):
17         (WebCore::IDBClient::IDBCursor::direction):
18         (WebCore::IDBClient::IDBCursor::key):
19         (WebCore::IDBClient::IDBCursor::primaryKey):
20         (WebCore::IDBClient::IDBCursor::value):
21         (WebCore::IDBClient::IDBCursor::source):
22         (WebCore::IDBClient::IDBCursor::update):
23         (WebCore::IDBClient::IDBCursor::advance):
24         (WebCore::IDBClient::IDBCursor::continueFunction):
25         (WebCore::IDBClient::IDBCursor::deleteFunction):
26         * Modules/indexeddb/client/IDBCursorImpl.h: Added.
27         
28         * Modules/indexeddb/client/IDBCursorWithValueImpl.cpp: Added.
29         * Modules/indexeddb/client/IDBCursorWithValueImpl.h: Added.
30         
31         * Modules/indexeddb/client/IDBIndexImpl.cpp: Added.
32         (WebCore::IDBClient::IDBIndex::~IDBIndex):
33         (WebCore::IDBClient::IDBIndex::name):
34         (WebCore::IDBClient::IDBIndex::objectStore):
35         (WebCore::IDBClient::IDBIndex::keyPathAny):
36         (WebCore::IDBClient::IDBIndex::keyPath):
37         (WebCore::IDBClient::IDBIndex::unique):
38         (WebCore::IDBClient::IDBIndex::multiEntry):
39         (WebCore::IDBClient::IDBIndex::openCursor):
40         (WebCore::IDBClient::IDBIndex::count):
41         (WebCore::IDBClient::IDBIndex::openKeyCursor):
42         (WebCore::IDBClient::IDBIndex::get):
43         (WebCore::IDBClient::IDBIndex::getKey):
44         * Modules/indexeddb/client/IDBIndexImpl.h: Copied from Source/WebCore/Modules/indexeddb/IDBIndex.h.
45         
46         * Modules/indexeddb/legacy/LegacyIndex.h:
47         (WebCore::LegacyIndex::id):
48         
49         * Modules/indexeddb/shared/IDBIndexInfo.cpp: Added.
50         * Modules/indexeddb/shared/IDBIndexInfo.h: Added.
51         (WebCore::IDBIndexInfo::name):
52         (WebCore::IDBIndexInfo::keyPath):
53         (WebCore::IDBIndexInfo::unique):
54         (WebCore::IDBIndexInfo::multiEntry):
55
56 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
57
58         Addressing post-review comments on r191934.
59
60         Unreviewed.
61
62         * platform/graphics/mac/FontCustomPlatformData.cpp:
63         (WebCore::FontCustomPlatformData::supportsFormat):
64
65 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
66
67         Web Inspector: Move ScriptDebugServer::Task to WorkerScriptDebugServer where it is actually used
68         https://bugs.webkit.org/show_bug.cgi?id=150847
69
70         Reviewed by Timothy Hatcher.
71
72         * bindings/js/WorkerScriptDebugServer.cpp:
73         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
74         * bindings/js/WorkerScriptDebugServer.h:
75         * inspector/WorkerDebuggerAgent.cpp:
76
77 2015-11-03  Tim Horton  <timothy_horton@apple.com>
78
79         Fix the build.
80
81         * platform/Widget.h:
82         (WebCore::Widget::boundsRect):
83         (WebCore::Widget::resize):
84
85 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
86
87         font-variant-* properties in @font-face declarations should be honored
88         https://bugs.webkit.org/show_bug.cgi?id=149771
89
90         Reviewed by Simon Fraser.
91
92         According to the CSS Fonts Level 3 spec, web authors are allowed to put
93         font-feature-settings / font-variant-* inside @font-face blocks. These
94         properties are supposed to be applied at a specific time during the
95         font selection algorithm.
96
97         This patch gives a FontFeatureSettings object and a FontVariantSettings
98         object to CSSFontFace, and moves common parsing logic from
99         StyleBuilderCustom to a shared location. Then, once the two properties
100         are parsed from the @font-face block, the relevant data structures are
101         passed down into the font selection algorithm. This algorithm then
102         consults with these values at the correct time (inside
103         preparePlatformFont()).
104
105         Tests: css3/font-feature-settings-font-face-rendering.html
106                css3/font-variant-font-face-all.html
107                css3/font-variant-font-face-override.html
108
109         * WebCore.xcodeproj/project.pbxproj: Add a header for the common
110         location of parsing font-variant-ligatures, font-variant-numeric,
111         and font-variant-east-asian.
112         * css/CSSFontFace.cpp:
113         (WebCore::CSSFontFace::font): Pass the relevant data structures
114         into the font selection algorithm.
115         * css/CSSFontFace.h: Add FontFeatureSettings and FontVariantSettings
116         member variables.
117         (WebCore::CSSFontFace::insertFeature):
118         (WebCore::CSSFontFace::setVariantCommonLigatures):
119         (WebCore::CSSFontFace::setVariantDiscretionaryLigatures):
120         (WebCore::CSSFontFace::setVariantHistoricalLigatures):
121         (WebCore::CSSFontFace::setVariantContextualAlternates):
122         (WebCore::CSSFontFace::setVariantPosition):
123         (WebCore::CSSFontFace::setVariantCaps):
124         (WebCore::CSSFontFace::setVariantNumericFigure):
125         (WebCore::CSSFontFace::setVariantNumericSpacing):
126         (WebCore::CSSFontFace::setVariantNumericFraction):
127         (WebCore::CSSFontFace::setVariantNumericOrdinal):
128         (WebCore::CSSFontFace::setVariantNumericSlashedZero):
129         (WebCore::CSSFontFace::setVariantAlternates):
130         (WebCore::CSSFontFace::setVariantEastAsianVariant):
131         (WebCore::CSSFontFace::setVariantEastAsianWidth):
132         (WebCore::CSSFontFace::setVariantEastAsianRuby):
133         * css/CSSFontFaceSource.cpp:
134         (WebCore::CSSFontFaceSource::font): Pass the relevant data
135         structures into the font selection algorithm.
136         * css/CSSFontFaceSource.h: Ditto.
137         * css/CSSFontSelector.cpp:
138         (WebCore::CSSFontSelector::addFontFaceRule): Call the shared
139         parsing logic to populate the FontFeatureSettings and
140         FontVariantSettings members.
141         * css/FontVariantBuilder.h: Added. Destination for shared parsing
142         logic.
143         (WebCore::applyValueFontVariantLigatures):
144         (WebCore::applyValueFontVariantNumeric):
145         (WebCore::applyValueFontVariantEastAsian):
146         * css/StyleBuilderCustom.h: Source for shared parsing logic.
147         (WebCore::StyleBuilderCustom::applyValueFontVariantLigatures):
148         (WebCore::StyleBuilderCustom::applyValueFontVariantNumeric):
149         (WebCore::StyleBuilderCustom::applyValueFontVariantEastAsian):
150         * loader/cache/CachedFont.cpp: Pass the relevant data structures
151         into the font selection algorithm.
152         (WebCore::CachedFont::createFont):
153         (WebCore::CachedFont::platformDataFromCustomData):
154         * loader/cache/CachedFont.h: Ditto.
155         * loader/cache/CachedSVGFont.cpp: Ditto.
156         (WebCore::CachedSVGFont::createFont):
157         (WebCore::CachedSVGFont::platformDataFromCustomData):
158         * loader/cache/CachedSVGFont.h: Ditto.
159         * platform/graphics/FontCache.h: Ditto.
160         * platform/graphics/FontCascade.cpp:
161         (WebCore::FontCascade::codePath): Adjust comment.
162         * platform/graphics/cocoa/FontCacheCoreText.cpp:
163         (WebCore::preparePlatformFont): Consult with the newly parsed values.
164         (WebCore::fontWithFamily): Pass the relevant data structures into the
165         font selection algorithm.
166         (WebCore::FontCache::systemFallbackForCharacters): Ditto.
167         * platform/graphics/mac/FontCustomPlatformData.cpp:
168         (WebCore::FontCustomPlatformData::fontPlatformData): Ditto.
169         * platform/graphics/mac/FontCustomPlatformData.h: Ditto.
170
171 2015-11-03  Joseph Pecoraro  <pecoraro@apple.com>
172
173         Web Inspector: Handle or Remove ParseHTML Timeline Event Records
174         https://bugs.webkit.org/show_bug.cgi?id=150689
175
176         Reviewed by Timothy Hatcher.
177
178         Remove ParseHTML nesting recordings. We were not using them
179         and for most pages their self-time is very small in comparison
180         to other events. We may consider adding it back later for
181         UI purposes but for now the frontend doesn't use the records
182         so lets remove it.
183
184         * html/parser/HTMLDocumentParser.cpp:
185         (WebCore::HTMLDocumentParser::pumpTokenizer): Deleted.
186         * inspector/InspectorInstrumentation.cpp:
187         (WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
188         (WebCore::InspectorInstrumentation::didWriteHTMLImpl): Deleted.
189         * inspector/InspectorInstrumentation.h:
190         (WebCore::InspectorInstrumentation::willWriteHTML): Deleted.
191         (WebCore::InspectorInstrumentation::didWriteHTML): Deleted.
192         * inspector/InspectorTimelineAgent.cpp:
193         (WebCore::InspectorTimelineAgent::willWriteHTML): Deleted.
194         (WebCore::InspectorTimelineAgent::didWriteHTML): Deleted.
195         (WebCore::toProtocol): Deleted.
196         * inspector/InspectorTimelineAgent.h:
197         * inspector/TimelineRecordFactory.cpp:
198         (WebCore::TimelineRecordFactory::createParseHTMLData): Deleted.
199         * inspector/TimelineRecordFactory.h:
200
201 2015-11-03  Keith Rollin  <krollin@apple.com>
202
203         HTMLOptionElement.text should never return the value of label
204         https://bugs.webkit.org/show_bug.cgi?id=148862
205         rdar://problem/22589226
206
207         Reviewed by Darin Adler.
208
209         According to the HTML spec, `option` elements should have the
210         following behavior:
211
212             - the `text` property should return text contents of element
213             - the `label` property should return value of label attribute if
214               it exists, else return text property
215             - the UI should display label property
216
217         12 years ago, in order to be compatibile with browsers of the time, we
218         diverged from this behavior: the text property behaved like the label
219         property, and the text property was used for display. This resulted in
220         our UI incidentally conforming to the spec, but also in the text
221         property *not* conforming to the spec. See <rdar://problem/3532519>
222         for discussion on this change.
223
224         The behavior of the browsers we were conforming to has changed. In
225         particular, the text property in Firefox now conforms to the spec
226         instead of behaving as we did. Therefore, it's less important to
227         retain our old behavior for the sake of compatibility. This check-in
228         brings us into conformance with the spec. The result is that the UI
229         stays the same, but the text property will return different values than
230         it used to if the option element has a label attribute that used to
231         hide it.
232
233         Updated tests:
234         - fast/dom/HTMLOptionElement/option-text.html:
235         - fast/forms/HTMLOptionElement_label01.html:
236         - fast/forms/HTMLOptionElement_label02.html:
237         - fast/forms/HTMLOptionElement_label03.html:
238         - fast/forms/HTMLOptionElement_label04.html:
239         - fast/forms/HTMLOptionElement_label05.html:
240         - fast/forms/HTMLOptionElement_label06.html:
241         - fast/forms/HTMLOptionElement_label07.html:
242         - fast/forms/option-value-and-label.html:
243
244         * accessibility/AccessibilityListBoxOption.cpp:
245         (WebCore::AccessibilityListBoxOption::stringValue):
246         * accessibility/AccessibilityMenuListOption.cpp:
247         (WebCore::AccessibilityMenuListOption::stringValue):
248         * html/HTMLOptionElement.cpp:
249         (WebCore::HTMLOptionElement::text):
250         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
251
252 2015-11-03  Andreas Kling  <akling@apple.com>
253
254         ResourceUsageOverlay should draw itself using WebCore::GraphicsContext.
255         <https://webkit.org/b/150841>
256
257         Reviewed by Antti Koivisto.
258
259         Use WebCore text drawing primitives instead of poking at the CGContext directly.
260         And stop using deprecated CoreGraphics APIs, too.
261
262         * page/cocoa/ResourceUsageOverlayCocoa.mm:
263         (WebCore::drawCpuHistory):
264         (WebCore::drawGCHistory):
265
266             Adjust for unflipped Y axis.
267
268         (WebCore::fontCascade):
269         (WebCore::showText):
270
271             Draw using WebCore text drawing primitives.
272
273         (WebCore::ResourceUsageOverlay::draw):
274
275             Remove CGContext calls and stop flipping the Y axis.
276
277 2015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
278
279         [Streams API] Vended promise capabilities should not need @resolve/@reject fields
280         https://bugs.webkit.org/show_bug.cgi?id=150835
281
282         Reviewed by Darin Adler.
283
284         No change in behavior, covered by existing tests.
285
286         * Modules/streams/ReadableStreamInternals.js:
287         (privateInitializeReadableStreamReader): Removed @resolve/@reject fields from resolved/rejected @closedPromiseCapability.
288         * Modules/streams/WritableStream.js:
289         (initializeWritableStream): Removed @resolve/@reject fields from resolved readyPromiseCapability.
290         * Modules/streams/WritableStreamInternals.js:
291         (syncWritableStreamStateWithQueue): Updated code to be closer to spec and removing the need to resolve an already resolved promise.
292
293 2015-11-03  Hunseop Jeong  <hs85.jeong@samsung.com>
294
295         Replace 0 and NULL with nullptr in WebCore/dom.
296         https://bugs.webkit.org/show_bug.cgi?id=150788
297
298         Reviewed by Darin Adler.
299
300         No new tests because there is no behavior change.
301
302         * dom/Attr.cpp:
303         (WebCore::Attr::Attr):
304         (WebCore::Attr::detachFromElementWithValue):
305         (WebCore::Attr::attachToElement):
306         * dom/Attr.h:
307         * dom/CheckedRadioButtons.cpp:
308         (WebCore::RadioButtonGroup::updateCheckedState):
309         (WebCore::CheckedRadioButtons::checkedButtonForGroup):
310         (WebCore::CheckedRadioButtons::isInRequiredGroup):
311         * dom/ChildListMutationScope.cpp:
312         (WebCore::ChildListMutationAccumulator::enqueueMutationRecord):
313         * dom/ContainerNode.cpp:
314         (WebCore::ContainerNode::removeBetween):
315         * dom/ContainerNode.h:
316         (WebCore::ContainerNode::ContainerNode):
317         * dom/ContainerNodeAlgorithms.cpp:
318         (WebCore::notifyNodeRemovedFromDocument):
319         * dom/Document.h:
320         (WebCore::Document::wellFormed):
321         (WebCore::Document::scriptRunner):
322         (WebCore::Document::moduleLoader):
323         (WebCore::Document::currentScript):
324         (WebCore::Document::webkitFullscreenElement):
325         * dom/DocumentOrderedMap.h:
326         (WebCore::DocumentOrderedMap::MapEntry::MapEntry):
327         * dom/DocumentParser.cpp:
328         (WebCore::DocumentParser::detach):
329         (WebCore::DocumentParser::suspendScheduledTasks):
330         * dom/Element.cpp:
331         (WebCore::Element::setAttributeInternal):
332         (WebCore::Element::shadowRoot):
333         (WebCore::Element::blur):
334         (WebCore::Element::beforePseudoElement):
335         (WebCore::Element::afterPseudoElement):
336         (WebCore::Element::setBeforePseudoElement):
337         * dom/Event.cpp:
338         (WebCore::Event::Event):
339         * dom/Event.h:
340         (WebCore::Event::legacyReturnValue):
341         (WebCore::Event::setLegacyReturnValue):
342         (WebCore::Event::clipboardData):
343         * dom/EventContext.cpp:
344         (WebCore::MouseOrFocusEventContext::MouseOrFocusEventContext):
345         * dom/EventDispatcher.cpp:
346         (WebCore::EventPath::lastContextIfExists):
347         (WebCore::EventDispatcher::dispatchEvent):
348         * dom/EventListenerMap.cpp:
349         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
350         (WebCore::EventListenerIterator::EventListenerIterator):
351         * dom/EventListenerMap.h:
352         * dom/EventTarget.cpp:
353         (WebCore::EventTarget::fireEventListeners):
354         * dom/FocusEvent.cpp:
355         (WebCore::FocusEventInit::FocusEventInit):
356         * dom/GenericEventQueue.cpp:
357         (WebCore::GenericEventQueue::enqueueEvent):
358         * dom/IdTargetObserverRegistry.h:
359         (WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):
360         (WebCore::IdTargetObserverRegistry::notifyObservers):
361         * dom/IgnoreDestructiveWriteCountIncrementer.h:
362         (WebCore::IgnoreDestructiveWriteCountIncrementer::IgnoreDestructiveWriteCountIncrementer):
363         * dom/MessageEvent.cpp:
364         (WebCore::MessageEvent::MessageEvent):
365         * dom/MessageEvent.h:
366         * dom/MessagePort.cpp:
367         (WebCore::MessagePort::contextDestroyed):
368         (WebCore::MessagePort::dispatchMessages):
369         (WebCore::MessagePort::locallyEntangledPort):
370         (WebCore::MessagePort::disentanglePorts):
371         * dom/MouseEvent.cpp:
372         (WebCore::MouseEventInit::MouseEventInit):
373         (WebCore::MouseEvent::cloneFor):
374         * dom/MouseEvent.h:
375         (WebCore::MouseEvent::dataTransfer):
376         * dom/MouseRelatedEvent.cpp:
377         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
378         (WebCore::MouseRelatedEvent::computeRelativePosition):
379         * dom/MutationEvent.h:
380         * dom/Node.cpp:
381         (WebCore::Node::nodeLists):
382         (WebCore::Node::clearNodeLists):
383         (WebCore::Node::nonShadowBoundaryParentNode):
384         (WebCore::Node::parentOrShadowHostElement):
385         * dom/Node.h:
386         * dom/NodeRareData.h:
387         (WebCore::NodeListsNodeData::removeCachedCollection):
388         (WebCore::NodeListsNodeData::isEmpty):
389         * dom/PendingScript.cpp:
390         (WebCore::PendingScript::releaseElementAndClear):
391         * dom/PopStateEvent.cpp:
392         (WebCore::PopStateEvent::PopStateEvent):
393         * dom/Position.h:
394         (WebCore::Position::deprecatedNode):
395         (WebCore::Position::document):
396         (WebCore::Position::rootEditableElement):
397         * dom/PositionIterator.cpp:
398         (WebCore::PositionIterator::decrement):
399         * dom/PositionIterator.h:
400         (WebCore::PositionIterator::PositionIterator):
401         * dom/ProcessingInstruction.cpp:
402         (WebCore::ProcessingInstruction::ProcessingInstruction):
403         (WebCore::ProcessingInstruction::checkStyleSheet):
404         (WebCore::ProcessingInstruction::parseStyleSheet):
405         * dom/ProcessingInstruction.h:
406         * dom/RangeBoundaryPoint.h:
407         (WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
408         * dom/ScriptElement.cpp:
409         (WebCore::ScriptElement::ScriptElement):
410         (WebCore::ScriptElement::stopLoadRequest):
411         (WebCore::ScriptElement::notifyFinished):
412         (WebCore::ScriptElement::ignoresLoadRequest):
413         * dom/ScriptedAnimationController.h:
414         (WebCore::ScriptedAnimationController::create):
415         (WebCore::ScriptedAnimationController::clearDocumentPointer):
416         * dom/StyledElement.cpp:
417         (WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
418         (WebCore::StyledElement::addSubresourceAttributeURLs):
419         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
420         * dom/StyledElement.h:
421         (WebCore::StyledElement::additionalPresentationAttributeStyle):
422         (WebCore::StyledElement::inlineStyle):
423         * dom/TemplateContentDocumentFragment.h:
424         * dom/TextEvent.cpp:
425         (WebCore::TextEvent::TextEvent):
426         * dom/UIEvent.cpp:
427         (WebCore::UIEventInit::UIEventInit):
428         * dom/UserTypingGestureIndicator.cpp:
429         (WebCore::UserTypingGestureIndicator::UserTypingGestureIndicator):
430         (WebCore::UserTypingGestureIndicator::~UserTypingGestureIndicator):
431         * dom/ViewportArguments.cpp:
432         (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
433         (WebCore::numericPrefix):
434         * dom/default/PlatformMessagePortChannel.cpp:
435         (WebCore::MessagePortChannel::disentangle):
436         (WebCore::MessagePortChannel::postMessageToRemote):
437         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
438         * dom/default/PlatformMessagePortChannel.h:
439
440 2015-11-02  Wenson Hsieh  <wenson_hsieh@apple.com>
441
442         Tapping *below* some <input>s can focus them in Mobile Safari
443         https://bugs.webkit.org/show_bug.cgi?id=146244
444         <rdar://problem/21509310>
445
446         Reviewed by Darin Adler.
447
448         Removes iOS-specific logic in positionForPointRespectingEditingBoundaries that was causing us to focus inputs by
449         tapping on the document element. We believe this logic, which causes VisiblePosition finding to recurse from a non-
450         editable element to an editable child, is not necessary to focus editable elements underneath non-editable elements,
451         since hit-testing will already have selected the contentEditable element prior to searching for a suitable
452         VisiblePosition. Further investigation shows that this logic was added to fix <rdar://problem/5545799>, in which the
453         first character in a Notes document could not be selected. However, I have not been able to reproduce this bug after
454         removing this logic.
455
456         As a result of this change, we can also enable a WK1 test, editing/selection/click-outside-editable-div.html, that
457         had also been marked as failing due to positionForPointRespectingEditingBoundaries recursing into a contentEditable
458         div.
459
460         Test: fast/events/ios/clicking-document-should-not-trigger-focus.html
461
462         * rendering/RenderBlock.cpp:
463         (WebCore::positionForPointRespectingEditingBoundaries): Deleted.
464
465 2015-11-03  Myles C. Maxfield  <mmaxfield@apple.com>
466
467         Update to match text-orientation spec
468         https://bugs.webkit.org/show_bug.cgi?id=150765
469
470         Reviewed by Darin Adler.
471
472         The CSS spec has removed the "sideways-right" value of text-orientation in favor
473         of "sideways." This patch makes the parser treat "sideways-right" the same as
474         "sideways."
475
476         Test: fast/text/orientation-sideways-right.html
477
478         * css/CSSPrimitiveValueMappings.h:
479         (WebCore::CSSPrimitiveValue::operator TextOrientation):
480         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
481         * rendering/style/RenderStyle.cpp:
482         (WebCore::RenderStyle::fontAndGlyphOrientation): Deleted.
483         * rendering/style/RenderStyleConstants.h:
484
485 2015-11-03  Xabier Rodriguez Calvar  <calvaris@igalia.com>
486
487         [Streams API] Rework promises to use @newPromiseCapability
488         https://bugs.webkit.org/show_bug.cgi?id=150627
489
490         Reviewed by Youenn Fablet.
491
492         We are removing the stream promises functions in favor of @newPromiseCapabity which basically provides the same
493         functionality (keeping the resolve and reject functions without external slots). Slots and variables were
494         renamed as *PromiseCapability to show that they no longer hold just a promise, but a promise capability.
495
496         Internal rework, no new tests needed.
497
498         * Modules/streams/ReadableStreamInternals.js:
499         (privateInitializeReadableStreamReader.this.closedPromiseCapability.resolve):
500         (privateInitializeReadableStreamReader.this.closedPromiseCapability.reject):
501         (privateInitializeReadableStreamReader):
502         (teeReadableStream):
503         (teeReadableStreamBranch2CancelFunction):
504         (errorReadableStream):
505         (closeReadableStreamReader):
506         (enqueueInReadableStream):
507         (readFromReadableStreamReader):
508         * Modules/streams/ReadableStreamReader.js:
509         (closed):
510         * Modules/streams/StreamInternals.js:
511         (createNewStreamsPromise): Deleted.
512         (resolveStreamsPromise): Deleted.
513         (rejectStreamsPromise): Deleted.
514         * Modules/streams/WritableStream.js:
515         (this.readyPromiseCapability.resolve):
516         (this.readyPromiseCapability.reject):
517         (initializeWritableStream):
518         (close):
519         (write):
520         (closed):
521         (ready):
522         * Modules/streams/WritableStreamInternals.js:
523         (syncWritableStreamStateWithQueue):
524         (errorWritableStream):
525         * bindings/js/WebCoreBuiltinNames.h:
526
527 2015-11-03  Youenn Fablet  <youenn.fablet@crf.canon.fr>
528
529         Move webkitGetUserMedia to JS Builtin
530         https://bugs.webkit.org/show_bug.cgi?id=149499
531
532         Reviewed by Darin Adler.
533
534         Implemented webkitGetUserMedia as a JSBuiltin wrapper around navigator.mediaDevices.getUserMedia.
535
536         Removed cpp based version.
537
538         The js builting implementation checks for argument but does not raise exception when the request is not supported.
539         The error callback is called instead, in an asynchronous fashion.
540         The js builtin implementation does not check first that it is called on navigator, contrary to the cpp implementation.
541         This is done afterwards when calling navigator.MediaDevices.@getUserMedia.
542
543         Covered by existing and modified tests.
544
545         * CMakeLists.txt: Adding NavigatorUserMedia.js as built-in JS file.
546         * DerivedSources.make: Ditto.
547         * Modules/mediastream/NavigatorUserMedia.idl: Making webkitGetUserMedia JSBuiltin
548         * Modules/mediastream/NavigatorUserMedia.js:
549         (webkitGetUserMedia):
550         * Modules/mediastream/NavigatorUserMediaErrorCallback.h: Removed.
551         * Modules/mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
552         * Modules/mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
553         * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
554         * Modules/mediastream/UserMediaRequest.cpp:
555         * Modules/mediastream/UserMediaRequest.h:
556         * WebCore.xcodeproj/project.pbxproj:
557         * bindings/js/JSDOMWindowBase.cpp:
558         (WebCore::JSDOMWindowBase::finishCreation): Style modifications.
559         * bindings/js/JSNavigatorCustom.cpp: Removed.
560         * bindings/js/WebCoreJSBuiltins.cpp: Adding support for NavigatorUserMedia.js built-in JS file.
561         * bindings/js/WebCoreJSBuiltins.h: Ditto.
562         (WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
563         (WebCore::JSBuiltinFunctions::navigatorUserMediaBuiltins):
564
565 2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
566
567         [GStreamer] Use GstBus sync message handler and schedule tasks to the main thread with RunLoop::dispatch
568         https://bugs.webkit.org/show_bug.cgi?id=150800
569
570         Reviewed by Philippe Normand.
571
572         This way we would avoid all the GScource + polling mechanism that
573         GST uses internally to handle messages asynchronously in the main thread.
574
575         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
576         (WTF::adoptGRef):
577         (WTF::refGPtr<GstMessage>):
578         (WTF::derefGPtr<GstMessage>):
579         * platform/graphics/gstreamer/GRefPtrGStreamer.h:
580         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
581         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
582         Initialize the WeakPtr factory.
583         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
584         reset the GstBus sync handler.
585         (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Make it void.
586         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Add a
587         GstBus sync message handler and schedule the messages to the main
588         thread with RunLoop::main().dispatch().
589         (WebCore::mediaPlayerPrivateMessageCallback): Deleted.
590         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
591         (WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Create a WeakPtr.
592         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
593         (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
594         Handle the need context message that needs to be handled in the
595         caller thread.
596         (WebCore::mediaPlayerPrivateNeedContextMessageCallback): Deleted.
597         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
598         (WebCore::MediaPlayerPrivateGStreamerBase::setPipeline): Do not
599         connect to sync-message signal, handleSyncMessage() will be called
600         to handled messages synchronously.
601         (WebCore::MediaPlayerPrivateGStreamerBase::handleNeedContextMessage): Deleted.
602         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
603
604 2015-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
605
606         [GStreamer] Cleanup the iradio properties
607         https://bugs.webkit.org/show_bug.cgi?id=148522
608
609         Reviewed by Philippe Normand.
610
611         Remove unused icecast code.
612
613         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
614         (StreamingClient::handleResponseReceived):
615         (webKitWebSrcGetProperty): Deleted.
616         (webKitWebSrcStop): Deleted.
617
618 2015-11-02  Keith Rollin  <krollin@apple.com>
619
620         input[type=number] does not increment/decrement integers with trailing decimal characters
621         https://bugs.webkit.org/show_bug.cgi?id=148867
622         rdar://problem/22589693
623
624         Reviewed by Chris Dumez.
625
626         Support input[type=number].value attributes of the form "###." (that
627         is, leading digits with a decimal but no trailing digits). This form
628         was supported in the setting of the attribute, but not when changing
629         it through stepUp/Down.
630
631         Testing turned up similarly incorrect processing of -.###, so
632         addressed that, too.
633
634         Test: fast/forms/range/input-appearance-range-decimals.html
635
636         Updated the following tests:
637         - fast/forms/number/number-stepup-stepdown-from-renderer.html
638         - fast/forms/number/number-stepup-stepdown.html
639         - fast/forms/range/range-stepup-stepdown-from-renderer.html
640         - fast/forms/range/range-stepup-stepdown.html
641
642         * html/InputType.cpp:
643         (WebCore::InputType::stepUpFromRenderer):
644         * platform/Decimal.cpp:
645         (WebCore::Decimal::fromString):
646
647 2015-11-02  Jiewen Tan  <jiewen_tan@apple.com>
648
649         Null dereference loading Blink layout test fast/css/background-repeat-null-y-crash.html
650         https://bugs.webkit.org/show_bug.cgi?id=150211
651         <rdar://problem/23137321>
652
653         Reviewed by Alex Christensen.
654
655         This is a merge of Blink r188842:
656         https://codereview.chromium.org/846933002
657
658         By setting the backgroundRepeatY property to null it can
659         happen that accessing that CSS value returns a null pointer.
660         In that case simply bail out early.
661
662         Test: fast/css/background-repeat-null-y-crash.html
663
664         * css/StyleProperties.cpp:
665         (WebCore::StyleProperties::getLayeredShorthandValue):
666
667 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
668
669         [Vertical Writing Mode] Rename "vertical-right" CSS value to match spec
670         https://bugs.webkit.org/show_bug.cgi?id=150766
671
672         Reviewed by Darin Adler.
673
674         The spec has changed the initial value of text-orientation from "vertical-right"
675         to "mixed." This patch follows this movement, but also keeps the existing
676         property working (the parser will treat both values the same).
677
678         Test: fast/text/vertical-mixed.html
679
680         * css/CSSParser.cpp:
681         (WebCore::CSSParser::parseValue):
682         * css/CSSPrimitiveValueMappings.h:
683         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
684         (WebCore::CSSPrimitiveValue::operator TextOrientation):
685         * css/CSSValueKeywords.in:
686         * css/StyleResolver.cpp:
687         (WebCore::checkForOrientationChange):
688         * platform/graphics/FontCascadeFonts.cpp:
689         (WebCore::glyphDataForNonCJKCharacterWithGlyphOrientation):
690         * platform/graphics/FontDescription.cpp:
691         (WebCore::FontDescription::FontDescription):
692         * platform/graphics/cocoa/FontCascadeCocoa.mm:
693         (WebCore::FontCascade::fontForCombiningCharacterSequence):
694         * platform/text/TextFlags.h:
695         * rendering/style/RenderStyle.cpp:
696         (WebCore::RenderStyle::getFontAndGlyphOrientation):
697         * rendering/style/RenderStyle.h:
698         * rendering/style/RenderStyleConstants.h:
699         * rendering/style/StyleRareInheritedData.cpp:
700         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
701         * style/StyleResolveForDocument.cpp:
702         (WebCore::Style::resolveForDocument):
703
704 2015-11-02  Myles C. Maxfield  <mmaxfield@apple.com>
705
706         [Cocoa] Support WOFF2
707         https://bugs.webkit.org/show_bug.cgi?id=150830
708
709         Reviewed by Zalan Bujtas.
710
711         On platforms which support it, WebKit only needs to recognize WOFF2.
712
713         Test: fast/text/woff2.html
714
715         * platform/graphics/mac/FontCustomPlatformData.cpp:
716         (WebCore::FontCustomPlatformData::supportsFormat):
717
718 2015-11-02  Nan Wang  <n_wang@apple.com>
719
720         AX: Add support for ARIA 1.1 attribute 'aria-modal' for dialog and alertdialog
721         https://bugs.webkit.org/show_bug.cgi?id=138566
722
723         Reviewed by Chris Fleizach.
724
725         Added support for aria-modal attribute on dialog/alertdialog roles.
726         When modal dialog is displayed, all other contents will be unaccessible.
727
728         Tests: accessibility/aria-modal-multiple-dialogs.html
729                accessibility/aria-modal.html
730
731         * accessibility/AXObjectCache.cpp:
732         (WebCore::AXObjectCache::AXObjectCache):
733         (WebCore::AXObjectCache::~AXObjectCache):
734         (WebCore::AXObjectCache::findAriaModalNodes):
735         (WebCore::AXObjectCache::updateCurrentAriaModalNode):
736         (WebCore::AXObjectCache::isNodeVisible):
737         (WebCore::AXObjectCache::ariaModalNode):
738         (WebCore::AXObjectCache::focusedImageMapUIElement):
739         (WebCore::AXObjectCache::remove):
740         (WebCore::AXObjectCache::handleAttributeChanged):
741         (WebCore::AXObjectCache::handleAriaModalChange):
742         (WebCore::AXObjectCache::labelChanged):
743         * accessibility/AXObjectCache.h:
744         (WebCore::AXObjectCache::handleActiveDescendantChanged):
745         (WebCore::AXObjectCache::handleAriaExpandedChange):
746         (WebCore::AXObjectCache::handleAriaRoleChanged):
747         (WebCore::AXObjectCache::handleAriaModalChange):
748         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
749         (WebCore::AXObjectCache::handleScrollbarUpdate):
750         (WebCore::AXObjectCache::handleAttributeChanged):
751         * accessibility/AccessibilityObject.cpp:
752         (WebCore::AccessibilityObject::ariaCurrentState):
753         (WebCore::AccessibilityObject::isAriaModalDescendant):
754         (WebCore::AccessibilityObject::ignoredFromARIAModalPresence):
755         (WebCore::AccessibilityObject::hasTagName):
756         (WebCore::AccessibilityObject::defaultObjectInclusion):
757         * accessibility/AccessibilityObject.h:
758         * html/HTMLAttributeNames.in:
759
760 2015-11-02  Brady Eidson  <beidson@apple.com>
761
762         Modern IDB: IBDObjectStore.delete() support.
763         https://bugs.webkit.org/show_bug.cgi?id=150784
764
765         Reviewed by Alex Christensen.
766
767         Tests: storage/indexeddb/modern/idbobjectstore-delete-1.html
768                storage/indexeddb/modern/idbobjectstore-delete-2.html
769                storage/indexeddb/modern/idbobjectstore-delete-failures.html
770
771         * Modules/indexeddb/IDBKeyRangeData.cpp:
772         (WebCore::IDBKeyRangeData::isValid):
773         * Modules/indexeddb/IDBKeyRangeData.h:
774         
775         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
776         (WebCore::IDBClient::IDBConnectionToServer::deleteRecord):
777         (WebCore::IDBClient::IDBConnectionToServer::didDeleteRecord):
778         * Modules/indexeddb/client/IDBConnectionToServer.h:
779         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
780         
781         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
782         (WebCore::IDBClient::IDBObjectStore::get):
783         (WebCore::IDBClient::IDBObjectStore::deleteFunction):
784         
785         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
786         (WebCore::IDBClient::IDBTransaction::requestDeleteRecord):
787         (WebCore::IDBClient::IDBTransaction::deleteRecordOnServer):
788         (WebCore::IDBClient::IDBTransaction::didDeleteRecordOnServer):
789         * Modules/indexeddb/client/IDBTransactionImpl.h:
790         
791         * Modules/indexeddb/server/IDBBackingStore.h:
792         
793         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
794         (WebCore::IDBServer::IDBConnectionToClient::didDeleteRecord):
795         * Modules/indexeddb/server/IDBConnectionToClient.h:
796         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
797         
798         * Modules/indexeddb/server/IDBServer.cpp:
799         (WebCore::IDBServer::IDBServer::deleteRecord):
800         * Modules/indexeddb/server/IDBServer.h:
801         
802         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
803         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
804         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord): Deleted.
805         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
806         
807         * Modules/indexeddb/server/MemoryObjectStore.cpp:
808         (WebCore::IDBServer::MemoryObjectStore::deleteRange):
809         * Modules/indexeddb/server/MemoryObjectStore.h:
810         
811         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
812         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
813         (WebCore::IDBServer::UniqueIDBDatabase::deleteRecord):
814         (WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
815         (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteRecord):
816         * Modules/indexeddb/server/UniqueIDBDatabase.h:
817         
818         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
819         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
820         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteRecord):
821         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
822         
823         * Modules/indexeddb/shared/IDBResultData.cpp:
824         (WebCore::IDBResultData::deleteRecordSuccess):
825         * Modules/indexeddb/shared/IDBResultData.h:
826         
827         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
828         (WebCore::InProcessIDBServer::didDeleteRecord):
829         (WebCore::InProcessIDBServer::deleteRecord):
830         * Modules/indexeddb/shared/InProcessIDBServer.h:
831
832 2015-11-02  Andy Estes  <aestes@apple.com>
833
834         Fix the iOS build again.
835
836         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: supportsPictureInPicture() needs to be declared even when
837         AVKit is disabled.
838
839 2015-11-02  Tim Horton  <timothy_horton@apple.com>
840
841         PDFPlugin should take advantage of threaded scrolling
842         https://bugs.webkit.org/show_bug.cgi?id=150037
843
844         Reviewed by Anders Carlsson.
845
846         * page/PageOverlay.cpp:
847         (WebCore::PageOverlay::PageOverlay):
848         (WebCore::PageOverlay::setNeedsDisplay):
849         Don't reset the overlay layer's opacity if we're not animating,
850         because it's possible the client wants to manage it.
851
852         * page/PageOverlayController.cpp:
853         (WebCore::PageOverlayController::updateForceSynchronousScrollLayerPositionUpdates):
854         Let the overlay itself determine whether it needes synchronous scrolling,
855         and let PageOverlay clients override the default.
856
857         * platform/Widget.h:
858         (WebCore::Widget::boundsRect):
859         Export a few useful things.
860
861 2015-11-02  Chris Dumez  <cdumez@apple.com>
862
863         Regression(r191673): Crash in RunLoopTimer::schedule()
864         https://bugs.webkit.org/show_bug.cgi?id=150816
865         <rdar://problem/23335285>
866
867         Reviewed by Anders Carlsson.
868
869         The crash was happening when the RunLoopTimer would fire during the
870         call to RunLoopTimer::schedule(), which can happen because we are
871         calling schedule() from a background thread. In such case, the
872         timerFired() callback execution would cause |this| to get destroyed.
873
874         To avoid this issue, DecodingResultDispatcher is now ref-counted. The
875         object is ref'd while calling startTimer() so that the object cannot go
876         away during the execution of this method. Also, we explicitly ref the
877         object when starting the timer to keep the object alive until the
878         RunLoopTimer has fired, at which point we explicitely de-ref.
879
880         This should handle correctly the cases where the RunLoopTimer fires
881         during AND after the execution of startTimer().
882
883         * platform/network/DataURLDecoder.cpp:
884         (WebCore::DataURLDecoder::DecodingResultDispatcher::dispatch):
885         (WebCore::DataURLDecoder::DecodingResultDispatcher::startTimer):
886         (WebCore::DataURLDecoder::DecodingResultDispatcher::timerFired):
887
888 2015-11-02  Andy Estes  <aestes@apple.com>
889
890         [Cocoa] Add tvOS and watchOS to SUPPORTED_PLATFORMS
891         https://bugs.webkit.org/show_bug.cgi?id=150819
892
893         Reviewed by Dan Bernstein.
894
895         This tells Xcode to include these platforms in its Devices dropdown, making it possible to build in the IDE.
896
897         * Configurations/Base.xcconfig:
898
899 2015-11-02  Brent Fulgham  <bfulgham@apple.com>
900
901         [Win] MiniBrowser unable to use WebInspector
902         https://bugs.webkit.org/show_bug.cgi?id=150810
903         <rdar://problem/23358514>
904
905         Reviewed by Timothy Hatcher.
906
907         The CMakeList rule for creating the InjectedScriptSource.min.js was improperly including
908         the quote characters in the text prepended to InjectedScriptSource.min.js. This caused a
909         parsing error in the JS file.
910         
911         The solution was to switch from using "COMMAND echo" to use the more cross-platform
912         compatible command "COMMAND ${CMAKE_COMMAND} -E echo ...", which handles the string
913         escaping properly on all platforms.
914
915         * CMakeLists.txt: Switch the 'echo' command syntax to be more cross-platform.
916
917 2015-11-02  Zalan Bujtas  <zalan@apple.com>
918
919         hasOverflowClip() does not necessarily mean valid layer().
920         https://bugs.webkit.org/show_bug.cgi?id=150814
921
922         Reviewed by Simon Fraser.
923
924         Certain RenderLayerModelObject derived classes simply return false for ::requiresLayer(), which means
925         that we end up not creating a layer for the overflow clipped content.   
926
927         No change in functionality.
928
929         * rendering/RenderBlock.cpp:
930         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
931         (WebCore::RenderBlock::paint):
932         * rendering/RenderBox.cpp:
933         (WebCore::RenderBox::styleDidChange):
934         (WebCore::RenderBox::scrollWidth):
935         (WebCore::RenderBox::scrollHeight):
936         (WebCore::RenderBox::scrollLeft):
937         (WebCore::RenderBox::scrollTop):
938         (WebCore::RenderBox::setScrollLeft):
939         (WebCore::RenderBox::setScrollTop):
940         (WebCore::RenderBox::includeVerticalScrollbarSize):
941         (WebCore::RenderBox::includeHorizontalScrollbarSize):
942         (WebCore::RenderBox::intrinsicScrollbarLogicalWidth):
943         (WebCore::RenderBox::usesCompositedScrolling):
944
945 2015-11-02  Alex Christensen  <achristensen@webkit.org>
946
947         Fix Mac CMake build after r191904.
948
949         * PlatformMac.cmake:
950         Move SettingsMac.mm to SettingsCocoa.mm.
951
952 2015-11-02  Eric Carlson  <eric.carlson@apple.com>
953
954         Add HTMLMediaElement behavior and attribute value restrictions for MediaStream
955         https://bugs.webkit.org/show_bug.cgi?id=146853
956
957         Reviewed by Jer Noble.
958
959         * Modules/mediastream/MediaStream.cpp:
960         (WebCore::MediaStream::scheduleActiveStateChange): Do nothing if the active state hasn't changed.
961         (WebCore::MediaStream::activityEventTimerFired): Remove FIXME.
962
963         * Modules/mediastream/MediaStreamTrack.cpp:
964         (WebCore::MediaStreamTrack::stopProducingData): Add comments. Notify observers that the track ended.
965         (WebCore::MediaStreamTrack::trackEnded): Don't dispatch events after having been stopped.
966         (WebCore::MediaStreamTrack::trackMutedChanged): Ditto.
967
968         * html/HTMLMediaElement.cpp:
969         (WebCore::HTMLMediaElement::defaultPlaybackRate): Always return 1 when using a MediaStream.
970         (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Do nothing when using a MediaStream.
971         (WebCore::HTMLMediaElement::playbackRate): Always return 1 when using a MediaStream.
972         (WebCore::HTMLMediaElement::setPlaybackRate): Do nothing when using a MediaStream.
973         (WebCore::HTMLMediaElement::ended): Ask the media engine when using a MediaStream.
974         (WebCore::HTMLMediaElement::preload): Always return "none" when using a MediaStream.
975         (WebCore::HTMLMediaElement::setPreload): Do nothing when using a MediaStream.
976         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Avoid unnecessary comparisons when the duration
977           is not definite. Send ended event when MediaStream says stream has ended.
978
979         * platform/graphics/MediaPlayer.cpp:
980         (WebCore::MediaPlayer::ended): New, passthrough to engine.
981         * platform/graphics/MediaPlayer.h:
982         * platform/graphics/MediaPlayerPrivate.h:
983
984         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
985         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
986         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Set m_ended from stream.
987         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Pause the stream if necessary.
988         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Return early if ended or already playing.
989         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Return early if ended or already paused.
990         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentReadyState): Cleanup. Try to grab a paused
991           image if the stream isn't active.
992         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState): New.
993         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::activeStatusChanged): Call updateReadyState.
994         (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::characteristicsChanged): Ditto.
995
996         * platform/mediastream/MediaStreamPrivate.cpp:
997         (WebCore::MediaStreamPrivate::trackEnabledChanged): Call updateActiveState so the state will
998           be updated if necessary.
999
1000         * platform/mediastream/RealtimeMediaSource.cpp:
1001         (WebCore::RealtimeMediaSource::stop): Don't call reset, there is no need to tear everything down.
1002
1003 2015-10-31  Andy Estes  <aestes@apple.com>
1004
1005         Replace iOS-only WebKitSystemInterface calls with SPI
1006         https://bugs.webkit.org/show_bug.cgi?id=150763
1007
1008         Reviewed by Darin Adler.
1009
1010         * WebCore.xcodeproj/project.pbxproj:
1011         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
1012         * css/MediaQueryEvaluator.cpp:
1013         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
1014         * html/HTMLMediaElement.cpp:
1015         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1016         * html/HTMLObjectElement.cpp:
1017         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
1018         * html/HTMLVideoElement.cpp:
1019         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1020         * page/NavigatorBase.cpp:
1021         * page/Settings.h:
1022         * page/ViewportConfiguration.cpp:
1023         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
1024         * page/ios/UserAgentIOS.mm:
1025         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
1026         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
1027         (WebCore::deviceName): Ditto for wkGetDeviceName().
1028         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
1029         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
1030         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
1031         * platform/PlatformScreen.h:
1032         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
1033         (WebCore::deviceClass):
1034         (WebCore::deviceName):
1035         (WebCore::deviceHasIPadCapability):
1036         * platform/ios/Device.h:
1037         * platform/ios/PlatformScreenIOS.mm:
1038         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
1039         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
1040         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
1041         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
1042         (WebCore::mobileGestaltFloatValue): Deleted.
1043         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
1044         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
1045         (iosDeviceClass): Deleted.
1046         * platform/ios/WebCoreSystemInterfaceIOS.mm:
1047         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
1048         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1049         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1050         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
1051         * platform/ios/wak/WAKWindow.mm:
1052         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
1053         (-[WAKWindow initWithFrame:]): Ditto.
1054         * platform/ios/wak/WKGraphics.mm:
1055         (WKGraphicsCreateImageFromBundleWithName): Ditto.
1056         (WKDrawPatternBitmap): Ditto.
1057         * platform/mac/WebCoreSystemInterface.h:
1058         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
1059         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
1060         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
1061         * rendering/RenderThemeIOS.mm: Included UIKitSPI.h instead of UIColorSPI.h, and removed unnecessary forward declarations for the iOS public SDK build.
1062
1063 2015-11-02  Commit Queue  <commit-queue@webkit.org>
1064
1065         Unreviewed, rolling out r191902.
1066         https://bugs.webkit.org/show_bug.cgi?id=150811
1067
1068         This change broke iOS builders (Requested by ryanhaddad on
1069         #webkit).
1070
1071         Reverted changeset:
1072
1073         "Replace iOS-only WebKitSystemInterface calls with SPI"
1074         https://bugs.webkit.org/show_bug.cgi?id=150763
1075         http://trac.webkit.org/changeset/191902
1076
1077 2015-10-31  Andy Estes  <aestes@apple.com>
1078
1079         Replace iOS-only WebKitSystemInterface calls with SPI
1080         https://bugs.webkit.org/show_bug.cgi?id=150763
1081
1082         Reviewed by Darin Adler.
1083
1084         * WebCore.xcodeproj/project.pbxproj:
1085         * config.h: Removed WEBCORE_NAVIGATOR_PLATFORM and WEBCORE_NAVIGATOR_VENDOR.
1086         * css/MediaQueryEvaluator.cpp:
1087         (WebCore::isRunningOnIPhoneOrIPod): Used deviceClass() instead of iosDeviceClass().
1088         * html/HTMLMediaElement.cpp:
1089         (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1090         * html/HTMLObjectElement.cpp:
1091         (WebCore::shouldNotPerformURLAdjustment): Used dyld_get_program_sdk_version() instead of iosExecutableWasLinkedOnOrAfterVersion().
1092         * html/HTMLVideoElement.cpp:
1093         (WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1094         * page/NavigatorBase.cpp:
1095         * page/Settings.h:
1096         * page/ViewportConfiguration.cpp:
1097         (WebCore::ViewportConfiguration::textDocumentParameters): Used screenSize() instead of wkGetScreenSize().
1098         * page/ios/UserAgentIOS.mm:
1099         (WebCore::isClassic): Added to return -[UIApplication _isClassic].
1100         (WebCore::osNameForUserAgent): Upstreamed the implementation of WKGetOSNameForUserAgent() from WebKitSystemInterface.
1101         (WebCore::deviceName): Ditto for wkGetDeviceName().
1102         (WebCore::standardUserAgentWithApplicationName): Called deviceName() and osNameForUserAgent().
1103         * page/mac/SettingsCocoa.mm: Renamed from Source/WebCore/page/mac/SettingsMac.mm.
1104         (WebCore::Settings::defaultMinimumZoomFontSize): Upstreamed the implementation of WKGetMinimumZoomFontSize() from WebKitSystemInterface.
1105         * platform/PlatformScreen.h:
1106         * platform/ios/Device.cpp: Added functions that answer queries about the iOS device from MobileGestalt.
1107         (WebCore::deviceClass):
1108         (WebCore::deviceName):
1109         (WebCore::deviceHasIPadCapability):
1110         * platform/ios/Device.h:
1111         * platform/ios/PlatformScreenIOS.mm:
1112         (WebCore::screenPPIFactor): Used MGGetSInt32Answer() and MGGetFloat32Answer() instead of mobileGestaltFloatValue().
1113         (WebCore::screenSize): Upstreamed the implementation of WKGetScreenSize() from WebKitSystemInterface.
1114         (WebCore::availableScreenSize): Ditto for WKGetAvailableScreenSize().
1115         (WebCore::screenScaleFactor): Ditto for WKGetScreenScaleFactor() and WKGetScaleFactorForScreen().
1116         (WebCore::mobileGestaltFloatValue): Deleted.
1117         * platform/ios/WebCoreSystemInterfaceIOS.h: Removed.
1118         (iosExecutableWasLinkedOnOrAfterVersion): Deleted.
1119         (iosDeviceClass): Deleted.
1120         * platform/ios/WebCoreSystemInterfaceIOS.mm:
1121         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
1122         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1123         (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture): Used supportsPictureInPicture() instead of wkIsOptimizedFullscreenSupported().
1124         (WebCore::supportsPictureInPicture): Upstreamed the implementation of WKIsOptimizedFullscreenSupported() from WebKitSystemInterface.
1125         * platform/ios/wak/WAKWindow.mm:
1126         (-[WAKWindow initWithLayer:]): Used screenScaleFactor() instead of WKGetScreenScaleFactor().
1127         (-[WAKWindow initWithFrame:]): Ditto.
1128         * platform/ios/wak/WKGraphics.mm:
1129         (WKGraphicsCreateImageFromBundleWithName): Ditto.
1130         (WKDrawPatternBitmap): Ditto.
1131         * platform/mac/WebCoreSystemInterface.h:
1132         * platform/spi/cocoa/DynamicLinkerSPI.h: Defined additional DYLD_IOS_VERSION macros.
1133         * platform/spi/ios/MobileGestaltSPI.h: Defined additional MobileGestalt queries, enum MGDeviceClass, MGGetSInt32Answer, and MGGetFloat32Answer.
1134         * platform/spi/ios/UIKitSPI.h: Copied from Source/WebCore/platform/spi/ios/UIColorSPI.h, and added SPI declarations for UIApplication and UIScreen.
1135         * rendering/RenderThemeIOS.mm:
1136
1137 2015-11-02  Frederic Wang  <fred.wang@free.fr>
1138
1139         [Win] Add support for the USE_TYPO_METRICS flag
1140         https://bugs.webkit.org/show_bug.cgi?id=150451
1141
1142         Reviewed by Darin Adler.
1143
1144         Make the Windows backend use the typo metrics when the OS/2 USE_TYPO_METRICS flag is set.
1145
1146         No new tests because this is already tested by fonts/use-typo-metrics-1.html
1147
1148         * platform/graphics/win/SimpleFontDataCGWin.cpp:
1149         (WebCore::Font::platformInit):
1150         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1151         (WebCore::Font::platformInit):
1152         * platform/graphics/win/SimpleFontDataWin.cpp:
1153         (WebCore::Font::initGDIFont):
1154
1155 2015-11-02  Hyunduk Kim  <hyunduk.kim@samsung.com>
1156
1157         Enable MediaSource::isTypeSupported() to handle the upper-cased MIME type & Codec
1158         https://bugs.webkit.org/show_bug.cgi?id=150436
1159
1160         Reviewed by Darin Adler.
1161
1162         Got the new test case from
1163         https://github.com/w3c/web-platform-tests/blob/master/media-source/mediasource-is-type-supported.html 
1164         Tests: http\tests\media\media-source\mediasource-is-type-supported.html
1165
1166         * Modules/mediasource/MediaSource.cpp:
1167         (WebCore::MediaSource::isTypeSupported):
1168
1169 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1170
1171         Rename JSDOMWrapper.impl to JSDOMWrapper.wrapped
1172         https://bugs.webkit.org/show_bug.cgi?id=150613
1173
1174         Reviewed by Darin Adler.
1175
1176         Renaming impl to wrapped in classes and binding generated classes.
1177         No change in behavior.
1178
1179         * Modules/plugins/QuickTimePluginReplacement.mm:
1180         (WebCore::JSQuickTimePluginReplacement::timedMetaData):
1181         (WebCore::JSQuickTimePluginReplacement::accessLog):
1182         (WebCore::JSQuickTimePluginReplacement::errorLog):
1183         * bindings/js/JSAttrCustom.cpp:
1184         (WebCore::JSAttr::visitAdditionalChildren):
1185         * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
1186         (WebCore::JSAudioBufferSourceNode::setBuffer):
1187         * bindings/js/JSAudioTrackCustom.cpp:
1188         (WebCore::JSAudioTrack::visitAdditionalChildren):
1189         (WebCore::JSAudioTrack::setKind):
1190         (WebCore::JSAudioTrack::setLanguage):
1191         * bindings/js/JSAudioTrackListCustom.cpp:
1192         (WebCore::JSAudioTrackList::visitAdditionalChildren):
1193         * bindings/js/JSBiquadFilterNodeCustom.cpp:
1194         (WebCore::JSBiquadFilterNode::setType):
1195         * bindings/js/JSCSSRuleCustom.cpp:
1196         (WebCore::JSCSSRule::visitAdditionalChildren):
1197         * bindings/js/JSCSSRuleListCustom.cpp:
1198         (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
1199         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1200         (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren):
1201         (WebCore::getPropertyValueFallback):
1202         (WebCore::cssPropertyGetterPixelOrPosPrefix):
1203         (WebCore::cssPropertyGetter):
1204         (WebCore::JSCSSStyleDeclaration::putDelegate):
1205         (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
1206         (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
1207         * bindings/js/JSCSSValueCustom.cpp:
1208         (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
1209         (WebCore::JSCSSValueOwner::finalize):
1210         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1211         (WebCore::toHTMLCanvasStyle):
1212         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
1213         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
1214         (WebCore::JSCanvasRenderingContext2D::fillStyle):
1215         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
1216         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
1217         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
1218         * bindings/js/JSCanvasRenderingContextCustom.cpp:
1219         (WebCore::JSCanvasRenderingContext::visitAdditionalChildren):
1220         * bindings/js/JSCharacterDataCustom.cpp:
1221         (WebCore::JSCharacterData::before):
1222         (WebCore::JSCharacterData::after):
1223         (WebCore::JSCharacterData::replaceWith):
1224         * bindings/js/JSCommandLineAPIHostCustom.cpp:
1225         (WebCore::JSCommandLineAPIHost::inspectedObject):
1226         (WebCore::JSCommandLineAPIHost::getEventListeners):
1227         (WebCore::JSCommandLineAPIHost::inspect):
1228         (WebCore::JSCommandLineAPIHost::databaseId):
1229         (WebCore::JSCommandLineAPIHost::storageId):
1230         * bindings/js/JSCryptoCustom.cpp:
1231         (WebCore::JSCrypto::getRandomValues):
1232         * bindings/js/JSCryptoKeyCustom.cpp:
1233         (WebCore::JSCryptoKey::algorithm):
1234         * bindings/js/JSCryptoKeyPairCustom.cpp:
1235         (WebCore::JSCryptoKeyPair::visitAdditionalChildren):
1236         * bindings/js/JSCustomEventCustom.cpp:
1237         (WebCore::JSCustomEvent::detail):
1238         * bindings/js/JSCustomXPathNSResolver.cpp:
1239         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1240         * bindings/js/JSDOMBinding.cpp:
1241         (WebCore::reportException):
1242         (WebCore::activeDOMWindow):
1243         (WebCore::firstDOMWindow):
1244         * bindings/js/JSDOMFormDataCustom.cpp:
1245         (WebCore::toHTMLFormElementOrNull):
1246         (WebCore::JSDOMFormData::append):
1247         * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
1248         (WebCore::JSDOMMimeTypeArray::nameGetter):
1249         * bindings/js/JSDOMNamedFlowCollectionCustom.cpp:
1250         (WebCore::JSDOMNamedFlowCollection::nameGetter):
1251         * bindings/js/JSDOMPluginArrayCustom.cpp:
1252         (WebCore::JSDOMPluginArray::nameGetter):
1253         * bindings/js/JSDOMPluginCustom.cpp:
1254         (WebCore::JSDOMPlugin::nameGetter):
1255         * bindings/js/JSDOMStringListCustom.cpp:
1256         (WebCore::JSDOMStringList::toWrapped):
1257         * bindings/js/JSDOMStringMapCustom.cpp:
1258         (WebCore::JSDOMStringMap::getOwnPropertySlotDelegate):
1259         (WebCore::JSDOMStringMap::getOwnPropertyNames):
1260         (WebCore::JSDOMStringMap::deleteProperty):
1261         (WebCore::JSDOMStringMap::putDelegate):
1262         * bindings/js/JSDOMTokenListCustom.cpp:
1263         (WebCore::JSDOMTokenList::toggle):
1264         * bindings/js/JSDOMWindowBase.cpp:
1265         (WebCore::shouldAllowAccessFrom):
1266         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1267         (WebCore::JSDOMWindowBase::updateDocument):
1268         (WebCore::JSDOMWindowBase::scriptExecutionContext):
1269         (WebCore::JSDOMWindowBase::printErrorMessage):
1270         (WebCore::JSDOMWindowBase::supportsProfiling):
1271         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
1272         (WebCore::JSDOMWindowBase::shouldInterruptScript):
1273         (WebCore::JSDOMWindowBase::shouldInterruptScriptBeforeTimeout):
1274         (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
1275         (WebCore::JSDOMWindowBase::moduleLoaderResolve):
1276         (WebCore::JSDOMWindowBase::moduleLoaderFetch):
1277         (WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
1278         * bindings/js/JSDOMWindowBase.h:
1279         * bindings/js/JSDOMWindowCustom.cpp:
1280         (WebCore::JSDOMWindow::visitAdditionalChildren):
1281         (WebCore::childFrameGetter):
1282         (WebCore::namedItemGetter):
1283         (WebCore::jsDOMWindowWebKit):
1284         (WebCore::jsDOMWindowIndexedDB):
1285         (WebCore::JSDOMWindow::getOwnPropertySlot):
1286         (WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
1287         (WebCore::JSDOMWindow::put):
1288         (WebCore::JSDOMWindow::putByIndex):
1289         (WebCore::JSDOMWindow::deleteProperty):
1290         (WebCore::JSDOMWindow::deletePropertyByIndex):
1291         (WebCore::JSDOMWindow::getEnumerableLength):
1292         (WebCore::JSDOMWindow::getStructurePropertyNames):
1293         (WebCore::JSDOMWindow::getGenericPropertyNames):
1294         (WebCore::JSDOMWindow::getPropertyNames):
1295         (WebCore::JSDOMWindow::getOwnPropertyNames):
1296         (WebCore::JSDOMWindow::defineOwnProperty):
1297         (WebCore::JSDOMWindow::setLocation):
1298         (WebCore::JSDOMWindow::open):
1299         (WebCore::JSDOMWindow::showModalDialog):
1300         (WebCore::JSDOMWindow::postMessage):
1301         (WebCore::JSDOMWindow::setTimeout):
1302         (WebCore::JSDOMWindow::setInterval):
1303         (WebCore::JSDOMWindow::addEventListener):
1304         (WebCore::JSDOMWindow::removeEventListener):
1305         (WebCore::JSDOMWindow::toWrapped):
1306         * bindings/js/JSDOMWindowShell.cpp:
1307         (WebCore::JSDOMWindowShell::setWindow):
1308         (WebCore::JSDOMWindowShell::wrapped):
1309         * bindings/js/JSDOMWindowShell.h:
1310         * bindings/js/JSDOMWrapper.h:
1311         (WebCore::JSDOMWrapper::wrapped):
1312         (WebCore::JSDOMWrapper::JSDOMWrapper):
1313         * bindings/js/JSDataCueCustom.cpp:
1314         (WebCore::JSDataCue::value):
1315         (WebCore::JSDataCue::setValue):
1316         * bindings/js/JSDataTransferCustom.cpp:
1317         (WebCore::JSDataTransfer::types):
1318         * bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp:
1319         (WebCore::JSDedicatedWorkerGlobalScope::postMessage):
1320         * bindings/js/JSDeviceMotionEventCustom.cpp:
1321         (WebCore::JSDeviceMotionEvent::acceleration):
1322         (WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
1323         (WebCore::JSDeviceMotionEvent::rotationRate):
1324         (WebCore::JSDeviceMotionEvent::interval):
1325         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
1326         * bindings/js/JSDeviceOrientationEventCustom.cpp:
1327         (WebCore::JSDeviceOrientationEvent::alpha):
1328         (WebCore::JSDeviceOrientationEvent::beta):
1329         (WebCore::JSDeviceOrientationEvent::gamma):
1330         (WebCore::JSDeviceOrientationEvent::webkitCompassHeading):
1331         (WebCore::JSDeviceOrientationEvent::webkitCompassAccuracy):
1332         (WebCore::JSDeviceOrientationEvent::absolute):
1333         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
1334         * bindings/js/JSDocumentCustom.cpp:
1335         (WebCore::JSDocument::prepend):
1336         (WebCore::JSDocument::append):
1337         * bindings/js/JSDocumentFragmentCustom.cpp:
1338         (WebCore::JSDocumentFragment::prepend):
1339         (WebCore::JSDocumentFragment::append):
1340         * bindings/js/JSDocumentTypeCustom.cpp:
1341         (WebCore::JSDocumentType::before):
1342         (WebCore::JSDocumentType::after):
1343         (WebCore::JSDocumentType::replaceWith):
1344         * bindings/js/JSElementCustom.cpp:
1345         (WebCore::JSElement::before):
1346         (WebCore::JSElement::after):
1347         (WebCore::JSElement::replaceWith):
1348         (WebCore::JSElement::prepend):
1349         (WebCore::JSElement::append):
1350         * bindings/js/JSEventCustom.cpp:
1351         (WebCore::JSEvent::clipboardData):
1352         * bindings/js/JSEventListener.cpp:
1353         (WebCore::JSEventListener::handleEvent):
1354         * bindings/js/JSEventTargetCustom.cpp:
1355         * bindings/js/JSFileReaderCustom.cpp:
1356         (WebCore::JSFileReader::result):
1357         * bindings/js/JSGeolocationCustom.cpp:
1358         (WebCore::JSGeolocation::getCurrentPosition):
1359         (WebCore::JSGeolocation::watchPosition):
1360         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1361         (WebCore::namedItems):
1362         (WebCore::callHTMLAllCollection):
1363         (WebCore::JSHTMLAllCollection::item):
1364         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1365         (WebCore::JSHTMLCanvasElement::getContext):
1366         (WebCore::JSHTMLCanvasElement::probablySupportsContext):
1367         (WebCore::JSHTMLCanvasElement::toDataURL):
1368         * bindings/js/JSHTMLCollectionCustom.cpp:
1369         (WebCore::JSHTMLCollection::nameGetter):
1370         * bindings/js/JSHTMLDocumentCustom.cpp:
1371         (WebCore::JSHTMLDocument::nameGetter):
1372         (WebCore::JSHTMLDocument::all):
1373         (WebCore::findCallingDocument):
1374         (WebCore::JSHTMLDocument::open):
1375         (WebCore::documentWrite):
1376         * bindings/js/JSHTMLElementCustom.cpp:
1377         (WebCore::JSHTMLElement::pushEventHandlerScope):
1378         * bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
1379         (WebCore::namedItems):
1380         * bindings/js/JSHTMLFormElementCustom.cpp:
1381         (WebCore::JSHTMLFormElement::nameGetter):
1382         * bindings/js/JSHTMLFrameElementCustom.cpp:
1383         (WebCore::JSHTMLFrameElement::setLocation):
1384         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
1385         (WebCore::JSHTMLFrameSetElement::nameGetter):
1386         * bindings/js/JSHTMLInputElementCustom.cpp:
1387         (WebCore::JSHTMLInputElement::selectionStart):
1388         (WebCore::JSHTMLInputElement::setSelectionStart):
1389         (WebCore::JSHTMLInputElement::selectionEnd):
1390         (WebCore::JSHTMLInputElement::setSelectionEnd):
1391         (WebCore::JSHTMLInputElement::selectionDirection):
1392         (WebCore::JSHTMLInputElement::setSelectionDirection):
1393         (WebCore::JSHTMLInputElement::setSelectionRange):
1394         * bindings/js/JSHTMLMediaElementCustom.cpp:
1395         (WebCore::JSHTMLMediaElement::setController):
1396         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1397         (WebCore::JSHTMLOptionsCollection::nameGetter):
1398         (WebCore::JSHTMLOptionsCollection::setLength):
1399         (WebCore::JSHTMLOptionsCollection::indexSetter):
1400         (WebCore::JSHTMLOptionsCollection::remove):
1401         * bindings/js/JSHTMLSelectElementCustom.cpp:
1402         (WebCore::JSHTMLSelectElement::remove):
1403         (WebCore::JSHTMLSelectElement::indexSetter):
1404         * bindings/js/JSHTMLTemplateElementCustom.cpp:
1405         (WebCore::JSHTMLTemplateElement::content):
1406         * bindings/js/JSHistoryCustom.cpp:
1407         (WebCore::JSHistory::getOwnPropertySlotDelegate):
1408         (WebCore::JSHistory::putDelegate):
1409         (WebCore::JSHistory::deleteProperty):
1410         (WebCore::JSHistory::deletePropertyByIndex):
1411         (WebCore::JSHistory::getOwnPropertyNames):
1412         (WebCore::JSHistory::state):
1413         (WebCore::JSHistory::pushState):
1414         (WebCore::JSHistory::replaceState):
1415         * bindings/js/JSIDBDatabaseCustom.cpp:
1416         (WebCore::JSIDBDatabase::createObjectStore):
1417         * bindings/js/JSIDBObjectStoreCustom.cpp:
1418         (WebCore::JSIDBObjectStore::createIndex):
1419         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1420         (WebCore::JSInspectorFrontendHost::showContextMenu):
1421         * bindings/js/JSLocationCustom.cpp:
1422         (WebCore::JSLocation::getOwnPropertySlotDelegate):
1423         (WebCore::JSLocation::putDelegate):
1424         (WebCore::JSLocation::deleteProperty):
1425         (WebCore::JSLocation::deletePropertyByIndex):
1426         (WebCore::JSLocation::getOwnPropertyNames):
1427         (WebCore::JSLocation::toStringFunction):
1428         * bindings/js/JSMediaSourceStatesCustom.cpp:
1429         (WebCore::JSMediaSourceStates::width):
1430         (WebCore::JSMediaSourceStates::height):
1431         (WebCore::JSMediaSourceStates::frameRate):
1432         (WebCore::JSMediaSourceStates::aspectRatio):
1433         (WebCore::JSMediaSourceStates::facingMode):
1434         (WebCore::JSMediaSourceStates::volume):
1435         * bindings/js/JSMessageChannelCustom.cpp:
1436         (WebCore::JSMessageChannel::visitAdditionalChildren):
1437         * bindings/js/JSMessageEventCustom.cpp:
1438         (WebCore::JSMessageEvent::data):
1439         (WebCore::handleInitMessageEvent):
1440         * bindings/js/JSMessagePortCustom.cpp:
1441         (WebCore::JSMessagePort::visitAdditionalChildren):
1442         (WebCore::JSMessagePort::postMessage):
1443         * bindings/js/JSMockContentFilterSettingsCustom.cpp:
1444         (WebCore::JSMockContentFilterSettings::decisionPoint):
1445         (WebCore::JSMockContentFilterSettings::setDecisionPoint):
1446         (WebCore::JSMockContentFilterSettings::decision):
1447         (WebCore::JSMockContentFilterSettings::setDecision):
1448         (WebCore::JSMockContentFilterSettings::unblockRequestDecision):
1449         (WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
1450         * bindings/js/JSMutationObserverCustom.cpp:
1451         (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots):
1452         * bindings/js/JSNamedNodeMapCustom.cpp:
1453         (WebCore::JSNamedNodeMap::nameGetter):
1454         * bindings/js/JSNavigatorCustom.cpp:
1455         (WebCore::JSNavigator::webkitGetUserMedia):
1456         * bindings/js/JSNodeCustom.cpp:
1457         (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
1458         (WebCore::JSNode::insertBefore):
1459         (WebCore::JSNode::replaceChild):
1460         (WebCore::JSNode::removeChild):
1461         (WebCore::JSNode::appendChild):
1462         (WebCore::JSNode::visitAdditionalChildren):
1463         * bindings/js/JSNodeIteratorCustom.cpp:
1464         (WebCore::JSNodeIterator::visitAdditionalChildren):
1465         * bindings/js/JSNodeListCustom.cpp:
1466         (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
1467         * bindings/js/JSNodeOrString.cpp:
1468         (WebCore::toNodeOrStringVector):
1469         * bindings/js/JSOscillatorNodeCustom.cpp:
1470         (WebCore::JSOscillatorNode::setType):
1471         * bindings/js/JSPannerNodeCustom.cpp:
1472         (WebCore::JSPannerNode::setPanningModel):
1473         (WebCore::JSPannerNode::setDistanceModel):
1474         * bindings/js/JSPluginElementFunctions.cpp:
1475         (WebCore::pluginScriptObjectFromPluginViewBase):
1476         (WebCore::pluginScriptObject):
1477         (WebCore::pluginElementGetCallData):
1478         * bindings/js/JSPopStateEventCustom.cpp:
1479         (WebCore::JSPopStateEvent::state):
1480         * bindings/js/JSRTCStatsResponseCustom.cpp:
1481         (WebCore::JSRTCStatsResponse::nameGetter):
1482         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1483         (WebCore::JSSQLResultSetRowList::item):
1484         * bindings/js/JSSQLTransactionCustom.cpp:
1485         (WebCore::JSSQLTransaction::executeSql):
1486         * bindings/js/JSSVGLengthCustom.cpp:
1487         (WebCore::JSSVGLength::value):
1488         (WebCore::JSSVGLength::setValue):
1489         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1490         * bindings/js/JSStorageCustom.cpp:
1491         (WebCore::JSStorage::nameGetter):
1492         (WebCore::JSStorage::deleteProperty):
1493         (WebCore::JSStorage::getOwnPropertyNames):
1494         (WebCore::JSStorage::putDelegate):
1495         * bindings/js/JSStyleSheetCustom.cpp:
1496         (WebCore::JSStyleSheet::visitAdditionalChildren):
1497         * bindings/js/JSStyleSheetListCustom.cpp:
1498         (WebCore::JSStyleSheetList::nameGetter):
1499         * bindings/js/JSSubtleCryptoCustom.cpp:
1500         (WebCore::JSSubtleCrypto::encrypt):
1501         (WebCore::JSSubtleCrypto::decrypt):
1502         (WebCore::JSSubtleCrypto::sign):
1503         (WebCore::JSSubtleCrypto::verify):
1504         (WebCore::JSSubtleCrypto::wrapKey):
1505         (WebCore::JSSubtleCrypto::unwrapKey):
1506         * bindings/js/JSTextTrackCueCustom.cpp:
1507         (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
1508         (WebCore::JSTextTrackCue::visitAdditionalChildren):
1509         * bindings/js/JSTextTrackCustom.cpp:
1510         (WebCore::JSTextTrack::visitAdditionalChildren):
1511         (WebCore::JSTextTrack::setKind):
1512         (WebCore::JSTextTrack::setLanguage):
1513         * bindings/js/JSTextTrackListCustom.cpp:
1514         (WebCore::JSTextTrackList::visitAdditionalChildren):
1515         * bindings/js/JSTrackCustom.cpp:
1516         (WebCore::toTrack):
1517         * bindings/js/JSTrackEventCustom.cpp:
1518         (WebCore::JSTrackEvent::track):
1519         * bindings/js/JSTreeWalkerCustom.cpp:
1520         (WebCore::JSTreeWalker::visitAdditionalChildren):
1521         * bindings/js/JSUserMessageHandlersNamespaceCustom.cpp:
1522         (WebCore::JSUserMessageHandlersNamespace::getOwnPropertySlotDelegate):
1523         * bindings/js/JSVideoTrackCustom.cpp:
1524         (WebCore::JSVideoTrack::visitAdditionalChildren):
1525         (WebCore::JSVideoTrack::setKind):
1526         (WebCore::JSVideoTrack::setLanguage):
1527         * bindings/js/JSVideoTrackListCustom.cpp:
1528         (WebCore::JSVideoTrackList::visitAdditionalChildren):
1529         * bindings/js/JSWebGL2RenderingContextCustom.cpp:
1530         (WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
1531         (WebCore::JSWebGL2RenderingContext::getIndexedParameter):
1532         * bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
1533         (WebCore::getObjectParameter):
1534         (WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
1535         (WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
1536         (WebCore::JSWebGLRenderingContextBase::getExtension):
1537         (WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
1538         (WebCore::JSWebGLRenderingContextBase::getParameter):
1539         (WebCore::JSWebGLRenderingContextBase::getProgramParameter):
1540         (WebCore::JSWebGLRenderingContextBase::getShaderParameter):
1541         (WebCore::JSWebGLRenderingContextBase::getSupportedExtensions):
1542         (WebCore::JSWebGLRenderingContextBase::getUniform):
1543         (WebCore::JSWebGLRenderingContextBase::uniform1fv):
1544         (WebCore::JSWebGLRenderingContextBase::uniform1iv):
1545         (WebCore::JSWebGLRenderingContextBase::uniform2fv):
1546         (WebCore::JSWebGLRenderingContextBase::uniform2iv):
1547         (WebCore::JSWebGLRenderingContextBase::uniform3fv):
1548         (WebCore::JSWebGLRenderingContextBase::uniform3iv):
1549         (WebCore::JSWebGLRenderingContextBase::uniform4fv):
1550         (WebCore::JSWebGLRenderingContextBase::uniform4iv):
1551         (WebCore::JSWebGLRenderingContextBase::uniformMatrix2fv):
1552         (WebCore::JSWebGLRenderingContextBase::uniformMatrix3fv):
1553         (WebCore::JSWebGLRenderingContextBase::uniformMatrix4fv):
1554         (WebCore::JSWebGLRenderingContextBase::vertexAttrib1fv):
1555         (WebCore::JSWebGLRenderingContextBase::vertexAttrib2fv):
1556         (WebCore::JSWebGLRenderingContextBase::vertexAttrib3fv):
1557         (WebCore::JSWebGLRenderingContextBase::vertexAttrib4fv):
1558         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1559         (WebCore::JSWebGLRenderingContext::visitAdditionalChildren):
1560         * bindings/js/JSWorkerCustom.cpp:
1561         (WebCore::JSWorker::postMessage):
1562         (WebCore::constructJSWorker):
1563         * bindings/js/JSWorkerGlobalScopeBase.cpp:
1564         (WebCore::JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase):
1565         (WebCore::JSWorkerGlobalScopeBase::scriptExecutionContext):
1566         * bindings/js/JSWorkerGlobalScopeBase.h:
1567         (WebCore::JSWorkerGlobalScopeBase::wrapped):
1568         * bindings/js/JSWorkerGlobalScopeCustom.cpp:
1569         (WebCore::JSWorkerGlobalScope::visitAdditionalChildren):
1570         (WebCore::JSWorkerGlobalScope::importScripts):
1571         (WebCore::JSWorkerGlobalScope::setTimeout):
1572         (WebCore::JSWorkerGlobalScope::setInterval):
1573         * bindings/js/JSXMLHttpRequestCustom.cpp:
1574         (WebCore::JSXMLHttpRequest::visitAdditionalChildren):
1575         (WebCore::JSXMLHttpRequest::open):
1576         (WebCore::JSXMLHttpRequest::send):
1577         (WebCore::JSXMLHttpRequest::responseText):
1578         (WebCore::JSXMLHttpRequest::response):
1579         * bindings/js/JSXPathResultCustom.cpp:
1580         (WebCore::JSXPathResult::visitAdditionalChildren):
1581         * bindings/js/JSXSLTProcessorCustom.cpp:
1582         (WebCore::JSXSLTProcessor::setParameter):
1583         (WebCore::JSXSLTProcessor::getParameter):
1584         (WebCore::JSXSLTProcessor::removeParameter):
1585         * bindings/js/ScheduledAction.cpp:
1586         (WebCore::ScheduledAction::execute):
1587         * bindings/js/ScriptCachedFrameData.cpp:
1588         (WebCore::ScriptCachedFrameData::restore):
1589         * bindings/js/ScriptController.cpp:
1590         (WebCore::ScriptController::clearWindowShell):
1591         (WebCore::ScriptController::collectIsolatedContexts):
1592         * bindings/js/ScriptState.cpp:
1593         (WebCore::domWindowFromExecState):
1594         * bindings/objc/DOM.mm:
1595         (+[DOMNode _nodeFromJSWrapper:]):
1596         * bindings/objc/DOMUtility.mm:
1597         (JSC::createDOMWrapper):
1598         * bindings/objc/WebScriptObject.mm:
1599         (-[WebScriptObject _isSafeScript]):
1600         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1601         * bindings/scripts/CodeGeneratorJS.pm:
1602         (GenerateGetOwnPropertySlotBody):
1603         (GenerateHeader):
1604         (GetIndexedGetterExpression):
1605         (GenerateImplementation):
1606         (NativeToJSValue):
1607         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1608         (WebCore::jsTestActiveDOMObjectExcitingAttr):
1609         (WebCore::jsTestActiveDOMObjectConstructor):
1610         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
1611         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
1612         (WebCore::JSTestActiveDOMObjectOwner::finalize):
1613         (WebCore::JSTestActiveDOMObject::toWrapped):
1614         * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
1615         (WebCore::JSTestCustomConstructorWithNoInterfaceObjectOwner::finalize):
1616         (WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
1617         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
1618         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
1619         (WebCore::JSTestCustomNamedGetterOwner::finalize):
1620         (WebCore::JSTestCustomNamedGetter::toWrapped):
1621         * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
1622         (WebCore::jsTestEventConstructorAttr1):
1623         (WebCore::jsTestEventConstructorAttr2):
1624         (WebCore::JSTestEventConstructorOwner::finalize):
1625         (WebCore::JSTestEventConstructor::toWrapped):
1626         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
1627         (WebCore::JSTestEventTarget::getOwnPropertySlot):
1628         (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
1629         (WebCore::JSTestEventTarget::getOwnPropertyNames):
1630         (WebCore::jsTestEventTargetPrototypeFunctionItem):
1631         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
1632         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
1633         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
1634         (WebCore::JSTestEventTarget::visitChildren):
1635         (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
1636         (WebCore::JSTestEventTargetOwner::finalize):
1637         (WebCore::JSTestEventTarget::toWrapped):
1638         * bindings/scripts/test/JS/JSTestException.cpp:
1639         (WebCore::jsTestExceptionName):
1640         (WebCore::JSTestExceptionOwner::finalize):
1641         (WebCore::JSTestException::toWrapped):
1642         * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
1643         (WebCore::JSTestGenerateIsReachableOwner::isReachableFromOpaqueRoots):
1644         (WebCore::JSTestGenerateIsReachableOwner::finalize):
1645         (WebCore::JSTestGenerateIsReachable::toWrapped):
1646         * bindings/scripts/test/JS/JSTestInterface.cpp:
1647         (WebCore::jsTestInterfaceImplementsStr1):
1648         (WebCore::jsTestInterfaceImplementsStr2):
1649         (WebCore::jsTestInterfaceImplementsNode):
1650         (WebCore::jsTestInterfaceSupplementalStr1):
1651         (WebCore::jsTestInterfaceSupplementalStr2):
1652         (WebCore::jsTestInterfaceSupplementalNode):
1653         (WebCore::setJSTestInterfaceImplementsStr2):
1654         (WebCore::setJSTestInterfaceImplementsNode):
1655         (WebCore::setJSTestInterfaceSupplementalStr2):
1656         (WebCore::setJSTestInterfaceSupplementalNode):
1657         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
1658         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
1659         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
1660         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
1661         (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
1662         (WebCore::JSTestInterfaceOwner::finalize):
1663         (WebCore::JSTestInterface::toWrapped):
1664         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1665         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
1666         (WebCore::JSTestMediaQueryListListenerOwner::finalize):
1667         (WebCore::JSTestMediaQueryListListener::toWrapped):
1668         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
1669         (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
1670         (WebCore::JSTestNamedConstructorOwner::finalize):
1671         (WebCore::JSTestNamedConstructor::toWrapped):
1672         * bindings/scripts/test/JS/JSTestNode.cpp:
1673         (WebCore::jsTestNodeName):
1674         (WebCore::setJSTestNodeName):
1675         (WebCore::JSTestNode::visitChildren):
1676         * bindings/scripts/test/JS/JSTestNode.h:
1677         * bindings/scripts/test/JS/JSTestNondeterministic.cpp:
1678         (WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
1679         (WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
1680         (WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
1681         (WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
1682         (WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
1683         (WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
1684         (WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
1685         (WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
1686         (WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
1687         (WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
1688         (WebCore::JSTestNondeterministicOwner::finalize):
1689         (WebCore::JSTestNondeterministic::toWrapped):
1690         * bindings/scripts/test/JS/JSTestObj.cpp:
1691         (WebCore::jsTestObjReadOnlyLongAttr):
1692         (WebCore::jsTestObjReadOnlyStringAttr):
1693         (WebCore::jsTestObjReadOnlyTestObjAttr):
1694         (WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
1695         (WebCore::jsTestObjEnumAttr):
1696         (WebCore::jsTestObjByteAttr):
1697         (WebCore::jsTestObjOctetAttr):
1698         (WebCore::jsTestObjShortAttr):
1699         (WebCore::jsTestObjUnsignedShortAttr):
1700         (WebCore::jsTestObjLongAttr):
1701         (WebCore::jsTestObjLongLongAttr):
1702         (WebCore::jsTestObjUnsignedLongLongAttr):
1703         (WebCore::jsTestObjStringAttr):
1704         (WebCore::jsTestObjTestObjAttr):
1705         (WebCore::jsTestObjXMLObjAttr):
1706         (WebCore::jsTestObjCreate):
1707         (WebCore::jsTestObjReflectedStringAttr):
1708         (WebCore::jsTestObjReflectedIntegralAttr):
1709         (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
1710         (WebCore::jsTestObjReflectedBooleanAttr):
1711         (WebCore::jsTestObjReflectedURLAttr):
1712         (WebCore::jsTestObjReflectedCustomIntegralAttr):
1713         (WebCore::jsTestObjReflectedCustomBooleanAttr):
1714         (WebCore::jsTestObjReflectedCustomURLAttr):
1715         (WebCore::jsTestObjTypedArrayAttr):
1716         (WebCore::jsTestObjAttrWithGetterException):
1717         (WebCore::jsTestObjAttrWithSetterException):
1718         (WebCore::jsTestObjStringAttrWithGetterException):
1719         (WebCore::jsTestObjStringAttrWithSetterException):
1720         (WebCore::jsTestObjStrictTypeCheckingAttribute):
1721         (WebCore::jsTestObjOnfoo):
1722         (WebCore::jsTestObjWithScriptStateAttribute):
1723         (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
1724         (WebCore::jsTestObjWithScriptExecutionContextAttribute):
1725         (WebCore::jsTestObjWithScriptStateAttributeRaises):
1726         (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
1727         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
1728         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
1729         (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
1730         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
1731         (WebCore::jsTestObjConditionalAttr1):
1732         (WebCore::jsTestObjConditionalAttr2):
1733         (WebCore::jsTestObjConditionalAttr3):
1734         (WebCore::jsTestObjCachedAttribute1):
1735         (WebCore::jsTestObjCachedAttribute2):
1736         (WebCore::jsTestObjAnyAttribute):
1737         (WebCore::jsTestObjContentDocument):
1738         (WebCore::jsTestObjMutablePoint):
1739         (WebCore::jsTestObjImmutablePoint):
1740         (WebCore::jsTestObjStrawberry):
1741         (WebCore::jsTestObjStrictFloat):
1742         (WebCore::jsTestObjDescription):
1743         (WebCore::jsTestObjId):
1744         (WebCore::jsTestObjHash):
1745         (WebCore::jsTestObjReplaceableAttribute):
1746         (WebCore::jsTestObjNullableDoubleAttribute):
1747         (WebCore::jsTestObjNullableLongAttribute):
1748         (WebCore::jsTestObjNullableBooleanAttribute):
1749         (WebCore::jsTestObjNullableStringAttribute):
1750         (WebCore::jsTestObjNullableLongSettableAttribute):
1751         (WebCore::jsTestObjNullableStringValue):
1752         (WebCore::jsTestObjAttribute):
1753         (WebCore::jsTestObjAttributeWithReservedEnumType):
1754         (WebCore::jsTestObjPutForwardsAttribute):
1755         (WebCore::jsTestObjPutForwardsNullableAttribute):
1756         (WebCore::setJSTestObjEnumAttr):
1757         (WebCore::setJSTestObjByteAttr):
1758         (WebCore::setJSTestObjOctetAttr):
1759         (WebCore::setJSTestObjShortAttr):
1760         (WebCore::setJSTestObjUnsignedShortAttr):
1761         (WebCore::setJSTestObjLongAttr):
1762         (WebCore::setJSTestObjLongLongAttr):
1763         (WebCore::setJSTestObjUnsignedLongLongAttr):
1764         (WebCore::setJSTestObjStringAttr):
1765         (WebCore::setJSTestObjTestObjAttr):
1766         (WebCore::setJSTestObjXMLObjAttr):
1767         (WebCore::setJSTestObjCreate):
1768         (WebCore::setJSTestObjReflectedStringAttr):
1769         (WebCore::setJSTestObjReflectedIntegralAttr):
1770         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
1771         (WebCore::setJSTestObjReflectedBooleanAttr):
1772         (WebCore::setJSTestObjReflectedURLAttr):
1773         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
1774         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
1775         (WebCore::setJSTestObjReflectedCustomURLAttr):
1776         (WebCore::setJSTestObjTypedArrayAttr):
1777         (WebCore::setJSTestObjAttrWithGetterException):
1778         (WebCore::setJSTestObjAttrWithSetterException):
1779         (WebCore::setJSTestObjStringAttrWithGetterException):
1780         (WebCore::setJSTestObjStringAttrWithSetterException):
1781         (WebCore::setJSTestObjStrictTypeCheckingAttribute):
1782         (WebCore::setJSTestObjOnfoo):
1783         (WebCore::setJSTestObjWithScriptStateAttribute):
1784         (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
1785         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
1786         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
1787         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
1788         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
1789         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
1790         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
1791         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
1792         (WebCore::setJSTestObjConditionalAttr1):
1793         (WebCore::setJSTestObjConditionalAttr2):
1794         (WebCore::setJSTestObjConditionalAttr3):
1795         (WebCore::setJSTestObjAnyAttribute):
1796         (WebCore::setJSTestObjMutablePoint):
1797         (WebCore::setJSTestObjImmutablePoint):
1798         (WebCore::setJSTestObjStrawberry):
1799         (WebCore::setJSTestObjStrictFloat):
1800         (WebCore::setJSTestObjId):
1801         (WebCore::setJSTestObjNullableLongSettableAttribute):
1802         (WebCore::setJSTestObjNullableStringValue):
1803         (WebCore::setJSTestObjAttributeWithReservedEnumType):
1804         (WebCore::setJSTestObjPutForwardsAttribute):
1805         (WebCore::setJSTestObjPutForwardsNullableAttribute):
1806         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
1807         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
1808         (WebCore::jsTestObjPrototypeFunctionByteMethod):
1809         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
1810         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
1811         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
1812         (WebCore::jsTestObjPrototypeFunctionLongMethod):
1813         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
1814         (WebCore::jsTestObjPrototypeFunctionObjMethod):
1815         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
1816         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
1817         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
1818         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
1819         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
1820         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
1821         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1822         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
1823         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
1824         (WebCore::jsTestObjPrototypeFunctionPrivateMethod):
1825         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
1826         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
1827         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
1828         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
1829         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
1830         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
1831         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
1832         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
1833         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
1834         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
1835         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
1836         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
1837         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
1838         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
1839         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
1840         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
1841         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
1842         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
1843         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
1844         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
1845         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
1846         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
1847         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
1848         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
1849         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
1850         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
1851         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
1852         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
1853         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
1854         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
1855         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
1856         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
1857         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
1858         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
1859         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
1860         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
1861         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
1862         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
1863         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
1864         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
1865         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
1866         (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
1867         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
1868         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
1869         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
1870         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
1871         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
1872         (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
1873         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
1874         (WebCore::jsTestObjPrototypeFunctionConvert1):
1875         (WebCore::jsTestObjPrototypeFunctionConvert2):
1876         (WebCore::jsTestObjPrototypeFunctionConvert4):
1877         (WebCore::jsTestObjPrototypeFunctionConvert5):
1878         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
1879         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
1880         (WebCore::jsTestObjPrototypeFunctionOrange):
1881         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
1882         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
1883         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
1884         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
1885         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
1886         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
1887         (WebCore::jsTestObjPrototypeFunctionAny):
1888         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
1889         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
1890         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
1891         (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
1892         (WebCore::JSTestObjOwner::finalize):
1893         (WebCore::JSTestObj::toWrapped):
1894         * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
1895         (WebCore::JSTestOverloadedConstructorsOwner::finalize):
1896         (WebCore::JSTestOverloadedConstructors::toWrapped):
1897         * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
1898         (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames):
1899         (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
1900         (WebCore::JSTestOverrideBuiltinsOwner::finalize):
1901         (WebCore::JSTestOverrideBuiltins::toWrapped):
1902         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1903         (WebCore::jsTestSerializedScriptValueInterfaceValue):
1904         (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
1905         (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
1906         (WebCore::jsTestSerializedScriptValueInterfacePorts):
1907         (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
1908         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
1909         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
1910         (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
1911         (WebCore::JSTestSerializedScriptValueInterface::toWrapped):
1912         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1913         (WebCore::jsTestTypedefsUnsignedLongLongAttr):
1914         (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
1915         (WebCore::jsTestTypedefsAttrWithGetterException):
1916         (WebCore::jsTestTypedefsAttrWithSetterException):
1917         (WebCore::jsTestTypedefsStringAttrWithGetterException):
1918         (WebCore::jsTestTypedefsStringAttrWithSetterException):
1919         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
1920         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
1921         (WebCore::setJSTestTypedefsAttrWithGetterException):
1922         (WebCore::setJSTestTypedefsAttrWithSetterException):
1923         (WebCore::setJSTestTypedefsStringAttrWithGetterException):
1924         (WebCore::setJSTestTypedefsStringAttrWithSetterException):
1925         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
1926         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
1927         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
1928         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
1929         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
1930         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
1931         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
1932         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
1933         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
1934         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
1935         (WebCore::JSTestTypedefsOwner::finalize):
1936         (WebCore::JSTestTypedefs::toWrapped):
1937         * bindings/scripts/test/JS/JSattribute.cpp:
1938         (WebCore::jsattributeReadonly):
1939         (WebCore::JSattributeOwner::finalize):
1940         (WebCore::JSattribute::toWrapped):
1941         * bindings/scripts/test/JS/JSreadonly.cpp:
1942         (WebCore::JSreadonlyOwner::finalize):
1943         (WebCore::JSreadonly::toWrapped):
1944         * bridge/runtime_method.cpp:
1945         (JSC::callRuntimeMethod):
1946         * inspector/InspectorController.cpp:
1947         (WebCore::InspectorController::canAccessInspectedScriptState):
1948
1949 2015-11-02  Youenn Fablet  <youenn.fablet@crf.canon.fr>
1950
1951         IDL functions and attributes should be JSBuiltin by default if interface is marked as JSBuiltinConstructor
1952         https://bugs.webkit.org/show_bug.cgi?id=150438
1953
1954         Reviewed by Darin Adler.
1955
1956         Binding generator is now deducing that function/attribute is JSBuiltin if the interface is marked as JSBuiltin.
1957         One exception is custom setters, getters or functions which remain C++ handled.
1958         Updated streams API IDLs accordingly.
1959
1960         Binding generator knows whether class needs a DOM class by checking whether the interface is marked as JSBuiltin.
1961         Binding generator knows that class uses a JS built-in constructor if marked as JSBuiltin+Constructor.
1962         In particular, JSBuiltIn+CustomConstructor means that a DOM class is not needed and constructor is not JS built-in.
1963
1964         Applied JSBuiltin+CustomConstructor to ReadableStreamReader and ReadableStreamController.
1965         Removing ReadableStreamReader and ReadableStreamController classes.
1966
1967         Removed unneeded "Default" keyword for cancel function in WebIDL.
1968
1969         Added a binding test case.
1970         No change in behavior.
1971
1972         * Modules/streams/ByteLengthQueuingStrategy.idl: Marking interface as JSBuiltin and Constructable.
1973         * Modules/streams/CountQueuingStrategy.idl: Ditto.
1974         * Modules/streams/ReadableStream.idl: Ditto.
1975         * Modules/streams/ReadableStreamController.h: Removed.
1976         * Modules/streams/ReadableStreamController.idl: Marking interface as JSBuiltin and Constructable.
1977         * Modules/streams/ReadableStreamReader.h: Removed.
1978         * Modules/streams/ReadableStreamReader.idl: Marking interface as JSBuiltin and Constructable.
1979         * Modules/streams/WritableStream.idl: Ditto.
1980         * bindings/js/JSReadableStreamPrivateConstructors.cpp:
1981         (WebCore::JSBuiltinReadableStreamReaderPrivateConstructor::createJSObject): Updated according new constructor.
1982         (WebCore::JSBuiltinReadableStreamControllerPrivateConstructor::createJSObject): Ditto.
1983         * bindings/scripts/CodeGeneratorJS.pm:
1984         (NeedsImplementationClass):
1985         (GetAttributeGetterName):
1986         (GetAttributeSetterName):
1987         (GetFunctionName):
1988         (InstanceNeedsVisitChildren):
1989         (GenerateHeader):
1990         (GenerateAttributesHashTable):
1991         (GenerateImplementation):
1992         (GetConstructorTemplateClassName):
1993         (GenerateConstructorDefinition):
1994         (GenerateConstructorHelperMethods):
1995         (IsConstructable):
1996         (ComputeFunctionSpecial):
1997         (IsJSBuiltin):
1998         (IsJSBuiltinConstructor):
1999         (AddJSBuiltinIncludesIfNeeded):
2000         (GetJSBuiltinFunctionName): Deleted.
2001         (GetJSBuiltinFunctionNameFromString): Deleted.
2002         (GetJSBuiltinScopeName): Deleted.
2003         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.cpp:
2004         (webkit_dom_test_js_builtin_constructor_set_property):
2005         (webkit_dom_test_js_builtin_constructor_get_property):
2006         (webkit_dom_test_js_builtin_constructor_class_init):
2007         (webkit_dom_test_js_builtin_constructor_test_function):
2008         (webkit_dom_test_js_builtin_constructor_get_test_attribute):
2009         (webkit_dom_test_js_builtin_constructor_set_test_attribute):
2010         * bindings/scripts/test/GObject/WebKitDOMTestJSBuiltinConstructor.h:
2011         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
2012         (WebCore::JSTestJSBuiltinConstructor::JSTestJSBuiltinConstructor):
2013         (WebCore::JSTestJSBuiltinConstructor::getOwnPropertySlot):
2014         (WebCore::jsTestJSBuiltinConstructorTestAttribute):
2015         (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
2016         (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
2017         (WebCore::setJSTestJSBuiltinConstructorTestAttribute):
2018         (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
2019         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestFunction):
2020         (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
2021         (WebCore::JSTestJSBuiltinConstructorOwner::isReachableFromOpaqueRoots):
2022         (WebCore::JSTestJSBuiltinConstructorOwner::finalize):
2023         (WebCore::toJSNewlyCreated):
2024         (WebCore::toJS):
2025         (WebCore::JSTestJSBuiltinConstructor::toWrapped):
2026         (WebCore::JSTestJSBuiltinConstructorPrototype::createStructure): Deleted.
2027         (WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties): Deleted.
2028         (WebCore::JSTestJSBuiltinConstructor::createPrototype): Deleted.
2029         (WebCore::JSTestJSBuiltinConstructor::getPrototype): Deleted.
2030         * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
2031         (WebCore::JSTestJSBuiltinConstructor::create):
2032         (WebCore::JSTestJSBuiltinConstructor::finishCreation):
2033         (WebCore::wrapperOwner):
2034         (WebCore::toJS):
2035         (WebCore::JSTestJSBuiltinConstructor::createStructure): Deleted.
2036         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.h:
2037         * bindings/scripts/test/ObjC/DOMTestJSBuiltinConstructor.mm:
2038         (-[DOMTestJSBuiltinConstructor testAttribute]):
2039         (-[DOMTestJSBuiltinConstructor setTestAttribute:]):
2040         (-[DOMTestJSBuiltinConstructor testAttributeCustom]):
2041         (-[DOMTestJSBuiltinConstructor testAttributeRWCustom]):
2042         (-[DOMTestJSBuiltinConstructor setTestAttributeRWCustom:]):
2043         (-[DOMTestJSBuiltinConstructor testFunction]):
2044         (-[DOMTestJSBuiltinConstructor testCustomFunction]):
2045         * bindings/scripts/test/TestJSBuiltinConstructor.idl:
2046
2047 2015-10-29  Sergio Villar Senin  <svillar@igalia.com>
2048
2049         [CSS Grid Layout] min-content row does not always shrink
2050         https://bugs.webkit.org/show_bug.cgi?id=144581
2051
2052         Reviewed by Zalan Bujtas.
2053
2054         Grid items height must be recomputed whenever the grid tracks
2055         change if the items had been previously stretched. In those
2056         cases we have to clear the override height and layout the item
2057         with the new row size.
2058
2059         Tests: fast/css-grid-layout/min-content-row-must-shrink-when-column-grows.html
2060                fast/css-grid-layout/relayout-indefinite-heights.html
2061
2062         * rendering/RenderGrid.cpp:
2063         (WebCore::RenderGrid::logicalContentHeightForChild):
2064
2065 2015-11-01  Brady Eidson  <beidson@apple.com>
2066
2067         Modern IDB: IBDObjectStore.count() support.
2068         https://bugs.webkit.org/show_bug.cgi?id=150785
2069
2070         Reviewed by Darin Adler.
2071
2072         Tests: storage/indexeddb/modern/idbobjectstore-count-1.html
2073                storage/indexeddb/modern/idbobjectstore-count-failures.html
2074
2075         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2076         (WebCore::IDBClient::IDBConnectionToServer::getCount):
2077         (WebCore::IDBClient::IDBConnectionToServer::didGetCount):
2078         * Modules/indexeddb/client/IDBConnectionToServer.h:
2079         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2080         
2081         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2082         (WebCore::IDBClient::IDBObjectStore::count):
2083         (WebCore::IDBClient::IDBObjectStore::doCount):
2084         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
2085         
2086         * Modules/indexeddb/client/IDBRequestImpl.cpp:
2087         (WebCore::IDBClient::IDBRequest::setResult):
2088         * Modules/indexeddb/client/IDBRequestImpl.h:
2089         
2090         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2091         (WebCore::IDBClient::IDBTransaction::requestCount):
2092         (WebCore::IDBClient::IDBTransaction::getCountOnServer):
2093         (WebCore::IDBClient::IDBTransaction::didGetCountOnServer):
2094         * Modules/indexeddb/client/IDBTransactionImpl.h:
2095         
2096         * Modules/indexeddb/server/IDBBackingStore.h:
2097         
2098         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2099         (WebCore::IDBServer::IDBConnectionToClient::didGetCount):
2100         * Modules/indexeddb/server/IDBConnectionToClient.h:
2101         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2102         
2103         * Modules/indexeddb/server/IDBServer.cpp:
2104         (WebCore::IDBServer::IDBServer::getCount):
2105         * Modules/indexeddb/server/IDBServer.h:
2106         
2107         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2108         (WebCore::IDBServer::MemoryIDBBackingStore::getCount):
2109         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2110         
2111         * Modules/indexeddb/server/MemoryObjectStore.cpp:
2112         (WebCore::IDBServer::MemoryObjectStore::countForKeyRange):
2113         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange):
2114         (WebCore::IDBServer::MemoryObjectStore::lowestKeyWithRecordInRange):
2115         * Modules/indexeddb/server/MemoryObjectStore.h:
2116         
2117         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2118         (WebCore::IDBServer::UniqueIDBDatabase::storeCallback):
2119         (WebCore::IDBServer::UniqueIDBDatabase::getCount):
2120         (WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
2121         (WebCore::IDBServer::UniqueIDBDatabase::didPerformGetCount):
2122         (WebCore::IDBServer::UniqueIDBDatabase::performCountCallback):
2123         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2124         
2125         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2126         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
2127         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getCount):
2128         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2129         
2130         * Modules/indexeddb/shared/IDBResultData.cpp:
2131         (WebCore::IDBResultData::IDBResultData):
2132         (WebCore::IDBResultData::getCountSuccess):
2133         * Modules/indexeddb/shared/IDBResultData.h:
2134         (WebCore::IDBResultData::resultInteger):
2135         
2136         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2137         (WebCore::InProcessIDBServer::didGetCount):
2138         (WebCore::InProcessIDBServer::getCount):
2139         * Modules/indexeddb/shared/InProcessIDBServer.h:
2140
2141 2015-11-01  Darin Adler  <darin@apple.com>
2142
2143         Tidy handling of type=color in HTMLInputElement a bit
2144         https://bugs.webkit.org/show_bug.cgi?id=150786
2145
2146         Reviewed by Andreas Kling.
2147
2148         * html/ColorInputType.cpp: Fix formatting.
2149         (WebCore::ColorInputType::fallbackValue): Use ASCIILiteral for slightly
2150         better performance.
2151         (WebCore::ColorInputType::sanitizeValue): Use convertToASCIILowercase,
2152         since there is no need for the general purpose Unicode lowercasing here;
2153         those non-ASCII characters aren't allowed by isValidColorString.
2154         (WebCore::ColorInputType::suggestions): Rewrote data list code to remove
2155         peculiarities such as using a null check to terminate the loop instead of
2156         the collection length, calling back to HTMLInputElement just to get the
2157         isValidColorString function called. Also used reserveInitialCapacity and
2158         uncheckedAppend for better memory use in the result vector.
2159         (WebCore::ColorInputType::selectColor): Added.
2160
2161         * html/ColorInputType.h: Made derivation from ColorChooserClient private.
2162         Made most functions private. Added overrides for valueAsColor and selectColor,
2163         now both virtual functions in InputType.
2164
2165         * html/HTMLInputElement.cpp: Removed now-unneeded include of ColorInputType.h.
2166         (WebCore::HTMLInputElement::valueAsColor): Added. Calls through to the InputType.
2167         In a later patch, will be used by accessibility code to get the color so it
2168         does not have to replicate the color parsing logic from this element.
2169         (WebCore::HTMLInputElement::selectColor): Renamed from selectColorInColorChooser,
2170         because the longer name is not clearer. Also made this non-conditional.
2171
2172         * html/HTMLInputElement.h: Added valueAsColor, renamed selectColorInColorChooser
2173         to selectColor and made it available unconditionally.
2174
2175         * html/InputType.cpp:
2176         (WebCore::InputType::valueAsColor): Added. Returns transparent color.
2177         (WebCore::InputType::selectColor): Added. Does nothing by default.
2178
2179         * html/InputType.h: Added virtual valueAsColor and selectColor. Also tidied
2180         up the header a bit and removed unneeded Noncopyable (since this class has
2181         a reference for one of the data members and so is intrinsically not copyable).
2182         Made isColorControl available unconditionally.
2183
2184         * testing/Internals.cpp:
2185         (WebCore::Internals::selectColorInColorChooser): Removed conditionals and
2186         made this call selectColor rather than selectColorInColorChooser.
2187
2188         * testing/Internals.h: Made selectColorInColorChooser unconditional.
2189
2190         * testing/Internals.idl: Made selectColorInColorChooser unconditionally
2191         present. Not important to optimize the test internals class by leaving it
2192         out when INPUT_TYPE_COLOR is not enabled.
2193
2194 2015-11-01  Yusuke Suzuki  <utatane.tea@gmail.com>
2195
2196         [ES6] Support Generator Syntax
2197         https://bugs.webkit.org/show_bug.cgi?id=150769
2198
2199         Reviewed by Geoffrey Garen.
2200
2201         Added ENABLE_ES6_GENERATORS flag.
2202
2203         * Configurations/FeatureDefines.xcconfig:
2204
2205 2015-11-01  Myles C. Maxfield  <mmaxfield@apple.com>
2206
2207         Clean up some CSS & Font code
2208         https://bugs.webkit.org/show_bug.cgi?id=150767
2209
2210         Reviewed by Darin Adler.
2211
2212         This patch migrates some CSS code to use references instead of pointers.
2213         It also migrates some Font code to use RefPtr instead of PassRefPtr.
2214
2215         No new tests because there is no behavior change.
2216
2217         * css/CSSDefaultStyleSheets.cpp:
2218         (WebCore::CSSDefaultStyleSheets::loadFullDefaultStyle):
2219         (WebCore::CSSDefaultStyleSheets::loadSimpleDefaultStyle):
2220         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2221         * css/CSSFontSelector.cpp:
2222         (WebCore::createFontFace):
2223         (WebCore::CSSFontSelector::addFontFaceRule):
2224         * css/CSSFontSelector.h:
2225         * css/DocumentRuleSets.cpp:
2226         (WebCore::DocumentRuleSets::initUserStyle):
2227         (WebCore::DocumentRuleSets::collectRulesFromUserStyleSheets):
2228         (WebCore::DocumentRuleSets::appendAuthorStyleSheets):
2229         * css/RuleSet.cpp:
2230         (WebCore::RuleSet::addChildRules):
2231         (WebCore::RuleSet::addRulesFromSheet):
2232         * css/RuleSet.h:
2233         * css/StyleInvalidationAnalysis.cpp:
2234         (WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
2235         * platform/graphics/Font.cpp:
2236         (WebCore::Font::verticalRightOrientationFont):
2237         (WebCore::Font::uprightOrientationFont):
2238         (WebCore::Font::smallCapsFont):
2239         (WebCore::Font::emphasisMarkFont):
2240         (WebCore::Font::brokenIdeographFont):
2241         (WebCore::Font::nonSyntheticItalicFont):
2242         (WebCore::Font::createScaledFont):
2243         * platform/graphics/Font.h:
2244         (WebCore::Font::variantFont):
2245         * platform/graphics/cocoa/FontCocoa.mm:
2246         (WebCore::Font::platformCreateScaledFont):
2247         * svg/SVGFontFaceElement.h:
2248
2249 2015-11-01  Darin Adler  <darin@apple.com>
2250
2251         Remove some dead and unneeded code (ScrollbarThemeSafari, RenderThemeSafari, OPENCL, a little color space logic)
2252         https://bugs.webkit.org/show_bug.cgi?id=150783
2253
2254         Reviewed by Tim Horton.
2255
2256         * PlatformWinCairo.cmake: Removed ScrollbarThemeSafari.cpp, no reason to compile it.
2257
2258         * platform/graphics/ca/GraphicsLayerCA.cpp:
2259         (WebCore::GraphicsLayerCA::setContentsToImage): Removed the code that set a color space
2260         on an image if it's set to device color space. This has been dead code for many releases
2261         of OS X and iOS at this point.
2262
2263         * platform/graphics/filters/FEColorMatrix.h: Removed some ENABLE(OPENCL)-only code.
2264         * platform/graphics/filters/FEFlood.h: Ditto.
2265         * platform/graphics/filters/FEMerge.h: Ditto.
2266         * platform/graphics/filters/FETurbulence.h: Ditto.
2267         * platform/graphics/filters/FilterEffect.cpp:
2268         (WebCore::FilterEffect::applyAll): Removed.
2269         (WebCore::FilterEffect::apply): Removed ENABLE(OPENCL)-only code.
2270         (WebCore::FilterEffect::platformApplyOpenCL): Removed.
2271         (WebCore::FilterEffect::clearResult): Removed ENABLE(OPENCL)-only code.
2272         (WebCore::FilterEffect::asImageBuffer): Ditto.
2273         (WebCore::FilterEffect::openCLImageToImageBuffer): Removed.
2274         (WebCore::FilterEffect::createOpenCLImageResult): Removed.
2275         (WebCore::FilterEffect::transformResultColorSpace): Removed ENABLE(OPENCL)-only code.
2276
2277         * platform/graphics/filters/FilterEffect.h: Removed ENABLE(OPENCL)-only code.
2278         * platform/graphics/filters/SourceAlpha.h: Ditto.
2279         * platform/graphics/filters/SourceGraphic.h: Ditto.
2280
2281         * platform/win/ScrollbarThemeSafari.cpp: Removed.
2282         * platform/win/ScrollbarThemeSafari.h: Removed.
2283
2284         * rendering/RenderThemeMac.mm: Removed an obsolete comment.
2285
2286         * rendering/RenderThemeSafari.cpp: Removed.
2287         * rendering/RenderThemeSafari.h: Removed.
2288
2289         * svg/graphics/filters/SVGFEImage.h: Removed ENABLE(OPENCL)-only code.
2290
2291 2015-11-01  Andreas Kling  <akling@apple.com>
2292
2293         Move the ResourceUsageOverlay out of the way by default.
2294         <https://webkit.org/b/150776>
2295
2296         Reviewed by Darin Adler.
2297
2298         Have the ResourceUsageOverlay show up in the bottom center of the viewport
2299         by default, instead of the top left. This way, you won't have to drag it
2300         out of the way all the time.
2301
2302         * page/ResourceUsageOverlay.cpp:
2303         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
2304         (WebCore::ResourceUsageOverlay::initialize):
2305         * page/ResourceUsageOverlay.h:
2306         * page/cocoa/ResourceUsageOverlayCocoa.mm:
2307         (WebCore::ResourceUsageOverlay::platformInitialize):
2308
2309 2015-11-01  Philip Chimento  <philip.chimento@gmail.com>
2310
2311         [GTK] Fix combinations of PLATFORM(GTK) and OS(DARWIN)
2312         https://bugs.webkit.org/show_bug.cgi?id=144560
2313
2314         Reviewed by Darin Adler.
2315
2316         * platform/graphics/PlatformDisplay.cpp: Only include the
2317         X11-specific GDK header on PLATFORM(X11). In other cases the
2318         normal gdk.h header is needed, which would otherwise be pulled in
2319         by gdkx.h.
2320         * platform/graphics/opentype/OpenTypeMathData.cpp: Change check
2321         for FourCharCode type from OS(DARWIN) to PLATFORM(COCOA). We
2322         can't remove it altogether because OT_MAKE_TAG doesn't work for
2323         all platforms.
2324
2325 2015-11-01  Carlos Garcia Campos  <cgarcia@igalia.com>
2326
2327         [GTK] Use RunLoop::Timer in main thread shared timer GTK+ implementation
2328         https://bugs.webkit.org/show_bug.cgi?id=150754
2329
2330         Reviewed by Darin Adler.
2331
2332         It's more efficient because it uses a persistent source and it
2333         simplifies the code even more.
2334
2335         * platform/MainThreadSharedTimer.cpp:
2336         (WebCore::MainThreadSharedTimer::fired): Make it non-const to be
2337         able to use it as function callback of a RunLoop::Timer.
2338         * platform/MainThreadSharedTimer.h:
2339         * platform/gtk/MainThreadSharedTimerGtk.cpp:
2340         (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
2341         Initialize the RunLoop::Timer and set the prioriry.
2342         (WebCore::MainThreadSharedTimer::setFireInterval):
2343         (WebCore::MainThreadSharedTimer::stop):
2344
2345 2015-10-31  Andreas Kling  <akling@apple.com>
2346
2347         Add a debug overlay with information about web process resource usage.
2348         <https://webkit.org/b/150599>
2349
2350         Unreviewed follow-up to r191849.
2351
2352         Add missing call to uninstall the PageOverlay if the ResourceUsageOverlay is being
2353         disabled through the setting. This way you don't end up with an unremovable overlay
2354         in the MiniBrowser.
2355
2356         * page/ResourceUsageOverlay.cpp:
2357         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
2358
2359 2015-10-31  Brady Eidson  <beidson@apple.com>
2360
2361         IDB: Date objects don't work as keys or values.
2362         https://bugs.webkit.org/show_bug.cgi?id=150743
2363
2364         Reviewed by Darin Adler.
2365
2366         Test: storage/indexeddb/modern/date-basic.html
2367
2368         The combination of the autogenerated bindings with Deprecated::ScriptValue was
2369         losing the fidelity of "Date" objects being Dates, and not just normal Objects.
2370         
2371         This was breaking their usage as IDBKeys.
2372         
2373         Custom binding + reworking the IDBObjectStore IDLs to use JSValue instead of ScriptValue
2374         fixes this handily.
2375         
2376         * Modules/indexeddb/IDBObjectStore.h:
2377         * Modules/indexeddb/IDBObjectStore.idl:
2378         
2379         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2380         (WebCore::IDBClient::IDBObjectStore::add):
2381         (WebCore::IDBClient::IDBObjectStore::put):
2382         (WebCore::IDBClient::IDBObjectStore::putOrAdd):
2383         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
2384         
2385         * Modules/indexeddb/legacy/LegacyObjectStore.cpp:
2386         (WebCore::LegacyObjectStore::add):
2387         (WebCore::LegacyObjectStore::put):
2388         * Modules/indexeddb/legacy/LegacyObjectStore.h:
2389         
2390         * bindings/js/IDBBindingUtilities.cpp:
2391         (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
2392         (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath):
2393         (WebCore::canInjectIDBKeyIntoScriptValue):
2394         (WebCore::scriptValueToIDBKey):
2395         * bindings/js/IDBBindingUtilities.h:
2396
2397         * bindings/js/JSIDBObjectStoreCustom.cpp:
2398         (WebCore::putOrAdd):
2399         (WebCore::JSIDBObjectStore::putRecord):
2400         (WebCore::JSIDBObjectStore::add):
2401
2402 2015-10-31  Andreas Kling  <akling@apple.com>
2403
2404         Add a debug overlay with information about web process resource usage.
2405         <https://webkit.org/b/150599>
2406
2407         Reviewed by Darin Adler.
2408
2409         A new kind of PageOverlay is added behind the ENABLE(RESOURCE_USAGE_OVERLAY) flag.
2410         It's owned by Page, but not instantiated unless the Settings::resourceUsageOverlayVisible flag is set.
2411
2412         All ResourceUsageOverlay objects share a single sampler thread. The thread currently runs every 500ms
2413         and samples CPU usage, dirty memory regions, and GC heap size/capacity.
2414
2415         Most things in here are currently quite Mac-specific, but I will be iterating on this towards a more
2416         cross-platform friendly solution.
2417
2418         There are two small changes to PageOverlay in order to support dragging the resource usage overlay:
2419
2420             - A "should ignore mouse events outside bounds" state flag. This is on by default
2421               but turned off during a drag.
2422             - PageOverlay::bounds() will now return the override frame verbatim if one is set,
2423               instead of returning it relocated to 0,0.
2424
2425         Note that this is intended as a tool for WebKit engine developers to better understand memory usage.
2426         It's not a goal to expose this information to end users.
2427
2428         * WebCore.xcodeproj/project.pbxproj:
2429         * page/Page.cpp:
2430         (WebCore::Page::setResourceUsageOverlayVisible):
2431         * page/Page.h:
2432         * page/PageOverlay.cpp:
2433         (WebCore::PageOverlay::bounds):
2434         (WebCore::PageOverlay::mouseEvent):
2435         * page/PageOverlay.h:
2436         * page/ResourceUsageOverlay.cpp: Added.
2437         (WebCore::ResourceUsageOverlay::ResourceUsageOverlay):
2438         (WebCore::ResourceUsageOverlay::~ResourceUsageOverlay):
2439         (WebCore::ResourceUsageOverlay::mouseEvent):
2440         * page/ResourceUsageOverlay.h: Added.
2441         * page/Settings.cpp:
2442         (WebCore::Settings::setResourceUsageOverlayVisible):
2443         * page/Settings.h:
2444         (WebCore::Settings::resourceUsageOverlayVisible):
2445         * page/cocoa/ResourceUsageOverlayCocoa.mm: Added.
2446         (-[WebOverlayLayer initWithResourceUsageOverlay:]):
2447         (-[WebOverlayLayer drawInContext:]):
2448         (WebCore::RingBuffer::RingBuffer):
2449         (WebCore::RingBuffer::append):
2450         (WebCore::RingBuffer::last):
2451         (WebCore::RingBuffer::forEach):
2452         (WebCore::RingBuffer::incrementIndex):
2453         (WebCore::RingBuffer::decrementIndex):
2454         (WebCore::sharedData):
2455         (WebCore::ResourceUsageOverlay::platformInitialize):
2456         (WebCore::ResourceUsageOverlay::platformDestroy):
2457         (WebCore::drawCpuHistory):
2458         (WebCore::drawGCHistory):
2459         (WebCore::drawSlice):
2460         (WebCore::drawPlate):
2461         (WebCore::drawMemoryPie):
2462         (WebCore::formatByteNumber):
2463         (WebCore::showText):
2464         (WebCore::ResourceUsageOverlay::draw):
2465         (WebCore::dirtyPagesPerVMTag):
2466         (WebCore::cpuUsage):
2467         (WebCore::runSamplerThread):
2468         * platform/spi/cocoa/MachVMSPI.h:
2469
2470 2015-10-31  Brady Eidson  <beidson@apple.com>
2471
2472         storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html is flaky.
2473         https://bugs.webkit.org/show_bug.cgi?id=150735
2474
2475         Reviewed by Darin Adler.
2476
2477         No new tests (Covered by existing tests).
2478
2479         Transactions were liable to commit too early because IDBRequests could be waiting
2480         to dispatch their error/success events but their operations would no longer be
2481         registered with the transaction.
2482         
2483         Having outstanding requests should also keep a transaction from committing, just
2484         like having outstanding operations should.
2485         
2486         * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
2487         (WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
2488         
2489         * Modules/indexeddb/client/IDBRequestImpl.cpp:
2490         (WebCore::IDBClient::IDBRequest::dispatchEvent):
2491         
2492         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2493         (WebCore::IDBClient::IDBTransaction::addRequest):
2494         (WebCore::IDBClient::IDBTransaction::removeRequest):
2495         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
2496         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
2497         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
2498         (WebCore::IDBClient::IDBTransaction::requestPutOrAdd):
2499         (WebCore::IDBClient::IDBTransaction::operationDidComplete):
2500         * Modules/indexeddb/client/IDBTransactionImpl.h:
2501         
2502         * Modules/indexeddb/client/TransactionOperation.h:
2503         (WebCore::IDBClient::TransactionOperation::completed):
2504
2505 2015-10-31  Philippe Normand  <pnormand@igalia.com>
2506
2507         [GStreamer][Mac] Fix WebAudio build
2508         https://bugs.webkit.org/show_bug.cgi?id=150030
2509
2510         Reviewed by Darin Adler.
2511
2512         Wrap Accelerate.framework API calls around USE(ACCELERATE) ifdefs.
2513
2514         * platform/audio/Biquad.cpp:
2515         (WebCore::Biquad::Biquad):
2516         (WebCore::Biquad::process):
2517         (WebCore::Biquad::reset):
2518         * platform/audio/Biquad.h:
2519         * platform/audio/DirectConvolver.cpp:
2520         (WebCore::DirectConvolver::process):
2521         * platform/audio/FFTFrame.h:
2522         * platform/audio/VectorMath.cpp:
2523
2524 2015-10-31  Brian Burg  <bburg@apple.com>
2525
2526         Builtins generator should put WebCore-only wrappers in the per-builtin header
2527         https://bugs.webkit.org/show_bug.cgi?id=150539
2528
2529         Reviewed by Youenn Fablet.
2530
2531         Fix includes of removed XXXWrapper.h headers.
2532
2533         * CMakeLists.txt:
2534         * DerivedSources.make:
2535         * WebCore.xcodeproj/project.pbxproj:
2536         * bindings/js/WebCoreJSBuiltinInternals.h:
2537         * bindings/js/WebCoreJSBuiltins.h:
2538
2539 2015-10-31  Yusuke Suzuki  <utatane.tea@gmail.com>
2540
2541         Add the support for Symbol attributes on IDL
2542         https://bugs.webkit.org/show_bug.cgi?id=150586
2543
2544         Reviewed by Ryosuke Niwa.
2545
2546         This patch addes readonly attribute support for Symbols.
2547         It involves the IDL generator functionality converting Native type (PrivateName) to Symbol.
2548
2549         * bindings/scripts/CodeGeneratorGObject.pm:
2550         (SkipAttribute):
2551         (SkipFunction):
2552         * bindings/scripts/CodeGeneratorJS.pm:
2553         (NativeToJSValue):
2554         * bindings/scripts/CodeGeneratorObjC.pm:
2555         (SkipFunction):
2556         (SkipAttribute):
2557         * bindings/scripts/test/JS/JSTestObj.cpp:
2558         (WebCore::jsTestObjReadOnlySymbolAttr):
2559         (WebCore::jsTestObjConstructorStaticReadOnlySymbolAttr):
2560         * bindings/scripts/test/TestObj.idl:
2561
2562 2015-10-30  Brady Eidson  <beidson@apple.com>
2563
2564         Modern IDB: Support IDBObjectStore.get() for IDBKeyRanges.
2565         https://bugs.webkit.org/show_bug.cgi?id=150718
2566
2567         Reviewed by Alex Christensen.
2568
2569         Test: storage/indexeddb/modern/get-keyrange.html
2570
2571         * Modules/indexeddb/IDBKeyRangeData.cpp:
2572         (WebCore::IDBKeyRangeData::IDBKeyRangeData):
2573         * Modules/indexeddb/IDBKeyRangeData.h:
2574         
2575         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2576         (WebCore::IDBClient::IDBConnectionToServer::getRecord):
2577         * Modules/indexeddb/client/IDBConnectionToServer.h:
2578         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2579         
2580         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2581         (WebCore::IDBClient::IDBObjectStore::get):
2582         
2583         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2584         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
2585         (WebCore::IDBClient::IDBTransaction::getRecordOnServer):
2586         * Modules/indexeddb/client/IDBTransactionImpl.h:
2587         
2588         * Modules/indexeddb/server/IDBBackingStore.h:
2589         
2590         * Modules/indexeddb/server/IDBServer.cpp:
2591         (WebCore::IDBServer::IDBServer::getRecord):
2592         * Modules/indexeddb/server/IDBServer.h:
2593         
2594         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2595         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
2596         
2597         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2598         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
2599         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2600         
2601         * Modules/indexeddb/server/MemoryObjectStore.cpp:
2602         (WebCore::IDBServer::MemoryObjectStore::deleteRecord):
2603         (WebCore::IDBServer::MemoryObjectStore::setKeyValue):
2604         (WebCore::IDBServer::MemoryObjectStore::valueForKeyRange): Using a std::set, find the appropriate
2605           key in the range, and return the value if one exists.
2606         (WebCore::IDBServer::MemoryObjectStore::valueForKey): Deleted.
2607         * Modules/indexeddb/server/MemoryObjectStore.h:
2608         
2609         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2610         (WebCore::IDBServer::UniqueIDBDatabase::getRecord):
2611         (WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
2612         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2613         
2614         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2615         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::getRecord):
2616         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2617         
2618         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2619         (WebCore::InProcessIDBServer::getRecord):
2620         * Modules/indexeddb/shared/InProcessIDBServer.h:
2621
2622 2015-10-30  Brady Eidson  <beidson@apple.com>
2623
2624         Modern IDB: IDBObjectStore.clear() support.
2625         https://bugs.webkit.org/show_bug.cgi?id=150733
2626
2627         Reviewed by Alex Christensen.
2628
2629         Tests: storage/indexeddb/modern/idbobjectstore-clear-1.html
2630                storage/indexeddb/modern/idbobjectstore-clear-2.html
2631
2632         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
2633         (WebCore::IDBClient::IDBConnectionToServer::clearObjectStore):
2634         (WebCore::IDBClient::IDBConnectionToServer::didClearObjectStore):
2635         * Modules/indexeddb/client/IDBConnectionToServer.h:
2636         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
2637         
2638         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2639         (WebCore::IDBClient::IDBObjectStore::clear):
2640         
2641         * Modules/indexeddb/client/IDBRequestImpl.cpp:
2642         (WebCore::IDBClient::IDBRequest::setResultToUndefined):
2643         * Modules/indexeddb/client/IDBRequestImpl.h:
2644         
2645         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2646         (WebCore::IDBClient::IDBTransaction::requestClearObjectStore):
2647         (WebCore::IDBClient::IDBTransaction::clearObjectStoreOnServer):
2648         (WebCore::IDBClient::IDBTransaction::didClearObjectStoreOnServer):
2649         * Modules/indexeddb/client/IDBTransactionImpl.h:
2650
2651         * Modules/indexeddb/server/IDBBackingStore.h:
2652
2653         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
2654         (WebCore::IDBServer::IDBConnectionToClient::didClearObjectStore):
2655         * Modules/indexeddb/server/IDBConnectionToClient.h:
2656         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
2657
2658         * Modules/indexeddb/server/IDBServer.cpp:
2659         (WebCore::IDBServer::IDBServer::clearObjectStore):
2660         * Modules/indexeddb/server/IDBServer.h:
2661
2662         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2663         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreCleared):
2664         (WebCore::IDBServer::MemoryBackingStoreTransaction::recordValueChanged):
2665         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
2666         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
2667         (WebCore::IDBServer::MemoryBackingStoreTransaction::isAborting):
2668
2669         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2670         (WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
2671         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2672
2673         * Modules/indexeddb/server/MemoryObjectStore.cpp:
2674         (WebCore::IDBServer::MemoryObjectStore::clear):
2675         (WebCore::IDBServer::MemoryObjectStore::replaceKeyValueStore):
2676         * Modules/indexeddb/server/MemoryObjectStore.h:
2677
2678         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2679         (WebCore::IDBServer::UniqueIDBDatabase::clearObjectStore):
2680         (WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore):
2681         (WebCore::IDBServer::UniqueIDBDatabase::didPerformClearObjectStore):
2682         * Modules/indexeddb/server/UniqueIDBDatabase.h:
2683
2684         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
2685         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didClearObjectStore):
2686         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
2687
2688         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
2689         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::clearObjectStore):
2690         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
2691
2692         * Modules/indexeddb/shared/IDBResultData.cpp:
2693         (WebCore::IDBResultData::clearObjectStoreSuccess):
2694         * Modules/indexeddb/shared/IDBResultData.h:
2695
2696         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
2697         (WebCore::InProcessIDBServer::didClearObjectStore):
2698         (WebCore::InProcessIDBServer::clearObjectStore):
2699         * Modules/indexeddb/shared/InProcessIDBServer.h:
2700
2701 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2702
2703         CSSParserVariable leaks seen on leaks bots
2704         https://bugs.webkit.org/show_bug.cgi?id=150724
2705
2706         Reviewed by Darin Adler.
2707
2708         * css/CSSParserValues.cpp:
2709         (WebCore::destroy):
2710         Cleanup variable CSSParserValues.
2711
2712 2015-10-30  Alex Christensen  <achristensen@webkit.org>
2713
2714         Fix Windows build.
2715
2716         * PlatformWin.cmake:
2717         Add missing files.
2718
2719 2015-10-30  Beth Dakin  <bdakin@apple.com>
2720
2721         Tapping and holding a link should have a share option
2722         https://bugs.webkit.org/show_bug.cgi?id=150693
2723         -and corresponding-
2724         rdar://problem/21319702
2725
2726         Reviewed by Tim Horton.
2727
2728         * English.lproj/Localizable.strings:
2729
2730 2015-10-30  Joseph Pecoraro  <pecoraro@apple.com>
2731
2732         Minor CGColor leaks seen on bots allocated in WebSystemBackdropLayer.mm
2733         https://bugs.webkit.org/show_bug.cgi?id=150722
2734
2735         Reviewed by Andreas Kling.
2736
2737         * platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm:
2738         (-[WebLightSystemBackdropLayer init]):
2739         (-[WebDarkSystemBackdropLayer init]):
2740
2741 2015-10-30  Csaba Osztrogonác  <ossy@webkit.org>
2742
2743         [EFL] Fix the debug build after r191758
2744         https://bugs.webkit.org/show_bug.cgi?id=150719
2745
2746         Reviewed by Alex Christensen.
2747
2748         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2749         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
2750
2751 2015-10-30  Dan Bernstein  <mitz@apple.com>
2752
2753         Fixed the build.
2754
2755         * platform/graphics/Image.cpp:
2756         (WebCore::Image::draw): Deleted an infinitely-recursive implementation that caused the
2757           compiler to emit an error.
2758         * platform/graphics/Image.h:
2759         (WebCore::Image::draw): Made this pure virtual.
2760
2761 2015-10-30  Brady Eidson  <beidson@apple.com>
2762
2763         Modern IDB: IDBObjectStore.add() support.
2764         https://bugs.webkit.org/show_bug.cgi?id=150711
2765
2766         Reviewed by Alex Christensen.
2767
2768         Test: storage/indexeddb/modern/basic-add.html
2769
2770         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
2771         (WebCore::IDBClient::IDBObjectStore::add):
2772
2773         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
2774         (WebCore::IDBClient::IDBTransaction::requestGetRecord):
2775
2776 2015-10-30  Hunseop Jeong  <hs85.jeong@samsung.com>
2777
2778         Use modern for-loops in WebCore/dom.
2779         https://bugs.webkit.org/show_bug.cgi?id=150664
2780
2781         Reviewed by Darin Adler.
2782
2783         No new tests because there is no behavior change.
2784
2785         * dom/AuthorStyleSheets.cpp:
2786         (WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
2787         (WebCore::filterEnabledNonemptyCSSStyleSheets):
2788         (WebCore::AuthorStyleSheets::activeStyleSheetsContains):
2789         * dom/CheckedRadioButtons.cpp:
2790         (WebCore::RadioButtonGroup::updateValidityForAllButtons):
2791         * dom/ClientRectList.cpp:
2792         (WebCore::ClientRectList::ClientRectList):
2793         (WebCore::ClientRectList::~ClientRectList):
2794         * dom/ContainerNode.cpp:
2795         (WebCore::ContainerNode::insertBefore):
2796         * dom/DOMNamedFlowCollection.cpp:
2797         (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
2798         (WebCore::DOMNamedFlowCollection::length):
2799         (WebCore::DOMNamedFlowCollection::item):
2800         (WebCore::DOMNamedFlowCollection::namedItem):
2801         * dom/DOMStringList.cpp:
2802         (WebCore::DOMStringList::contains):
2803         * dom/Document.cpp:
2804         (WebCore::Document::Document):
2805         (WebCore::Document::~Document):
2806         (WebCore::Document::removedLastRef):
2807         (WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
2808         (WebCore::Document::updateHoverActiveState):
2809         * dom/DocumentMarkerController.cpp:
2810         (WebCore::DocumentMarkerController::copyMarkers):
2811         (WebCore::DocumentMarkerController::removeMarkers):
2812         (WebCore::DocumentMarkerController::repaintMarkers):
2813         (DocumentMarkerController::showMarkers):
2814         * dom/ElementData.cpp:
2815         (WebCore::UniqueElementData::findAttributeByName):
2816         * dom/EventDispatcher.cpp:
2817         (WebCore::EventPath::updateTouchLists):
2818         (WebCore::EventPath::hasEventListeners):
2819         * dom/EventListenerMap.cpp:
2820         (WebCore::EventListenerMap::contains):
2821         (WebCore::EventListenerMap::containsCapturing):
2822         (WebCore::EventListenerMap::eventTypes):
2823         (WebCore::EventListenerMap::add):
2824         (WebCore::EventListenerMap::find):
2825         (WebCore::copyListenersNotCreatedFromMarkupToTarget):
2826         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
2827         (WebCore::EventListenerIterator::EventListenerIterator):
2828         * dom/EventTarget.cpp:
2829         (WebCore::EventTarget::removeEventListener):
2830         (WebCore::EventTarget::getAttributeEventListener):
2831         (WebCore::EventTarget::removeAllEventListeners):
2832         * dom/IdTargetObserverRegistry.cpp:
2833         (WebCore::IdTargetObserverRegistry::notifyObserversInternal):
2834         * dom/MessagePort.cpp:
2835         (WebCore::MessagePort::postMessage):
2836         (WebCore::MessagePort::disentanglePorts):
2837         * dom/MutationObserver.cpp:
2838         (WebCore::MutationObserver::observe):
2839         (WebCore::MutationObserver::deliver):
2840         (WebCore::MutationObserver::deliverAllMutations):
2841         * dom/NamedFlowCollection.cpp:
2842         (WebCore::NamedFlowCollection::namedFlows):
2843         (WebCore::NamedFlowCollection::createCSSOMSnapshot):
2844         * dom/Node.cpp:
2845         (WebCore::Node::notifyMutationObserversNodeWillDetach):
2846         * dom/Range.cpp:
2847         (WebCore::Range::processNodes):
2848         (WebCore::Range::processAncestorsAndTheirSiblings):
2849         (WebCore::Range::absoluteBoundingBox):
2850         (WebCore::Range::collectSelectionRects):
2851         * dom/ScriptRunner.cpp:
2852         (WebCore::ScriptRunner::timerFired):
2853         * dom/ScriptedAnimationController.cpp:
2854         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
2855         * dom/SelectorQuery.cpp:
2856         (WebCore::SelectorDataList::matches):
2857         (WebCore::SelectorDataList::executeFastPathForIdSelector):
2858         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
2859         (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData):
2860         (WebCore::SelectorDataList::execute):
2861         * dom/TreeScopeAdopter.cpp:
2862         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2863
2864 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2865
2866         Make every port implement MainThreadSharedTimer instead of using global functions
2867         https://bugs.webkit.org/show_bug.cgi?id=150498
2868
2869         Reviewed by Darin Adler.
2870
2871         Move MainThreadSharedTimer to its own files and add the common
2872         implementation there.
2873
2874         * CMakeLists.txt: Add MainThreadSharedTimer.cpp.
2875         * PlatformEfl.cmake: Update filenames.
2876         * PlatformGTK.cmake: Ditto.
2877         * PlatformMac.cmake: Ditto.
2878         * PlatformWin.cmake: Ditto.
2879         * platform/MainThreadSharedTimer.cpp: Copied from Source/WebCore/platform/efl/SharedTimerEfl.cpp.
2880         (WebCore::MainThreadSharedTimer::singleton):
2881         (WebCore::MainThreadSharedTimer::MainThreadSharedTimer):
2882         (WebCore::MainThreadSharedTimer::setFiredFunction):
2883         (WebCore::MainThreadSharedTimer::fired):
2884         * platform/MainThreadSharedTimer.h: Copied from Source/WebCore/platform/gtk/SharedTimerGtk.cpp.
2885         * platform/SharedTimer.h: Remove MainThreadSharedTimer
2886         implementation and reindent the code.
2887         (WebCore::SharedTimer::SharedTimer):
2888         (WebCore::SharedTimer::~SharedTimer):
2889         (WebCore::SharedTimer::invalidate):
2890         * platform/ThreadTimers.cpp:
2891         (WebCore::ThreadTimers::ThreadTimers): Use MainThreadSharedTimer::singleton().
2892         (WebCore::ThreadTimers::setSharedTimer): Use a lambda function
2893         instead of a pointer to a static method.
2894         (WebCore::ThreadTimers::sharedTimerFired): Deleted.
2895         * platform/ThreadTimers.h: Removed unsused static method sharedTimerFired.
2896         * platform/cf/MainThreadSharedTimerCF.cpp: Renamed from Source/WebCore/platform/cf/SharedTimerCF.cpp.
2897         (WebCore::applicationDidBecomeActive):
2898         (WebCore::setupPowerObserver):
2899         (WebCore::timerFired):
2900         (WebCore::restartSharedTimer):
2901         (WebCore::MainThreadSharedTimer::invalidate):
2902         (WebCore::MainThreadSharedTimer::setFireInterval):
2903         (WebCore::MainThreadSharedTimer::stop):
2904         * platform/efl/MainThreadSharedTimerEfl.cpp: Renamed from Source/WebCore/platform/efl/SharedTimerEfl.cpp.
2905         (WebCore::timerEvent):
2906         (WebCore::MainThreadSharedTimer::stop):
2907         (WebCore::MainThreadSharedTimer::setFireInterval):
2908         (WebCore::MainThreadSharedTimer::invalidate):
2909         * platform/gtk/MainThreadSharedTimerGtk.cpp: Renamed from Source/WebCore/platform/gtk/SharedTimerGtk.cpp.
2910         (WebCore::MainThreadSharedTimer::setFireInterval):
2911         (WebCore::MainThreadSharedTimer::stop):
2912         (WebCore::MainThreadSharedTimer::invalidate):
2913         * platform/win/MainThreadSharedTimerWin.cpp: Renamed from Source/WebCore/platform/win/SharedTimerWin.cpp.
2914         (WebCore::TimerWindowWndProc):
2915         (WebCore::initializeOffScreenTimerWindow):
2916         (WebCore::queueTimerProc):
2917         (WebCore::MainThreadSharedTimer::setFireInterval):
2918         (WebCore::MainThreadSharedTimer::stop):
2919         (WebCore::MainThreadSharedTimer::invalidate):
2920         * workers/WorkerRunLoop.cpp: Update WorkerSharedTimer
2921         implementation to use std::function instead of a pointer. Also
2922         mark the class as final and the virtual implementations as override.
2923
2924 2015-10-30  Carlos Garcia Campos  <cgarcia@igalia.com>
2925
2926         [GTK] Use RunLoop::Timer instead of GMainLoopSource
2927         https://bugs.webkit.org/show_bug.cgi?id=150592
2928
2929         Reviewed by Žan Doberšek.
2930
2931         * platform/network/ResourceHandle.h:
2932         * platform/network/ResourceHandleInternal.h:
2933         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2934         * platform/network/soup/ResourceHandleSoup.cpp:
2935         (WebCore::cleanupSoupRequestOperation):
2936         (WebCore::ResourceHandle::timeoutFired):
2937         (WebCore::ResourceHandle::sendPendingRequest):
2938         (WebCore::ResourceHandle::platformSetDefersLoading):
2939
2940 2015-10-30  Hunseop Jeong  <hs85.jeong@samsung.com>
2941
2942         REGRESSION(r191776): EFL build broken.
2943         https://bugs.webkit.org/show_bug.cgi?id=150713
2944
2945         Reviewed by Csaba Osztrogonác.
2946
2947         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2948         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
2949
2950 2015-10-29  Brady Eidson  <beidson@apple.com>
2951
2952         Modern IDB: autoIncrement support.
2953         https://bugs.webkit.org/show_bug.cgi?id=150695
2954
2955         Reviewed by Alex Christensen.
2956
2957         Test: storage/indexeddb/modern/autoincrement-abort.html
2958
2959         * Modules/indexeddb/server/IDBBackingStore.h:
2960         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
2961         (WebCore::IDBServer::MemoryBackingStoreTransaction::addNewObjectStore):
2962         (WebCore::IDBServer::MemoryBackingStoreTransaction::addExistingObjectStore):
2963         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
2964         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
2965         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
2966         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
2967         (WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber):
2968         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
2969         * Modules/indexeddb/server/MemoryObjectStore.h:
2970         (WebCore::IDBServer::MemoryObjectStore::currentKeyGeneratorValue):
2971         (WebCore::IDBServer::MemoryObjectStore::setKeyGeneratorValue):
2972         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
2973         (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
2974
2975 2015-10-29  Alex Christensen  <achristensen@webkit.org>
2976
2977         Make WebCore a framework in Mac CMake build
2978         https://bugs.webkit.org/show_bug.cgi?id=150702
2979
2980         Reviewed by Geoffrey Garen.
2981
2982         * CMakeLists.txt:
2983         * PlatformEfl.cmake:
2984         * PlatformGTK.cmake:
2985         * PlatformMac.cmake:
2986
2987 2015-10-29  Alex Christensen  <achristensen@webkit.org>
2988
2989         CMake build fix.
2990
2991         * editing/mac/EditorMac.mm:
2992         (WebCore::Editor::WebContentReader::readFilenames):
2993         Before r191553, text was a local variable and could be changed.
2994         This restores the same behavior and compiles correctly when ATTACHMENT_ELEMENT is disabled.
2995         * platform/mac/CursorMac.mm:
2996         (WebCore::Cursor::Cursor):
2997         (WebCore::Cursor::operator=):
2998         Added preprocessor macros.
2999
3000 2015-10-29  Brady Eidson  <beidson@apple.com>
3001
3002         Modern IDB: deleteObjectStore support.
3003         https://bugs.webkit.org/show_bug.cgi?id=150673
3004
3005         Reviewed by Alex Christensen.
3006
3007         Tests: storage/indexeddb/modern/deleteobjectstore-1.html
3008                storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures.html
3009                storage/indexeddb/modern/idbobjectstore-get-failures.html
3010
3011         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3012         (WebCore::IDBClient::IDBConnectionToServer::deleteObjectStore):
3013         (WebCore::IDBClient::IDBConnectionToServer::didDeleteObjectStore):
3014         * Modules/indexeddb/client/IDBConnectionToServer.h:
3015         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3016
3017         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
3018         (WebCore::IDBClient::IDBDatabase::deleteObjectStore):
3019         (WebCore::IDBClient::IDBDatabase::willCommitTransaction):
3020         (WebCore::IDBClient::IDBDatabase::willAbortTransaction):
3021         (WebCore::IDBClient::IDBDatabase::commitTransaction): Deleted.
3022         (WebCore::IDBClient::IDBDatabase::abortTransaction): Deleted.
3023         * Modules/indexeddb/client/IDBDatabaseImpl.h:
3024
3025         * Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
3026         (WebCore::IDBClient::IDBObjectStore::markAsDeleted):
3027         * Modules/indexeddb/client/IDBObjectStoreImpl.h:
3028
3029         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3030         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
3031         (WebCore::IDBClient::IDBTransaction::abort):
3032         (WebCore::IDBClient::IDBTransaction::abortOnServer):
3033         (WebCore::IDBClient::IDBTransaction::commit):
3034         (WebCore::IDBClient::IDBTransaction::commitOnServer):
3035         (WebCore::IDBClient::IDBTransaction::deleteObjectStore):
3036         (WebCore::IDBClient::IDBTransaction::deleteObjectStoreOnServer):
3037         (WebCore::IDBClient::IDBTransaction::didDeleteObjectStoreOnServer):
3038         (WebCore::IDBClient::IDBTransaction::activate):
3039         (WebCore::IDBClient::IDBTransaction::activationTimerFired): Deleted.
3040         (WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer): Deleted.
3041         (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer): Deleted.
3042         (WebCore::IDBClient::IDBTransaction::getRecordOnServer): Deleted.
3043         (WebCore::IDBClient::IDBTransaction::putOrAddOnServer): Deleted.
3044         * Modules/indexeddb/client/IDBTransactionImpl.h:
3045         
3046         * Modules/indexeddb/client/TransactionOperation.h:
3047         (WebCore::IDBClient::TransactionOperation::completed):
3048         (WebCore::IDBClient::createTransactionOperation):
3049         
3050         * Modules/indexeddb/server/IDBBackingStore.h:
3051         
3052         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
3053         (WebCore::IDBServer::IDBConnectionToClient::didDeleteObjectStore):
3054         * Modules/indexeddb/server/IDBConnectionToClient.h:
3055         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
3056         
3057         * Modules/indexeddb/server/IDBServer.cpp:
3058         (WebCore::IDBServer::IDBServer::deleteObjectStore):
3059         * Modules/indexeddb/server/IDBServer.h:
3060         
3061         * Modules/indexeddb/server/MemoryBackingStoreTransaction.cpp:
3062         (WebCore::IDBServer::MemoryBackingStoreTransaction::objectStoreDeleted):
3063         (WebCore::IDBServer::MemoryBackingStoreTransaction::abort):
3064         (WebCore::IDBServer::MemoryBackingStoreTransaction::finish):
3065         * Modules/indexeddb/server/MemoryBackingStoreTransaction.h:
3066         
3067         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3068         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
3069         (WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
3070         (WebCore::IDBServer::MemoryIDBBackingStore::restoreObjectStoreForVersionChangeAbort):
3071         (WebCore::IDBServer::MemoryIDBBackingStore::takeObjectStoreByName):
3072         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3073         
3074         * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
3075         (WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
3076         (WebCore::IDBServer::UniqueIDBDatabase::deleteObjectStore):
3077         (WebCore::IDBServer::UniqueIDBDatabase::performDeleteObjectStore):
3078         (WebCore::IDBServer::UniqueIDBDatabase::didPerformDeleteObjectStore):
3079         (WebCore::IDBServer::UniqueIDBDatabase::createObjectStore): Deleted.
3080         * Modules/indexeddb/server/UniqueIDBDatabase.h:
3081         
3082         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
3083         (WebCore::IDBServer::UniqueIDBDatabaseConnection::didDeleteObjectStore):
3084         * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
3085         
3086         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
3087         (WebCore::IDBServer::UniqueIDBDatabaseTransaction::deleteObjectStore):
3088         * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
3089         
3090         * Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
3091         (WebCore::IDBDatabaseInfo::deleteObjectStore):
3092         * Modules/indexeddb/shared/IDBDatabaseInfo.h:
3093         
3094         * Modules/indexeddb/shared/IDBResultData.cpp:
3095         (WebCore::IDBResultData::deleteObjectStoreSuccess):
3096         * Modules/indexeddb/shared/IDBResultData.h:
3097         
3098         * Modules/indexeddb/shared/InProcessIDBServer.cpp:
3099         (WebCore::InProcessIDBServer::didDeleteObjectStore):
3100         (WebCore::InProcessIDBServer::deleteObjectStore):
3101         * Modules/indexeddb/shared/InProcessIDBServer.h:
3102
3103 2015-10-29  Simon Fraser  <simon.fraser@apple.com>
3104
3105         Very slow typing on pages with wheel event handlers on the body, and deep content
3106         https://bugs.webkit.org/show_bug.cgi?id=150692
3107         rdar://problem/23242631
3108
3109         Reviewed by Zalan Bujtas.
3110         
3111         On a large page with a wheel event handler on the body, we would call
3112         Element::absoluteEventHandlerBounds() for every element under the body,
3113         and compute an absolute bounds for each one. This is very slow.
3114         
3115         For now, optimize computing a region for the <body> by just using the document
3116         bounds, which will always be as big or larger. It's OK for this region to
3117         be an overestimate.
3118
3119         * dom/Document.cpp:
3120         (WebCore::Document::absoluteRegionForEventTargets):
3121
3122 2015-10-29  Wenson Hsieh  <wenson_hsieh@apple.com>
3123
3124         Date input values should not overlap with menu list dropdown button on iOS
3125         https://bugs.webkit.org/show_bug.cgi?id=150681
3126         <rdar://problem/19965078>
3127
3128         Reviewed by Zalan Bujtas.
3129
3130         Adds a right margin on iOS date and time inputs so that the inner div does
3131         not render the value of the date on top of the dropdown button on the right
3132         of the menu list.
3133
3134         Tests: fast/forms/date/date-input-rendering-basic.html
3135                fast/forms/time/time-input-rendering-basic.html
3136
3137         * css/html.css:
3138         (input::-webkit-date-and-time-value):
3139
3140 2015-10-29  Alex Christensen  <achristensen@webkit.org>
3141
3142         Fix Mac CMake build
3143         https://bugs.webkit.org/show_bug.cgi?id=150686
3144
3145         Reviewed by Filip Pizlo.
3146
3147         * PlatformMac.cmake:
3148
3149 2015-10-29  Csaba Osztrogonác  <ossy@webkit.org>
3150
3151         One more URTBF after r191731.
3152
3153         * rendering/svg/RenderSVGResourcePattern.cpp:
3154
3155 2015-10-29  Csaba Osztrogonác  <ossy@webkit.org>
3156
3157         URTBF after r191731.
3158
3159         * rendering/svg/RenderSVGResourcePattern.cpp:
3160
3161 2015-10-29  Zalan Bujtas  <zalan@apple.com>
3162
3163         Fix ENABLE(TREE_DEBUGGING) release build.
3164
3165         Unreviewed build fix.
3166
3167         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3168         * dom/Position.cpp:
3169
3170 2015-10-29  Beth Dakin  <bdakin@apple.com>
3171
3172         Overlay scrollbars disappear during manual drag-scroll
3173         https://bugs.webkit.org/show_bug.cgi?id=150646
3174         -and corresponding-
3175         rdar://problem/23145734
3176
3177         Reviewed by Tim Horton.
3178
3179         New ScrollAnimator function so that we can tell the ScrollbarPainter whether 
3180         or not the mouse is tracking the scrollbar.
3181         * platform/ScrollAnimator.h:
3182         (WebCore::ScrollAnimator::ScrollAnimator::mouseIsDownInScrollbar):
3183         * platform/ScrollableArea.cpp:
3184         (WebCore::ScrollableArea::mouseIsDownInScrollbar):
3185         * platform/ScrollableArea.h:
3186
3187         Call into the new ScrollAnimator function of mouseDown and mouseUp.
3188         * platform/Scrollbar.cpp:
3189         (WebCore::Scrollbar::mouseUp):
3190         (WebCore::Scrollbar::mouseDown):
3191
3192         Add setTracking to the ScrollbarPainter.
3193         * platform/mac/NSScrollerImpDetails.h:
3194
3195         Implement mouseIsDownInScrollbar to call setTracking appropriately and to set 
3196         begin/endScrollGesture since drag scrolling does not normally trigger that 
3197         state change.
3198         * platform/mac/ScrollAnimatorMac.h:
3199         * platform/mac/ScrollAnimatorMac.mm:
3200         (WebCore::ScrollAnimatorMac::mouseIsDownInScrollbar):
3201
3202 2015-10-29  Eric Carlson  <eric.carlson@apple.com>
3203
3204         MediaPlayer::getSupportedTypes only returns types from the last engine registered
3205         https://bugs.webkit.org/show_bug.cgi?id=150669
3206
3207         Reviewed by Jer Noble.
3208
3209         No new tests, fixes existing tests.
3210
3211         * platform/graphics/MediaPlayer.cpp:
3212         (WebCore::MediaPlayer::getSupportedTypes):
3213         (WebCore::MediaPlayer::isAvailable):
3214
3215 2015-10-29  Joseph Pecoraro  <pecoraro@apple.com>
3216
3217         Web Inspector: Clean up and audit TimelineRecordFactory records
3218         https://bugs.webkit.org/show_bug.cgi?id=150660
3219
3220         Reviewed by Brian Burg.
3221
3222         Cleanup included removing unused methods and payload data that the
3223         frontend wasn't likely to use. Also added ASCIILiteral and removed
3224         unnecessary includes.
3225
3226         * inspector/InspectorNetworkAgent.cpp:
3227         * inspector/InspectorPageAgent.cpp:
3228         * inspector/InspectorTimelineAgent.cpp:
3229         (WebCore::InspectorTimelineAgent::willLayout):
3230         * inspector/InspectorTimelineAgent.h:
3231         * inspector/TimelineRecordFactory.cpp:
3232         (WebCore::TimelineRecordFactory::createGenericRecord):
3233         (WebCore::TimelineRecordFactory::createFunctionCallData):
3234         (WebCore::TimelineRecordFactory::createConsoleProfileData):
3235         (WebCore::TimelineRecordFactory::createEventDispatchData):
3236         (WebCore::TimelineRecordFactory::createGenericTimerData):
3237         (WebCore::TimelineRecordFactory::createTimerInstallData):
3238         (WebCore::TimelineRecordFactory::createEvaluateScriptData):
3239         (WebCore::TimelineRecordFactory::createTimeStampData):
3240         (WebCore::TimelineRecordFactory::createParseHTMLData):
3241         (WebCore::TimelineRecordFactory::createAnimationFrameData):
3242         (WebCore::TimelineRecordFactory::createPaintData):
3243         (WebCore::TimelineRecordFactory::appendLayoutRoot):
3244         (WebCore::TimelineRecordFactory::createBackgroundRecord): Deleted.
3245         (WebCore::TimelineRecordFactory::createLayoutData): Deleted.
3246         * inspector/TimelineRecordFactory.h:
3247         (WebCore::TimelineRecordFactory::TimelineRecordFactory):
3248
3249 2015-10-29  Said Abou-Hallawa  <sabouhallawa@apple.com>
3250
3251         Exploitable crash happens when an SVG contains an indirect resource inheritance cycle
3252         https://bugs.webkit.org/show_bug.cgi?id=150203
3253
3254         Reviewed by Brent Fulgham.
3255
3256         Detecting cycles in SVG resource references happens in two places.
3257         1. In SVGResourcesCycleSolver::resolveCycles() which it is called from 
3258            SVGResourcesCache::addResourcesFromRenderer(). When a cycle is deleted,
3259            SVGResourcesCycleSolver::breakCycle() is called to break the link. In
3260            the case of a cyclic resource inheritance, SVGResources::resetLinkedResource()
3261            is called to break this cycle.
3262         2. SVGPatternElement::collectPatternAttributes() which is called from
3263            RenderSVGResourcePattern::buildPattern(). The purpose is to resolve
3264            the pattern attributes and to build a tile image which can be used to
3265            fill the SVG element renderer. Detecting the cyclic resource reference
3266            in this function is not sufficient and can detect simple cycles like
3267             <pattern id="a" xlink:href="#b"/>
3268             <pattern id="b" xlink:href="#a"/>.
3269            But it does not detect cycles like:
3270             <pattern id="a">
3271                 <rect fill="url(#b)"/>
3272             </pattern>
3273             <pattern id="b" xlink:href="#a"/>.
3274    
3275         The fix is to get rid of SVGPatternElement::collectPatternAttributes() which
3276         uses SVGURIReference::targetElementFromIRIString() to navigates through the
3277         referenced resource elements and tries to detect cycles. Instead we can
3278         implement RenderSVGResourcePattern::collectPatternAttributes() which calls
3279         SVGResourcesCache::cachedResourcesForRenderer() to get the SVGResources
3280         of the pattern. Then we use SVGResources::linkedResource() to navigate the
3281         resource inheritance tree. The cached SVGResources is guaranteed to be free
3282         of cycles.
3283
3284         Tests: svg/custom/pattern-content-inheritance-cycle.svg
3285
3286         * rendering/svg/RenderSVGResourcePattern.cpp:
3287         (WebCore::RenderSVGResourcePattern::collectPatternAttributes):
3288         Collect the pattern attributes through the cachedResourcesForRenderer().
3289         
3290         (WebCore::RenderSVGResourcePattern::buildPattern):
3291         Direct the call to the renderer function.
3292         
3293         * rendering/svg/RenderSVGResourcePattern.h:
3294         
3295         * rendering/svg/RenderSVGRoot.cpp:
3296         (WebCore::RenderSVGRoot::layout):
3297         RenderSVGRoot needs to call SVGResourcesCache::clientStyleChanged() for all
3298         the invalidated resources. If an attribute of an SVG resource was updated
3299         dynamically, the cached SVGResources associated with the renderer of this
3300         resource was stale.
3301         
3302         * rendering/svg/SVGRenderTreeAsText.cpp:
3303         (WebCore::writeSVGResourceContainer):
3304         Direct the call to the renderer function.        
3305         
3306         * svg/SVGPatternElement.cpp:
3307         (WebCore::SVGPatternElement::collectPatternAttributes):
3308         (WebCore::setPatternAttributes): Deleted.
3309         collectPatternAttributes() is a replacement of setPatternAttributes().
3310         
3311 2015-10-29  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3312
3313         [Streams API] Turn WS states into integers and fix state initialization
3314         https://bugs.webkit.org/show_bug.cgi?id=150667
3315
3316         Reviewed by Youenn Fablet.
3317
3318         The goal of this patch is turning the writable stream states into integers instead of strings.
3319
3320         First readable stream states were reworked to be shared with writable stream too, they are now just @stream*.
3321
3322         Next step was having writable stream using integers instead of strings and translating those integers back to
3323         strings to be able to return them correctly with the writable stream state attribute.
3324
3325         The state initialization was fixed and now it is not needed to check for the state to be undefined.
3326
3327         Rework, no new tests needed.
3328
3329         * Modules/streams/ReadableStream.js:
3330         (initializeReadableStream):
3331         * Modules/streams/ReadableStreamController.js:
3332         (enqueue):
3333         (error):
3334         (close):
3335         * Modules/streams/ReadableStreamInternals.js:
3336         (privateInitializeReadableStreamReader):
3337         (errorReadableStream):
3338         (cancelReadableStream):
3339         (finishClosingReadableStream):
3340         (closeReadableStream):
3341         (closeReadableStreamReader):
3342         (enqueueInReadableStream):
3343         (readFromReadableStreamReader):
3344         * Modules/streams/ReadableStreamReader.js:
3345         (cancel):
3346         * Modules/streams/WritableStream.js:
3347         (initializeWritableStream):
3348         (abort):
3349         (close):
3350         (write):
3351         (state):
3352         * Modules/streams/WritableStreamInternals.js:
3353         (syncWritableStreamStateWithQueue):
3354         (errorWritableStream):
3355         * bindings/js/JSDOMWindowBase.cpp:
3356         (WebCore::JSDOMWindowBase::finishCreation):
3357         * bindings/js/WebCoreBuiltinNames.h:
3358
3359 2015-10-28  Brady Eidson  <beidson@apple.com>
3360
3361         Modern IDB: Support IDBDatabase.transaction() (and transaction scheduling in general).
3362         https://bugs.webkit.org/show_bug.cgi?id=150614
3363
3364         Reviewed by Alex Christensen.
3365
3366         Tests: storage/indexeddb/modern/idbdatabase-transaction-failures.html
3367                storage/indexeddb/modern/transaction-scheduler-1.html
3368                storage/indexeddb/modern/transaction-scheduler-2.html
3369                storage/indexeddb/modern/transaction-scheduler-3.html
3370                storage/indexeddb/modern/transaction-scheduler-4.html
3371                storage/indexeddb/modern/transaction-scheduler-5.html
3372                storage/indexeddb/modern/transaction-scheduler-6.html
3373
3374         * Modules/indexeddb/IDBDatabase.idl:
3375
3376         * Modules/indexeddb/IndexedDB.h:
3377
3378         * Modules/indexeddb/client/IDBConnectionToServer.cpp:
3379         (WebCore::IDBClient::IDBConnectionToServer::establishTransaction):
3380         (WebCore::IDBClient::IDBConnectionToServer::didStartTransaction):
3381         (WebCore::IDBClient::IDBConnectionToServer::hasRecordOfTransaction):
3382         * Modules/indexeddb/client/IDBConnectionToServer.h:
3383         * Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
3384
3385         * Modules/indexeddb/client/IDBDatabaseImpl.cpp:
3386         (WebCore::IDBClient::IDBDatabase::transaction):
3387         (WebCore::IDBClient::IDBDatabase::didStartTransaction):
3388         * Modules/indexeddb/client/IDBDatabaseImpl.h:
3389
3390         * Modules/indexeddb/client/IDBTransactionImpl.cpp:
3391         (WebCore::IDBClient::IDBTransaction::IDBTransaction):
3392         (WebCore::IDBClient::IDBTransaction::operationTimerFired):
3393         (WebCore::IDBClient::IDBTransaction::didStart):
3394         (WebCore::IDBClient::IDBTransaction::establishOnServer):
3395         (WebCore::IDBClient::IDBTransaction::activate):
3396         (WebCore::IDBClient::IDBTransaction::deactivate):
3397         * Modules/indexeddb/client/IDBTransactionImpl.h:
3398
3399         * Modules/indexeddb/server/IDBConnectionToClient.cpp:
3400         (WebCore::IDBServer::IDBConnectionToClient::didStartTransaction):
3401         * Modules/indexeddb/server/IDBConnectionToClient.h:
3402         * Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
3403
3404         * Modules/indexeddb/server/IDBServer.cpp:
3405         (WebCore::IDBServer::IDBServer::establishTransaction):
3406         * Modules/indexeddb/server/IDBServer.h:
3407
3408         * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
3409         (WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
3410         (WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
3411         (WebCore::IDBServer::MemoryIDBBackingStore::removeObjectStoreForVersionChangeAbort):
3412         (WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
3413         (WebCore::IDBServer::MemoryIDBBackingStore::deleteRecord):
3414         (WebCore::IDBServer::MemoryIDBBackingStore::putRecord):
3415         (WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
3416         (WebCore::IDBServer::MemoryIDBBackingStore::registerObjectStore):
3417         (WebCore::IDBServer::MemoryIDBBackingStore::unregisterObjectStore):
3418         * Modules/indexeddb/server/MemoryIDBBackingStore.h:
3419