1 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
3 Scrolling to anchor tags does nothing in vertical-rl writing mode
4 https://bugs.webkit.org/show_bug.cgi?id=137838
6 Reviewed by David Hyatt.
8 Scroll to a particular tag, and make sure the viewport is rendered as expected.
10 Tests: fast/events/scroll-to-anchor-vertical-lr-writing-mode.html
11 fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html
12 fast/events/scroll-to-anchor-vertical-writing-mode-contained.html
13 fast/events/scroll-to-anchor-vertical-writing-mode.html
16 (WebCore::FrameView::scrollToAnchor):
17 * rendering/ScrollBehavior.cpp:
18 * rendering/ScrollBehavior.h:
20 2014-12-09 Bem Jones-Bey <bjonesbe@adobe.com>
22 REGRESSION(r155906): Page content disappears on Tuaw article after loading
23 https://bugs.webkit.org/show_bug.cgi?id=138100
25 Reviewed by Simon Fraser.
27 Test: ManualTests/float-layer-not-painting.html
29 * rendering/RenderBlockFlow.cpp:
30 (WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens,
31 it can change whether the float's renderer has a self painting layer.
32 So in that case, we need to update the flag on the FloatingObject
33 instance for that float.
35 2014-12-09 Andreas Kling <akling@apple.com>
38 <rdar://problem/18490587>
40 This change broke selection when editing Confluence wiki pages.
42 * css/CSSComputedStyleDeclaration.cpp:
43 (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
44 (WebCore::ComputedStyleExtractor::propertyValue):
46 (WebCore::nodeOrItsAncestorNeedsStyleRecalc): Deleted.
47 (WebCore::Document::updateStyleIfNeededForNode): Deleted.
49 * editing/htmlediting.cpp:
50 (WebCore::isEditablePosition):
51 * html/TextFieldInputType.cpp:
52 (WebCore::TextFieldInputType::forwardEvent):
54 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
56 Fix iOS build after r177035.
60 I accidentally added my line to WebCore.exp.in inside an
61 #IF PLATFORM(MAC) block.
65 2014-12-09 Jeremy Jones <jeremyj@apple.com>
67 Enable automatic optimized fullscreen mode.
68 https://bugs.webkit.org/show_bug.cgi?id=139437
70 Reviewed by Eric Carlson.
72 Anticipate transition to optimized video fullscreen mode when entering background.
75 * html/HTMLMediaElement.cpp:
76 (WebCore::HTMLMediaElement::overrideBackgroundPlaybackRestriction): Add logic for automatic transition detection.
77 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
78 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
79 (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Add logic for automatic transition detection.
81 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
83 Delete Node::boundingBox()
84 https://bugs.webkit.org/show_bug.cgi?id=139333
86 Conceptually, boundingBox() should be on RenderInline. In addition,
87 Node::boundingBox() is completely broken for inline elements: it
88 makes a rect from the top left of the first inline child to the
89 bottom right of the last inline child, disregarding the intermediate
90 inline children. This breaks with vertical text and with line
93 What makes this problem worse is that some functions actually rely
94 on this bad behavior. These functions are functions that use the
95 Node's so-called "bounding box" to scroll to an anchor tag.
97 This patch goes through all the call sites of Node::boundingBox(),
98 and segregates them into calls that expect the true bounding box
99 and calls that need this false bounding box. This patch then moves
100 this false bounding box into RenderElement, using the name
101 anchorRect(). Callers what want the correct bounding box have been
102 updated to use RenderElement::absoluteBoundingBoxRect().
104 Reviewed by Zalan Bujtas.
106 No new tests because there should be no behavior change.
108 * accessibility/AccessibilitySlider.cpp:
109 (WebCore::AccessibilitySliderThumb::elementRect): Use
110 RenderObject::absoluteBoundingBoxRect()
111 * dom/ContainerNode.cpp:
112 (WebCore::ContainerNode::getUpperLeftCorner): Deleted.
113 (WebCore::ContainerNode::getLowerRightCorner): Deleted.
114 (WebCore::ContainerNode::boundingBox): Deleted.
115 * dom/ContainerNode.h:
117 (WebCore::Element::scrollIntoView): Use RenderElement::anchorRect().
118 (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
119 (WebCore::Element::updateFocusAppearance): Ditto.
121 (WebCore::Node::boundingBox): Deleted.
123 (WebCore::Node::pixelSnappedBoundingBox): Deleted.
124 * html/ColorInputType.cpp:
125 (WebCore::ColorInputType::elementRectRelativeToRootView): Use
126 RenderObject::absoluteBoundingBoxRect()
127 * html/HTMLInputElement.cpp:
128 (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
129 * html/ValidationMessage.cpp:
130 (WebCore::ValidationMessage::buildBubbleTree): Ditto.
131 * page/FrameView.cpp:
132 (WebCore::FrameView::scrollElementToRect): Use
133 RenderElement::anchorRect().
134 (WebCore::FrameView::scrollToAnchor): Ditto.
135 * page/SpatialNavigation.cpp:
136 (WebCore::nodeRectInAbsoluteCoordinates): Use
137 RenderObject::absoluteBoundingBoxRect()
138 * rendering/RenderElement.cpp:
139 (WebCore::RenderElement::getUpperLeftCorner): Moved from ContainerNode.
140 (WebCore::RenderElement::getLowerRightCorner): Moved from
142 (WebCore::RenderElement::anchorRect): Moved from ContainerNode.
143 * rendering/RenderObject.h:
144 * rendering/RenderText.cpp:
145 (WebCore::RenderText::topOfFirstText): Helper for
146 RenderElement::anchorRect()
147 * rendering/RenderText.h:
149 2014-12-09 Antti Koivisto <antti@apple.com>
151 REGRESSION (r173272): When open PDF from Safari in iBooks, title is replaced to “QuickLookPDF-s72DbgAU-1”
152 https://bugs.webkit.org/show_bug.cgi?id=139453
153 rdar://problem/19052192
155 Reviewed by Pratik Solanki.
157 Pulling the suggested filename from the platform response returned null string on USE(CFNETWORK) code path
158 if it was the first thing needed from it.
160 * platform/network/cf/ResourceResponseCFNet.cpp:
161 (WebCore::ResourceResponse::platformSuggestedFilename): Use the lazy accessor.
163 2014-12-09 Joanmarie Diggs <jdiggs@igalia.com>
165 AX: [ATK] MathML tokens, tables, and row-like elements are exposed with ATK_ROLE_UNKNOWN
166 https://bugs.webkit.org/show_bug.cgi?id=139402
168 Reviewed by Chris Fleizach.
170 Expose tables and their children using existing table AtkRole types,
171 token elements using the new ATK_ROLE_STATIC, and row-like elements
172 using ATK_ROLE_PANEL. Also expose <mlabeledtr> as a math table row
173 and <ms> as math text.
175 No new tests; instead, added MathML elements to roles-exposed.html.
177 * accessibility/AccessibilityObject.h:
178 (WebCore::AccessibilityObject::isMathToken):
179 * accessibility/AccessibilityRenderObject.cpp:
180 (WebCore::AccessibilityRenderObject::isMathToken):
181 (WebCore::AccessibilityRenderObject::isMathText):
182 (WebCore::AccessibilityRenderObject::isMathTableRow):
183 * accessibility/AccessibilityRenderObject.h:
184 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
187 (ms, mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
188 (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
189 * mathml/mathtags.in:
191 2014-12-09 Dean Jackson <dino@apple.com>
193 [Apple] Use Accelerate framework to speed-up FEGaussianBlur
194 https://bugs.webkit.org/show_bug.cgi?id=139310
196 Unreviewed followup, after comments by Andreas Kling.
198 It was pointed out that we already have a USE(ACCELERATE), so
199 we don't need a HAVE(ACCELERATE) :)
201 * platform/graphics/filters/FEGaussianBlur.cpp:
202 (WebCore::FEGaussianBlur::platformApplyGeneric):
203 (WebCore::FEGaussianBlur::platformApply):
205 2014-12-09 Alberto Garcia <berto@igalia.com>
207 Unreviewed. Style fix following r177019.
209 Use nullptr instead of 0.
211 * bindings/gobject/ConvertToUTF8String.cpp:
212 (convertToUTF8String):
214 2014-12-09 Javier Fernandez <jfernandez@igalia.com>
216 Refactor of rebuildFloatingObjectSetFromIntrudingFloats function after r176957.
217 https://bugs.webkit.org/show_bug.cgi?id=139445
219 Reviewed by Darin Adler.
221 The function rebuildFloatingObjectSetFromIntrudingFloats would be clearer if
222 we use a helper function to locate the previous sibling with overhanging floats.
224 These changes has been suggested as part of the patch review for bug #139150, which
227 No new tests, no behavior change.
229 * rendering/RenderBlock.cpp:
230 (WebCore::RenderBlock::avoidsFloats):
231 * rendering/RenderBlockFlow.cpp:
232 (WebCore::RenderBlockFlow::previousSiblingWithOverhangingFloats):
233 (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
234 * rendering/RenderBlockFlow.h:
235 * rendering/RenderBox.h:
236 (WebCore::RenderBox::isGridItem):
238 2014-12-09 Alberto Garcia <berto@igalia.com>
240 convertToUTF8String converts null string to empty string
241 https://bugs.webkit.org/show_bug.cgi?id=133904
243 Reviewed by Carlos Garcia Campos.
245 Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp
247 Return 0 if the string is null.
249 * bindings/gobject/ConvertToUTF8String.cpp:
250 (convertToUTF8String):
252 2014-12-09 Jeremy Jones <jeremyj@apple.com>
254 When invalidating fullscreen, cancel instead of stop optimizedFullscfreen.
255 https://bugs.webkit.org/show_bug.cgi?id=139145
257 Reviewed by Eric Carlson.
259 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
260 (WebVideoFullscreenInterfaceAVKit::invalidate): call cancel instead of stop
261 * platform/spi/ios/AVKitSPI.h: add -cancelOptimizedFullscreen.
263 2014-12-09 Alberto Garcia <berto@igalia.com>
265 [Media][GTK][EFL] Reduce style updates (painting) in controls
266 https://bugs.webkit.org/show_bug.cgi?id=137773
268 Reviewed by Carlos Garcia Campos.
270 Don't update media controls if they are not visible, and
271 initialize slider to a zero value.
273 * Modules/mediacontrols/mediaControlsBase.js:
274 (Controller.prototype.createControls):
275 (Controller.prototype.handleDurationChange):
276 (Controller.prototype.updateProgress):
277 (Controller.prototype.updateTime):
278 * Modules/mediacontrols/mediaControlsGtk.js:
279 (ControllerGtk.prototype.updateTime):
281 2014-12-09 Sebastian Dröge <sebastian@centricular.com>
283 [GStreamer] Add video/mp2t as alternative mimetype for MPEG TS
284 https://bugs.webkit.org/show_bug.cgi?id=139433
286 Reviewed by Philippe Normand.
288 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
289 (WebCore::mimeTypeCache):
290 It's used e.g. on http://www.jwplayer.com/html5/mediasource/ .
292 2014-12-09 Jeremy Jones <jeremyj@apple.com>
294 Enable activating optimized fullscreen mode from standard fulscreen mode.
295 https://bugs.webkit.org/show_bug.cgi?id=139137
297 Reviewed by Jer Noble.
299 Going from standard fullscreen mode to optimized fullscreen mode requires the ability to
300 update the fullscreen mode in HTMLMediaElement and a new standard-and-optimized-fullscreen mode.
302 This change KVO observes AVKit's optimizedFullscreenActive and forwards the change down to HTMLMediaElement so it can adjust behavior appropriately.
303 It also hides the standard fullscreen window when going into this mode.
304 When exiting fullscreen from standard-and-optimized, first exit fullscreen immediately, then stopOptimizedFullscreen, and notify of completion when
305 optimizedFullscreen goes inactive.
307 * Modules/mediacontrols/MediaControlsHost.cpp:
308 (WebCore::MediaControlsHost::fullscreenMode):
309 Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.
310 * WebCore.exp.in: New export for WebVideoFullscreenModelVideoElement::fullscreenModeChanged
311 * html/HTMLMediaElement.cpp:
312 (WebCore::HTMLMediaElement::displayType):
313 Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.
314 * html/HTMLMediaElement.h: Add new fullscreen mode.
315 (WebCore::HTMLMediaElement::fullscreenModeChanged): Update fullscreen mode so it does optimized fullscreen mode behaviors when applicable.
316 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Declare setOptimizedActive
317 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
318 (-[WebAVVideoLayer setPlayerViewController:]): observe optimizedFullscreenActive
319 (-[WebAVVideoLayer observeValueForKeyPath:ofObject:change:context:]): respond to changes to optimizedFullscreenActive
320 (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Init members.
321 (WebVideoFullscreenInterfaceAVKit::playerController):
322 Give player controller a reference to the WebVideoFullscreenInterface so it can pass along mode change state.
323 (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Handle new fullscreen modes.
324 (WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
325 (WebVideoFullscreenInterfaceAVKit::invalidate): ditto
326 (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
327 (WebVideoFullscreenInterfaceAVKit::setOptimizedActive): Handle changes to fullscreen mode.
328 Also handle the case that exiting fullscreen happend when optimized mode ends.
329 * platform/ios/WebVideoFullscreenModel.h: declare fullscreenModeChanged()
330 * platform/ios/WebVideoFullscreenModelVideoElement.h: declare fullscreenModeChanged()
331 * platform/ios/WebVideoFullscreenModelVideoElement.mm: add fullscreenModeChanged()
332 (WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement): Init members.
333 (WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Added. Update video element fullscreen mode.
335 2014-12-08 Benjamin Poulain <bpoulain@apple.com>
337 Fix the iOS build after r177002
339 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
340 (WebCore::Extensions3DOpenGL::supportsExtension):
342 2014-12-07 Roger Fong <roger_fong@apple.com>
344 Implementation EXT_sRGB as a WebGL1 extension.
345 https://bugs.webkit.org/show_bug.cgi?id=109332.
346 <rdar://problem/17363470>
348 Reviewed by Dean Jackson.
351 webgl/1.0.3/conformance/webgl/ext-sRGB.html
352 fast/canvas/webgl/constants.html
354 This patch implements the SRGB extension for WebGL1.
355 Details of the extension specification are outlined here:
356 https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/
359 * DerivedSources.cpp:
360 * DerivedSources.make:
361 * WebCore.vcxproj/WebCore.vcxproj:
362 * WebCore.vcxproj/WebCore.vcxproj.filters:
363 * WebCore.xcodeproj/project.pbxproj:
364 * bindings/js/JSWebGLRenderingContextCustom.cpp:
366 * html/canvas/EXTsRGB.cpp: Added.
367 (WebCore::EXTsRGB::EXTsRGB):
368 (WebCore::EXTsRGB::~EXTsRGB):
369 (WebCore::EXTsRGB::getName):
370 * html/canvas/EXTsRGB.h: Added.
371 * html/canvas/EXTsRGB.idl: Added.
372 * html/canvas/WebGLExtension.h:
373 * html/canvas/WebGLFramebuffer.cpp:
374 (WebCore::WebGLFramebuffer::checkStatus):
375 * html/canvas/WebGLRenderingContext.cpp:
376 (WebCore::WebGLRenderingContext::getExtension):
377 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
378 (WebCore::WebGLRenderingContext::getSupportedExtensions):
379 (WebCore::WebGLRenderingContext::renderbufferStorage):
380 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
381 * html/canvas/WebGLRenderingContext.h:
382 * html/canvas/WebGLRenderingContext.idl:
383 * platform/graphics/Extensions3D.h:
384 * platform/graphics/GraphicsContext3D.cpp:
385 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
386 (WebCore::GraphicsContext3D::getClearBitsByFormat):
387 (WebCore::GraphicsContext3D::getChannelBitsByFormat):
388 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
389 (WebCore::Extensions3DOpenGL::supportsExtension):
390 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
391 (WebCore::GraphicsContext3D::texImage2D):
393 2014-12-08 Dean Jackson <dino@apple.com>
395 [Apple] Use Accelerate framework to speed-up FEGaussianBlur
396 https://bugs.webkit.org/show_bug.cgi?id=139310
397 <rdar://problem/18434594>
399 Reviewed by Simon Fraser.
401 Using Apple's Accelerate framework provides faster blurs
402 than the parallel jobs approach, especially since r168577
403 which started performing retina-accurate filters.
405 Using Accelerate.framework to replace the existing box blur (what
406 we use to approximate Gaussian blurs) gets about a 20% speedup on
407 desktop class machines, but between a 2x-6x speedup on iOS hardware.
408 Obviously this depends on the size of the content being blurred,
409 but it is still good.
411 The change is to intercept the platformApply function on
412 FEGaussianBlur and send it off to Accelerate.
414 There is an interactive performance test: PerformanceTests/Interactive/blur-filter-timing.html
416 * platform/graphics/filters/FEGaussianBlur.cpp:
417 (WebCore::kernelPosition): Move this to a file static function from the .h.
418 (WebCore::accelerateBoxBlur): The Accelerate implementation.
419 (WebCore::standardBoxBlur): The default generic/standard implementation.
420 (WebCore::FEGaussianBlur::platformApplyGeneric): Use accelerate or the default form.
421 (WebCore::FEGaussianBlur::platformApply): Don't try the parallelJobs approach if Accelerate is available.
422 * platform/graphics/filters/FEGaussianBlur.h:
423 (WebCore::FEGaussianBlur::kernelPosition): Deleted. Move into the .cpp.
425 2014-12-08 Beth Dakin <bdakin@apple.com>
427 Copy and Lookup menu items should be disabled when something is not copyable
428 https://bugs.webkit.org/show_bug.cgi?id=139423
430 Reviewed by Tim Horton.
432 New function allowCopy() indicates whether the HitTestResult would allow itself to
433 be copied onto the pasteboard.
435 * rendering/HitTestResult.cpp:
436 (WebCore::HitTestResult::allowsCopy):
437 * rendering/HitTestResult.h:
439 2014-12-08 Chris Dumez <cdumez@apple.com>
441 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to changeAffectsVisualOverflow()
442 https://bugs.webkit.org/show_bug.cgi?id=139420
444 Reviewed by Simon Fraser.
446 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to
447 changeAffectsVisualOverflow(). This has no behavior change as
448 changeRequiresLayout() calls changeAffectsVisualOverflow(). However,
449 this is clearer as text-shadow affects the visual overflow (similarly
452 No new tests, no behavior change.
454 * rendering/style/RenderStyle.cpp:
455 (WebCore::RenderStyle::changeAffectsVisualOverflow):
456 (WebCore::RenderStyle::changeRequiresLayout):
458 2014-12-08 Anders Carlsson <andersca@apple.com>
462 * storage/StorageNamespaceImpl.cpp:
463 (WebCore::localStorageNamespaceMap):
465 2014-12-08 Anders Carlsson <andersca@apple.com>
467 WebStorageNamespaceProvider should create StorageNamespaceImpls
468 https://bugs.webkit.org/show_bug.cgi?id=139419
470 Reviewed by Andreas Kling.
475 * WebCore.xcodeproj/project.pbxproj:
476 Make StorageNamespaceImpl.h a private header.
478 * storage/StorageNamespaceImpl.cpp:
479 (WebCore::localStorageNamespaceMap):
482 (WebCore::StorageNamespaceImpl::createSessionStorageNamespace):
483 (WebCore::StorageNamespaceImpl::getOrCreateLocalStorageNamespace):
484 Add new functions for creating namespaces.
486 (WebCore::StorageNamespaceImpl::localStorageNamespace):
487 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
488 Call the new functions.
490 * storage/StorageNamespaceImpl.h:
491 Add new members, make sure to deprecate the ones we don't want anyone calling.
493 * storage/StorageNamespaceProvider.cpp:
494 (WebCore::StorageNamespaceProvider::localStorageNamespace):
495 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
496 * storage/StorageNamespaceProvider.h:
497 Pass the quota when creating storage namespaces.
499 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
501 Move the new :nth-child() and :nth-last-child() out of experimental
502 https://bugs.webkit.org/show_bug.cgi?id=139329
504 Reviewed by Andreas Kling.
507 Feedback has only been positive.
508 All the known issues have been reported to the CSS WG.
510 The #ifdef don't really work anymore anyway for :nth-child() and :nth-last-child().
512 * css/CSSSelector.cpp:
513 (WebCore::CSSSelector::selectorText):
514 * css/SelectorChecker.cpp:
515 (WebCore::SelectorChecker::checkOne):
517 2014-12-08 Benjamin Poulain <bpoulain@apple.com>
519 A selector should not match anything if there is a subselector after a non-scrollbar pseudo element
520 https://bugs.webkit.org/show_bug.cgi?id=139336
521 rdar://problem/19051623
523 Reviewed by Andreas Kling.
525 Tests: fast/css/duplicated-after-pseudo-element.html
526 fast/css/duplicated-before-pseudo-element.html
527 fast/css/simple-selector-after-pseudo-element.html
529 * cssjit/SelectorCompiler.cpp:
530 (WebCore::SelectorCompiler::constructFragments):
531 The code filtering out simple selectors was only considering
532 the relation CSSSelector::SubSelector. That comes from SelectorChecker where
533 the relation considered is the one from the previous selector.
535 In this case, the relation is the extracted from the current simple selector,
536 which is the relation with the following selector.
538 When a single simple selector was following a pseudo element, the relation evaluated
539 to descendant/adjacent/direct-adjacent and we were skipping the early return.
540 That simple selector was evaluated as a regular filter on the element.
542 In the CSS JIT, we can just remove that test altogether. Fragments are built one after
543 the other. By definition, the evaluated simple selector belong to the current fragment.
545 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
547 Fix the parsing of advanced :lang() after r176902
548 https://bugs.webkit.org/show_bug.cgi?id=139379
550 Reviewed by Andreas Kling.
552 There were two mistakes that were only caught in debug:
554 The lexer was not calling isIdentifierStart() before parseIdentifier().
555 Some identifier we were parsing should have been invalid.
556 This was caught with an assertion in parseIdentifier().
558 The other issue is that we were accumulating pointer to freed memory.
559 The tokenizer for LANGRANGE was creating a new string with a StringBuilder.
560 The problem is that CSSParserString does not keep the source string alive.
561 Consequently, the list of language range was accumulating pointers to dead
564 The fix there is to simply extend the token to take the original asterisk character
565 from the input. That is not elegant but that's efficient and we know
569 (WebCore::CSSParser::realLex):
570 * css/CSSGrammar.y.in: Fix the indentation of a language range rule.
572 2014-12-08 Anders Carlsson <andersca@apple.com>
574 Try to fix the 32-bit build.
578 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
580 Inline elements whose parents have small line-height are laid out too low
581 https://bugs.webkit.org/show_bug.cgi?id=139375
583 Reviewed by Dave Hyatt.
585 This is a port of the Blink patch at
586 https://src.chromium.org/viewvc/blink?revision=155253&view=revision.
588 When laying out inline elements, we try to align leaf children's parents'
589 baselines across the entire line. However, if you set line-height: 0px on a
590 span, the entire InlineBox which represents that span will have a height of
591 0, and therefore be laid out entirely on the baseline. In addition, we will
592 try to vertically center the leaf text in the span's InlineBox, which means
593 the leaf text will be vertically centered on the baseline. All the other
594 major browsers do not have this behavior; instead, they line up the boxes
597 This bug led to a rendering problem on the front page of the New York Times.
599 Here is the ChangeLog from the Blink patch:
601 Fix baseline position when it is outside the element's box
603 Specifically, we shouldn't force the baseline to be inside the element. IE
604 and FF don't do this, and it's incompatible with the CSS spec:
606 "The baseline of an 'inline-block' is the baseline of its last line box in
607 the normal flow, unless it has either no in-flow line boxes or if its
608 'overflow' property has a computed value other than 'visible', in which case
609 the baseline is the bottom margin edge."
610 -- http://www.w3.org/TR/CSS21/visudet.html#leading
612 It doesn't have a special case for "baseline is outside of the element's
615 Test: fast/text/small-line-height.html
617 * rendering/RenderBlock.cpp:
618 (WebCore::RenderBlock::baselinePosition):
620 2014-12-08 Eric Carlson <eric.carlson@apple.com>
622 [iOS] YouTube plug-in replacement should support partial urls
623 https://bugs.webkit.org/show_bug.cgi?id=139400
625 Reviewed by Alexey Proskuryakov.
627 * Modules/plugins/YouTubePluginReplacement.cpp:
628 (WebCore::YouTubePluginReplacement::youTubeURL): Call Document::completeURL.
630 2014-12-08 Anders Carlsson <andersca@apple.com>
634 * platform/network/soup/CookieJarSoup.cpp:
635 (WebCore::deleteAllCookiesModifiedSince):
637 2014-12-08 Andreas Kling <akling@apple.com>
640 <https://webkit.org/b/139146>
642 This change caused some unexpected assertions in line box teardown.
644 * rendering/RenderBlock.cpp:
645 (WebCore::RenderBlock::willBeDestroyed):
646 * rendering/RenderBlock.h:
647 * rendering/RenderBlockFlow.cpp:
648 (WebCore::RenderBlockFlow::willBeDestroyed):
649 * rendering/RenderElement.cpp:
650 (WebCore::RenderElement::willBeRemovedFromTree):
651 * rendering/RenderInline.cpp:
652 (WebCore::RenderInline::willBeDestroyed):
653 * rendering/RenderReplaced.cpp:
654 (WebCore::RenderReplaced::willBeDestroyed):
655 * rendering/RenderReplaced.h:
657 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
659 [iOS] Narrow non-breaking space does not fall back to a correct font
660 https://bugs.webkit.org/show_bug.cgi?id=139335
662 Reviewed by Enrica Casucci.
664 Test: fast/text/narrow-non-breaking-space.html
666 * platform/graphics/ios/FontCacheIOS.mm:
667 (WebCore::requiresCustomFallbackFont):
668 (WebCore::FontCache::getCustomFallbackFont):
670 2014-12-08 Daniel Bates <dabates@apple.com>
672 [iOS] Fix the WebKit build with the public SDK
674 Include header UIKit.h.
676 * platform/spi/ios/MediaPlayerSPI.h:
678 2014-12-08 Chris Dumez <cdumez@apple.com>
680 Revert r176293 & r176275
682 Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type
683 instead of size_t. There is some disagreement regarding the long-term direction
684 of the API and we shouldn’t leave the API partly transitioned to unsigned type
685 while making a decision.
688 * bindings/js/JSDOMBinding.h:
690 * bindings/js/JSWebGLRenderingContextCustom.cpp:
691 * cssjit/SelectorCompiler.cpp:
692 * editing/TextIterator.cpp:
693 (WebCore::SearchBuffer::append):
694 (WebCore::SearchBuffer::prependContext):
695 (WebCore::SearchBuffer::search):
696 (WebCore::SearchBuffer::length):
697 * html/HTMLFormElement.cpp:
698 (WebCore::removeFromVector):
699 * html/parser/HTMLParserIdioms.h:
700 * html/parser/XSSAuditor.cpp:
701 * platform/SharedBuffer.cpp:
702 (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
704 2014-12-08 Anders Carlsson <andersca@apple.com>
706 Make deleting all cookies after a given date a little more sane
707 https://bugs.webkit.org/show_bug.cgi?id=139409
709 Reviewed by Antti Koivisto.
714 * platform/network/PlatformCookieJar.h:
715 * platform/network/cf/CookieJarCFNet.cpp:
716 * platform/network/curl/CookieJarCurl.cpp:
717 * platform/network/soup/CookieJarSoup.cpp:
718 Rename deleteAllCookiesModifiedAfterDate to deleteAllCookiesModifiedSince and change it
719 to take an std::chrono::system_clock::time_point instead.
721 * platform/network/mac/CookieJarMac.mm:
722 (WebCore::cookieStorage):
723 Helper function that returns an NSHTTPCookieStorage given a network session.
725 (WebCore::deleteAllCookiesModifiedSince):
726 Get the cookie storage from the network storage instead of just getting the global one.
728 2014-12-08 Csaba Osztrogonác <ossy@webkit.org>
730 URTBF after r176953, add an unreachable return to make GCC happy.
732 * loader/FrameLoader.cpp:
733 (WebCore::FrameLoader::subresourceCachePolicy):
735 2014-12-08 Javier Fernandez <jfernandez@igalia.com>
737 [CSS Grid Layout] Grid items must set a new formatting context.
738 https://bugs.webkit.org/show_bug.cgi?id=139150
740 Reviewed by David Hyatt.
742 Grid item's margins must not collapse even when they may be adjoining to
743 its content's margins. Also, setting a new formatting context prevents any
744 'float' protruding content on the adjoining grid items.
746 This patch also renames the expandsToEncloseOverhangingFloats to be more generic now,
747 determining whether a new formatting context is set or not. This affects not only to
748 how floats behave, but whether margins should collapse or not.
750 Tests: fast/css-grid-layout/float-not-protruding-into-next-grid-item.html
751 fast/css-grid-layout/grid-item-margins-not-collapse.html
753 * rendering/RenderBlock.cpp:
754 (WebCore::RenderBlock::avoidsFloats): Using the new createsNewFormattingContext function.
755 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): Deleted.
756 * rendering/RenderBlock.h:
757 * rendering/RenderBlockFlow.cpp:
758 (WebCore::RenderBlockFlow::MarginInfo::MarginInfo): Using the new createsNewFormattingContext function.
759 (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): Using the new createsNewFormattingContext function.
760 (WebCore::RenderBlockFlow::layoutBlock): Using the new createsNewFormattingContext function.
761 (WebCore::RenderBlockFlow::computeOverflow): Using the new createsNewFormattingContext function.
762 (WebCore::RenderBlockFlow::addOverhangingFloats): Using the new createsNewFormattingContext function.
763 (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): Using the new createsNewFormattingContext function.
764 * rendering/RenderBox.cpp:
765 (WebCore::RenderBox::createsNewFormattingContext): Added.
766 (WebCore::RenderBox::avoidsFloats): Removed checks already defined in the new createsNewFormattingContext function.
767 * rendering/RenderBox.h:
768 (WebCore::RenderBox::isGridItem): Added.
770 2014-12-08 Daniel Bates <dabates@apple.com>
772 [iOS] Attempt to fix the public SDK build after <https://trac.webkit.org/r176841>
773 (https://bugs.webkit.org/show_bug.cgi?id=139227)
775 * platform/spi/ios/AVKitSPI.h:
777 2014-12-08 Chris Dumez <cdumez@apple.com>
779 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
780 https://bugs.webkit.org/show_bug.cgi?id=139350
782 Reviewed by Antti Koivisto.
784 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
785 and use m_loadType instead. ResourceRequest::cachePolicy() is meant to be passed
786 to the network stack, and isn't supposed to be used as input inside WebCore.
788 No new tests, no behavior change.
790 * loader/FrameLoader.cpp:
791 (WebCore::FrameLoader::subresourceCachePolicy):
793 2014-12-08 Philippe Normand <pnormand@igalia.com>
795 [GTK] UserMedia Permission Request API
796 https://bugs.webkit.org/show_bug.cgi?id=136449
798 Reviewed by Carlos Garcia Campos.
800 Very basic constraints validation support in the GStreamer
801 MediaStreamCenter. This is needed so the GTK C API tests using the
802 getUserMedia() API would not time out.
804 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
805 (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
806 (WebCore::MediaStreamCenterGStreamer::validateRequestConstraints):
807 (WebCore::MediaStreamCenterGStreamer::createMediaStream):
809 2014-12-08 Anders Carlsson <andersca@apple.com>
811 Remove ResourceHandle::loadsBlocked()
812 https://bugs.webkit.org/show_bug.cgi?id=139401
814 Reviewed by Daniel Bates.
816 This hasn't returned true since Leopard, so get rid of it.
819 (WebCore::Chrome::canRunModalNow):
820 * platform/network/ResourceHandle.h:
821 * platform/network/cf/ResourceHandleCFNet.cpp:
822 (WebCore::ResourceHandle::loadsBlocked): Deleted.
823 * platform/network/curl/ResourceHandleCurl.cpp:
824 (WebCore::ResourceHandle::loadsBlocked): Deleted.
825 * platform/network/mac/ResourceHandleMac.mm:
826 (WebCore::ResourceHandle::loadsBlocked): Deleted.
827 * platform/network/soup/ResourceHandleSoup.cpp:
828 (WebCore::ResourceHandle::loadsBlocked): Deleted.
830 2014-12-08 Chris Fleizach <cfleizach@apple.com>
832 AX: iOS: VoiceOver gets hung on some websites consistently.
833 https://bugs.webkit.org/show_bug.cgi?id=139331
835 Reviewed by Mario Sanchez Prada.
837 iFrames are attachments on iOS, but they do not have attachment views. As a result,
838 WebCore would return incorrect information for the element count and index of children elements.
840 No tests. Bug only manifests itself when iOS accessibility frameworks call into WebCore.
842 * accessibility/AccessibilityMockObject.h:
843 (WebCore::AccessibilityMockObject::isDetachedFromParent):
844 * accessibility/AccessibilityObject.h:
845 (WebCore::AccessibilityObject::isDetachedFromParent):
846 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
847 (-[WebAccessibilityObjectWrapper accessibilityElementCount]):
848 (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
849 (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
850 (-[WebAccessibilityObjectWrapper accessibilityContainer]):
852 2014-12-08 Doron Wloschowsky <doron_wloschowsky@scee.net>
854 Webkit using Harfbuzz does not display Arabic script correctly
855 https://bugs.webkit.org/show_bug.cgi?id=136337
857 Reviewed by Carlos Garcia Campos.
859 Using reinterpret_cast to convert hb_codepoint_t* into UChar*
860 doesn't work on big endian systems.
862 * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
863 (WebCore::harfBuzzGetGlyph):
865 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
867 [GStreamer] Major cleanup of AudioDestination implementation
868 https://bugs.webkit.org/show_bug.cgi?id=139370
870 Reviewed by Philippe Normand.
872 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
873 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
874 Add an audioresample element before the audio sink. The audio sink
875 might not be able to handle our sampling rate.
877 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
878 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
879 (WebCore::AudioDestinationGStreamer::stop):
880 (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady): Deleted.
881 Don't use a wavparse element but directly link the raw audio from
882 the source to the audio sink.
884 (WebCore::AudioDestinationGStreamer::start):
885 Catch errors when going to PLAYING early, we might not get an error
888 * platform/audio/gstreamer/AudioDestinationGStreamer.h:
889 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
890 (getGStreamerMonoAudioCaps):
891 (webKitWebAudioSrcConstructed):
892 (webKitWebAudioSrcChangeState):
893 Don't use a WAV encoder but directly output raw audio. Also don't
894 include a unneeded audioconvert element before the interleave.
896 (webKitWebAudioSrcLoop):
897 Add timestamps and durations to the output buffers, map them in
898 READWRITE mode and actually keep them mapped until we're sure
899 nothing is actually writing into them.
901 (webKitWebAudioSrcLoop):
902 Pause the task on errors instead of continuously calling it again
905 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
907 [GStreamer] Use gst_message_parse_buffering()
908 https://bugs.webkit.org/show_bug.cgi?id=139365
910 Reviewed by Philippe Normand.
912 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
913 (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
914 Use gst_message_parse_buffering() instead of manually getting
915 the percentage from the message's structure. While the latter
916 is supposed to work and part of the ABI stability guarantee,
917 it's just not nice and overly complicated.
919 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
921 [GStreamer] Minor cleanup of the AudioFileReader implementation
922 https://bugs.webkit.org/show_bug.cgi?id=139367
924 Reviewed by Philippe Normand.
926 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
927 (WebCore::AudioFileReader::~AudioFileReader):
928 Don't call gst_bus_remove_signal_watch(), the source was already
929 destroyed together with the main context and doing it again here
930 will give a g_critical().
932 (WebCore::AudioFileReader::handleSample):
933 Calculate the number of samples from the actual buffer size
934 and the bytes-per-frame instead of the buffer duration. Using
935 the buffer duration can lead to rounding errors and might cause
936 too few samples to be copied over later.
938 (WebCore::AudioFileReader::handleMessage):
939 Set the pipeline to GST_STATE_NULL immediately when receiving
940 errors to prevent other follow-up error messages from propagating
941 through the bus and spamming the user's terminal with g_warnings().
943 (WebCore::AudioFileReader::handleNewDeinterleavePad):
944 Sync the state of the queue and sink after deinterleave with
945 the parent state instead of just setting them to READY. That
946 way we potentially go to PAUSED state a bit earlier already
947 and prevent a potential race condition that could cause buffers
948 to arrive in the new elements in READY state already (which would
951 (WebCore::AudioFileReader::plugDeinterleave):
952 Handle multiple decodebin source pads by ignoring all following
953 ones just in case there are multiple for whatever reason.
955 (WebCore::AudioFileReader::decodeAudioForBusCreation):
956 Catch errors from going to PAUSED state early. We might not
957 get a error message at all if we're unlucky.
959 (WebCore::AudioFileReader::plugDeinterleave):
960 (WebCore::AudioFileReader::createBus):
961 (WebCore::AudioFileReader::handleSample):
962 Downmix to mono if required instead of just using the front
963 left channel and claiming it is mono. Downmixing from stereo
964 to mono will mix both channels instead of just taking the left.
966 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
968 [GStreamer] Handle CLOCK_LOST and LATENCY messages
969 https://bugs.webkit.org/show_bug.cgi?id=139341
971 Reviewed by Philippe Normand.
973 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
974 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
975 Handle CLOCK_LOST message by shortly going back to PAUSED state
976 and then to PLAYING again to let the pipeline select a new clock
978 This can happen if the stream that ends in a sink that provides
979 the current clock disappears, for example if the audio sink
980 provides the clock and the audio stream is disabled. It also
981 happens relatively often with HTTP adaptive streams when switching
982 between different variants of a stream.
984 Also handle the LATENCY message by triggering the default GStreamer
985 mechanism to update the latency. This can happen if the latency of
986 live elements changes, or for one reason or another a new live element
987 is added or removed from the pipeline.
989 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
991 [GStreamer] Use audio-filter property on GStreamer >= 1.4.2
992 https://bugs.webkit.org/show_bug.cgi?id=139360
994 Reviewed by Philippe Normand.
996 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
997 (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
998 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
999 Since 1.4.0 there is an audio-filter property we can use to place
1000 the pitch-preserving filter at a more canonical position inside
1001 the pipeline. Since 1.4.2 this property also handles all necessary
1003 This simplifies our sink code a bit because we don't have to create
1004 a custom sink bin anymore.
1006 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
1008 [GStreamer] Add video/flv to the list of supported mimetypes
1009 https://bugs.webkit.org/show_bug.cgi?id=139344
1011 Reviewed by Gustavo Noronha Silva.
1013 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1014 (WebCore::mimeTypeCache):
1015 Add video/flv additional to video/x-flv to the list of supported
1016 mimetypes. It's used on some websites, e.g.
1017 http://www.jwplayer.com/html5/formats/
1019 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
1021 [GStreamer] Remove GStreamer 0.10 #ifdefs.
1022 https://bugs.webkit.org/show_bug.cgi?id=138921
1024 Reviewed by Philippe Normand.
1026 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1027 (WebCore::initializeGStreamer):
1028 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1029 (WebCore::MediaPlayerPrivateGStreamer::buffered):
1030 Remove GStreamer 0.10 #ifdefs, we depend on >= 1.0.3 at least.
1032 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
1034 [GStreamer] Add application/x-mpegurl to the list of supported mimetypes.
1035 https://bugs.webkit.org/show_bug.cgi?id=139343
1037 Reviewed by Gustavo Noronha Silva.
1039 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1040 (WebCore::mimeTypeCache):
1041 It's an alternative mimetype for the already supported
1042 application/vnd.apple.mpegurl (aka HLS) and adding it
1043 allows all streams on http://www.jwplayer.com/html5/hls/
1046 2014-12-07 Gwang Yoon Hwang <yoon@igalia.com>
1048 [TextureMapper] Normalize pattern transform for pattern compositing
1049 https://bugs.webkit.org/show_bug.cgi?id=139374
1051 Reviewed by Martin Robinson.
1053 In CoordGfx/TexMapGL, pattern compositing (for background image) uses
1054 the patternTransform shader uniform. However, current implementation
1055 miscalculates its transform matrix. It uses simple rectToRect
1056 transformationMatrix which produces unnormalized garbage term.
1057 This causes unexpected behavior at the fragmentation stage in some
1060 It should calculate its scale based on tileSize and contentSize,
1061 and its position based on tilePhase and contentSize.
1063 No new tests because the bug only occurs on some mobile GPUs.
1065 * platform/graphics/texmap/TextureMapperLayer.cpp:
1066 (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
1068 2014-12-07 Youenn Fablet <youenn.fablet@crf.canon.fr>
1070 [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
1071 https://bugs.webkit.org/show_bug.cgi?id=128739
1073 Reviewed by Martin Robinson.
1075 Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
1076 Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
1077 Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
1078 Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.
1080 Test: http/tests/xmlhttprequest/response-special-characters.html
1082 * platform/network/curl/CurlDownload.cpp:
1083 (WebCore::CurlDownload::headerCallback): Removed header conversion.
1084 * platform/network/curl/ResourceHandleManager.cpp:
1085 (WebCore::headerCallback): Ditto.
1086 (WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.
1087 * platform/network/soup/ResourceRequestSoup.cpp:
1088 (WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
1089 (WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
1090 (WebCore::ResourceRequest::toSoupMessage): Ditto.
1091 (WebCore::ResourceRequest::updateFromSoupMessage):
1092 * platform/network/soup/ResourceResponseSoup.cpp:
1093 (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
1094 (WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.
1096 2014-12-07 Dan Bernstein <mitz@apple.com>
1098 Introduce and deploy a function that allocates and returns an instance of a soft-linked class
1099 https://bugs.webkit.org/show_bug.cgi?id=139348
1101 Reviewed by Anders Carlsson.
1103 In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler
1104 picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead
1105 to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo
1106 doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus
1107 avoiding the ambiguity.
1109 * editing/mac/DataDetection.mm:
1110 (WebCore::DataDetection::detectItemAroundHitTestResult):
1111 * platform/audio/ios/MediaSessionManagerIOS.mm:
1112 (-[WebMediaSessionHelper allocateVolumeView]):
1113 (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
1114 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
1115 (WebCore::AudioSourceProviderAVFObjC::createMix):
1116 * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
1117 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1118 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1119 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
1120 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
1121 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
1122 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
1123 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
1124 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1125 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
1126 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
1127 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):
1128 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1129 (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
1130 (WebCore::SourceBufferPrivateAVFObjC::abort):
1131 (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
1133 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1134 (PlatformCALayerMac::PlatformCALayerMac): Cast the result of +alloc to an instance of the
1137 * platform/graphics/mac/FontMac.mm:
1138 (WebCore::showLetterpressedGlyphsWithAdvances):
1139 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1140 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1141 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1142 * platform/graphics/mac/PDFDocumentImageMac.mm:
1143 (WebCore::PDFDocumentImage::createPDFDocument):
1144 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
1145 (SOFT_LINK_CONSTANT):
1146 (-[WebSpeechSynthesisWrapper speakUtterance:]):
1147 * platform/ios/WebCoreMotionManager.mm:
1148 (-[WebCoreMotionManager initializeOnMainThread]):
1149 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1150 (-[WebAVPlayerController init]):
1151 (WebVideoFullscreenInterfaceAVKit::setupFullscreen):
1152 * platform/mac/ContentFilterMac.mm:
1153 (WebCore::ContentFilter::ContentFilter):
1155 * platform/mac/SoftLinking.h: Added alloc##className##instance().
1157 * platform/mac/WebVideoFullscreenController.mm:
1158 (-[WebVideoFullscreenController setVideoElement:]):
1159 * platform/mediastream/mac/AVAudioCaptureSource.mm:
1160 (WebCore::AVAudioCaptureSource::setupCaptureSession):
1161 * platform/mediastream/mac/AVCaptureDeviceManager.mm:
1162 (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType):
1163 * platform/mediastream/mac/AVMediaCaptureSource.mm:
1164 (WebCore::AVMediaCaptureSource::setupSession):
1165 * platform/mediastream/mac/AVVideoCaptureSource.mm:
1166 (WebCore::AVVideoCaptureSource::setupCaptureSession):
1167 * platform/network/ios/QuickLook.mm:
1168 (WebCore::registerQLPreviewConverterIfNeeded):
1169 (WebCore::QuickLookHandle::QuickLookHandle):
1171 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
1173 [GTK] Add Since tags to GObject DOM bindings documentation
1174 https://bugs.webkit.org/show_bug.cgi?id=139356
1176 Reviewed by Gustavo Noronha Silva.
1178 Now that we have a small stable API, and new symbols are added
1179 manually, we can also add the version to the symbols file, that
1180 the code generator can ue to add Since tags to the gtk-doc.
1182 * bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols
1184 * bindings/scripts/CodeGeneratorGObject.pm:
1185 (GenerateConstants): Add Since tag to gtk-doc if there's a version
1186 number for the symbol in the .symbols file.
1187 (GenerateFunction): Ditto.
1188 (ReadStableSymbols):
1190 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
1192 [GTK] Missing API detected in GObject DOM bindings after r176630
1193 https://bugs.webkit.org/show_bug.cgi?id=139201
1195 Reviewed by Gustavo Noronha Silva.
1197 Bring back WebKitDOMDeprecated and add custom versions of the
1198 removed symbols as deprecated in favor of the new ones. Also add
1199 the new ones as stable API.
1201 * CMakeLists.txt: Pass a list of additional dependencies to GENERATE_BINDINGS.
1202 * PlatformGTK.cmake: Ditto.
1203 * PlatformMac.cmake: Ditto.
1204 * bindings/gobject/WebKitDOMDeprecated.cpp: Added.
1205 (webkit_dom_html_element_get_inner_html):
1206 (webkit_dom_html_element_set_inner_html):
1207 (webkit_dom_html_element_get_outer_html):
1208 (webkit_dom_html_element_set_outer_html):
1209 * bindings/gobject/WebKitDOMDeprecated.h: Added.
1210 * bindings/gobject/WebKitDOMDeprecated.symbols: Added.
1211 * bindings/gobject/webkitdom.symbols:
1213 2014-12-06 Csaba Osztrogonác <ossy@webkit.org>
1215 URTBF after r176915.
1217 DisplayRefreshMonitorClient is the parent class of GraphicsLayerUpdater
1218 only if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is true, so override
1219 is incorrect if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is false.
1221 That's why r176915 broke the build on non PLATFORM(COCOA) platforms,
1222 such as GTK, EFL, Apple Windows.
1224 Additionally displayRefreshFired is only used inside USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
1225 guard, so there is no reason to define it for non COCOA platforms.
1227 * platform/graphics/GraphicsLayerUpdater.cpp:
1228 * platform/graphics/GraphicsLayerUpdater.h:
1230 2014-12-06 Anders Carlsson <andersca@apple.com>
1232 Fix build with newer versions of clang.
1233 rdar://problem/18978733
1235 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
1237 * page/scrolling/AsyncScrollingCoordinator.h:
1238 * page/scrolling/ScrollingStateFixedNode.h:
1239 * page/scrolling/ScrollingStateFrameScrollingNode.h:
1240 * page/scrolling/ScrollingStateOverflowScrollingNode.h:
1241 * page/scrolling/ScrollingStateStickyNode.h:
1242 * page/scrolling/ScrollingTreeFrameScrollingNode.h:
1243 (WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll): Deleted.
1244 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
1245 * platform/graphics/GraphicsLayerUpdater.h:
1246 * platform/mac/ScrollbarThemeMac.h:
1247 (WebCore::ScrollbarThemeMac::supportsControlTints): Deleted.
1248 (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): Deleted.
1249 * rendering/RenderLayerCompositor.h:
1250 * rendering/RenderSnapshottedPlugIn.h:
1252 2014-12-06 Anders Carlsson <andersca@apple.com>
1254 Fix build with newer versions of clang.
1255 rdar://problem/18978687
1257 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
1259 * html/HTMLElement.h:
1260 * html/HTMLMediaElement.h:
1261 * html/track/VTTCue.h:
1262 * loader/FrameNetworkingContext.h:
1263 (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect): Deleted.
1264 * loader/cache/CachedImage.h:
1265 * page/SuspendableTimer.h:
1266 * platform/Scrollbar.h:
1267 * platform/graphics/InbandTextTrackPrivate.h:
1268 * rendering/RenderBlockFlow.h:
1270 2014-12-06 Anders Carlsson <andersca@apple.com>
1272 Follow-up build fix.
1274 * Configurations/Base.xcconfig:
1276 2014-12-06 Anders Carlsson <andersca@apple.com>
1278 Fix build with newer versions of clang.
1279 rdar://problem/18978689
1281 Disable the "inconsistent missing override" warning due to our use of macros in SVG where it's hard to
1282 know whether we can add an override or not.
1284 Also, cast return values of +alloc to the right type, and add some casts for vector iterator arithmetic.
1286 * Configurations/Base.xcconfig:
1287 * Modules/webdatabase/DatabaseBackendBase.cpp:
1288 (WebCore::guidForOriginAndName):
1289 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1290 (-[WebAccessibilityObjectWrapper _stringForRange:attributed:]):
1291 * editing/cocoa/HTMLConverter.mm:
1292 (_shadowForShadowStyle):
1293 (HTMLConverter::_addTableForElement):
1294 * platform/graphics/SVGGlyph.cpp:
1295 (WebCore::isCompatibleArabicForm):
1296 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
1297 (WebCore::AudioSourceProviderAVFObjC::createMix):
1298 * platform/graphics/mac/FontMac.mm:
1299 (WebCore::showLetterpressedGlyphsWithAdvances):
1300 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
1301 (-[WebSpeechSynthesisWrapper speakUtterance:]):
1302 * platform/ios/WebCoreMotionManager.mm:
1303 (-[WebCoreMotionManager initializeOnMainThread]):
1304 * rendering/RenderTableSection.cpp:
1305 (WebCore::RenderTableSection::spannedRows):
1306 (WebCore::RenderTableSection::spannedColumns):
1308 2014-12-06 peavo@outlook.com <peavo@outlook.com>
1310 [WinCairo] Compile error, missing guard.
1311 https://bugs.webkit.org/show_bug.cgi?id=139338
1313 Reviewed by Alex Christensen.
1315 There is missing a ENABLE(CSS_SELECTORS_LEVEL4) guard in CSSParser.cpp.
1317 * css/CSSParser.cpp:
1318 (WebCore::CSSParser::realLex):
1320 2014-12-05 Chris Fleizach <cfleizach@apple.com>
1322 AX: I cannot activate links on the mobile version of news.google.com
1323 https://bugs.webkit.org/show_bug.cgi?id=139330
1325 Reviewed by Simon Fraser.
1327 This website only listens for touch events. VoiceOver normally dispatches click and mouse events,
1328 so on iOS this falls and VoiceOver is not able to activate anything.
1330 The solution here is to dispatch simulated touch down/up events.
1332 Test: platform/ios-simulator/ios-accessibility/press-fires-touch-events.html
1334 * accessibility/AccessibilityObject.cpp:
1335 (WebCore::AccessibilityObject::press):
1336 (WebCore::AccessibilityObject::dispatchTouchEvent):
1337 * accessibility/AccessibilityObject.h:
1338 (WebCore::AccessibilityObject::isDetachedFromParent):
1339 * page/EventHandler.h:
1340 * page/ios/EventHandlerIOS.mm:
1341 (WebCore::EventHandler::dispatchSimulatedTouchEvent):
1342 * platform/ios/PlatformEventFactoryIOS.h:
1343 * platform/ios/PlatformEventFactoryIOS.mm:
1344 (WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
1345 (WebCore::PlatformEventFactory::createPlatformSimulatedTouchEvent):
1347 2014-12-05 Myles C. Maxfield <mmaxfield@apple.com>
1349 Directional single quotation marks are not rotated in vertical text
1350 https://bugs.webkit.org/show_bug.cgi?id=138526
1352 Reviewed by Darin Adler.
1354 In vertical text, directional single quotation marks are not rotated along with
1355 the rest of the letters.
1357 Test: fast/text/vertical-quotation-marks.html
1359 * platform/graphics/FontGlyphs.cpp:
1360 (WebCore::shouldIgnoreRotation):
1362 2014-12-05 Dhi Aurrahman <diorahman@rockybars.com>
1364 Implement parser for :lang pseudo class selector arguments that contain wildcard '*' subtags
1365 https://bugs.webkit.org/show_bug.cgi?id=139014
1367 Reviewed by Benjamin Poulain.
1369 Consider each language range in :lang() that consists of an asterisk
1370 immediately followed by an identifier beginning with an ASCII hyphen
1371 as a valid input for the selector as specified in [1].
1373 [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
1375 Test: fast/css/parsing-css-lang.html
1377 * css/CSSGrammar.y.in:
1378 * css/CSSParser.cpp:
1379 (WebCore::CSSParser::realLex):
1381 2014-12-05 Simon Fraser <simon.fraser@apple.com>
1383 Programmatic scrolling and content changes are not always synchronized
1384 https://bugs.webkit.org/show_bug.cgi?id=139245
1385 rdar://problem/18833612
1387 Reviewed by Anders Carlsson.
1389 For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate()
1390 calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested
1391 scroll position to the scrolling thread.
1393 Once the scrolling thread commits, it calls back to the main thread via
1394 scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second
1395 call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem,
1396 because some other scroll may have happened in the meantime; when the timer
1397 fires, it can sometimes restore a stale scroll position.
1399 Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll()
1400 for programmatic scrolls, since we know that requestScrollPositionUpdate()
1401 already did the updateScrollPositionAfterAsyncScroll().
1404 ManualTests/programmatic-scroll-flicker.html
1406 * page/FrameView.cpp:
1407 (WebCore::FrameView::reset): nullptr.
1408 (WebCore::FrameView::setScrollPosition): Ditto.
1409 (WebCore::FrameView::setWasScrolledByUser): Ditto.
1410 * page/scrolling/AsyncScrollingCoordinator.cpp:
1411 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for
1412 isProgrammaticScroll just to make sure we use the same value for the duration of this function.
1413 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing
1414 if this is a programmatic scroll.
1416 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1420 * platform/spi/mac/TUCallSPI.h:
1422 2014-12-05 Roger Fong <roger_fong@apple.com>
1424 [Win] proj files copying over too many resources..
1425 https://bugs.webkit.org/show_bug.cgi?id=139315.
1426 <rdar://problem/19148278>
1428 Reviewed by Brent Fulgham.
1430 * WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output.
1432 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1434 Use the system string for telephone number menu
1435 https://bugs.webkit.org/show_bug.cgi?id=139324
1436 <rdar://problem/18726471>
1438 * platform/spi/mac/TUCallSPI.h: Added.
1439 Actually add the SPI header from the last commit.
1441 2014-12-05 Tim Horton <timothy_horton@apple.com>
1443 Use the system string for telephone number menu
1444 https://bugs.webkit.org/show_bug.cgi?id=139324
1445 <rdar://problem/18726471>
1447 Reviewed by Anders Carlsson.
1449 * WebCore.xcodeproj/project.pbxproj:
1450 * platform/spi/mac/TUCallSPI.h: Added.
1453 2014-12-05 Jer Noble <jer.noble@apple.com>
1455 [MSE][Mac] Return absolute value of error code from CDMSessionMediaSourceAVFObjC::update().
1456 https://bugs.webkit.org/show_bug.cgi?id=139316
1458 Reviewed by Eric Carlson.
1460 Similarly to our asynchronous error reporting, return the absolute value of the error code.
1462 * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1463 (WebCore::systemCodeForError):
1464 (WebCore::CDMSessionMediaSourceAVFObjC::update):
1466 2014-12-05 Anders Carlsson <andersca@apple.com>
1468 Fix build on Windows.
1470 * page/SessionIDHash.h:
1472 2014-12-05 Zalan Bujtas <zalan@apple.com>
1474 Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
1475 https://bugs.webkit.org/show_bug.cgi?id=139311
1477 Reviewed by Tim Horton.
1481 * rendering/RenderEmbeddedObject.cpp:
1482 (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
1484 2014-12-05 Andreas Kling <akling@apple.com>
1486 PassRef should deref on destruction if pointee was not moved.
1487 <https://webkit.org/b/139309>
1489 Reviewed by Antti Koivisto.
1491 Remove calls to PassRef::dropRef() since it's no longer necessary to manually
1492 notify PassRef that you didn't move the pointee.
1494 * rendering/RenderElement.cpp:
1495 (WebCore::RenderElement::createFor):
1496 (WebCore::RenderElement::setStyle):
1497 * style/StyleResolveTree.cpp:
1498 (WebCore::Style::resolveTree):
1500 2014-12-05 Benjamin Poulain <bpoulain@apple.com>
1502 Fix style sharing with the "type" and "readonly" attributes
1503 https://bugs.webkit.org/show_bug.cgi?id=139283
1505 Reviewed by Antti Koivisto.
1507 There are two bugs adressed with this patch:
1508 1) The attributes "type" and "readonly" where only handled correctly
1509 for input elements. For everything else, they could incorrectly
1510 be ignored for style sharing.
1511 2) The handling of attributes was incorrect for selector lists, leading
1512 to various bugs (incorrect style sharing in some cases, disabling
1513 style sharing on valid cases).
1515 For [1], the problem was that attribute checking had been limited to
1516 StyleResolver::canShareStyleWithControl(). That function is for handling
1517 the special states of input element. For any other element, the attributes
1518 were simply ignored.
1520 For [2], there were a bunch of small problems. First, containsUncommonAttributeSelector()
1521 was not recursive, which caused it to ignored any nested selector list. This used to be
1522 correct but since we have advanced selectors we can no longer assumed selectors are not nested.
1524 A second issue was that any attribute in a selector list was causing us to fall back
1525 to the slow case. Now that we have the fast :matches(), we really don't want that.
1527 The function containsUncommonAttributeSelector() was transformed into a recursive function
1528 tracking where we are in the selector.
1530 At the entry point, we start with the flag "startsOnRightmostElement" set to true. The flag is then
1531 updated on the stack of each recursive call.
1533 For example, "webkit > is:matches(freaking > awesome)". We evalute "is" with the flag to true, then recurse
1534 into evaluating "freaking > awesome" with the flag still set to true. When we evalute ">", the flag
1535 is set to false to evaluate any following selectors.
1536 After evaluating "freaking > awesome", we go back to our previous stack frame, and the flag
1537 is back to true and we can continue evaluating with the curren top level state.
1539 From some logging, I discovered that the attribute handling is way too aggressive.
1540 This is not a regression and I cannot fix that easily so I left a fixme.
1542 Tests: fast/css/data-attribute-style-sharing-1.html
1543 fast/css/data-attribute-style-sharing-2.html
1544 fast/css/data-attribute-style-sharing-3.html
1545 fast/css/data-attribute-style-sharing-4.html
1546 fast/css/data-attribute-style-sharing-5.html
1547 fast/css/data-attribute-style-sharing-6.html
1548 fast/css/data-attribute-style-sharing-7.html
1549 fast/css/readonly-attribute-style-sharing-1.html
1550 fast/css/readonly-attribute-style-sharing-2.html
1551 fast/css/readonly-attribute-style-sharing-3.html
1552 fast/css/readonly-attribute-style-sharing-4.html
1553 fast/css/readonly-attribute-style-sharing-5.html
1554 fast/css/readonly-attribute-style-sharing-6.html
1555 fast/css/readonly-attribute-style-sharing-7.html
1556 fast/css/type-attribute-style-sharing-1.html
1557 fast/css/type-attribute-style-sharing-2.html
1558 fast/css/type-attribute-style-sharing-3.html
1559 fast/css/type-attribute-style-sharing-4.html
1560 fast/css/type-attribute-style-sharing-5.html
1561 fast/css/type-attribute-style-sharing-6.html
1562 fast/css/type-attribute-style-sharing-7.html
1565 (WebCore::containsUncommonAttributeSelector):
1566 (WebCore::RuleData::RuleData):
1567 (WebCore::selectorListContainsAttributeSelector): Deleted.
1568 * css/StyleResolver.cpp:
1569 (WebCore::StyleResolver::canShareStyleWithControl):
1570 (WebCore::StyleResolver::canShareStyleWithElement):
1572 2014-12-05 Jer Noble <jer.noble@apple.com>
1574 [WTF] MediaTime should support round-tripping from and to doubles.
1575 https://bugs.webkit.org/show_bug.cgi?id=139248
1577 Reviewed by Eric Carlson.
1579 Check whether the MediaTime's underlying data is floating point before converting
1580 to a CMTime or QTTime.
1582 * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
1583 (WebCore::toCMTime):
1584 * platform/graphics/mac/MediaTimeQTKit.mm:
1585 (WebCore::toQTTime):
1587 2014-12-05 Anders Carlsson <andersca@apple.com>
1589 Add a private browsing mode to MiniBrowser
1590 https://bugs.webkit.org/show_bug.cgi?id=139308
1592 Reviewed by Sam Weinig.
1594 Use -1 instead of -2 for the deleted value.
1596 * page/SessionIDHash.h:
1598 2014-12-05 Chris Dumez <cdumez@apple.com>
1600 Move 'text-emphasis-style' CSS property to the new StyleBuilder
1601 https://bugs.webkit.org/show_bug.cgi?id=139285
1603 Reviewed by Sam Weinig.
1605 Move 'text-emphasis-style' CSS property to the new StyleBuilder by
1608 No new tests, no behavior change.
1610 * css/CSSPropertyNames.in:
1611 * css/DeprecatedStyleBuilder.cpp:
1612 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1613 (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue): Deleted.
1614 (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue): Deleted.
1615 (WebCore::ApplyPropertyTextEmphasisStyle::applyValue): Deleted.
1616 (WebCore::ApplyPropertyTextEmphasisStyle::createHandler): Deleted.
1617 * css/StyleBuilderCustom.h:
1618 (WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
1619 (WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
1620 (WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
1622 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1624 [iOS] remove "enter optimized fullscreen" gesture
1625 https://bugs.webkit.org/show_bug.cgi?id=139301
1627 Reviewed by Jer Noble.
1629 * Modules/mediacontrols/mediaControlsiOS.js:
1630 (ControllerIOS.prototype.handleWrapperTouchStart): Remove gesture recognizer.
1632 2014-12-05 Beth Dakin <bdakin@apple.com>
1634 rdar://problem/19156353 Additional build-fixes needed.
1636 Rubber-stamped by Tim Horton.
1638 This is a bit unfortunate, but we need to always forward-declare this for now.
1639 * platform/spi/mac/QuickLookMacSPI.h:
1641 2014-12-05 David Kilzer <ddkilzer@apple.com>
1643 FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY
1644 <http://webkit.org/b/139286>
1646 Reviewed by Daniel Bates.
1648 * Configurations/FeatureDefines.xcconfig: Switch back to using
1649 PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8.
1651 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1653 [iOS] allow host application to opt-out of alternate fullscreen pt. 2
1654 https://bugs.webkit.org/show_bug.cgi?id=139227
1656 Reviewed by Jer Noble and Anders Carlsson
1658 * WebCore.exp.in: Export HTMLMediaSession::allowsAlternateFullscreen, change the signature of
1659 WebVideoFullscreenInterfaceAVKit::setupFullscreen.
1661 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1662 (-[WebVideoFullscreenController enterFullscreen:mode:]): Update for
1663 WebVideoFullscreenInterfaceAVKit::setupFullscreen change.
1665 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add argument to setupFullscreen.
1666 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1667 (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
1669 2014-12-05 Shivakumar JM <shiva.jm@samsung.com>
1671 Fix build warning in WebCore/platform/graphics module
1672 https://bugs.webkit.org/show_bug.cgi?id=139290
1674 Reviewed by Carlos Garcia Campos.
1676 Fix a build warning by removing parameter name from function.
1678 No new tests, no behavior change.
1680 * platform/graphics/freetype/FontCacheFreeType.cpp:
1681 (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
1683 2014-12-05 sungmin cho <sungmin17.cho@lge.com>
1685 GraphicsLayerTextureMapper: Rename parameter to be more clear
1686 https://bugs.webkit.org/show_bug.cgi?id=139288
1688 Reviewed by Martin Robinson.
1690 Rename 'media' to 'platformLayer'.
1692 No new tests, no change in functionality.
1694 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1695 (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
1697 2014-12-04 Mark Rowe <mrowe@apple.com>
1699 Fix pre-Yosemite builds.
1701 The #ifs in two SPI wrapper headers were incorrect, resulting in code being included
1702 prior to Yosemite that required Yosemite to compile.
1704 * platform/spi/mac/NSSharingServicePickerSPI.h:
1705 * platform/spi/mac/NSSharingServiceSPI.h:
1707 2014-12-02 Brian J. Burg <burg@cs.washington.edu>
1709 Web Inspector: timeline probe records have inaccurate per-probe hit counts
1710 https://bugs.webkit.org/show_bug.cgi?id=138976
1712 Reviewed by Joseph Pecoraro.
1714 Update the signature for breakpointActionProbe to take batchId and sampleId.
1715 Covered by existing test inspector-protocol/debugger/didSampleProbe-multiple-probes.html.
1717 * inspector/InspectorTimelineAgent.cpp:
1718 (WebCore::InspectorTimelineAgent::breakpointActionProbe):
1719 * inspector/InspectorTimelineAgent.h:
1720 * inspector/TimelineRecordFactory.cpp:
1721 (WebCore::TimelineRecordFactory::createProbeSampleData):
1722 * inspector/TimelineRecordFactory.h:
1724 2014-12-04 Adenilson Cavalcanti <cavalcantii@gmail.com>
1726 Groove/inset/outset borders show solid if the color is black
1727 https://bugs.webkit.org/show_bug.cgi?id=58608
1729 Reviewed by Simon Fraser.
1731 Test: fast/borders/mixed-border-style2.html
1733 This patch will lighten/darken the border side colors, handling
1734 border decoration in a similar way as Firefox does.
1736 * rendering/RenderObject.cpp:
1737 (WebCore::RenderObject::drawLineForBoxSide):
1738 (WebCore::RenderObject::calculateBorderStyleColor):
1739 * rendering/RenderObject.h:
1741 2014-12-04 Chris Dumez <cdumez@apple.com>
1743 Move 'webkit-aspect-ratio' CSS property to the new StyleBuilder
1744 https://bugs.webkit.org/show_bug.cgi?id=139250
1746 Reviewed by Sam Weinig.
1748 Move 'aspect-ratio' CSS property to the new StyleBuilder by
1751 No new tests, no behavior change.
1753 * css/CSSPropertyNames.in:
1754 * css/DeprecatedStyleBuilder.cpp:
1755 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1756 (WebCore::ApplyPropertyAspectRatio::applyInheritValue): Deleted.
1757 (WebCore::ApplyPropertyAspectRatio::applyInitialValue): Deleted.
1758 (WebCore::ApplyPropertyAspectRatio::applyValue): Deleted.
1759 (WebCore::ApplyPropertyAspectRatio::createHandler): Deleted.
1760 * css/StyleBuilderCustom.h:
1761 (WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
1762 (WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
1763 (WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
1765 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1767 Further fix the 32-bit build.
1769 * page/mac/TextIndicatorWindow.mm:
1770 (WebCore::TextIndicatorWindow::setTextIndicator):
1772 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1774 Fix the 32-bit build.
1776 * page/mac/TextIndicatorWindow.h:
1777 * page/mac/TextIndicatorWindow.mm:
1778 (WebCore::TextIndicatorWindow::setTextIndicator):
1780 2014-12-04 Tim Horton <timothy_horton@apple.com>
1782 TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2
1783 https://bugs.webkit.org/show_bug.cgi?id=139252
1784 <rdar://problem/19140827>
1786 Reviewed by Anders Carlsson.
1789 * page/TextIndicator.cpp:
1790 (WebCore::TextIndicator::createWithSelectionInFrame):
1791 (WebCore::TextIndicator::TextIndicator):
1792 * page/TextIndicator.h:
1793 (WebCore::TextIndicator::selectionRectInWindowCoordinates):
1794 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates):
1795 (WebCore::TextIndicator::selectionRectInScreenCoordinates): Deleted.
1796 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates): Deleted.
1797 Go back to keeping the rects in "window" coordinates.
1799 * page/mac/TextIndicatorWindow.h:
1800 * page/mac/TextIndicatorWindow.mm:
1801 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
1802 (WebCore::TextIndicatorWindow::setTextIndicator):
1803 Let callers pass in the contentRect instead of trying to share the code
1804 to compute it, since it needs to be different for legacy and modern WebKit.
1806 2014-12-04 Oliver Hunt <oliver@apple.com>
1808 Serialization of MapData object provides unsafe access to internal types
1809 https://bugs.webkit.org/show_bug.cgi?id=138653
1811 Reviewed by Geoffrey Garen.
1813 We now keep the value portion of the key/value pair in MapData as a
1814 separate stack. This allows us to maintain the spec semantic of
1815 "atomic" serialisation of the key/value pair without retaining the
1816 use of a potentially invalid iterator.
1818 * bindings/js/SerializedScriptValue.cpp:
1819 (WebCore::CloneSerializer::serialize):
1821 2014-12-04 Radu Stavila <stavila@adobe.com>
1823 [SVG Masking] Add support for referencing <mask> elements from -webkit-mask-image
1824 https://bugs.webkit.org/show_bug.cgi?id=139092
1826 Reviewed by Simon Fraser.
1828 This patch improves the -webkit-mask-image property by allowing it to reference
1829 a <mask> element defined in an inline or external SVG document.
1830 Up until now, each image to be used as a mask consisted of a FillLayer object
1831 whose m_image member represented the mask. Now, in order to accomodate
1832 <mask> elements referenced by a fragment identifier (e.g. file.svg#mask1)
1833 a new class was created (MaskImageOperation) and added as a member of the
1834 FillLayer. As such, from now on, all FillLayer objects used for masking will
1835 store the masking information in this new member.
1836 When parsing the -webkit-mask-image property (or the -webkit-mask shorthand)
1837 a new MaskImageOperation object is created for each image. If the value represents
1838 an external URL, a pending SVG document will be created which will be loaded
1839 during the phase that loads the pending resources. When the download is complete,
1840 the MaskImageOperation is notified by the CachedSVGDocument class and checks if
1841 the received download is a valid SVG and the requested fragment identifier
1842 actually exists and identifies a <mask> element. If it does, that element's
1843 renderer (of type RenderSVGResourceMasker) will be used when painting the mask layers.
1844 Otherwise, the MaskImageOperation class will use the already downloaded data
1845 buffer to create a CachedImage from it and use that instead, basically emulating
1846 the previous behavior, when only images were accepted. This ensures that all existing
1847 behavior, like painting entire SVGs, painting normal images (e.g. PNG/JPG), painting
1848 generated images (e.g. linear-gradient) works as it did before.
1850 No new tests required, this patch doesn't change any current functionality.
1851 It only adds support for referencing <mask> elements for the -webkit-mask-image
1852 property. This is sub-part 1 of the bigger patch https://bugs.webkit.org/show_bug.cgi?id=129682.
1855 * WebCore.vcxproj/WebCore.vcxproj:
1856 * WebCore.vcxproj/WebCore.vcxproj.filters:
1857 * WebCore.xcodeproj/project.pbxproj:
1859 (WebCore::CSSValue::cssText):
1860 (WebCore::CSSValue::destroy):
1862 (WebCore::CSSValue::isWebKitCSSResourceValue):
1863 * css/StyleResolver.cpp:
1864 (WebCore::StyleResolver::State::clear):
1865 (WebCore::StyleResolver::createMaskImageOperations):
1866 * css/StyleResolver.h:
1867 (WebCore::StyleResolver::State::maskImagesWithPendingSVGDocuments):
1868 * css/WebKitCSSResourceValue.cpp: Added.
1869 (WebCore::WebKitCSSResourceValue::WebKitCSSResourceValue):
1870 (WebCore::WebKitCSSResourceValue::customCSSText):
1871 (WebCore::WebKitCSSResourceValue::isCSSValueNone):
1872 * css/WebKitCSSResourceValue.h: Added.
1873 (WebCore::WebKitCSSResourceValue::create):
1874 (WebCore::WebKitCSSResourceValue::innerValue):
1875 * loader/cache/CachedResourceLoader.cpp:
1876 (WebCore::CachedResourceLoader::addCachedResource):
1877 * loader/cache/CachedResourceLoader.h:
1878 * loader/cache/CachedSVGDocument.cpp:
1879 (WebCore::CachedSVGDocument::CachedSVGDocument):
1880 (WebCore::CachedSVGDocument::finishLoading):
1881 * loader/cache/CachedSVGDocument.h:
1882 * loader/cache/CachedSVGDocumentReference.cpp:
1883 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1884 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1885 (WebCore::CachedSVGDocumentReference::load):
1886 * loader/cache/CachedSVGDocumentReference.h:
1887 * page/FrameView.cpp:
1888 (WebCore::FrameView::isSVGDocument):
1891 (WebCore::Page::createPageFromBuffer):
1893 * platform/ScrollView.h:
1894 (WebCore::ScrollView::isSVGDocument):
1895 * platform/graphics/MaskImageOperation.cpp: Added.
1896 (WebCore::MaskImageOperation::create):
1897 (WebCore::MaskImageOperation::MaskImageOperation):
1898 (WebCore::MaskImageOperation::~MaskImageOperation):
1899 (WebCore::MaskImageOperation::isCSSValueNone):
1900 (WebCore::MaskImageOperation::cssValue):
1901 (WebCore::MaskImageOperation::isMaskLoaded):
1902 (WebCore::MaskImageOperation::setRenderLayerImageClient):
1903 (WebCore::MaskImageOperation::addRendererImageClient):
1904 (WebCore::MaskImageOperation::removeRendererImageClient):
1905 (WebCore::MaskImageOperation::getOrCreateCachedSVGDocumentReference):
1906 (WebCore::MaskImageOperation::notifyFinished): This is the method that gets called when the document has finished
1907 downloading and checks if it can find a valid <mask> element.
1908 (WebCore::MaskImageOperation::drawMask):
1909 (WebCore::MaskImageOperation::getSVGMasker):
1910 * platform/graphics/MaskImageOperation.h: Added.
1911 * rendering/RenderBoxModelObject.cpp: The BackgroundImageGeometry class was moved out of RenderBoxModelObject in
1912 order to be used as a parameter for other methods. This was necessary to avoid having methods with very many parameters.
1913 (WebCore::BackgroundImageGeometry::setNoRepeatX):
1914 (WebCore::BackgroundImageGeometry::setNoRepeatY):
1915 (WebCore::BackgroundImageGeometry::useFixedAttachment):
1916 (WebCore::BackgroundImageGeometry::clip):
1917 (WebCore::BackgroundImageGeometry::relativePhase):
1918 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX): Deleted.
1919 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY): Deleted.
1920 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment): Deleted.
1921 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip): Deleted.
1922 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase): Deleted.
1923 * rendering/RenderBoxModelObject.h:
1924 (WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
1925 (WebCore::BackgroundImageGeometry::destOrigin):
1926 (WebCore::BackgroundImageGeometry::setDestOrigin):
1927 (WebCore::BackgroundImageGeometry::destRect):
1928 (WebCore::BackgroundImageGeometry::setDestRect):
1929 (WebCore::BackgroundImageGeometry::phase):
1930 (WebCore::BackgroundImageGeometry::setPhase):
1931 (WebCore::BackgroundImageGeometry::tileSize):
1932 (WebCore::BackgroundImageGeometry::setTileSize):
1933 (WebCore::BackgroundImageGeometry::spaceSize):
1934 (WebCore::BackgroundImageGeometry::setSpaceSize):
1935 (WebCore::BackgroundImageGeometry::setPhaseX):
1936 (WebCore::BackgroundImageGeometry::setPhaseY):
1937 (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry):
1938 (WebCore::BackgroundImageGeometry::hasNonLocalGeometry):
1939 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
1940 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin): Deleted.
1941 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin): Deleted.
1942 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect): Deleted.
1943 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect): Deleted.
1944 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase): Deleted.
1945 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase): Deleted.
1946 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize): Deleted.
1947 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize): Deleted.
1948 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize): Deleted.
1949 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize): Deleted.
1950 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX): Deleted.
1951 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY): Deleted.
1952 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.
1953 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry): Deleted.
1954 * rendering/RenderLayer.cpp:
1955 (WebCore::RenderLayer::RenderLayer):
1956 (WebCore::RenderLayer::~RenderLayer):
1957 * rendering/RenderLayer.h:
1958 * rendering/RenderLayerMaskImageInfo.cpp: Added.
1959 (WebCore::RenderLayer::MaskImageInfo::layerToMaskMap): Returns a static map that links MaskImageInfo objects to RenderLayers.
1960 (WebCore::RenderLayer::MaskImageInfo::getIfExists): Returns the MaskImageInfo associated with a specific RenderLayer.
1961 (WebCore::RenderLayer::MaskImageInfo::get): Returns the MaskImageInfo associated with a specific RenderLayer (creates it if necessary).
1962 (WebCore::RenderLayer::MaskImageInfo::remove): Removes the MaskImageInfo associated with a specific RenderLayer.
1963 (WebCore::RenderLayer::MaskImageInfo::MaskImageInfo):
1964 (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
1965 (WebCore::RenderLayer::MaskImageInfo::notifyFinished): Gets called when the SVG document finished loading, triggers repaint.
1966 (WebCore::RenderLayer::MaskImageInfo::imageChanged): Gets called when the image object changed, triggers repaint.
1967 (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Goes through all mask layers and sets image/SVG clients.
1968 Updates list of internal and external SVG references.
1969 (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Removes all image/SVG clients and clears lists of internal and external SVG references.
1970 * rendering/RenderLayerMaskImageInfo.h: Added.
1971 * rendering/RenderObject.h:
1972 (WebCore::RenderObject::isRenderSVGResourceMasker):
1973 * rendering/style/FillLayer.cpp:
1974 (WebCore::FillLayer::FillLayer):
1975 (WebCore::FillLayer::operator=):
1976 (WebCore::FillLayer::operator==):
1977 (WebCore::FillLayer::cullEmptyLayers):
1978 (WebCore::FillLayer::hasNonEmptyMaskImage):
1979 (WebCore::FillLayer::imagesAreLoaded):
1980 * rendering/style/FillLayer.h:
1981 (WebCore::FillLayer::maskImage):
1982 (WebCore::FillLayer::imageOrMaskImage):
1983 (WebCore::FillLayer::setMaskImage):
1984 (WebCore::FillLayer::clearMaskImage):
1985 (WebCore::FillLayer::hasMaskImage):
1986 * rendering/svg/RenderSVGResourceMasker.cpp:
1987 (WebCore::RenderSVGResourceMasker::applySVGMask):
1988 (WebCore::RenderSVGResourceMasker::applyResource):
1989 (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
1990 * rendering/svg/RenderSVGResourceMasker.h:
1991 * svg/SVGMaskElement.cpp:
1992 (WebCore::SVGMaskElement::createElementRenderer):
1993 (WebCore::SVGMaskElement::addClientRenderLayer):
1994 (WebCore::SVGMaskElement::removeClientRenderLayer):
1995 * svg/SVGMaskElement.h:
1996 * svg/SVGUseElement.cpp:
1997 (WebCore::SVGUseElement::setCachedDocument):
1998 * svg/graphics/SVGImage.cpp:
1999 (WebCore::SVGImage::dataChanged):
2001 2014-12-04 Commit Queue <commit-queue@webkit.org>
2003 Unreviewed, rolling out r176789.
2004 https://bugs.webkit.org/show_bug.cgi?id=139255
2006 Broke the non Mac-WK2 builds (Requested by stavila on
2011 "Remove isSpecifiedFont boolean from FontDescription"
2012 https://bugs.webkit.org/show_bug.cgi?id=139233
2013 http://trac.webkit.org/changeset/176789
2015 2014-12-03 Antti Koivisto <antti@apple.com>
2017 Remove isSpecifiedFont boolean from FontDescription
2018 https://bugs.webkit.org/show_bug.cgi?id=139233
2020 Reviewed by Andreas Kling.
2024 * css/StyleBuilderCustom.h:
2025 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
2026 (WebCore::StyleBuilderCustom::applyValueFontFamily):
2027 * platform/graphics/FontDescription.cpp:
2028 (WebCore::genericFamiliesSet):
2029 (WebCore::FontDescription::hasGenericFirstFamily):
2031 Add a function to test for generic families.
2033 * platform/graphics/FontDescription.h:
2034 (WebCore::FontDescription::FontDescription):
2035 (WebCore::FontDescription::setTextRenderingMode):
2036 (WebCore::FontDescription::operator==):
2037 (WebCore::FontDescription::isSpecifiedFont): Deleted.
2038 (WebCore::FontDescription::setIsSpecifiedFont): Deleted.
2039 * rendering/RenderText.cpp:
2040 (WebCore::RenderText::computeUseBackslashAsYenSymbol):
2042 This is the only client.
2043 Figure out the equivalent information dynamically if needed.
2045 2014-12-03 Joonghun Park <jh718.park@samsung.com>
2047 Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
2048 https://bugs.webkit.org/show_bug.cgi?id=139019
2050 Reviewed by Darin Adler.
2052 No new tests, no behavior changes.
2054 * dom/DataTransfer.cpp:
2055 (WebCore::DataTransfer::DataTransfer):
2056 * dom/DataTransfer.h:
2057 * editing/Editor.cpp:
2058 (WebCore::Editor::dispatchCPPEvent):
2059 * page/mac/EventHandlerMac.mm:
2060 (WebCore::EventHandler::createDraggingDataTransfer):
2061 * platform/Pasteboard.h:
2062 * platform/efl/PasteboardEfl.cpp:
2063 (WebCore::Pasteboard::createForCopyAndPaste):
2064 (WebCore::Pasteboard::createPrivate):
2065 (WebCore::Pasteboard::createForDragAndDrop):
2066 * platform/gtk/PasteboardGtk.cpp:
2067 (WebCore::Pasteboard::createForCopyAndPaste):
2068 (WebCore::Pasteboard::createForGlobalSelection):
2069 (WebCore::Pasteboard::createPrivate):
2070 (WebCore::Pasteboard::createForDragAndDrop):
2071 (WebCore::Pasteboard::create): Deleted.
2072 * platform/ios/PasteboardIOS.mm:
2073 (WebCore::Pasteboard::createForCopyAndPaste):
2074 (WebCore::Pasteboard::createPrivate):
2075 * platform/mac/PasteboardMac.mm:
2076 (WebCore::Pasteboard::createForCopyAndPaste):
2077 (WebCore::Pasteboard::createPrivate):
2078 (WebCore::Pasteboard::createForDragAndDrop):
2079 (WebCore::Pasteboard::create): Deleted.
2080 * platform/win/PasteboardWin.cpp:
2081 (WebCore::Pasteboard::createForCopyAndPaste):
2082 (WebCore::Pasteboard::createPrivate):
2083 (WebCore::Pasteboard::createForDragAndDrop):
2085 2014-12-03 Benjamin Poulain <bpoulain@apple.com>
2087 Get rid of FrameLoaderClient::dispatchWillRequestResource
2088 https://bugs.webkit.org/show_bug.cgi?id=139235
2090 Reviewed by Alexey Proskuryakov.
2094 * loader/FrameLoaderClient.h:
2095 (WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted.
2096 * loader/cache/CachedResourceLoader.cpp:
2097 (WebCore::CachedResourceLoader::requestResource):
2099 2014-12-03 Myles C. Maxfield <mmaxfield@apple.com>
2101 List markers in RTL languages do not draw the first character.
2102 https://bugs.webkit.org/show_bug.cgi?id=139244
2104 Reviewed by Simon Fraser.
2106 Off-by-one error when reversing the string (from LTR to RTL)
2108 Test: fast/lists/rtl-marker.html
2110 * rendering/RenderListMarker.cpp:
2111 (WebCore::RenderListMarker::paint):
2113 2014-12-03 Beth Dakin <bdakin@apple.com>
2115 <input> elements get whitespace action menu instead of editable text menu
2116 https://bugs.webkit.org/show_bug.cgi?id=139241
2118 rdar://problem/19072083
2120 Reviewed by Sam Weinig.
2122 Since we will hit test form controls as form controls, we need a new function to
2123 determine if the hit point is over text inside that form control or not.
2125 * rendering/HitTestResult.cpp:
2126 (WebCore::HitTestResult::isOverTextInsideFormControlElement):
2127 * rendering/HitTestResult.h:
2129 2014-12-03 Tim Horton <timothy_horton@apple.com>
2131 Keyboard input should be disabled in the preview popover
2132 https://bugs.webkit.org/show_bug.cgi?id=139219
2133 <rdar://problem/19052381>
2135 Reviewed by Anders Carlsson.
2137 * page/ChromeClient.h:
2138 (WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents):
2139 * page/EventHandler.cpp:
2140 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2141 Allow ChromeClient to disable the dispatch of "fake" mouseMove events
2142 that happens during scrolling.
2144 2014-12-03 Antti Koivisto <antti@apple.com>
2146 Remove genericFamily enum from FontDescription
2147 https://bugs.webkit.org/show_bug.cgi?id=139207
2149 Reviewed by Andreas Kling.
2151 We use predefined AtomicStrings for generic families. The side enum adds no information.
2153 * css/CSSFontSelector.cpp:
2154 (WebCore::resolveGenericFamily):
2155 (WebCore::CSSFontSelector::getFontData):
2157 Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't.
2159 (WebCore::CSSFontSelector::resolvesFamilyFor):
2160 (WebCore::fontDataForGenericFamily): Deleted.
2161 * css/DeprecatedStyleBuilder.cpp:
2162 (WebCore::ApplyPropertyFontFamily::applyInheritValue):
2163 (WebCore::ApplyPropertyFontFamily::applyInitialValue):
2164 (WebCore::ApplyPropertyFontFamily::applyValue):
2165 * css/StyleResolver.cpp:
2166 (WebCore::StyleResolver::checkForGenericFamilyChange):
2168 Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent.
2170 (WebCore::StyleResolver::initializeFontStyle):
2171 * platform/graphics/FontDescription.h:
2172 (WebCore::FontDescription::FontDescription):
2173 (WebCore::FontDescription::useFixedDefaultSize):
2174 (WebCore::FontDescription::setWeight):
2175 (WebCore::FontDescription::equalForTextAutoSizing):
2176 (WebCore::FontDescription::operator==):
2177 (WebCore::FontDescription::genericFamily): Deleted.
2178 (WebCore::FontDescription::setGenericFamily): Deleted.
2179 * platform/mac/ThemeMac.mm:
2180 (WebCore::ThemeMac::controlFont):
2181 * rendering/RenderTheme.cpp:
2182 (WebCore::RenderTheme::adjustStyle):
2184 Reset the lineheight unconditionally for buttons.
2185 This always happened before because the explicitly set generic family made the font compare false.
2187 * rendering/RenderThemeIOS.mm:
2188 (WebCore::RenderThemeIOS::systemFont):
2189 * rendering/RenderThemeMac.mm:
2190 (WebCore::RenderThemeMac::systemFont):
2191 (WebCore::RenderThemeMac::setFontFromControlSize):
2192 * style/StyleResolveForDocument.cpp:
2193 (WebCore::Style::resolveForDocument):
2195 Resolve document style for final value immediately as it can't be affected by @font-face rules.
2197 2014-12-03 Zalan Bujtas <zalan@apple.com>
2199 ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
2200 https://bugs.webkit.org/show_bug.cgi?id=139188
2201 rdar://problem/18502182
2203 Reviewed by David Hyatt.
2205 This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
2206 with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
2207 (descendant's parent is expected to be a RenderBlockFlow)
2209 Test: fast/multicol/svg-content-as-column-spanner-crash.html
2211 * rendering/RenderMultiColumnFlowThread.cpp:
2212 (WebCore::isValidColumnSpanner):
2214 2014-12-03 peavo@outlook.com <peavo@outlook.com>
2216 [TexMap] Redundant method in GraphicsLayerTextureMapper.
2217 https://bugs.webkit.org/show_bug.cgi?id=138005
2219 Reviewed by Alex Christensen.
2221 The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used
2222 instead of the GraphicsLayerTextureMapper method startedAnimation().
2224 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2225 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2226 (WebCore::GraphicsLayerTextureMapper::addAnimation):
2227 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2229 2014-12-03 Jeremy Jones <jeremyj@apple.com>
2231 Subtitle menu should only appear when useful.
2232 https://bugs.webkit.org/show_bug.cgi?id=139133
2234 Reviewed by Eric Carlson.
2236 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2237 (-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options.
2238 (-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option.
2240 2014-12-03 Joanmarie Diggs <jdiggs@igalia.com>
2242 AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed
2243 https://bugs.webkit.org/show_bug.cgi?id=139071
2245 Reviewed by Chris Fleizach.
2247 Adds a new InlineRole accessibility role type for non-focusable inline
2248 elements which have an event handler or attribute suggesting possible
2249 inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and
2250 EFL. On the Mac, it is currently ignored to preserve existing behavior.
2252 Added new test cases to the existing roles-exposed.html test.
2254 * accessibility/AccessibilityObject.cpp:
2255 (WebCore::AccessibilityObject::supportsDatetimeAttribute): Added.
2256 * accessibility/AccessibilityObject.h: Added InlineRole.
2257 * accessibility/AccessibilityRenderObject.cpp:
2258 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole.
2259 * accessibility/atk/AccessibilityObjectAtk.cpp:
2260 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects.
2261 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2263 * accessibility/mac/AccessibilityObjectMac.mm:
2264 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects.
2265 * html/HTMLTagNames.in: Added 'time'.
2267 2014-12-03 Jer Noble <jer.noble@apple.com>
2269 [Mac] Hang when calling -[AVAsset resolvedURL].
2270 https://bugs.webkit.org/show_bug.cgi?id=139223
2272 Reviewed by Eric Carlson.
2274 On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long
2275 time. Treat this AVAsset property similar to other "metadata" properties, and check the load status
2276 of the property before requesting it.
2278 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2279 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL.
2280 (WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto.
2281 (WebCore::assetMetadataKeyNames): Add @"resolvedURL".
2283 2014-12-03 Csaba Osztrogonác <ossy@webkit.org>
2285 URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.
2287 * css/CSSParser.cpp:
2288 (WebCore::CSSParser::parseViewportProperty):
2290 2014-12-03 Chris Dumez <cdumez@apple.com>
2292 Move 'display' CSS property to the new StyleBuilder
2293 https://bugs.webkit.org/show_bug.cgi?id=139218
2295 Reviewed by Antti Koivisto.
2297 Move 'display' CSS property to the new StyleBuilder.
2299 No new tests, no behavior change.
2301 * css/CSSPropertyNames.in:
2302 * css/DeprecatedStyleBuilder.cpp:
2303 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2304 (WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted.
2305 (WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted.
2306 (WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted.
2307 (WebCore::ApplyPropertyDisplay::applyValue): Deleted.
2308 (WebCore::ApplyPropertyDisplay::createHandler): Deleted.
2309 * css/StyleBuilderCustom.h:
2310 (WebCore::StyleBuilderCustom::isValidDisplayValue):
2311 (WebCore::StyleBuilderCustom::applyInheritDisplay):
2312 (WebCore::StyleBuilderCustom::applyValueDisplay):
2314 Add support for passing multiple values for Custom option, e.g.:
2315 'Custom=Inherit|Value'. This was useful as we did not need custom
2316 code for display's initial value.
2318 2014-12-03 Chris Dumez <cdumez@apple.com>
2320 Modernize the CSSParser code
2321 https://bugs.webkit.org/show_bug.cgi?id=139209
2323 Reviewed by Antti Koivisto.
2325 Modernize the CSSParser code by:
2326 - Using more references instead of pointers
2327 - Using nullptr instead of 0
2329 No new tests, no behavior change.
2331 2014-12-03 David Kilzer <ddkilzer@apple.com>
2333 [iOS] REGRESSION (r176622): WebCore fails to link
2335 Speculative fix for the following build failure:
2338 Undefined symbols for architecture armv7s:
2339 "__ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from:
2340 __ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o
2342 * bindings/js/JSDeviceMotionEventCustom.cpp: Include
2343 <runtime/IdentifierInlines.h> to define missing symbol.
2345 2014-12-02 Dean Jackson <dino@apple.com>
2347 [Media] Audio content shouldn't have fullscreen buttons, even if in a video element
2348 https://bugs.webkit.org/show_bug.cgi?id=139200
2349 <rdar://problem/18914506>
2351 Reviewed by Eric Carlson.
2353 An audio-only resource, even if loaded into a <video> element, should not
2354 present the fullscreen or optimised fullscreen controls. This includes a
2355 MediaDocument, which is always a <video> element. We can detect this by
2356 examining the length of the videoTracks property as our content loads.
2358 Test: media/audio-as-video-fullscreen.html
2360 * Modules/mediacontrols/mediaControlsApple.js:
2361 (Controller): Initialize a hasVisualMedia to false.
2362 (Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true.
2363 (Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and
2364 updateOptimizedFullscreenButton methods into this single spot, and check for
2366 (Controller.prototype.updateFullscreenButton): Deleted.
2367 (Controller.prototype.updateOptimizedFullscreenButton): Deleted.
2369 * Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports.
2371 2014-12-02 Dean Jackson <dino@apple.com>
2373 Missing support for innerHTML on SVGElement
2374 https://bugs.webkit.org/show_bug.cgi?id=136903
2376 Unreviewed followup from r176630. Minor style nits that I missed in my review.
2378 * dom/Element.h: Remove unnecessary parameter name.
2379 * html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup.
2380 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem):
2382 2014-12-03 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2384 [EFL] Add subtle crypto to the build system
2385 https://bugs.webkit.org/show_bug.cgi?id=138612
2387 Reviewed by Csaba Osztrogonác.
2389 It is obvious to make Efl use GnuTLS as well,
2390 and since there seems no reason why to separate
2391 Efl and Gtk implementations from each other, I
2392 also propose renaming the gtk directory and file
2395 No new tests needed.
2397 * PlatformEfl.cmake:
2398 * PlatformGTK.cmake:
2399 * crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp.
2400 (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
2401 (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
2402 * crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp.
2403 (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
2404 (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
2405 * crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp.
2406 (WebCore::getGnutlsDigestAlgorithm):
2407 (WebCore::calculateSignature):
2408 (WebCore::CryptoAlgorithmHMAC::platformSign):
2409 (WebCore::CryptoAlgorithmHMAC::platformVerify):
2410 * crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp.
2411 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
2412 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
2413 * crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp.
2414 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
2415 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
2416 * crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp.
2417 (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
2418 (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
2419 * crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp.
2420 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2421 * crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp.
2422 (WebCore::CryptoDigest::CryptoDigest):
2423 (WebCore::CryptoDigest::~CryptoDigest):
2424 (WebCore::CryptoDigest::create):
2425 (WebCore::CryptoDigest::addBytes):
2426 (WebCore::CryptoDigest::computeHash):
2427 * crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp.
2428 (WebCore::CryptoKeyRSA::CryptoKeyRSA):
2429 (WebCore::CryptoKeyRSA::create):
2430 (WebCore::CryptoKeyRSA::~CryptoKeyRSA):
2431 (WebCore::CryptoKeyRSA::restrictToHash):
2432 (WebCore::CryptoKeyRSA::isRestrictedToHash):
2433 (WebCore::CryptoKeyRSA::keySizeInBits):
2434 (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
2435 (WebCore::CryptoKeyRSA::exportData):
2436 (WebCore::CryptoKeyRSA::generatePair):
2437 * crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp.
2438 (WebCore::getDefaultWebCryptoMasterKey):
2439 (WebCore::wrapSerializedCryptoKey):
2440 (WebCore::unwrapSerializedCryptoKey):
2441 * crypto/keys/CryptoKeyRSA.h:
2443 2014-12-02 Benjamin Poulain <benjamin@webkit.org>
2445 Little cleanup of the default stylesheet
2446 https://bugs.webkit.org/show_bug.cgi?id=139168
2448 Reviewed by Antti Koivisto.
2450 The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
2451 only the bits that do not change behaviors and have positive perf and readability impact.
2453 I have limited :matches() to attributes for now. The idea is to only target
2454 simple selectors that are not used for filtering by the collectors.
2455 We should eventually clean up more cases, one thing at a time.
2457 Tests: fast/css/map-tag-default-display.html
2458 fast/selectors/map-tag-default-display.html
2462 map was explicitely setting its display to inline. Remove that since it is the default.
2472 (article, aside, footer, header, hgroup, main, nav, section): Deleted.
2474 (head, link, meta, script, style, title):
2475 (address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
2476 Group the standard blocks in a single rule.
2478 (input:matches([type="hidden"], [type="image"], [type="file"])):
2479 (input:matches([type="radio"], [type="checkbox"])):
2480 (input:matches([type="button"], [type="submit"], [type="reset"])):
2481 (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
2482 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
2483 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
2484 (input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
2485 (input:matches([type="checkbox"], [type="radio"]):checked):
2486 (input:matches([type="checkbox"], [type="radio"]):checked:disabled):
2487 (select:matches([size], [multiple], [size][multiple])):
2488 (select:matches([size="0"], [size="1"])):
2489 (input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
2490 (input[type="radio"], input[type="checkbox"]): Deleted.
2491 (input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
2492 (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
2493 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
2494 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
2495 (input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): Deleted.
2496 (input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
2497 (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
2498 (select[size][multiple]): Deleted.
2499 (select[size="1"]): Deleted.
2500 Group every selector lists that only differentiates complex selectors through attributes
2501 into a simple complex selector with :matches().
2503 2014-12-02 Mark Lam <mark.lam@apple.com>
2505 Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
2506 https://bugs.webkit.org/show_bug.cgi?id=138821
2510 * bindings/js/SerializedScriptValue.cpp:
2511 (WebCore::CloneDeserializer::deserializeString):
2512 * editing/TextIterator.cpp:
2513 (WebCore::SearchBuffer::isBadMatch):
2514 * page/mac/ServicesOverlayController.mm:
2515 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2516 * platform/graphics/SegmentedFontData.cpp:
2517 (WebCore::SegmentedFontData::fontDataForCharacter):
2518 (WebCore::SegmentedFontData::containsCharacter):
2519 (WebCore::SegmentedFontData::isLoading):
2520 * platform/graphics/WOFFFileFormat.cpp:
2521 (WebCore::convertWOFFToSfnt):
2522 * platform/graphics/cairo/GradientCairo.cpp:
2523 (WebCore::Gradient::platformGradient):
2524 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2525 (WebCore::GIFImageDecoder::clearFrameBufferCache):
2526 * rendering/RenderBox.cpp:
2527 (WebCore::RenderBox::paintFillLayers):
2528 * rendering/style/GridResolvedPosition.cpp:
2529 (WebCore::firstNamedGridLineBeforePosition):
2530 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2531 * svg/SVGFontElement.cpp:
2532 (WebCore::kerningForPairOfStringsAndGlyphs):
2533 * svg/SVGPathByteStream.h:
2534 (WebCore::SVGPathByteStream::append):
2535 * xml/XPathNodeSet.h:
2536 (WebCore::XPath::NodeSet::begin):
2537 (WebCore::XPath::NodeSet::end):
2539 2014-12-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2541 Fix build break EFL port since r176696
2542 https://bugs.webkit.org/show_bug.cgi?id=139215
2544 Unreviewed, build fix for EFL port.
2546 * storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.
2548 2014-12-02 Joanmarie Diggs <jdiggs@igalia.com>
2550 AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
2551 https://bugs.webkit.org/show_bug.cgi?id=139005
2553 Reviewed by Chris Fleizach.
2555 Expose table captions and rows via ATK. Accomplishing the former is done
2556 by role mapping and inclusion of the object as a child of the table for
2557 ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
2558 platform code that had been forcing rows to be ignored. Because captions
2559 are not being exposed on the Mac, they are now explicitly being ignored
2562 Tests: accessibility/aria-table-hierarchy.html
2563 accessibility/table-hierarchy.html
2565 * accessibility/AccessibilityObject.h:
2566 * accessibility/AccessibilityRenderObject.cpp:
2567 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.
2568 * accessibility/AccessibilityTable.cpp:
2569 (WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.
2570 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2571 (webkitAccessibleGetNChildren): Removed special handling for tables.
2572 (webkitAccessibleRefChild): Removed special handling for tables.
2573 (webkitAccessibleGetIndexInParent): Removed special handling for table cells.
2574 (atkRole): Corrected broken mapping for RowRole.
2575 (getNChildrenForTable): Deleted.
2576 (getChildForTable): Deleted.
2577 (getIndexInParentForCellInRow): Deleted.
2578 * accessibility/mac/AccessibilityObjectMac.mm:
2579 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.
2581 2014-12-02 Alexey Proskuryakov <ap@apple.com>
2583 http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
2584 https://bugs.webkit.org/show_bug.cgi?id=139149
2586 Reviewed by Anders Carlsson.
2588 * WebCore.exp.in: Added ApplicationCache::deleteAllCaches.
2590 * loader/appcache/ApplicationCache.h:
2591 * loader/appcache/ApplicationCache.cpp:
2592 (WebCore::ApplicationCache::deleteAllCaches): Added.
2594 * loader/appcache/ApplicationCacheStorage.cpp:
2595 (WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
2596 have this function called when there is no database file.
2598 * loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,
2599 because WebKit style.
2601 2014-12-02 Tim Horton <timothy_horton@apple.com>
2603 Remove a SnowLeopard-era quirk for QuickLook
2604 https://bugs.webkit.org/show_bug.cgi?id=139208
2605 <rdar://problem/19121822>
2607 Reviewed by Alexey Proskuryakov.
2610 * WebCore.xcodeproj/project.pbxproj:
2611 * loader/EmptyClients.h:
2612 * loader/FrameLoader.cpp:
2613 (WebCore::FrameLoader::subresourceCachePolicy):
2614 * loader/FrameLoaderClient.h:
2615 * platform/mac/QuickLookMac.h: Removed.
2616 * platform/mac/QuickLookMac.mm: Removed.
2618 2014-12-02 Anders Carlsson <andersca@apple.com>
2620 Begin stubbing out a StorageNamespaceProvider class
2621 https://bugs.webkit.org/show_bug.cgi?id=139203
2623 Reviewed by Tim Horton.
2626 * WebCore.vcxproj/WebCore.vcxproj:
2627 * WebCore.vcxproj/WebCore.vcxproj.filters:
2628 * WebCore.xcodeproj/project.pbxproj:
2631 * page/DOMWindow.cpp:
2632 (WebCore::DOMWindow::localStorage):
2633 If the page has a storage namespace provider, get the local storage from it.
2636 (WebCore::Page::Page):
2637 Move the storage namespace provider from the configuration.
2639 (WebCore::Page::setStorageNamespaceProvider):
2640 Add a setter. This will be used by setGroupName.
2643 (WebCore::Page::storageNamespaceProvider):
2646 * page/PageConfiguration.cpp:
2647 * page/PageConfiguration.h:
2648 Add a storage namespace provider member.
2650 * storage/StorageNamespaceProvider.cpp:
2651 (WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
2652 (WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
2653 (WebCore::StorageNamespaceProvider::addPage):
2654 (WebCore::StorageNamespaceProvider::removePage):
2655 (WebCore::StorageNamespaceProvider::localStorageNamespace):
2656 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
2657 * storage/StorageNamespaceProvider.h:
2658 Stub out a storage namespace provider class.
2660 2014-12-02 Beth Dakin <bdakin@apple.com>
2664 * platform/spi/mac/QuickLookMacSPI.h:
2666 2014-12-02 Beth Dakin <bdakin@apple.com>
2670 * platform/spi/mac/NSMenuSPI.h:
2672 2014-12-02 Beth Dakin <bdakin@apple.com>
2674 Speculative build fix.
2676 * platform/spi/mac/QuickLookMacSPI.h:
2678 2014-12-02 Beth Dakin <bdakin@apple.com>
2680 Speculative build fix.
2682 * platform/spi/mac/QuickLookMacSPI.h:
2684 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2686 Unreviewed, fix typo introduced in r176673.
2688 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2689 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2691 2014-12-02 Beth Dakin <bdakin@apple.com>
2693 Should use standardQuickLookMenuItem for apps that don't implement customizations
2694 https://bugs.webkit.org/show_bug.cgi?id=139193
2696 rdar://problem/18944696
2698 Reviewed by Anders Carlsson.
2701 * WebCore.xcodeproj/project.pbxproj:
2702 * platform/spi/mac/NSMenuSPI.h: Added.
2703 * platform/spi/mac/QuickLookMacSPI.h: Added.
2705 2014-12-02 Gavin Barraclough <barraclough@apple.com>
2707 Generalize PageActivityAssertionToken
2708 https://bugs.webkit.org/show_bug.cgi?id=139106
2710 Reviewed by Sam Weinig.
2712 PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
2713 to count user visible activity in progress on the page (currently page load and media playback).
2714 Use of an RAII type is prevents a number of possible errors, including double counting a single
2715 media element, or failing to decrement the count after a media element has been deallocated.
2717 The current implementation has a number of drawbacks that have been addressed by this refactoring:
2718 - specific to single use in PageThrottler class - not reusable.
2719 - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
2720 are not encapsulated (are in the client type, PageThrottler).
2721 - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
2722 increment requires an object allocation.
2723 - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
2724 is internally implemented using a reference counted type, resulting in two counters being
2725 incremented (one in the PageActivityAssertionToken, one in the PageThrottler).
2727 In the reimplementation:
2728 - a callback is provided via a lambda function, which allows for easy reuse without a lot of
2730 - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
2732 - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
2734 - standard RefPtrs are used to manage references to the RefCounter::Count.
2736 * WebCore.xcodeproj/project.pbxproj:
2737 - removed PageActivityAssertionToken.cpp/.h
2738 * html/HTMLMediaElement.cpp:
2739 - removed PageActivityAssertionToken.h
2740 * html/HTMLMediaElement.h:
2741 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2742 * loader/FrameLoader.cpp:
2743 - removed PageActivityAssertionToken.h
2744 * loader/FrameLoader.h:
2745 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2746 * loader/SubresourceLoader.cpp:
2747 - removed PageActivityAssertionToken.h
2748 * loader/SubresourceLoader.h:
2749 - removed class PageActivityAssertionToken
2751 - removed PageActivityAssertionToken.h
2752 (WebCore::Page::Page):
2753 - removed Page* parameter to PageThrottler
2755 - removed class PageActivityAssertionToken
2756 * page/PageActivityAssertionToken.cpp: Removed.
2757 * page/PageActivityAssertionToken.h: Removed.
2758 - removed PageActivityAssertionToken.cpp/.h
2759 * page/PageThrottler.cpp:
2760 (WebCore::PageThrottler::PageThrottler):
2761 - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.
2762 (WebCore::PageThrottler::mediaActivityToken):
2763 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2764 (WebCore::PageThrottler::pageLoadActivityToken):
2765 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2766 (WebCore::PageThrottler::pageActivityCounterValueDidChange):
2767 - merged functionality of incrementActivityCount/decrementActivityCount
2768 (WebCore::PageThrottler::incrementActivityCount): Deleted.
2769 - see pageActivityCounterValueDidChange
2770 (WebCore::PageThrottler::decrementActivityCount): Deleted.
2771 - see pageActivityCounterValueDidChange
2772 * page/PageThrottler.h:
2773 (WebCore::PageThrottler::weakPtr): Deleted.
2774 - no longer required; this functionality is now encapsulated within RefCounter.
2776 2014-12-02 Tim Horton <timothy_horton@apple.com>
2778 Always show the arrow for text selection services
2779 https://bugs.webkit.org/show_bug.cgi?id=139191
2780 <rdar://problem/18903995>
2782 Reviewed by Anders Carlsson.
2784 * platform/spi/mac/DataDetectorsSPI.h:
2785 * page/mac/ServicesOverlayController.mm:
2786 Move a few things to DataDetectorsSPI.h.
2788 (WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
2789 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2790 Make use of the real DDHighlightStyle names.
2791 Add DDHighlightStyleButtonShowAlways for selection services.
2793 2014-12-02 Anders Carlsson <andersca@apple.com>
2799 2014-12-02 Chris Dumez <cdumez@apple.com>
2801 Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
2802 https://bugs.webkit.org/show_bug.cgi?id=139162
2804 Reviewed by Darin Adler.
2806 Add support for calculated values in 'flex' CSS property.
2807 Previously, those did not work in release builds, and were hitting
2808 an assertion in debug builds.
2810 Test: fast/css/flex-calculated-value.html
2812 * css/CSSParser.cpp:
2813 (WebCore::CSSParser::validCalculationUnit):
2814 Do not call RefPtr::release() as we are not interested in the return
2815 value. Assign nullptr to the member instead.
2817 (WebCore::CSSParser::parseValue):
2818 (WebCore::CSSParser::parseFillPositionComponent):
2819 (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
2820 (WebCore::CSSParser::parseFontWeight):
2821 (WebCore::CSSParser::parsedDouble):
2822 (WebCore::CSSParser::colorIntFromValue):
2823 (WebCore::CSSParser::parseColorParameters):
2824 (WebCore::CSSParser::parseHSLParameters):
2825 (WebCore::CSSParser::parseFlex):
2828 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2831 https://bugs.webkit.org/show_bug.cgi?id=139182
2833 Reviewed by Alexey Proskuryakov.
2835 No new tests, only logging code is changed.
2837 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2838 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.
2840 2014-12-02 Anders Carlsson <andersca@apple.com>
2842 Get rid of the WinINet based network implementation
2843 https://bugs.webkit.org/show_bug.cgi?id=139187
2845 Reviewed by Andreas Kling.
2847 This code was only used by the Windows CE port. Now it's unused.
2849 * platform/network/ResourceHandle.h:
2850 * platform/network/ResourceHandleInternal.h:
2851 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2852 * platform/network/win/AuthenticationChallenge.h: Removed.
2853 * platform/network/win/CookieJarWin.cpp: Removed.
2854 * platform/network/win/CredentialStorageWin.cpp: Removed.
2855 * platform/network/win/ProxyServerWin.cpp: Removed.
2856 * platform/network/win/ResourceError.h: Removed.
2857 * platform/network/win/ResourceHandleWin.cpp: Removed.
2858 * platform/network/win/ResourceRequest.h: Removed.
2859 * platform/network/win/ResourceResponse.h: Removed.
2860 * platform/network/win/SocketStreamError.h: Removed.
2861 * platform/network/win/SocketStreamHandle.h: Removed.
2862 * platform/network/win/SocketStreamHandleWin.cpp: Removed.
2864 2014-12-02 Chris Dumez <cdumez@apple.com>
2866 Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
2867 https://bugs.webkit.org/show_bug.cgi?id=139170
2869 Reviewed by Darin Adler.
2871 Add support for calculated values for 'column-span' and 'column-width'
2872 CSS properties. Previously, these were not working in release builds
2873 and hitting assertions in debug builds.
2875 Tests: fast/css/column-width-calculated-value.html
2876 fast/css/webkit-column-span-calculated-value.html
2878 * css/CSSParser.cpp:
2879 (WebCore::CSSParser::parseValue):
2881 2014-12-02 Anders Carlsson <andersca@apple.com>
2883 Remove visited link handling from PageGroup
2884 https://bugs.webkit.org/show_bug.cgi?id=139185
2886 Reviewed by Sam Weinig.
2890 * WebCore.vcxproj/WebCore.vcxproj:
2891 * WebCore.vcxproj/WebCore.vcxproj.filters:
2892 * WebCore.xcodeproj/project.pbxproj:
2893 * loader/HistoryController.cpp:
2895 (WebCore::ChromeClient::populateVisitedLinks): Deleted.
2896 * page/ChromeClient.h:
2897 * page/DefaultVisitedLinkStore.cpp: Removed.
2898 * page/DefaultVisitedLinkStore.h: Removed.
2900 (WebCore::Page::Page):
2901 (WebCore::Page::~Page):
2902 (WebCore::Page::visitedLinkStore):
2903 (WebCore::Page::setVisitedLinkStore):
2904 (WebCore::Page::removeAllVisitedLinks): Deleted.
2906 * page/PageGroup.cpp:
2907 (WebCore::PageGroup::PageGroup):
2908 (WebCore::PageGroup::visitedLinkStore): Deleted.
2909 (WebCore::PageGroup::isLinkVisited): Deleted.
2910 (WebCore::PageGroup::addVisitedLinkHash): Deleted.
2911 (WebCore::PageGroup::addVisitedLink): Deleted.
2912 (WebCore::PageGroup::removeVisitedLink): Deleted.
2913 (WebCore::PageGroup::removeVisitedLinks): Deleted.
2914 (WebCore::PageGroup::removeAllVisitedLinks): Deleted.
2915 (WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.
2918 2014-12-02 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
2920 Use references instead of pointers in EditingStyle
2921 https://bugs.webkit.org/show_bug.cgi?id=137918
2923 Reviewed by Darin Adler.
2925 * editing/EditingStyle.cpp:
2926 (WebCore::extractPropertyValue):
2927 (WebCore::identifierForStyleProperty):
2928 (WebCore::textColorFromStyle):
2929 (WebCore::backgroundColorFromStyle):
2930 (WebCore::textAlignResolvingStartAndEnd):
2931 (WebCore::EditingStyle::triStateOfStyle):
2932 (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
2933 (WebCore::EditingStyle::prepareToApplyAt):
2934 (WebCore::EditingStyle::removeStyleFromRulesAndContext):
2935 (WebCore::StyleChange::StyleChange):
2936 (WebCore::setTextDecorationProperty):
2937 (WebCore::StyleChange::extractTextStyles):
2938 (WebCore::diffTextDecorations):
2939 (WebCore::fontWeightIsBold):
2940 (WebCore::extractPropertiesNotIn):
2941 (WebCore::getPropertiesNotIn):
2942 * editing/EditingStyle.h:
2944 2014-12-02 Bartlomiej Gajda <b.gajda@samsung.com>
2946 [GStreamer] Media Source sending seek event fails.
2947 https://bugs.webkit.org/show_bug.cgi?id=139181
2949 Reviewed by Philippe Normand.
2951 There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
2952 and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.
2954 No new tests needed.
2956 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2957 (webkit_media_src_init):
2959 2014-12-02 Chris Dumez <cdumez@apple.com>
2961 Move 'font-family' CSS property to the new StyleBuilder
2962 https://bugs.webkit.org/show_bug.cgi?id=139172
2964 Reviewed by Antti Koivisto.
2966 Move 'font-family' CSS property to the new StyleBuilder by using
2969 No new tests, no behavior change.
2971 * css/CSSPropertyNames.in:
2972 * css/DeprecatedStyleBuilder.cpp:
2973 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2974 (WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
2975 (WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
2976 (WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
2977 (WebCore::ApplyPropertyFontFamily::createHandler): Deleted.
2978 * css/StyleBuilderCustom.h:
2979 (WebCore::StyleBuilderCustom::applyInitialFontFamily):
2980 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
2981 (WebCore::StyleBuilderCustom::applyValueFontFamily):
2983 2014-12-02 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2985 Fix class was previously declared as a struct warnings
2986 https://bugs.webkit.org/show_bug.cgi?id=139131
2988 Reviewed by Csaba Osztrogonác.
2990 No new tests needed.
2992 * platform/graphics/texmap/TextureMapperGL.h:
2994 2014-12-02 Sylvain Galineau <galineau@adobe.com>
2996 Missing support for innerHTML on SVGElement
2997 https://bugs.webkit.org/show_bug.cgi?id=136903
2999 Reviewed by Dean Jackson.
3001 Two parts to this patch:
3002 1. Move innerHTML/outerHTML to Element so SVG elements can inherit them, per https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#innerhtml
3003 2. Make sure fragment insertion is processed relative to the proper node, per http://www.whatwg.org/specs/web-apps/current-work/#adjusted-current-node
3005 The latter part was ported over from Blink.
3007 Test: svg/in-html/svg-inner-html.html
3009 * bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
3011 (WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
3012 (WebCore::Element::innerHTML): Moved from HTMLElement.
3013 (WebCore::Element::outerHTML): Moved from HTMLElement.
3014 (WebCore::Element::setOuterHTML): Moved from HTMLElement.
3015 (WebCore::Element::setInnerHTML): Moved from HTMLElement.
3018 * html/HTMLElement.cpp:
3019 (WebCore::HTMLElement::innerHTML): Deleted.
3020 (WebCore::HTMLElement::outerHTML): Deleted.
3021 (WebCore::HTMLElement::setInnerHTML): Deleted.
3022 (WebCore::mergeWithNextTextNode): Deleted.
3023 (WebCore::HTMLElement::setOuterHTML): Deleted.
3024 * html/HTMLElement.h:
3025 * html/HTMLElement.idl:
3026 * html/parser/HTMLTreeBuilder.cpp:
3027 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
3028 (WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
3029 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
3030 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
3031 (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
3032 (WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.
3033 * html/parser/HTMLTreeBuilder.h:
3034 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
3035 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.
3037 2014-11-20 Jeffrey Pfau <jpfau@apple.com>
3039 Add cancelable version of willSendRequest
3040 https://bugs.webkit.org/show_bug.cgi?id=138987
3042 Reviewed by Anders Carlsson.
3044 Covered by existing tests.
3046 * loader/ResourceLoader.cpp:
3047 (WebCore::ResourceLoader::willSendRequest):
3048 * loader/ResourceLoader.h:
3050 2014-12-01 Benjamin Poulain <benjamin@webkit.org>
3052 Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
3053 https://bugs.webkit.org/show_bug.cgi?id=139001
3055 Reviewed by Andreas Kling.
3057 When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
3058 we were previously ignoring the arguments.
3060 That behavior seems to be confusing for users. We made the proposal to include the selector list
3061 like when using :matches():
3062 http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html
3063 David Baron also agrees with this behavior:
3064 http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html
3066 This patch adds the specificity computation.
3068 Tests: fast/css/nth-child-specificity-1.html
3069 fast/css/nth-child-specificity-2.html
3070 fast/css/nth-last-child-specificity-1.html
3071 fast/css/nth-last-child-specificity-2.html
3073 * css/CSSSelector.cpp:
3074 (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
3075 * css/SelectorChecker.cpp:
3076 (WebCore::SelectorChecker::checkOne):
3077 (WebCore::SelectorChecker::matchSelectorList):
3078 * css/SelectorChecker.h:
3079 * cssjit/SelectorCompiler.cpp:
3080 (WebCore::SelectorCompiler::addPseudoClassType):
3082 2014-12-01 Chris Dumez <cdumez@apple.com>
3084 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
3085 https://bugs.webkit.org/show_bug.cgi?id=138938
3087 Reviewed by Sam Weinig.
3089 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
3090 from StyleResolver to the new StyleBuilder by using custom code.
3092 No new tests, no behavior change.
3094 * css/CSSPropertyNames.in:
3095 * css/StyleBuilderCustom.h:
3096 (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
3097 (WebCore::StyleBuilderCustom::applyInitialTextShadow):
3098 (WebCore::StyleBuilderCustom::applyInheritTextShadow):
3099 (WebCore::StyleBuilderCustom::applyValueTextShadow):
3100 (WebCore::StyleBuilderCustom::applyInitialBoxShadow):
3101 (WebCore::StyleBuilderCustom::applyInheritBoxShadow):
3102 (WebCore::StyleBuilderCustom::applyValueBoxShadow):
3103 (WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
3104 (WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
3105 (WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
3106 * css/StyleResolver.cpp:
3107 (WebCore::StyleResolver::applyProperty):
3109 2014-12-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3111 [EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
3112 https://bugs.webkit.org/show_bug.cgi?id=139085
3114 Reviewed by Andreas Kling.
3116 * PlatformEfl.cmake:
3117 Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.
3119 2014-12-01 Zalan Bujtas <zalan@apple.com>
3121 Twitter avatar moves when hovering/unhovering the "follow" button.
3122 https://bugs.webkit.org/show_bug.cgi?id=139147
3123 rdar://problem/19096508
3125 Reviewed by Simon Fraser.
3127 This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
3128 get repositioned when their inline box wrappers move.
3129 Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
3130 placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
3131 they are still part of the inline box tree.
3132 This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
3133 They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
3135 Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
3137 * rendering/InlineBox.cpp:
3138 (WebCore::InlineBox::adjustPosition):
3140 2014-12-01 Tim Horton <timothy_horton@apple.com>
3142 Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
3143 https://bugs.webkit.org/show_bug.cgi?id=139164
3144 <rdar://problem/19107247>
3146 Reviewed by Beth Dakin.
3148 * page/TextIndicator.cpp:
3149 (WebCore::TextIndicator::createWithSelectionInFrame):
3150 Null-check the ImageBuffer in addition to the Image.
3152 2014-12-01 Anders Carlsson <andersca@apple.com>
3154 Remove IWebCookieManager on Windows
3155 https://bugs.webkit.org/show_bug.cgi?id=139144
3157 Reviewed by Sam Weinig.
3159 Remove code that handles overriding the cookie storage.
3161 * platform/network/NetworkStorageSession.h:
3162 * platform/network/cf/NetworkStorageSessionCFNet.cpp:
3163 (WebCore::cookieStorageOverride): Deleted.
3164 (WebCore::overrideCookieStorage): Deleted.
3165 (WebCore::overridenCookieStorage): Deleted.
3166 * platform/network/cf/ResourceHandleCFNet.cpp:
3167 (WebCore::ResourceHandle::createCFURLConnection):
3169 2014-12-01 Dean Jackson <dino@apple.com>
3171 [iOS Media] Slider knob should not have a border
3172 https://bugs.webkit.org/show_bug.cgi?id=139160
3173 <rdar://problem/19075185>
3175 Reviewed by Jer Noble.
3177 The change in r175715 required adding !important to a bunch
3178 of rules for pseudo elements. The border width of slider knobs
3179 for media controls should be zero, so add an !important there.
3181 * Modules/mediacontrols/mediaControlsiOS.css:
3182 (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
3183 border to border-width and force it to zero.
3185 2014-12-01 Chris Dumez <cdumez@apple.com>
3187 Take into consideration canvas drawing for throttling DOM timers
3188 https://bugs.webkit.org/show_bug.cgi?id=139140
3189 <rdar://problem/19102218>
3191 Reviewed by Andreas Kling.
3193 Take into consideration canvas drawing for throttling DOM timers so
3195 - Timers drawing on a visible canvas can no longer get throttled.
3196 This fixes the following sites:
3197 - http://hint.fm/wind/
3198 - http://radar.weather.gov/Conus/full_loop.php
3199 - Timers that are drawing on a canvas that is not user observable
3200 now get throttled, thus using less CPU. As an example, on
3201 http://hint.fm/wind/, CPU usage is at 110% when the canvas is
3202 inside the viewport on my machine. CPU usage would remain at
3203 110% when scrolling the canvas outside the viewport before this
3204 patch. After this patch, the CPU usage goes down to 5% when
3205 the canvas is outside the viewport.
3207 Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html
3208 fast/canvas/canvas-outside-viewport-timer-throttling.html
3210 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3211 (WebCore::JSCSSStyleDeclaration::putDelegate):
3212 * html/HTMLCanvasElement.cpp:
3213 (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
3214 * page/DOMTimer.cpp:
3215 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
3216 (WebCore::DOMTimer::scriptDidCauseElementRepaint):
3217 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
3218 (WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.
3221 2014-12-01 Myles C. Maxfield <mmaxfield@apple.com>
3223 Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
3224 https://bugs.webkit.org/show_bug.cgi?id=139158
3226 Reviewed by Simon Fraser.
3228 RenderingContexts are only created if the primary SimpleFontData is an SVG font,
3229 but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
3230 One might be an SVG font but the other might not be.
3232 Note that this brittle design will be fixed with the SVG -> OTF translator.
3234 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html
3236 * platform/graphics/mac/FontMac.mm:
3237 (WebCore::Font::dashesForIntersectionsWithRect):
3239 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
3241 [MSE] Fix not always calling mediaPlayer seek.
3242 https://bugs.webkit.org/show_bug.cgi?id=139139
3244 Reviewed by Jer Noble.
3246 Original comment states that media source shall always be notified of seek if it's not closed.
3248 No new tests needed.
3250 * html/HTMLMediaElement.cpp:
3251 (WebCore::HTMLMediaElement::seekTimerFired):
3253 2014-12-01 Tim Horton <timothy_horton@apple.com>
3255 Implement yellow highlight for WebKit1 data detectors
3256 https://bugs.webkit.org/show_bug.cgi?id=138956
3257 <rdar://problem/18992185>
3259 Reviewed by Beth Dakin.
3261 * page/TextIndicator.cpp:
3262 (WebCore::TextIndicator::createWithSelectionInFrame):
3263 (WebCore::TextIndicator::TextIndicator):
3264 * page/TextIndicator.h:
3265 (WebCore::TextIndicator::selectionRectInScreenCoordinates):
3266 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
3267 (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
3268 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
3269 Store TextIndicator rects in screen coordinates, since that's what we
3270 want anyway, and this makes it easier to share this code between the WebKits.
3272 * page/mac/TextIndicatorWindow.mm:
3273 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
3274 (WebCore::TextIndicatorWindow::setTextIndicator):
3275 Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.
3277 2014-12-01 Anders Carlsson <andersca@apple.com>
3279 Remove old site specific quirks code that was added in 2009
3280 https://bugs.webkit.org/show_bug.cgi?id=139141
3282 Reviewed by Antti Koivisto.
3284 * platform/network/NetworkingContext.h:
3285 * platform/network/ResourceHandleInternal.h:
3286 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3287 * platform/network/mac/ResourceHandleMac.mm:
3288 (WebCore::ResourceHandle::start):
3290 2014-12-01 Joseph Pecoraro <pecoraro@apple.com>
3292 Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
3293 https://bugs.webkit.org/show_bug.cgi?id=138988
3295 Reviewed by Timothy Hatcher.
3297 * inspector/WebInjectedScriptHost.cpp:
3298 (WebCore::WebInjectedScriptHost::type):
3299 Give all DOM Exception types the "error" RemoteObject subtype.
3301 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
3303 [MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
3304 https://bugs.webkit.org/show_bug.cgi?id=139075.
3306 Reviewed by Jer Noble.
3308 Specification requires from us to unset timestamps for trackBuffers
3309 during abort() method.
3311 Test: media/media-source/media-source-append-nonsync-sample-after-abort.html
3313 * Modules/mediasource/SourceBuffer.cpp:
3314 (WebCore::SourceBuffer::resetParserState):
3315 (WebCore::SourceBuffer::abort):
3316 * Modules/mediasource/SourceBuffer.h:
3318 2014-12-01 Chris Dumez <cdumez@apple.com>
3320 Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
3321 https://bugs.webkit.org/show_bug.cgi?id=138999
3323 Reviewed by Sam Weinig.
3325 Transform StyleBuilderCustom into a class and mark it as a friend of
3326 RenderStyle. This is needed because some of the StyleBuilderCustom
3327 functions need to access RenderStyle's private API.
3329 No new tests, no behavior change.
3331 * css/StyleBuilderCustom.h:
3332 Move functions from StyleBuilderFunctions namespace to
3333 StyleBuilderCustom class.
3336 Use StyleBuilderCustom scope instead of StyleBuilderFunctions for
3337 custom implementation.
3339 * rendering/style/RenderStyle.h:
3340 Mark StyleBuilderCustom class as a friend, similarly to what was
3341 already done for DeprecatedStyleBuilder and StyleResolver.
3343 2014-11-17 Oliver Hunt <oliver@apple.com>
3345 Make sure range based iteration of Vector<> still receives bounds checking
3346 https://bugs.webkit.org/show_bug.cgi?id=138821
3348 Reviewed by Mark Lam.
3350 There are a few uses of begin()/end() that explicitly require pointers,
3351 so we use getPtr() to extract the underlying pointer generically.
3353 * bindings/js/SerializedScriptValue.cpp:
3354 (WebCore::CloneDeserializer::deserializeString):
3355 * editing/TextIterator.cpp:
3356 (WebCore::SearchBuffer::isBadMatch):
3357 * page/mac/ServicesOverlayController.mm:
3358 (WebCore::ServicesOverlayController::buildSelectionHighlight):
3359 * platform/graphics/SegmentedFontData.cpp:
3360 (WebCore::SegmentedFontData::fontDataForCharacter):
3361 (WebCore::SegmentedFontData::containsCharacter):
3362 (WebCore::SegmentedFontData::isLoading):
3363 * platform/graphics/WOFFFileFormat.cpp:
3364 (WebCore::convertWOFFToSfnt):
3365 * rendering/RenderBox.cpp:
3366 (WebCore::RenderBox::paintFillLayers):
3367 * rendering/style/GridResolvedPosition.cpp:
3368 (WebCore::firstNamedGridLineBeforePosition):
3369 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
3370 * svg/SVGFontElement.cpp:
3371 (WebCore::kerningForPairOfStringsAndGlyphs):
3372 * svg/SVGPathByteStream.h:
3373 (WebCore::SVGPathByteStream::append):
3374 * xml/XPathNodeSet.h:
3375 (WebCore::XPath::NodeSet::begin):
3376 (WebCore::XPath::NodeSet::end):
3378 2014-11-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3380 Fix a build warning when CSS_SCROLL_SNAP is enabled
3381 https://bugs.webkit.org/show_bug.cgi?id=139084
3383 Reviewed by Andrei Bucur.
3385 Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class.
3387 * rendering/style/StyleScrollSnapPoints.cpp:
3388 (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted().
3390 2014-11-29 Sam Weinig <sam@webkit.org>
3392 Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder
3393 https://bugs.webkit.org/show_bug.cgi?id=139104
3395 Reviewed by Anders Carlsson.
3397 * css/CSSPropertyNames.in:
3398 * css/StyleBuilderCustom.h:
3399 (WebCore::StyleBuilderFunctions::applyValueWebkitLocale):
3400 (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode):
3401 (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation):
3402 (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf):
3403 (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective):
3404 * css/StyleResolver.cpp:
3405 (WebCore::StyleResolver::applyProperty):
3407 2014-11-29 Anders Carlsson <andersca@apple.com>
3409 Add an EmptyVisitedLinkStore implementation
3410 https://bugs.webkit.org/show_bug.cgi?id=139102
3412 Reviewed by Sam Weinig.
3414 * loader/EmptyClients.cpp:
3415 (WebCore::fillWithEmptyClients):
3416 * loader/EmptyClients.h:
3418 2014-11-28 Sam Weinig <sam@webkit.org>
3420 Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder
3421 https://bugs.webkit.org/show_bug.cgi?id=139053
3423 Reviewed by Andreas Kling.
3425 * css/CSSPropertyNames.in:
3426 * css/StyleBuilderConverter.h:
3427 (WebCore::StyleBuilderConverter::convertInitialLetter):
3428 (WebCore::StyleBuilderConverter::convertTextStrokeWidth):
3429 (WebCore::StyleBuilderConverter::convertLineBoxContain):
3430 * css/StyleResolver.cpp:
3431 (WebCore::StyleResolver::applyProperty):
3433 2014-11-26 Philippe Normand <pnormand@igalia.com>
3435 [GStreamer] HTTP source element lacks SCHEDULING query support
3436 https://bugs.webkit.org/show_bug.cgi?id=139064
3438 Reviewed by Carlos Garcia Campos.
3440 No new tests, covered by http/tests/media/hls.
3442 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3443 (webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
3444 queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
3445 to configure itself for adaptive streaming playback scenarios.
3447 2014-11-27 Ryuan Choi <ryuan.choi@navercorp.com>
3449 [EFL] Remove E_Dbus dependency
3450 https://bugs.webkit.org/show_bug.cgi?id=136355
3452 Reviewed by Gyuyoung Kim.
3454 E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8.
3455 Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface.
3456 This patch replaces E_Dbus implementation to Eldbus.
3458 * PlatformEfl.cmake:
3459 * platform/efl/BatteryProviderEfl.cpp:
3460 (WebCore::BatteryProviderEfl::BatteryProviderEfl):
3461 (WebCore::BatteryProviderEfl::~BatteryProviderEfl):