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