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