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