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