1 2014-12-09 Bem Jones-Bey <bjonesbe@adobe.com>
3 REGRESSION(r155906): Page content disappears on Tuaw article after loading
4 https://bugs.webkit.org/show_bug.cgi?id=138100
6 Reviewed by Simon Fraser.
8 Test: ManualTests/float-layer-not-painting.html
10 * rendering/RenderBlockFlow.cpp:
11 (WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens,
12 it can change whether the float's renderer has a self painting layer.
13 So in that case, we need to update the flag on the FloatingObject
14 instance for that float.
16 2014-12-09 Andreas Kling <akling@apple.com>
19 <rdar://problem/18490587>
21 This change broke selection when editing Confluence wiki pages.
23 * css/CSSComputedStyleDeclaration.cpp:
24 (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
25 (WebCore::ComputedStyleExtractor::propertyValue):
27 (WebCore::nodeOrItsAncestorNeedsStyleRecalc): Deleted.
28 (WebCore::Document::updateStyleIfNeededForNode): Deleted.
30 * editing/htmlediting.cpp:
31 (WebCore::isEditablePosition):
32 * html/TextFieldInputType.cpp:
33 (WebCore::TextFieldInputType::forwardEvent):
35 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
37 Fix iOS build after r177035.
41 I accidentally added my line to WebCore.exp.in inside an
42 #IF PLATFORM(MAC) block.
46 2014-12-09 Jeremy Jones <jeremyj@apple.com>
48 Enable automatic optimized fullscreen mode.
49 https://bugs.webkit.org/show_bug.cgi?id=139437
51 Reviewed by Eric Carlson.
53 Anticipate transition to optimized video fullscreen mode when entering background.
56 * html/HTMLMediaElement.cpp:
57 (WebCore::HTMLMediaElement::overrideBackgroundPlaybackRestriction): Add logic for automatic transition detection.
58 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
59 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
60 (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Add logic for automatic transition detection.
62 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
64 Delete Node::boundingBox()
65 https://bugs.webkit.org/show_bug.cgi?id=139333
67 Conceptually, boundingBox() should be on RenderInline. In addition,
68 Node::boundingBox() is completely broken for inline elements: it
69 makes a rect from the top left of the first inline child to the
70 bottom right of the last inline child, disregarding the intermediate
71 inline children. This breaks with vertical text and with line
74 What makes this problem worse is that some functions actually rely
75 on this bad behavior. These functions are functions that use the
76 Node's so-called "bounding box" to scroll to an anchor tag.
78 This patch goes through all the call sites of Node::boundingBox(),
79 and segregates them into calls that expect the true bounding box
80 and calls that need this false bounding box. This patch then moves
81 this false bounding box into RenderElement, using the name
82 anchorRect(). Callers what want the correct bounding box have been
83 updated to use RenderElement::absoluteBoundingBoxRect().
85 Reviewed by Zalan Bujtas.
87 No new tests because there should be no behavior change.
89 * accessibility/AccessibilitySlider.cpp:
90 (WebCore::AccessibilitySliderThumb::elementRect): Use
91 RenderObject::absoluteBoundingBoxRect()
92 * dom/ContainerNode.cpp:
93 (WebCore::ContainerNode::getUpperLeftCorner): Deleted.
94 (WebCore::ContainerNode::getLowerRightCorner): Deleted.
95 (WebCore::ContainerNode::boundingBox): Deleted.
96 * dom/ContainerNode.h:
98 (WebCore::Element::scrollIntoView): Use RenderElement::anchorRect().
99 (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
100 (WebCore::Element::updateFocusAppearance): Ditto.
102 (WebCore::Node::boundingBox): Deleted.
104 (WebCore::Node::pixelSnappedBoundingBox): Deleted.
105 * html/ColorInputType.cpp:
106 (WebCore::ColorInputType::elementRectRelativeToRootView): Use
107 RenderObject::absoluteBoundingBoxRect()
108 * html/HTMLInputElement.cpp:
109 (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
110 * html/ValidationMessage.cpp:
111 (WebCore::ValidationMessage::buildBubbleTree): Ditto.
112 * page/FrameView.cpp:
113 (WebCore::FrameView::scrollElementToRect): Use
114 RenderElement::anchorRect().
115 (WebCore::FrameView::scrollToAnchor): Ditto.
116 * page/SpatialNavigation.cpp:
117 (WebCore::nodeRectInAbsoluteCoordinates): Use
118 RenderObject::absoluteBoundingBoxRect()
119 * rendering/RenderElement.cpp:
120 (WebCore::RenderElement::getUpperLeftCorner): Moved from ContainerNode.
121 (WebCore::RenderElement::getLowerRightCorner): Moved from
123 (WebCore::RenderElement::anchorRect): Moved from ContainerNode.
124 * rendering/RenderObject.h:
125 * rendering/RenderText.cpp:
126 (WebCore::RenderText::topOfFirstText): Helper for
127 RenderElement::anchorRect()
128 * rendering/RenderText.h:
130 2014-12-09 Antti Koivisto <antti@apple.com>
132 REGRESSION (r173272): When open PDF from Safari in iBooks, title is replaced to “QuickLookPDF-s72DbgAU-1”
133 https://bugs.webkit.org/show_bug.cgi?id=139453
134 rdar://problem/19052192
136 Reviewed by Pratik Solanki.
138 Pulling the suggested filename from the platform response returned null string on USE(CFNETWORK) code path
139 if it was the first thing needed from it.
141 * platform/network/cf/ResourceResponseCFNet.cpp:
142 (WebCore::ResourceResponse::platformSuggestedFilename): Use the lazy accessor.
144 2014-12-09 Joanmarie Diggs <jdiggs@igalia.com>
146 AX: [ATK] MathML tokens, tables, and row-like elements are exposed with ATK_ROLE_UNKNOWN
147 https://bugs.webkit.org/show_bug.cgi?id=139402
149 Reviewed by Chris Fleizach.
151 Expose tables and their children using existing table AtkRole types,
152 token elements using the new ATK_ROLE_STATIC, and row-like elements
153 using ATK_ROLE_PANEL. Also expose <mlabeledtr> as a math table row
154 and <ms> as math text.
156 No new tests; instead, added MathML elements to roles-exposed.html.
158 * accessibility/AccessibilityObject.h:
159 (WebCore::AccessibilityObject::isMathToken):
160 * accessibility/AccessibilityRenderObject.cpp:
161 (WebCore::AccessibilityRenderObject::isMathToken):
162 (WebCore::AccessibilityRenderObject::isMathText):
163 (WebCore::AccessibilityRenderObject::isMathTableRow):
164 * accessibility/AccessibilityRenderObject.h:
165 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
168 (ms, mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
169 (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
170 * mathml/mathtags.in:
172 2014-12-09 Dean Jackson <dino@apple.com>
174 [Apple] Use Accelerate framework to speed-up FEGaussianBlur
175 https://bugs.webkit.org/show_bug.cgi?id=139310
177 Unreviewed followup, after comments by Andreas Kling.
179 It was pointed out that we already have a USE(ACCELERATE), so
180 we don't need a HAVE(ACCELERATE) :)
182 * platform/graphics/filters/FEGaussianBlur.cpp:
183 (WebCore::FEGaussianBlur::platformApplyGeneric):
184 (WebCore::FEGaussianBlur::platformApply):
186 2014-12-09 Alberto Garcia <berto@igalia.com>
188 Unreviewed. Style fix following r177019.
190 Use nullptr instead of 0.
192 * bindings/gobject/ConvertToUTF8String.cpp:
193 (convertToUTF8String):
195 2014-12-09 Javier Fernandez <jfernandez@igalia.com>
197 Refactor of rebuildFloatingObjectSetFromIntrudingFloats function after r176957.
198 https://bugs.webkit.org/show_bug.cgi?id=139445
200 Reviewed by Darin Adler.
202 The function rebuildFloatingObjectSetFromIntrudingFloats would be clearer if
203 we use a helper function to locate the previous sibling with overhanging floats.
205 These changes has been suggested as part of the patch review for bug #139150, which
208 No new tests, no behavior change.
210 * rendering/RenderBlock.cpp:
211 (WebCore::RenderBlock::avoidsFloats):
212 * rendering/RenderBlockFlow.cpp:
213 (WebCore::RenderBlockFlow::previousSiblingWithOverhangingFloats):
214 (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
215 * rendering/RenderBlockFlow.h:
216 * rendering/RenderBox.h:
217 (WebCore::RenderBox::isGridItem):
219 2014-12-09 Alberto Garcia <berto@igalia.com>
221 convertToUTF8String converts null string to empty string
222 https://bugs.webkit.org/show_bug.cgi?id=133904
224 Reviewed by Carlos Garcia Campos.
226 Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp
228 Return 0 if the string is null.
230 * bindings/gobject/ConvertToUTF8String.cpp:
231 (convertToUTF8String):
233 2014-12-09 Jeremy Jones <jeremyj@apple.com>
235 When invalidating fullscreen, cancel instead of stop optimizedFullscfreen.
236 https://bugs.webkit.org/show_bug.cgi?id=139145
238 Reviewed by Eric Carlson.
240 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
241 (WebVideoFullscreenInterfaceAVKit::invalidate): call cancel instead of stop
242 * platform/spi/ios/AVKitSPI.h: add -cancelOptimizedFullscreen.
244 2014-12-09 Alberto Garcia <berto@igalia.com>
246 [Media][GTK][EFL] Reduce style updates (painting) in controls
247 https://bugs.webkit.org/show_bug.cgi?id=137773
249 Reviewed by Carlos Garcia Campos.
251 Don't update media controls if they are not visible, and
252 initialize slider to a zero value.
254 * Modules/mediacontrols/mediaControlsBase.js:
255 (Controller.prototype.createControls):
256 (Controller.prototype.handleDurationChange):
257 (Controller.prototype.updateProgress):
258 (Controller.prototype.updateTime):
259 * Modules/mediacontrols/mediaControlsGtk.js:
260 (ControllerGtk.prototype.updateTime):
262 2014-12-09 Sebastian Dröge <sebastian@centricular.com>
264 [GStreamer] Add video/mp2t as alternative mimetype for MPEG TS
265 https://bugs.webkit.org/show_bug.cgi?id=139433
267 Reviewed by Philippe Normand.
269 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
270 (WebCore::mimeTypeCache):
271 It's used e.g. on http://www.jwplayer.com/html5/mediasource/ .
273 2014-12-09 Jeremy Jones <jeremyj@apple.com>
275 Enable activating optimized fullscreen mode from standard fulscreen mode.
276 https://bugs.webkit.org/show_bug.cgi?id=139137
278 Reviewed by Jer Noble.
280 Going from standard fullscreen mode to optimized fullscreen mode requires the ability to
281 update the fullscreen mode in HTMLMediaElement and a new standard-and-optimized-fullscreen mode.
283 This change KVO observes AVKit's optimizedFullscreenActive and forwards the change down to HTMLMediaElement so it can adjust behavior appropriately.
284 It also hides the standard fullscreen window when going into this mode.
285 When exiting fullscreen from standard-and-optimized, first exit fullscreen immediately, then stopOptimizedFullscreen, and notify of completion when
286 optimizedFullscreen goes inactive.
288 * Modules/mediacontrols/MediaControlsHost.cpp:
289 (WebCore::MediaControlsHost::fullscreenMode):
290 Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.
291 * WebCore.exp.in: New export for WebVideoFullscreenModelVideoElement::fullscreenModeChanged
292 * html/HTMLMediaElement.cpp:
293 (WebCore::HTMLMediaElement::displayType):
294 Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.
295 * html/HTMLMediaElement.h: Add new fullscreen mode.
296 (WebCore::HTMLMediaElement::fullscreenModeChanged): Update fullscreen mode so it does optimized fullscreen mode behaviors when applicable.
297 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Declare setOptimizedActive
298 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
299 (-[WebAVVideoLayer setPlayerViewController:]): observe optimizedFullscreenActive
300 (-[WebAVVideoLayer observeValueForKeyPath:ofObject:change:context:]): respond to changes to optimizedFullscreenActive
301 (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Init members.
302 (WebVideoFullscreenInterfaceAVKit::playerController):
303 Give player controller a reference to the WebVideoFullscreenInterface so it can pass along mode change state.
304 (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Handle new fullscreen modes.
305 (WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
306 (WebVideoFullscreenInterfaceAVKit::invalidate): ditto
307 (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
308 (WebVideoFullscreenInterfaceAVKit::setOptimizedActive): Handle changes to fullscreen mode.
309 Also handle the case that exiting fullscreen happend when optimized mode ends.
310 * platform/ios/WebVideoFullscreenModel.h: declare fullscreenModeChanged()
311 * platform/ios/WebVideoFullscreenModelVideoElement.h: declare fullscreenModeChanged()
312 * platform/ios/WebVideoFullscreenModelVideoElement.mm: add fullscreenModeChanged()
313 (WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement): Init members.
314 (WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Added. Update video element fullscreen mode.
316 2014-12-08 Benjamin Poulain <bpoulain@apple.com>
318 Fix the iOS build after r177002
320 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
321 (WebCore::Extensions3DOpenGL::supportsExtension):
323 2014-12-07 Roger Fong <roger_fong@apple.com>
325 Implementation EXT_sRGB as a WebGL1 extension.
326 https://bugs.webkit.org/show_bug.cgi?id=109332.
327 <rdar://problem/17363470>
329 Reviewed by Dean Jackson.
332 webgl/1.0.3/conformance/webgl/ext-sRGB.html
333 fast/canvas/webgl/constants.html
335 This patch implements the SRGB extension for WebGL1.
336 Details of the extension specification are outlined here:
337 https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/
340 * DerivedSources.cpp:
341 * DerivedSources.make:
342 * WebCore.vcxproj/WebCore.vcxproj:
343 * WebCore.vcxproj/WebCore.vcxproj.filters:
344 * WebCore.xcodeproj/project.pbxproj:
345 * bindings/js/JSWebGLRenderingContextCustom.cpp:
347 * html/canvas/EXTsRGB.cpp: Added.
348 (WebCore::EXTsRGB::EXTsRGB):
349 (WebCore::EXTsRGB::~EXTsRGB):
350 (WebCore::EXTsRGB::getName):
351 * html/canvas/EXTsRGB.h: Added.
352 * html/canvas/EXTsRGB.idl: Added.
353 * html/canvas/WebGLExtension.h:
354 * html/canvas/WebGLFramebuffer.cpp:
355 (WebCore::WebGLFramebuffer::checkStatus):
356 * html/canvas/WebGLRenderingContext.cpp:
357 (WebCore::WebGLRenderingContext::getExtension):
358 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
359 (WebCore::WebGLRenderingContext::getSupportedExtensions):
360 (WebCore::WebGLRenderingContext::renderbufferStorage):
361 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
362 * html/canvas/WebGLRenderingContext.h:
363 * html/canvas/WebGLRenderingContext.idl:
364 * platform/graphics/Extensions3D.h:
365 * platform/graphics/GraphicsContext3D.cpp:
366 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
367 (WebCore::GraphicsContext3D::getClearBitsByFormat):
368 (WebCore::GraphicsContext3D::getChannelBitsByFormat):
369 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
370 (WebCore::Extensions3DOpenGL::supportsExtension):
371 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
372 (WebCore::GraphicsContext3D::texImage2D):
374 2014-12-08 Dean Jackson <dino@apple.com>
376 [Apple] Use Accelerate framework to speed-up FEGaussianBlur
377 https://bugs.webkit.org/show_bug.cgi?id=139310
378 <rdar://problem/18434594>
380 Reviewed by Simon Fraser.
382 Using Apple's Accelerate framework provides faster blurs
383 than the parallel jobs approach, especially since r168577
384 which started performing retina-accurate filters.
386 Using Accelerate.framework to replace the existing box blur (what
387 we use to approximate Gaussian blurs) gets about a 20% speedup on
388 desktop class machines, but between a 2x-6x speedup on iOS hardware.
389 Obviously this depends on the size of the content being blurred,
390 but it is still good.
392 The change is to intercept the platformApply function on
393 FEGaussianBlur and send it off to Accelerate.
395 There is an interactive performance test: PerformanceTests/Interactive/blur-filter-timing.html
397 * platform/graphics/filters/FEGaussianBlur.cpp:
398 (WebCore::kernelPosition): Move this to a file static function from the .h.
399 (WebCore::accelerateBoxBlur): The Accelerate implementation.
400 (WebCore::standardBoxBlur): The default generic/standard implementation.
401 (WebCore::FEGaussianBlur::platformApplyGeneric): Use accelerate or the default form.
402 (WebCore::FEGaussianBlur::platformApply): Don't try the parallelJobs approach if Accelerate is available.
403 * platform/graphics/filters/FEGaussianBlur.h:
404 (WebCore::FEGaussianBlur::kernelPosition): Deleted. Move into the .cpp.
406 2014-12-08 Beth Dakin <bdakin@apple.com>
408 Copy and Lookup menu items should be disabled when something is not copyable
409 https://bugs.webkit.org/show_bug.cgi?id=139423
411 Reviewed by Tim Horton.
413 New function allowCopy() indicates whether the HitTestResult would allow itself to
414 be copied onto the pasteboard.
416 * rendering/HitTestResult.cpp:
417 (WebCore::HitTestResult::allowsCopy):
418 * rendering/HitTestResult.h:
420 2014-12-08 Chris Dumez <cdumez@apple.com>
422 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to changeAffectsVisualOverflow()
423 https://bugs.webkit.org/show_bug.cgi?id=139420
425 Reviewed by Simon Fraser.
427 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to
428 changeAffectsVisualOverflow(). This has no behavior change as
429 changeRequiresLayout() calls changeAffectsVisualOverflow(). However,
430 this is clearer as text-shadow affects the visual overflow (similarly
433 No new tests, no behavior change.
435 * rendering/style/RenderStyle.cpp:
436 (WebCore::RenderStyle::changeAffectsVisualOverflow):
437 (WebCore::RenderStyle::changeRequiresLayout):
439 2014-12-08 Anders Carlsson <andersca@apple.com>
443 * storage/StorageNamespaceImpl.cpp:
444 (WebCore::localStorageNamespaceMap):
446 2014-12-08 Anders Carlsson <andersca@apple.com>
448 WebStorageNamespaceProvider should create StorageNamespaceImpls
449 https://bugs.webkit.org/show_bug.cgi?id=139419
451 Reviewed by Andreas Kling.
456 * WebCore.xcodeproj/project.pbxproj:
457 Make StorageNamespaceImpl.h a private header.
459 * storage/StorageNamespaceImpl.cpp:
460 (WebCore::localStorageNamespaceMap):
463 (WebCore::StorageNamespaceImpl::createSessionStorageNamespace):
464 (WebCore::StorageNamespaceImpl::getOrCreateLocalStorageNamespace):
465 Add new functions for creating namespaces.
467 (WebCore::StorageNamespaceImpl::localStorageNamespace):
468 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
469 Call the new functions.
471 * storage/StorageNamespaceImpl.h:
472 Add new members, make sure to deprecate the ones we don't want anyone calling.
474 * storage/StorageNamespaceProvider.cpp:
475 (WebCore::StorageNamespaceProvider::localStorageNamespace):
476 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
477 * storage/StorageNamespaceProvider.h:
478 Pass the quota when creating storage namespaces.
480 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
482 Move the new :nth-child() and :nth-last-child() out of experimental
483 https://bugs.webkit.org/show_bug.cgi?id=139329
485 Reviewed by Andreas Kling.
488 Feedback has only been positive.
489 All the known issues have been reported to the CSS WG.
491 The #ifdef don't really work anymore anyway for :nth-child() and :nth-last-child().
493 * css/CSSSelector.cpp:
494 (WebCore::CSSSelector::selectorText):
495 * css/SelectorChecker.cpp:
496 (WebCore::SelectorChecker::checkOne):
498 2014-12-08 Benjamin Poulain <bpoulain@apple.com>
500 A selector should not match anything if there is a subselector after a non-scrollbar pseudo element
501 https://bugs.webkit.org/show_bug.cgi?id=139336
502 rdar://problem/19051623
504 Reviewed by Andreas Kling.
506 Tests: fast/css/duplicated-after-pseudo-element.html
507 fast/css/duplicated-before-pseudo-element.html
508 fast/css/simple-selector-after-pseudo-element.html
510 * cssjit/SelectorCompiler.cpp:
511 (WebCore::SelectorCompiler::constructFragments):
512 The code filtering out simple selectors was only considering
513 the relation CSSSelector::SubSelector. That comes from SelectorChecker where
514 the relation considered is the one from the previous selector.
516 In this case, the relation is the extracted from the current simple selector,
517 which is the relation with the following selector.
519 When a single simple selector was following a pseudo element, the relation evaluated
520 to descendant/adjacent/direct-adjacent and we were skipping the early return.
521 That simple selector was evaluated as a regular filter on the element.
523 In the CSS JIT, we can just remove that test altogether. Fragments are built one after
524 the other. By definition, the evaluated simple selector belong to the current fragment.
526 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
528 Fix the parsing of advanced :lang() after r176902
529 https://bugs.webkit.org/show_bug.cgi?id=139379
531 Reviewed by Andreas Kling.
533 There were two mistakes that were only caught in debug:
535 The lexer was not calling isIdentifierStart() before parseIdentifier().
536 Some identifier we were parsing should have been invalid.
537 This was caught with an assertion in parseIdentifier().
539 The other issue is that we were accumulating pointer to freed memory.
540 The tokenizer for LANGRANGE was creating a new string with a StringBuilder.
541 The problem is that CSSParserString does not keep the source string alive.
542 Consequently, the list of language range was accumulating pointers to dead
545 The fix there is to simply extend the token to take the original asterisk character
546 from the input. That is not elegant but that's efficient and we know
550 (WebCore::CSSParser::realLex):
551 * css/CSSGrammar.y.in: Fix the indentation of a language range rule.
553 2014-12-08 Anders Carlsson <andersca@apple.com>
555 Try to fix the 32-bit build.
559 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
561 Inline elements whose parents have small line-height are laid out too low
562 https://bugs.webkit.org/show_bug.cgi?id=139375
564 Reviewed by Dave Hyatt.
566 This is a port of the Blink patch at
567 https://src.chromium.org/viewvc/blink?revision=155253&view=revision.
569 When laying out inline elements, we try to align leaf children's parents'
570 baselines across the entire line. However, if you set line-height: 0px on a
571 span, the entire InlineBox which represents that span will have a height of
572 0, and therefore be laid out entirely on the baseline. In addition, we will
573 try to vertically center the leaf text in the span's InlineBox, which means
574 the leaf text will be vertically centered on the baseline. All the other
575 major browsers do not have this behavior; instead, they line up the boxes
578 This bug led to a rendering problem on the front page of the New York Times.
580 Here is the ChangeLog from the Blink patch:
582 Fix baseline position when it is outside the element's box
584 Specifically, we shouldn't force the baseline to be inside the element. IE
585 and FF don't do this, and it's incompatible with the CSS spec:
587 "The baseline of an 'inline-block' is the baseline of its last line box in
588 the normal flow, unless it has either no in-flow line boxes or if its
589 'overflow' property has a computed value other than 'visible', in which case
590 the baseline is the bottom margin edge."
591 -- http://www.w3.org/TR/CSS21/visudet.html#leading
593 It doesn't have a special case for "baseline is outside of the element's
596 Test: fast/text/small-line-height.html
598 * rendering/RenderBlock.cpp:
599 (WebCore::RenderBlock::baselinePosition):
601 2014-12-08 Eric Carlson <eric.carlson@apple.com>
603 [iOS] YouTube plug-in replacement should support partial urls
604 https://bugs.webkit.org/show_bug.cgi?id=139400
606 Reviewed by Alexey Proskuryakov.
608 * Modules/plugins/YouTubePluginReplacement.cpp:
609 (WebCore::YouTubePluginReplacement::youTubeURL): Call Document::completeURL.
611 2014-12-08 Anders Carlsson <andersca@apple.com>
615 * platform/network/soup/CookieJarSoup.cpp:
616 (WebCore::deleteAllCookiesModifiedSince):
618 2014-12-08 Andreas Kling <akling@apple.com>
621 <https://webkit.org/b/139146>
623 This change caused some unexpected assertions in line box teardown.
625 * rendering/RenderBlock.cpp:
626 (WebCore::RenderBlock::willBeDestroyed):
627 * rendering/RenderBlock.h:
628 * rendering/RenderBlockFlow.cpp:
629 (WebCore::RenderBlockFlow::willBeDestroyed):
630 * rendering/RenderElement.cpp:
631 (WebCore::RenderElement::willBeRemovedFromTree):
632 * rendering/RenderInline.cpp:
633 (WebCore::RenderInline::willBeDestroyed):
634 * rendering/RenderReplaced.cpp:
635 (WebCore::RenderReplaced::willBeDestroyed):
636 * rendering/RenderReplaced.h:
638 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
640 [iOS] Narrow non-breaking space does not fall back to a correct font
641 https://bugs.webkit.org/show_bug.cgi?id=139335
643 Reviewed by Enrica Casucci.
645 Test: fast/text/narrow-non-breaking-space.html
647 * platform/graphics/ios/FontCacheIOS.mm:
648 (WebCore::requiresCustomFallbackFont):
649 (WebCore::FontCache::getCustomFallbackFont):
651 2014-12-08 Daniel Bates <dabates@apple.com>
653 [iOS] Fix the WebKit build with the public SDK
655 Include header UIKit.h.
657 * platform/spi/ios/MediaPlayerSPI.h:
659 2014-12-08 Chris Dumez <cdumez@apple.com>
661 Revert r176293 & r176275
663 Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type
664 instead of size_t. There is some disagreement regarding the long-term direction
665 of the API and we shouldn’t leave the API partly transitioned to unsigned type
666 while making a decision.
669 * bindings/js/JSDOMBinding.h:
671 * bindings/js/JSWebGLRenderingContextCustom.cpp:
672 * cssjit/SelectorCompiler.cpp:
673 * editing/TextIterator.cpp:
674 (WebCore::SearchBuffer::append):
675 (WebCore::SearchBuffer::prependContext):
676 (WebCore::SearchBuffer::search):
677 (WebCore::SearchBuffer::length):
678 * html/HTMLFormElement.cpp:
679 (WebCore::removeFromVector):
680 * html/parser/HTMLParserIdioms.h:
681 * html/parser/XSSAuditor.cpp:
682 * platform/SharedBuffer.cpp:
683 (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
685 2014-12-08 Anders Carlsson <andersca@apple.com>
687 Make deleting all cookies after a given date a little more sane
688 https://bugs.webkit.org/show_bug.cgi?id=139409
690 Reviewed by Antti Koivisto.
695 * platform/network/PlatformCookieJar.h:
696 * platform/network/cf/CookieJarCFNet.cpp:
697 * platform/network/curl/CookieJarCurl.cpp:
698 * platform/network/soup/CookieJarSoup.cpp:
699 Rename deleteAllCookiesModifiedAfterDate to deleteAllCookiesModifiedSince and change it
700 to take an std::chrono::system_clock::time_point instead.
702 * platform/network/mac/CookieJarMac.mm:
703 (WebCore::cookieStorage):
704 Helper function that returns an NSHTTPCookieStorage given a network session.
706 (WebCore::deleteAllCookiesModifiedSince):
707 Get the cookie storage from the network storage instead of just getting the global one.
709 2014-12-08 Csaba Osztrogonác <ossy@webkit.org>
711 URTBF after r176953, add an unreachable return to make GCC happy.
713 * loader/FrameLoader.cpp:
714 (WebCore::FrameLoader::subresourceCachePolicy):
716 2014-12-08 Javier Fernandez <jfernandez@igalia.com>
718 [CSS Grid Layout] Grid items must set a new formatting context.
719 https://bugs.webkit.org/show_bug.cgi?id=139150
721 Reviewed by David Hyatt.
723 Grid item's margins must not collapse even when they may be adjoining to
724 its content's margins. Also, setting a new formatting context prevents any
725 'float' protruding content on the adjoining grid items.
727 This patch also renames the expandsToEncloseOverhangingFloats to be more generic now,
728 determining whether a new formatting context is set or not. This affects not only to
729 how floats behave, but whether margins should collapse or not.
731 Tests: fast/css-grid-layout/float-not-protruding-into-next-grid-item.html
732 fast/css-grid-layout/grid-item-margins-not-collapse.html
734 * rendering/RenderBlock.cpp:
735 (WebCore::RenderBlock::avoidsFloats): Using the new createsNewFormattingContext function.
736 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): Deleted.
737 * rendering/RenderBlock.h:
738 * rendering/RenderBlockFlow.cpp:
739 (WebCore::RenderBlockFlow::MarginInfo::MarginInfo): Using the new createsNewFormattingContext function.
740 (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): Using the new createsNewFormattingContext function.
741 (WebCore::RenderBlockFlow::layoutBlock): Using the new createsNewFormattingContext function.
742 (WebCore::RenderBlockFlow::computeOverflow): Using the new createsNewFormattingContext function.
743 (WebCore::RenderBlockFlow::addOverhangingFloats): Using the new createsNewFormattingContext function.
744 (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): Using the new createsNewFormattingContext function.
745 * rendering/RenderBox.cpp:
746 (WebCore::RenderBox::createsNewFormattingContext): Added.
747 (WebCore::RenderBox::avoidsFloats): Removed checks already defined in the new createsNewFormattingContext function.
748 * rendering/RenderBox.h:
749 (WebCore::RenderBox::isGridItem): Added.
751 2014-12-08 Daniel Bates <dabates@apple.com>
753 [iOS] Attempt to fix the public SDK build after <https://trac.webkit.org/r176841>
754 (https://bugs.webkit.org/show_bug.cgi?id=139227)
756 * platform/spi/ios/AVKitSPI.h:
758 2014-12-08 Chris Dumez <cdumez@apple.com>
760 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
761 https://bugs.webkit.org/show_bug.cgi?id=139350
763 Reviewed by Antti Koivisto.
765 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
766 and use m_loadType instead. ResourceRequest::cachePolicy() is meant to be passed
767 to the network stack, and isn't supposed to be used as input inside WebCore.
769 No new tests, no behavior change.
771 * loader/FrameLoader.cpp:
772 (WebCore::FrameLoader::subresourceCachePolicy):
774 2014-12-08 Philippe Normand <pnormand@igalia.com>
776 [GTK] UserMedia Permission Request API
777 https://bugs.webkit.org/show_bug.cgi?id=136449
779 Reviewed by Carlos Garcia Campos.
781 Very basic constraints validation support in the GStreamer
782 MediaStreamCenter. This is needed so the GTK C API tests using the
783 getUserMedia() API would not time out.
785 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
786 (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
787 (WebCore::MediaStreamCenterGStreamer::validateRequestConstraints):
788 (WebCore::MediaStreamCenterGStreamer::createMediaStream):
790 2014-12-08 Anders Carlsson <andersca@apple.com>
792 Remove ResourceHandle::loadsBlocked()
793 https://bugs.webkit.org/show_bug.cgi?id=139401
795 Reviewed by Daniel Bates.
797 This hasn't returned true since Leopard, so get rid of it.
800 (WebCore::Chrome::canRunModalNow):
801 * platform/network/ResourceHandle.h:
802 * platform/network/cf/ResourceHandleCFNet.cpp:
803 (WebCore::ResourceHandle::loadsBlocked): Deleted.
804 * platform/network/curl/ResourceHandleCurl.cpp:
805 (WebCore::ResourceHandle::loadsBlocked): Deleted.
806 * platform/network/mac/ResourceHandleMac.mm:
807 (WebCore::ResourceHandle::loadsBlocked): Deleted.
808 * platform/network/soup/ResourceHandleSoup.cpp:
809 (WebCore::ResourceHandle::loadsBlocked): Deleted.
811 2014-12-08 Chris Fleizach <cfleizach@apple.com>
813 AX: iOS: VoiceOver gets hung on some websites consistently.
814 https://bugs.webkit.org/show_bug.cgi?id=139331
816 Reviewed by Mario Sanchez Prada.
818 iFrames are attachments on iOS, but they do not have attachment views. As a result,
819 WebCore would return incorrect information for the element count and index of children elements.
821 No tests. Bug only manifests itself when iOS accessibility frameworks call into WebCore.
823 * accessibility/AccessibilityMockObject.h:
824 (WebCore::AccessibilityMockObject::isDetachedFromParent):
825 * accessibility/AccessibilityObject.h:
826 (WebCore::AccessibilityObject::isDetachedFromParent):
827 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
828 (-[WebAccessibilityObjectWrapper accessibilityElementCount]):
829 (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
830 (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
831 (-[WebAccessibilityObjectWrapper accessibilityContainer]):
833 2014-12-08 Doron Wloschowsky <doron_wloschowsky@scee.net>
835 Webkit using Harfbuzz does not display Arabic script correctly
836 https://bugs.webkit.org/show_bug.cgi?id=136337
838 Reviewed by Carlos Garcia Campos.
840 Using reinterpret_cast to convert hb_codepoint_t* into UChar*
841 doesn't work on big endian systems.
843 * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
844 (WebCore::harfBuzzGetGlyph):
846 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
848 [GStreamer] Major cleanup of AudioDestination implementation
849 https://bugs.webkit.org/show_bug.cgi?id=139370
851 Reviewed by Philippe Normand.
853 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
854 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
855 Add an audioresample element before the audio sink. The audio sink
856 might not be able to handle our sampling rate.
858 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
859 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
860 (WebCore::AudioDestinationGStreamer::stop):
861 (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady): Deleted.
862 Don't use a wavparse element but directly link the raw audio from
863 the source to the audio sink.
865 (WebCore::AudioDestinationGStreamer::start):
866 Catch errors when going to PLAYING early, we might not get an error
869 * platform/audio/gstreamer/AudioDestinationGStreamer.h:
870 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
871 (getGStreamerMonoAudioCaps):
872 (webKitWebAudioSrcConstructed):
873 (webKitWebAudioSrcChangeState):
874 Don't use a WAV encoder but directly output raw audio. Also don't
875 include a unneeded audioconvert element before the interleave.
877 (webKitWebAudioSrcLoop):
878 Add timestamps and durations to the output buffers, map them in
879 READWRITE mode and actually keep them mapped until we're sure
880 nothing is actually writing into them.
882 (webKitWebAudioSrcLoop):
883 Pause the task on errors instead of continuously calling it again
886 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
888 [GStreamer] Use gst_message_parse_buffering()
889 https://bugs.webkit.org/show_bug.cgi?id=139365
891 Reviewed by Philippe Normand.
893 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
894 (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
895 Use gst_message_parse_buffering() instead of manually getting
896 the percentage from the message's structure. While the latter
897 is supposed to work and part of the ABI stability guarantee,
898 it's just not nice and overly complicated.
900 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
902 [GStreamer] Minor cleanup of the AudioFileReader implementation
903 https://bugs.webkit.org/show_bug.cgi?id=139367
905 Reviewed by Philippe Normand.
907 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
908 (WebCore::AudioFileReader::~AudioFileReader):
909 Don't call gst_bus_remove_signal_watch(), the source was already
910 destroyed together with the main context and doing it again here
911 will give a g_critical().
913 (WebCore::AudioFileReader::handleSample):
914 Calculate the number of samples from the actual buffer size
915 and the bytes-per-frame instead of the buffer duration. Using
916 the buffer duration can lead to rounding errors and might cause
917 too few samples to be copied over later.
919 (WebCore::AudioFileReader::handleMessage):
920 Set the pipeline to GST_STATE_NULL immediately when receiving
921 errors to prevent other follow-up error messages from propagating
922 through the bus and spamming the user's terminal with g_warnings().
924 (WebCore::AudioFileReader::handleNewDeinterleavePad):
925 Sync the state of the queue and sink after deinterleave with
926 the parent state instead of just setting them to READY. That
927 way we potentially go to PAUSED state a bit earlier already
928 and prevent a potential race condition that could cause buffers
929 to arrive in the new elements in READY state already (which would
932 (WebCore::AudioFileReader::plugDeinterleave):
933 Handle multiple decodebin source pads by ignoring all following
934 ones just in case there are multiple for whatever reason.
936 (WebCore::AudioFileReader::decodeAudioForBusCreation):
937 Catch errors from going to PAUSED state early. We might not
938 get a error message at all if we're unlucky.
940 (WebCore::AudioFileReader::plugDeinterleave):
941 (WebCore::AudioFileReader::createBus):
942 (WebCore::AudioFileReader::handleSample):
943 Downmix to mono if required instead of just using the front
944 left channel and claiming it is mono. Downmixing from stereo
945 to mono will mix both channels instead of just taking the left.
947 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
949 [GStreamer] Handle CLOCK_LOST and LATENCY messages
950 https://bugs.webkit.org/show_bug.cgi?id=139341
952 Reviewed by Philippe Normand.
954 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
955 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
956 Handle CLOCK_LOST message by shortly going back to PAUSED state
957 and then to PLAYING again to let the pipeline select a new clock
959 This can happen if the stream that ends in a sink that provides
960 the current clock disappears, for example if the audio sink
961 provides the clock and the audio stream is disabled. It also
962 happens relatively often with HTTP adaptive streams when switching
963 between different variants of a stream.
965 Also handle the LATENCY message by triggering the default GStreamer
966 mechanism to update the latency. This can happen if the latency of
967 live elements changes, or for one reason or another a new live element
968 is added or removed from the pipeline.
970 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
972 [GStreamer] Use audio-filter property on GStreamer >= 1.4.2
973 https://bugs.webkit.org/show_bug.cgi?id=139360
975 Reviewed by Philippe Normand.
977 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
978 (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
979 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
980 Since 1.4.0 there is an audio-filter property we can use to place
981 the pitch-preserving filter at a more canonical position inside
982 the pipeline. Since 1.4.2 this property also handles all necessary
984 This simplifies our sink code a bit because we don't have to create
985 a custom sink bin anymore.
987 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
989 [GStreamer] Add video/flv to the list of supported mimetypes
990 https://bugs.webkit.org/show_bug.cgi?id=139344
992 Reviewed by Gustavo Noronha Silva.
994 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
995 (WebCore::mimeTypeCache):
996 Add video/flv additional to video/x-flv to the list of supported
997 mimetypes. It's used on some websites, e.g.
998 http://www.jwplayer.com/html5/formats/
1000 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
1002 [GStreamer] Remove GStreamer 0.10 #ifdefs.
1003 https://bugs.webkit.org/show_bug.cgi?id=138921
1005 Reviewed by Philippe Normand.
1007 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
1008 (WebCore::initializeGStreamer):
1009 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1010 (WebCore::MediaPlayerPrivateGStreamer::buffered):
1011 Remove GStreamer 0.10 #ifdefs, we depend on >= 1.0.3 at least.
1013 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
1015 [GStreamer] Add application/x-mpegurl to the list of supported mimetypes.
1016 https://bugs.webkit.org/show_bug.cgi?id=139343
1018 Reviewed by Gustavo Noronha Silva.
1020 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1021 (WebCore::mimeTypeCache):
1022 It's an alternative mimetype for the already supported
1023 application/vnd.apple.mpegurl (aka HLS) and adding it
1024 allows all streams on http://www.jwplayer.com/html5/hls/
1027 2014-12-07 Gwang Yoon Hwang <yoon@igalia.com>
1029 [TextureMapper] Normalize pattern transform for pattern compositing
1030 https://bugs.webkit.org/show_bug.cgi?id=139374
1032 Reviewed by Martin Robinson.
1034 In CoordGfx/TexMapGL, pattern compositing (for background image) uses
1035 the patternTransform shader uniform. However, current implementation
1036 miscalculates its transform matrix. It uses simple rectToRect
1037 transformationMatrix which produces unnormalized garbage term.
1038 This causes unexpected behavior at the fragmentation stage in some
1041 It should calculate its scale based on tileSize and contentSize,
1042 and its position based on tilePhase and contentSize.
1044 No new tests because the bug only occurs on some mobile GPUs.
1046 * platform/graphics/texmap/TextureMapperLayer.cpp:
1047 (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
1049 2014-12-07 Youenn Fablet <youenn.fablet@crf.canon.fr>
1051 [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
1052 https://bugs.webkit.org/show_bug.cgi?id=128739
1054 Reviewed by Martin Robinson.
1056 Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
1057 Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
1058 Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
1059 Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.
1061 Test: http/tests/xmlhttprequest/response-special-characters.html
1063 * platform/network/curl/CurlDownload.cpp:
1064 (WebCore::CurlDownload::headerCallback): Removed header conversion.
1065 * platform/network/curl/ResourceHandleManager.cpp:
1066 (WebCore::headerCallback): Ditto.
1067 (WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.
1068 * platform/network/soup/ResourceRequestSoup.cpp:
1069 (WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
1070 (WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
1071 (WebCore::ResourceRequest::toSoupMessage): Ditto.
1072 (WebCore::ResourceRequest::updateFromSoupMessage):
1073 * platform/network/soup/ResourceResponseSoup.cpp:
1074 (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
1075 (WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.
1077 2014-12-07 Dan Bernstein <mitz@apple.com>
1079 Introduce and deploy a function that allocates and returns an instance of a soft-linked class
1080 https://bugs.webkit.org/show_bug.cgi?id=139348
1082 Reviewed by Anders Carlsson.
1084 In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler
1085 picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead
1086 to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo
1087 doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus
1088 avoiding the ambiguity.
1090 * editing/mac/DataDetection.mm:
1091 (WebCore::DataDetection::detectItemAroundHitTestResult):
1092 * platform/audio/ios/MediaSessionManagerIOS.mm:
1093 (-[WebMediaSessionHelper allocateVolumeView]):
1094 (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
1095 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
1096 (WebCore::AudioSourceProviderAVFObjC::createMix):
1097 * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
1098 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1099 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1100 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
1101 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
1102 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
1103 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
1104 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
1105 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1106 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
1107 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
1108 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):
1109 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1110 (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
1111 (WebCore::SourceBufferPrivateAVFObjC::abort):
1112 (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
1114 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1115 (PlatformCALayerMac::PlatformCALayerMac): Cast the result of +alloc to an instance of the
1118 * platform/graphics/mac/FontMac.mm:
1119 (WebCore::showLetterpressedGlyphsWithAdvances):
1120 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1121 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1122 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1123 * platform/graphics/mac/PDFDocumentImageMac.mm:
1124 (WebCore::PDFDocumentImage::createPDFDocument):
1125 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
1126 (SOFT_LINK_CONSTANT):
1127 (-[WebSpeechSynthesisWrapper speakUtterance:]):
1128 * platform/ios/WebCoreMotionManager.mm:
1129 (-[WebCoreMotionManager initializeOnMainThread]):
1130 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1131 (-[WebAVPlayerController init]):
1132 (WebVideoFullscreenInterfaceAVKit::setupFullscreen):
1133 * platform/mac/ContentFilterMac.mm:
1134 (WebCore::ContentFilter::ContentFilter):
1136 * platform/mac/SoftLinking.h: Added alloc##className##instance().
1138 * platform/mac/WebVideoFullscreenController.mm:
1139 (-[WebVideoFullscreenController setVideoElement:]):
1140 * platform/mediastream/mac/AVAudioCaptureSource.mm:
1141 (WebCore::AVAudioCaptureSource::setupCaptureSession):
1142 * platform/mediastream/mac/AVCaptureDeviceManager.mm:
1143 (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType):
1144 * platform/mediastream/mac/AVMediaCaptureSource.mm:
1145 (WebCore::AVMediaCaptureSource::setupSession):
1146 * platform/mediastream/mac/AVVideoCaptureSource.mm:
1147 (WebCore::AVVideoCaptureSource::setupCaptureSession):
1148 * platform/network/ios/QuickLook.mm:
1149 (WebCore::registerQLPreviewConverterIfNeeded):
1150 (WebCore::QuickLookHandle::QuickLookHandle):
1152 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
1154 [GTK] Add Since tags to GObject DOM bindings documentation
1155 https://bugs.webkit.org/show_bug.cgi?id=139356
1157 Reviewed by Gustavo Noronha Silva.
1159 Now that we have a small stable API, and new symbols are added
1160 manually, we can also add the version to the symbols file, that
1161 the code generator can ue to add Since tags to the gtk-doc.
1163 * bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols
1165 * bindings/scripts/CodeGeneratorGObject.pm:
1166 (GenerateConstants): Add Since tag to gtk-doc if there's a version
1167 number for the symbol in the .symbols file.
1168 (GenerateFunction): Ditto.
1169 (ReadStableSymbols):
1171 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
1173 [GTK] Missing API detected in GObject DOM bindings after r176630
1174 https://bugs.webkit.org/show_bug.cgi?id=139201
1176 Reviewed by Gustavo Noronha Silva.
1178 Bring back WebKitDOMDeprecated and add custom versions of the
1179 removed symbols as deprecated in favor of the new ones. Also add
1180 the new ones as stable API.
1182 * CMakeLists.txt: Pass a list of additional dependencies to GENERATE_BINDINGS.
1183 * PlatformGTK.cmake: Ditto.
1184 * PlatformMac.cmake: Ditto.
1185 * bindings/gobject/WebKitDOMDeprecated.cpp: Added.
1186 (webkit_dom_html_element_get_inner_html):
1187 (webkit_dom_html_element_set_inner_html):
1188 (webkit_dom_html_element_get_outer_html):
1189 (webkit_dom_html_element_set_outer_html):
1190 * bindings/gobject/WebKitDOMDeprecated.h: Added.
1191 * bindings/gobject/WebKitDOMDeprecated.symbols: Added.
1192 * bindings/gobject/webkitdom.symbols:
1194 2014-12-06 Csaba Osztrogonác <ossy@webkit.org>
1196 URTBF after r176915.
1198 DisplayRefreshMonitorClient is the parent class of GraphicsLayerUpdater
1199 only if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is true, so override
1200 is incorrect if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is false.
1202 That's why r176915 broke the build on non PLATFORM(COCOA) platforms,
1203 such as GTK, EFL, Apple Windows.
1205 Additionally displayRefreshFired is only used inside USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
1206 guard, so there is no reason to define it for non COCOA platforms.
1208 * platform/graphics/GraphicsLayerUpdater.cpp:
1209 * platform/graphics/GraphicsLayerUpdater.h:
1211 2014-12-06 Anders Carlsson <andersca@apple.com>
1213 Fix build with newer versions of clang.
1214 rdar://problem/18978733
1216 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
1218 * page/scrolling/AsyncScrollingCoordinator.h:
1219 * page/scrolling/ScrollingStateFixedNode.h:
1220 * page/scrolling/ScrollingStateFrameScrollingNode.h:
1221 * page/scrolling/ScrollingStateOverflowScrollingNode.h:
1222 * page/scrolling/ScrollingStateStickyNode.h:
1223 * page/scrolling/ScrollingTreeFrameScrollingNode.h:
1224 (WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll): Deleted.
1225 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
1226 * platform/graphics/GraphicsLayerUpdater.h:
1227 * platform/mac/ScrollbarThemeMac.h:
1228 (WebCore::ScrollbarThemeMac::supportsControlTints): Deleted.
1229 (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): Deleted.
1230 * rendering/RenderLayerCompositor.h:
1231 * rendering/RenderSnapshottedPlugIn.h:
1233 2014-12-06 Anders Carlsson <andersca@apple.com>
1235 Fix build with newer versions of clang.
1236 rdar://problem/18978687
1238 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
1240 * html/HTMLElement.h:
1241 * html/HTMLMediaElement.h:
1242 * html/track/VTTCue.h:
1243 * loader/FrameNetworkingContext.h:
1244 (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect): Deleted.
1245 * loader/cache/CachedImage.h:
1246 * page/SuspendableTimer.h:
1247 * platform/Scrollbar.h:
1248 * platform/graphics/InbandTextTrackPrivate.h:
1249 * rendering/RenderBlockFlow.h:
1251 2014-12-06 Anders Carlsson <andersca@apple.com>
1253 Follow-up build fix.
1255 * Configurations/Base.xcconfig:
1257 2014-12-06 Anders Carlsson <andersca@apple.com>
1259 Fix build with newer versions of clang.
1260 rdar://problem/18978689
1262 Disable the "inconsistent missing override" warning due to our use of macros in SVG where it's hard to
1263 know whether we can add an override or not.
1265 Also, cast return values of +alloc to the right type, and add some casts for vector iterator arithmetic.
1267 * Configurations/Base.xcconfig:
1268 * Modules/webdatabase/DatabaseBackendBase.cpp:
1269 (WebCore::guidForOriginAndName):
1270 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1271 (-[WebAccessibilityObjectWrapper _stringForRange:attributed:]):
1272 * editing/cocoa/HTMLConverter.mm:
1273 (_shadowForShadowStyle):
1274 (HTMLConverter::_addTableForElement):
1275 * platform/graphics/SVGGlyph.cpp:
1276 (WebCore::isCompatibleArabicForm):
1277 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
1278 (WebCore::AudioSourceProviderAVFObjC::createMix):
1279 * platform/graphics/mac/FontMac.mm:
1280 (WebCore::showLetterpressedGlyphsWithAdvances):
1281 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
1282 (-[WebSpeechSynthesisWrapper speakUtterance:]):
1283 * platform/ios/WebCoreMotionManager.mm:
1284 (-[WebCoreMotionManager initializeOnMainThread]):
1285 * rendering/RenderTableSection.cpp:
1286 (WebCore::RenderTableSection::spannedRows):
1287 (WebCore::RenderTableSection::spannedColumns):
1289 2014-12-06 peavo@outlook.com <peavo@outlook.com>
1291 [WinCairo] Compile error, missing guard.
1292 https://bugs.webkit.org/show_bug.cgi?id=139338
1294 Reviewed by Alex Christensen.
1296 There is missing a ENABLE(CSS_SELECTORS_LEVEL4) guard in CSSParser.cpp.
1298 * css/CSSParser.cpp:
1299 (WebCore::CSSParser::realLex):
1301 2014-12-05 Chris Fleizach <cfleizach@apple.com>
1303 AX: I cannot activate links on the mobile version of news.google.com
1304 https://bugs.webkit.org/show_bug.cgi?id=139330
1306 Reviewed by Simon Fraser.
1308 This website only listens for touch events. VoiceOver normally dispatches click and mouse events,
1309 so on iOS this falls and VoiceOver is not able to activate anything.
1311 The solution here is to dispatch simulated touch down/up events.
1313 Test: platform/ios-simulator/ios-accessibility/press-fires-touch-events.html
1315 * accessibility/AccessibilityObject.cpp:
1316 (WebCore::AccessibilityObject::press):
1317 (WebCore::AccessibilityObject::dispatchTouchEvent):
1318 * accessibility/AccessibilityObject.h:
1319 (WebCore::AccessibilityObject::isDetachedFromParent):
1320 * page/EventHandler.h:
1321 * page/ios/EventHandlerIOS.mm:
1322 (WebCore::EventHandler::dispatchSimulatedTouchEvent):
1323 * platform/ios/PlatformEventFactoryIOS.h:
1324 * platform/ios/PlatformEventFactoryIOS.mm:
1325 (WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
1326 (WebCore::PlatformEventFactory::createPlatformSimulatedTouchEvent):
1328 2014-12-05 Myles C. Maxfield <mmaxfield@apple.com>
1330 Directional single quotation marks are not rotated in vertical text
1331 https://bugs.webkit.org/show_bug.cgi?id=138526
1333 Reviewed by Darin Adler.
1335 In vertical text, directional single quotation marks are not rotated along with
1336 the rest of the letters.
1338 Test: fast/text/vertical-quotation-marks.html
1340 * platform/graphics/FontGlyphs.cpp:
1341 (WebCore::shouldIgnoreRotation):
1343 2014-12-05 Dhi Aurrahman <diorahman@rockybars.com>
1345 Implement parser for :lang pseudo class selector arguments that contain wildcard '*' subtags
1346 https://bugs.webkit.org/show_bug.cgi?id=139014
1348 Reviewed by Benjamin Poulain.
1350 Consider each language range in :lang() that consists of an asterisk
1351 immediately followed by an identifier beginning with an ASCII hyphen
1352 as a valid input for the selector as specified in [1].
1354 [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
1356 Test: fast/css/parsing-css-lang.html
1358 * css/CSSGrammar.y.in:
1359 * css/CSSParser.cpp:
1360 (WebCore::CSSParser::realLex):
1362 2014-12-05 Simon Fraser <simon.fraser@apple.com>
1364 Programmatic scrolling and content changes are not always synchronized
1365 https://bugs.webkit.org/show_bug.cgi?id=139245
1366 rdar://problem/18833612
1368 Reviewed by Anders Carlsson.
1370 For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate()
1371 calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested
1372 scroll position to the scrolling thread.
1374 Once the scrolling thread commits, it calls back to the main thread via
1375 scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second
1376 call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem,
1377 because some other scroll may have happened in the meantime; when the timer
1378 fires, it can sometimes restore a stale scroll position.
1380 Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll()
1381 for programmatic scrolls, since we know that requestScrollPositionUpdate()
1382 already did the updateScrollPositionAfterAsyncScroll().
1385 ManualTests/programmatic-scroll-flicker.html
1387 * page/FrameView.cpp:
1388 (WebCore::FrameView::reset): nullptr.
1389 (WebCore::FrameView::setScrollPosition): Ditto.
1390 (WebCore::FrameView::setWasScrolledByUser): Ditto.
1391 * page/scrolling/AsyncScrollingCoordinator.cpp:
1392 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for
1393 isProgrammaticScroll just to make sure we use the same value for the duration of this function.
1394 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing
1395 if this is a programmatic scroll.
1397 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1401 * platform/spi/mac/TUCallSPI.h:
1403 2014-12-05 Roger Fong <roger_fong@apple.com>
1405 [Win] proj files copying over too many resources..
1406 https://bugs.webkit.org/show_bug.cgi?id=139315.
1407 <rdar://problem/19148278>
1409 Reviewed by Brent Fulgham.
1411 * WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output.
1413 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1415 Use the system string for telephone number menu
1416 https://bugs.webkit.org/show_bug.cgi?id=139324
1417 <rdar://problem/18726471>
1419 * platform/spi/mac/TUCallSPI.h: Added.
1420 Actually add the SPI header from the last commit.
1422 2014-12-05 Tim Horton <timothy_horton@apple.com>
1424 Use the system string for telephone number menu
1425 https://bugs.webkit.org/show_bug.cgi?id=139324
1426 <rdar://problem/18726471>
1428 Reviewed by Anders Carlsson.
1430 * WebCore.xcodeproj/project.pbxproj:
1431 * platform/spi/mac/TUCallSPI.h: Added.
1434 2014-12-05 Jer Noble <jer.noble@apple.com>
1436 [MSE][Mac] Return absolute value of error code from CDMSessionMediaSourceAVFObjC::update().
1437 https://bugs.webkit.org/show_bug.cgi?id=139316
1439 Reviewed by Eric Carlson.
1441 Similarly to our asynchronous error reporting, return the absolute value of the error code.
1443 * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1444 (WebCore::systemCodeForError):
1445 (WebCore::CDMSessionMediaSourceAVFObjC::update):
1447 2014-12-05 Anders Carlsson <andersca@apple.com>
1449 Fix build on Windows.
1451 * page/SessionIDHash.h:
1453 2014-12-05 Zalan Bujtas <zalan@apple.com>
1455 Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
1456 https://bugs.webkit.org/show_bug.cgi?id=139311
1458 Reviewed by Tim Horton.
1462 * rendering/RenderEmbeddedObject.cpp:
1463 (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
1465 2014-12-05 Andreas Kling <akling@apple.com>
1467 PassRef should deref on destruction if pointee was not moved.
1468 <https://webkit.org/b/139309>
1470 Reviewed by Antti Koivisto.
1472 Remove calls to PassRef::dropRef() since it's no longer necessary to manually
1473 notify PassRef that you didn't move the pointee.
1475 * rendering/RenderElement.cpp:
1476 (WebCore::RenderElement::createFor):
1477 (WebCore::RenderElement::setStyle):
1478 * style/StyleResolveTree.cpp:
1479 (WebCore::Style::resolveTree):
1481 2014-12-05 Benjamin Poulain <bpoulain@apple.com>
1483 Fix style sharing with the "type" and "readonly" attributes
1484 https://bugs.webkit.org/show_bug.cgi?id=139283
1486 Reviewed by Antti Koivisto.
1488 There are two bugs adressed with this patch:
1489 1) The attributes "type" and "readonly" where only handled correctly
1490 for input elements. For everything else, they could incorrectly
1491 be ignored for style sharing.
1492 2) The handling of attributes was incorrect for selector lists, leading
1493 to various bugs (incorrect style sharing in some cases, disabling
1494 style sharing on valid cases).
1496 For [1], the problem was that attribute checking had been limited to
1497 StyleResolver::canShareStyleWithControl(). That function is for handling
1498 the special states of input element. For any other element, the attributes
1499 were simply ignored.
1501 For [2], there were a bunch of small problems. First, containsUncommonAttributeSelector()
1502 was not recursive, which caused it to ignored any nested selector list. This used to be
1503 correct but since we have advanced selectors we can no longer assumed selectors are not nested.
1505 A second issue was that any attribute in a selector list was causing us to fall back
1506 to the slow case. Now that we have the fast :matches(), we really don't want that.
1508 The function containsUncommonAttributeSelector() was transformed into a recursive function
1509 tracking where we are in the selector.
1511 At the entry point, we start with the flag "startsOnRightmostElement" set to true. The flag is then
1512 updated on the stack of each recursive call.
1514 For example, "webkit > is:matches(freaking > awesome)". We evalute "is" with the flag to true, then recurse
1515 into evaluating "freaking > awesome" with the flag still set to true. When we evalute ">", the flag
1516 is set to false to evaluate any following selectors.
1517 After evaluating "freaking > awesome", we go back to our previous stack frame, and the flag
1518 is back to true and we can continue evaluating with the curren top level state.
1520 From some logging, I discovered that the attribute handling is way too aggressive.
1521 This is not a regression and I cannot fix that easily so I left a fixme.
1523 Tests: fast/css/data-attribute-style-sharing-1.html
1524 fast/css/data-attribute-style-sharing-2.html
1525 fast/css/data-attribute-style-sharing-3.html
1526 fast/css/data-attribute-style-sharing-4.html
1527 fast/css/data-attribute-style-sharing-5.html
1528 fast/css/data-attribute-style-sharing-6.html
1529 fast/css/data-attribute-style-sharing-7.html
1530 fast/css/readonly-attribute-style-sharing-1.html
1531 fast/css/readonly-attribute-style-sharing-2.html
1532 fast/css/readonly-attribute-style-sharing-3.html
1533 fast/css/readonly-attribute-style-sharing-4.html
1534 fast/css/readonly-attribute-style-sharing-5.html
1535 fast/css/readonly-attribute-style-sharing-6.html
1536 fast/css/readonly-attribute-style-sharing-7.html
1537 fast/css/type-attribute-style-sharing-1.html
1538 fast/css/type-attribute-style-sharing-2.html
1539 fast/css/type-attribute-style-sharing-3.html
1540 fast/css/type-attribute-style-sharing-4.html
1541 fast/css/type-attribute-style-sharing-5.html
1542 fast/css/type-attribute-style-sharing-6.html
1543 fast/css/type-attribute-style-sharing-7.html
1546 (WebCore::containsUncommonAttributeSelector):
1547 (WebCore::RuleData::RuleData):
1548 (WebCore::selectorListContainsAttributeSelector): Deleted.
1549 * css/StyleResolver.cpp:
1550 (WebCore::StyleResolver::canShareStyleWithControl):
1551 (WebCore::StyleResolver::canShareStyleWithElement):
1553 2014-12-05 Jer Noble <jer.noble@apple.com>
1555 [WTF] MediaTime should support round-tripping from and to doubles.
1556 https://bugs.webkit.org/show_bug.cgi?id=139248
1558 Reviewed by Eric Carlson.
1560 Check whether the MediaTime's underlying data is floating point before converting
1561 to a CMTime or QTTime.
1563 * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
1564 (WebCore::toCMTime):
1565 * platform/graphics/mac/MediaTimeQTKit.mm:
1566 (WebCore::toQTTime):
1568 2014-12-05 Anders Carlsson <andersca@apple.com>
1570 Add a private browsing mode to MiniBrowser
1571 https://bugs.webkit.org/show_bug.cgi?id=139308
1573 Reviewed by Sam Weinig.
1575 Use -1 instead of -2 for the deleted value.
1577 * page/SessionIDHash.h:
1579 2014-12-05 Chris Dumez <cdumez@apple.com>
1581 Move 'text-emphasis-style' CSS property to the new StyleBuilder
1582 https://bugs.webkit.org/show_bug.cgi?id=139285
1584 Reviewed by Sam Weinig.
1586 Move 'text-emphasis-style' CSS property to the new StyleBuilder by
1589 No new tests, no behavior change.
1591 * css/CSSPropertyNames.in:
1592 * css/DeprecatedStyleBuilder.cpp:
1593 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1594 (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue): Deleted.
1595 (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue): Deleted.
1596 (WebCore::ApplyPropertyTextEmphasisStyle::applyValue): Deleted.
1597 (WebCore::ApplyPropertyTextEmphasisStyle::createHandler): Deleted.
1598 * css/StyleBuilderCustom.h:
1599 (WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
1600 (WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
1601 (WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
1603 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1605 [iOS] remove "enter optimized fullscreen" gesture
1606 https://bugs.webkit.org/show_bug.cgi?id=139301
1608 Reviewed by Jer Noble.
1610 * Modules/mediacontrols/mediaControlsiOS.js:
1611 (ControllerIOS.prototype.handleWrapperTouchStart): Remove gesture recognizer.
1613 2014-12-05 Beth Dakin <bdakin@apple.com>
1615 rdar://problem/19156353 Additional build-fixes needed.
1617 Rubber-stamped by Tim Horton.
1619 This is a bit unfortunate, but we need to always forward-declare this for now.
1620 * platform/spi/mac/QuickLookMacSPI.h:
1622 2014-12-05 David Kilzer <ddkilzer@apple.com>
1624 FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY
1625 <http://webkit.org/b/139286>
1627 Reviewed by Daniel Bates.
1629 * Configurations/FeatureDefines.xcconfig: Switch back to using
1630 PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8.
1632 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1634 [iOS] allow host application to opt-out of alternate fullscreen pt. 2
1635 https://bugs.webkit.org/show_bug.cgi?id=139227
1637 Reviewed by Jer Noble and Anders Carlsson
1639 * WebCore.exp.in: Export HTMLMediaSession::allowsAlternateFullscreen, change the signature of
1640 WebVideoFullscreenInterfaceAVKit::setupFullscreen.
1642 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1643 (-[WebVideoFullscreenController enterFullscreen:mode:]): Update for
1644 WebVideoFullscreenInterfaceAVKit::setupFullscreen change.
1646 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add argument to setupFullscreen.
1647 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1648 (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
1650 2014-12-05 Shivakumar JM <shiva.jm@samsung.com>
1652 Fix build warning in WebCore/platform/graphics module
1653 https://bugs.webkit.org/show_bug.cgi?id=139290
1655 Reviewed by Carlos Garcia Campos.
1657 Fix a build warning by removing parameter name from function.
1659 No new tests, no behavior change.
1661 * platform/graphics/freetype/FontCacheFreeType.cpp:
1662 (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
1664 2014-12-05 sungmin cho <sungmin17.cho@lge.com>
1666 GraphicsLayerTextureMapper: Rename parameter to be more clear
1667 https://bugs.webkit.org/show_bug.cgi?id=139288
1669 Reviewed by Martin Robinson.
1671 Rename 'media' to 'platformLayer'.
1673 No new tests, no change in functionality.
1675 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1676 (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
1678 2014-12-04 Mark Rowe <mrowe@apple.com>
1680 Fix pre-Yosemite builds.
1682 The #ifs in two SPI wrapper headers were incorrect, resulting in code being included
1683 prior to Yosemite that required Yosemite to compile.
1685 * platform/spi/mac/NSSharingServicePickerSPI.h:
1686 * platform/spi/mac/NSSharingServiceSPI.h:
1688 2014-12-02 Brian J. Burg <burg@cs.washington.edu>
1690 Web Inspector: timeline probe records have inaccurate per-probe hit counts
1691 https://bugs.webkit.org/show_bug.cgi?id=138976
1693 Reviewed by Joseph Pecoraro.
1695 Update the signature for breakpointActionProbe to take batchId and sampleId.
1696 Covered by existing test inspector-protocol/debugger/didSampleProbe-multiple-probes.html.
1698 * inspector/InspectorTimelineAgent.cpp:
1699 (WebCore::InspectorTimelineAgent::breakpointActionProbe):
1700 * inspector/InspectorTimelineAgent.h:
1701 * inspector/TimelineRecordFactory.cpp:
1702 (WebCore::TimelineRecordFactory::createProbeSampleData):
1703 * inspector/TimelineRecordFactory.h:
1705 2014-12-04 Adenilson Cavalcanti <cavalcantii@gmail.com>
1707 Groove/inset/outset borders show solid if the color is black
1708 https://bugs.webkit.org/show_bug.cgi?id=58608
1710 Reviewed by Simon Fraser.
1712 Test: fast/borders/mixed-border-style2.html
1714 This patch will lighten/darken the border side colors, handling
1715 border decoration in a similar way as Firefox does.
1717 * rendering/RenderObject.cpp:
1718 (WebCore::RenderObject::drawLineForBoxSide):
1719 (WebCore::RenderObject::calculateBorderStyleColor):
1720 * rendering/RenderObject.h:
1722 2014-12-04 Chris Dumez <cdumez@apple.com>
1724 Move 'webkit-aspect-ratio' CSS property to the new StyleBuilder
1725 https://bugs.webkit.org/show_bug.cgi?id=139250
1727 Reviewed by Sam Weinig.
1729 Move 'aspect-ratio' CSS property to the new StyleBuilder by
1732 No new tests, no behavior change.
1734 * css/CSSPropertyNames.in:
1735 * css/DeprecatedStyleBuilder.cpp:
1736 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1737 (WebCore::ApplyPropertyAspectRatio::applyInheritValue): Deleted.
1738 (WebCore::ApplyPropertyAspectRatio::applyInitialValue): Deleted.
1739 (WebCore::ApplyPropertyAspectRatio::applyValue): Deleted.
1740 (WebCore::ApplyPropertyAspectRatio::createHandler): Deleted.
1741 * css/StyleBuilderCustom.h:
1742 (WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
1743 (WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
1744 (WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
1746 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1748 Further fix the 32-bit build.
1750 * page/mac/TextIndicatorWindow.mm:
1751 (WebCore::TextIndicatorWindow::setTextIndicator):
1753 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1755 Fix the 32-bit build.
1757 * page/mac/TextIndicatorWindow.h:
1758 * page/mac/TextIndicatorWindow.mm:
1759 (WebCore::TextIndicatorWindow::setTextIndicator):
1761 2014-12-04 Tim Horton <timothy_horton@apple.com>
1763 TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2
1764 https://bugs.webkit.org/show_bug.cgi?id=139252
1765 <rdar://problem/19140827>
1767 Reviewed by Anders Carlsson.
1770 * page/TextIndicator.cpp:
1771 (WebCore::TextIndicator::createWithSelectionInFrame):
1772 (WebCore::TextIndicator::TextIndicator):
1773 * page/TextIndicator.h:
1774 (WebCore::TextIndicator::selectionRectInWindowCoordinates):
1775 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates):
1776 (WebCore::TextIndicator::selectionRectInScreenCoordinates): Deleted.
1777 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates): Deleted.
1778 Go back to keeping the rects in "window" coordinates.
1780 * page/mac/TextIndicatorWindow.h:
1781 * page/mac/TextIndicatorWindow.mm:
1782 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
1783 (WebCore::TextIndicatorWindow::setTextIndicator):
1784 Let callers pass in the contentRect instead of trying to share the code
1785 to compute it, since it needs to be different for legacy and modern WebKit.
1787 2014-12-04 Oliver Hunt <oliver@apple.com>
1789 Serialization of MapData object provides unsafe access to internal types
1790 https://bugs.webkit.org/show_bug.cgi?id=138653
1792 Reviewed by Geoffrey Garen.
1794 We now keep the value portion of the key/value pair in MapData as a
1795 separate stack. This allows us to maintain the spec semantic of
1796 "atomic" serialisation of the key/value pair without retaining the
1797 use of a potentially invalid iterator.
1799 * bindings/js/SerializedScriptValue.cpp:
1800 (WebCore::CloneSerializer::serialize):
1802 2014-12-04 Radu Stavila <stavila@adobe.com>
1804 [SVG Masking] Add support for referencing <mask> elements from -webkit-mask-image
1805 https://bugs.webkit.org/show_bug.cgi?id=139092
1807 Reviewed by Simon Fraser.
1809 This patch improves the -webkit-mask-image property by allowing it to reference
1810 a <mask> element defined in an inline or external SVG document.
1811 Up until now, each image to be used as a mask consisted of a FillLayer object
1812 whose m_image member represented the mask. Now, in order to accomodate
1813 <mask> elements referenced by a fragment identifier (e.g. file.svg#mask1)
1814 a new class was created (MaskImageOperation) and added as a member of the
1815 FillLayer. As such, from now on, all FillLayer objects used for masking will
1816 store the masking information in this new member.
1817 When parsing the -webkit-mask-image property (or the -webkit-mask shorthand)
1818 a new MaskImageOperation object is created for each image. If the value represents
1819 an external URL, a pending SVG document will be created which will be loaded
1820 during the phase that loads the pending resources. When the download is complete,
1821 the MaskImageOperation is notified by the CachedSVGDocument class and checks if
1822 the received download is a valid SVG and the requested fragment identifier
1823 actually exists and identifies a <mask> element. If it does, that element's
1824 renderer (of type RenderSVGResourceMasker) will be used when painting the mask layers.
1825 Otherwise, the MaskImageOperation class will use the already downloaded data
1826 buffer to create a CachedImage from it and use that instead, basically emulating
1827 the previous behavior, when only images were accepted. This ensures that all existing
1828 behavior, like painting entire SVGs, painting normal images (e.g. PNG/JPG), painting
1829 generated images (e.g. linear-gradient) works as it did before.
1831 No new tests required, this patch doesn't change any current functionality.
1832 It only adds support for referencing <mask> elements for the -webkit-mask-image
1833 property. This is sub-part 1 of the bigger patch https://bugs.webkit.org/show_bug.cgi?id=129682.
1836 * WebCore.vcxproj/WebCore.vcxproj:
1837 * WebCore.vcxproj/WebCore.vcxproj.filters:
1838 * WebCore.xcodeproj/project.pbxproj:
1840 (WebCore::CSSValue::cssText):
1841 (WebCore::CSSValue::destroy):
1843 (WebCore::CSSValue::isWebKitCSSResourceValue):
1844 * css/StyleResolver.cpp:
1845 (WebCore::StyleResolver::State::clear):
1846 (WebCore::StyleResolver::createMaskImageOperations):
1847 * css/StyleResolver.h:
1848 (WebCore::StyleResolver::State::maskImagesWithPendingSVGDocuments):
1849 * css/WebKitCSSResourceValue.cpp: Added.
1850 (WebCore::WebKitCSSResourceValue::WebKitCSSResourceValue):
1851 (WebCore::WebKitCSSResourceValue::customCSSText):
1852 (WebCore::WebKitCSSResourceValue::isCSSValueNone):
1853 * css/WebKitCSSResourceValue.h: Added.
1854 (WebCore::WebKitCSSResourceValue::create):
1855 (WebCore::WebKitCSSResourceValue::innerValue):
1856 * loader/cache/CachedResourceLoader.cpp:
1857 (WebCore::CachedResourceLoader::addCachedResource):
1858 * loader/cache/CachedResourceLoader.h:
1859 * loader/cache/CachedSVGDocument.cpp:
1860 (WebCore::CachedSVGDocument::CachedSVGDocument):
1861 (WebCore::CachedSVGDocument::finishLoading):
1862 * loader/cache/CachedSVGDocument.h:
1863 * loader/cache/CachedSVGDocumentReference.cpp:
1864 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1865 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1866 (WebCore::CachedSVGDocumentReference::load):
1867 * loader/cache/CachedSVGDocumentReference.h:
1868 * page/FrameView.cpp:
1869 (WebCore::FrameView::isSVGDocument):
1872 (WebCore::Page::createPageFromBuffer):
1874 * platform/ScrollView.h:
1875 (WebCore::ScrollView::isSVGDocument):
1876 * platform/graphics/MaskImageOperation.cpp: Added.
1877 (WebCore::MaskImageOperation::create):
1878 (WebCore::MaskImageOperation::MaskImageOperation):
1879 (WebCore::MaskImageOperation::~MaskImageOperation):
1880 (WebCore::MaskImageOperation::isCSSValueNone):
1881 (WebCore::MaskImageOperation::cssValue):
1882 (WebCore::MaskImageOperation::isMaskLoaded):
1883 (WebCore::MaskImageOperation::setRenderLayerImageClient):
1884 (WebCore::MaskImageOperation::addRendererImageClient):
1885 (WebCore::MaskImageOperation::removeRendererImageClient):
1886 (WebCore::MaskImageOperation::getOrCreateCachedSVGDocumentReference):
1887 (WebCore::MaskImageOperation::notifyFinished): This is the method that gets called when the document has finished
1888 downloading and checks if it can find a valid <mask> element.
1889 (WebCore::MaskImageOperation::drawMask):
1890 (WebCore::MaskImageOperation::getSVGMasker):
1891 * platform/graphics/MaskImageOperation.h: Added.
1892 * rendering/RenderBoxModelObject.cpp: The BackgroundImageGeometry class was moved out of RenderBoxModelObject in
1893 order to be used as a parameter for other methods. This was necessary to avoid having methods with very many parameters.
1894 (WebCore::BackgroundImageGeometry::setNoRepeatX):
1895 (WebCore::BackgroundImageGeometry::setNoRepeatY):
1896 (WebCore::BackgroundImageGeometry::useFixedAttachment):
1897 (WebCore::BackgroundImageGeometry::clip):
1898 (WebCore::BackgroundImageGeometry::relativePhase):
1899 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX): Deleted.
1900 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY): Deleted.
1901 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment): Deleted.
1902 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip): Deleted.
1903 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase): Deleted.
1904 * rendering/RenderBoxModelObject.h:
1905 (WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
1906 (WebCore::BackgroundImageGeometry::destOrigin):
1907 (WebCore::BackgroundImageGeometry::setDestOrigin):
1908 (WebCore::BackgroundImageGeometry::destRect):
1909 (WebCore::BackgroundImageGeometry::setDestRect):
1910 (WebCore::BackgroundImageGeometry::phase):
1911 (WebCore::BackgroundImageGeometry::setPhase):
1912 (WebCore::BackgroundImageGeometry::tileSize):
1913 (WebCore::BackgroundImageGeometry::setTileSize):
1914 (WebCore::BackgroundImageGeometry::spaceSize):
1915 (WebCore::BackgroundImageGeometry::setSpaceSize):
1916 (WebCore::BackgroundImageGeometry::setPhaseX):
1917 (WebCore::BackgroundImageGeometry::setPhaseY):
1918 (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry):
1919 (WebCore::BackgroundImageGeometry::hasNonLocalGeometry):
1920 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
1921 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin): Deleted.
1922 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin): Deleted.
1923 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect): Deleted.
1924 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect): Deleted.
1925 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase): Deleted.
1926 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase): Deleted.
1927 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize): Deleted.
1928 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize): Deleted.
1929 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize): Deleted.
1930 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize): Deleted.
1931 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX): Deleted.
1932 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY): Deleted.
1933 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.
1934 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry): Deleted.
1935 * rendering/RenderLayer.cpp:
1936 (WebCore::RenderLayer::RenderLayer):
1937 (WebCore::RenderLayer::~RenderLayer):
1938 * rendering/RenderLayer.h:
1939 * rendering/RenderLayerMaskImageInfo.cpp: Added.
1940 (WebCore::RenderLayer::MaskImageInfo::layerToMaskMap): Returns a static map that links MaskImageInfo objects to RenderLayers.
1941 (WebCore::RenderLayer::MaskImageInfo::getIfExists): Returns the MaskImageInfo associated with a specific RenderLayer.
1942 (WebCore::RenderLayer::MaskImageInfo::get): Returns the MaskImageInfo associated with a specific RenderLayer (creates it if necessary).
1943 (WebCore::RenderLayer::MaskImageInfo::remove): Removes the MaskImageInfo associated with a specific RenderLayer.
1944 (WebCore::RenderLayer::MaskImageInfo::MaskImageInfo):
1945 (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
1946 (WebCore::RenderLayer::MaskImageInfo::notifyFinished): Gets called when the SVG document finished loading, triggers repaint.
1947 (WebCore::RenderLayer::MaskImageInfo::imageChanged): Gets called when the image object changed, triggers repaint.
1948 (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Goes through all mask layers and sets image/SVG clients.
1949 Updates list of internal and external SVG references.
1950 (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Removes all image/SVG clients and clears lists of internal and external SVG references.
1951 * rendering/RenderLayerMaskImageInfo.h: Added.
1952 * rendering/RenderObject.h:
1953 (WebCore::RenderObject::isRenderSVGResourceMasker):
1954 * rendering/style/FillLayer.cpp:
1955 (WebCore::FillLayer::FillLayer):
1956 (WebCore::FillLayer::operator=):
1957 (WebCore::FillLayer::operator==):
1958 (WebCore::FillLayer::cullEmptyLayers):
1959 (WebCore::FillLayer::hasNonEmptyMaskImage):
1960 (WebCore::FillLayer::imagesAreLoaded):
1961 * rendering/style/FillLayer.h:
1962 (WebCore::FillLayer::maskImage):
1963 (WebCore::FillLayer::imageOrMaskImage):
1964 (WebCore::FillLayer::setMaskImage):
1965 (WebCore::FillLayer::clearMaskImage):
1966 (WebCore::FillLayer::hasMaskImage):
1967 * rendering/svg/RenderSVGResourceMasker.cpp:
1968 (WebCore::RenderSVGResourceMasker::applySVGMask):
1969 (WebCore::RenderSVGResourceMasker::applyResource):
1970 (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
1971 * rendering/svg/RenderSVGResourceMasker.h:
1972 * svg/SVGMaskElement.cpp:
1973 (WebCore::SVGMaskElement::createElementRenderer):
1974 (WebCore::SVGMaskElement::addClientRenderLayer):
1975 (WebCore::SVGMaskElement::removeClientRenderLayer):
1976 * svg/SVGMaskElement.h:
1977 * svg/SVGUseElement.cpp:
1978 (WebCore::SVGUseElement::setCachedDocument):
1979 * svg/graphics/SVGImage.cpp:
1980 (WebCore::SVGImage::dataChanged):
1982 2014-12-04 Commit Queue <commit-queue@webkit.org>
1984 Unreviewed, rolling out r176789.
1985 https://bugs.webkit.org/show_bug.cgi?id=139255
1987 Broke the non Mac-WK2 builds (Requested by stavila on
1992 "Remove isSpecifiedFont boolean from FontDescription"
1993 https://bugs.webkit.org/show_bug.cgi?id=139233
1994 http://trac.webkit.org/changeset/176789
1996 2014-12-03 Antti Koivisto <antti@apple.com>
1998 Remove isSpecifiedFont boolean from FontDescription
1999 https://bugs.webkit.org/show_bug.cgi?id=139233
2001 Reviewed by Andreas Kling.
2005 * css/StyleBuilderCustom.h:
2006 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
2007 (WebCore::StyleBuilderCustom::applyValueFontFamily):
2008 * platform/graphics/FontDescription.cpp:
2009 (WebCore::genericFamiliesSet):
2010 (WebCore::FontDescription::hasGenericFirstFamily):
2012 Add a function to test for generic families.
2014 * platform/graphics/FontDescription.h:
2015 (WebCore::FontDescription::FontDescription):
2016 (WebCore::FontDescription::setTextRenderingMode):
2017 (WebCore::FontDescription::operator==):
2018 (WebCore::FontDescription::isSpecifiedFont): Deleted.
2019 (WebCore::FontDescription::setIsSpecifiedFont): Deleted.
2020 * rendering/RenderText.cpp:
2021 (WebCore::RenderText::computeUseBackslashAsYenSymbol):
2023 This is the only client.
2024 Figure out the equivalent information dynamically if needed.
2026 2014-12-03 Joonghun Park <jh718.park@samsung.com>
2028 Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
2029 https://bugs.webkit.org/show_bug.cgi?id=139019
2031 Reviewed by Darin Adler.
2033 No new tests, no behavior changes.
2035 * dom/DataTransfer.cpp:
2036 (WebCore::DataTransfer::DataTransfer):
2037 * dom/DataTransfer.h:
2038 * editing/Editor.cpp:
2039 (WebCore::Editor::dispatchCPPEvent):
2040 * page/mac/EventHandlerMac.mm:
2041 (WebCore::EventHandler::createDraggingDataTransfer):
2042 * platform/Pasteboard.h:
2043 * platform/efl/PasteboardEfl.cpp:
2044 (WebCore::Pasteboard::createForCopyAndPaste):
2045 (WebCore::Pasteboard::createPrivate):
2046 (WebCore::Pasteboard::createForDragAndDrop):
2047 * platform/gtk/PasteboardGtk.cpp:
2048 (WebCore::Pasteboard::createForCopyAndPaste):
2049 (WebCore::Pasteboard::createForGlobalSelection):
2050 (WebCore::Pasteboard::createPrivate):
2051 (WebCore::Pasteboard::createForDragAndDrop):
2052 (WebCore::Pasteboard::create): Deleted.
2053 * platform/ios/PasteboardIOS.mm:
2054 (WebCore::Pasteboard::createForCopyAndPaste):
2055 (WebCore::Pasteboard::createPrivate):
2056 * platform/mac/PasteboardMac.mm:
2057 (WebCore::Pasteboard::createForCopyAndPaste):
2058 (WebCore::Pasteboard::createPrivate):
2059 (WebCore::Pasteboard::createForDragAndDrop):
2060 (WebCore::Pasteboard::create): Deleted.
2061 * platform/win/PasteboardWin.cpp:
2062 (WebCore::Pasteboard::createForCopyAndPaste):
2063 (WebCore::Pasteboard::createPrivate):
2064 (WebCore::Pasteboard::createForDragAndDrop):
2066 2014-12-03 Benjamin Poulain <bpoulain@apple.com>
2068 Get rid of FrameLoaderClient::dispatchWillRequestResource
2069 https://bugs.webkit.org/show_bug.cgi?id=139235
2071 Reviewed by Alexey Proskuryakov.
2075 * loader/FrameLoaderClient.h:
2076 (WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted.
2077 * loader/cache/CachedResourceLoader.cpp:
2078 (WebCore::CachedResourceLoader::requestResource):
2080 2014-12-03 Myles C. Maxfield <mmaxfield@apple.com>
2082 List markers in RTL languages do not draw the first character.
2083 https://bugs.webkit.org/show_bug.cgi?id=139244
2085 Reviewed by Simon Fraser.
2087 Off-by-one error when reversing the string (from LTR to RTL)
2089 Test: fast/lists/rtl-marker.html
2091 * rendering/RenderListMarker.cpp:
2092 (WebCore::RenderListMarker::paint):
2094 2014-12-03 Beth Dakin <bdakin@apple.com>
2096 <input> elements get whitespace action menu instead of editable text menu
2097 https://bugs.webkit.org/show_bug.cgi?id=139241
2099 rdar://problem/19072083
2101 Reviewed by Sam Weinig.
2103 Since we will hit test form controls as form controls, we need a new function to
2104 determine if the hit point is over text inside that form control or not.
2106 * rendering/HitTestResult.cpp:
2107 (WebCore::HitTestResult::isOverTextInsideFormControlElement):
2108 * rendering/HitTestResult.h:
2110 2014-12-03 Tim Horton <timothy_horton@apple.com>
2112 Keyboard input should be disabled in the preview popover
2113 https://bugs.webkit.org/show_bug.cgi?id=139219
2114 <rdar://problem/19052381>
2116 Reviewed by Anders Carlsson.
2118 * page/ChromeClient.h:
2119 (WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents):
2120 * page/EventHandler.cpp:
2121 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2122 Allow ChromeClient to disable the dispatch of "fake" mouseMove events
2123 that happens during scrolling.
2125 2014-12-03 Antti Koivisto <antti@apple.com>
2127 Remove genericFamily enum from FontDescription
2128 https://bugs.webkit.org/show_bug.cgi?id=139207
2130 Reviewed by Andreas Kling.
2132 We use predefined AtomicStrings for generic families. The side enum adds no information.
2134 * css/CSSFontSelector.cpp:
2135 (WebCore::resolveGenericFamily):
2136 (WebCore::CSSFontSelector::getFontData):
2138 Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't.
2140 (WebCore::CSSFontSelector::resolvesFamilyFor):
2141 (WebCore::fontDataForGenericFamily): Deleted.
2142 * css/DeprecatedStyleBuilder.cpp:
2143 (WebCore::ApplyPropertyFontFamily::applyInheritValue):
2144 (WebCore::ApplyPropertyFontFamily::applyInitialValue):
2145 (WebCore::ApplyPropertyFontFamily::applyValue):
2146 * css/StyleResolver.cpp:
2147 (WebCore::StyleResolver::checkForGenericFamilyChange):
2149 Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent.
2151 (WebCore::StyleResolver::initializeFontStyle):
2152 * platform/graphics/FontDescription.h:
2153 (WebCore::FontDescription::FontDescription):
2154 (WebCore::FontDescription::useFixedDefaultSize):
2155 (WebCore::FontDescription::setWeight):
2156 (WebCore::FontDescription::equalForTextAutoSizing):
2157 (WebCore::FontDescription::operator==):
2158 (WebCore::FontDescription::genericFamily): Deleted.
2159 (WebCore::FontDescription::setGenericFamily): Deleted.
2160 * platform/mac/ThemeMac.mm:
2161 (WebCore::ThemeMac::controlFont):
2162 * rendering/RenderTheme.cpp:
2163 (WebCore::RenderTheme::adjustStyle):
2165 Reset the lineheight unconditionally for buttons.
2166 This always happened before because the explicitly set generic family made the font compare false.
2168 * rendering/RenderThemeIOS.mm:
2169 (WebCore::RenderThemeIOS::systemFont):
2170 * rendering/RenderThemeMac.mm:
2171 (WebCore::RenderThemeMac::systemFont):
2172 (WebCore::RenderThemeMac::setFontFromControlSize):
2173 * style/StyleResolveForDocument.cpp:
2174 (WebCore::Style::resolveForDocument):
2176 Resolve document style for final value immediately as it can't be affected by @font-face rules.
2178 2014-12-03 Zalan Bujtas <zalan@apple.com>
2180 ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
2181 https://bugs.webkit.org/show_bug.cgi?id=139188
2182 rdar://problem/18502182
2184 Reviewed by David Hyatt.
2186 This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
2187 with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
2188 (descendant's parent is expected to be a RenderBlockFlow)
2190 Test: fast/multicol/svg-content-as-column-spanner-crash.html
2192 * rendering/RenderMultiColumnFlowThread.cpp:
2193 (WebCore::isValidColumnSpanner):
2195 2014-12-03 peavo@outlook.com <peavo@outlook.com>
2197 [TexMap] Redundant method in GraphicsLayerTextureMapper.
2198 https://bugs.webkit.org/show_bug.cgi?id=138005
2200 Reviewed by Alex Christensen.
2202 The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used
2203 instead of the GraphicsLayerTextureMapper method startedAnimation().
2205 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2206 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2207 (WebCore::GraphicsLayerTextureMapper::addAnimation):
2208 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2210 2014-12-03 Jeremy Jones <jeremyj@apple.com>
2212 Subtitle menu should only appear when useful.
2213 https://bugs.webkit.org/show_bug.cgi?id=139133
2215 Reviewed by Eric Carlson.
2217 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2218 (-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options.
2219 (-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option.
2221 2014-12-03 Joanmarie Diggs <jdiggs@igalia.com>
2223 AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed
2224 https://bugs.webkit.org/show_bug.cgi?id=139071
2226 Reviewed by Chris Fleizach.
2228 Adds a new InlineRole accessibility role type for non-focusable inline
2229 elements which have an event handler or attribute suggesting possible
2230 inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and
2231 EFL. On the Mac, it is currently ignored to preserve existing behavior.
2233 Added new test cases to the existing roles-exposed.html test.
2235 * accessibility/AccessibilityObject.cpp:
2236 (WebCore::AccessibilityObject::supportsDatetimeAttribute): Added.
2237 * accessibility/AccessibilityObject.h: Added InlineRole.
2238 * accessibility/AccessibilityRenderObject.cpp:
2239 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole.
2240 * accessibility/atk/AccessibilityObjectAtk.cpp:
2241 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects.
2242 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2244 * accessibility/mac/AccessibilityObjectMac.mm:
2245 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects.
2246 * html/HTMLTagNames.in: Added 'time'.
2248 2014-12-03 Jer Noble <jer.noble@apple.com>
2250 [Mac] Hang when calling -[AVAsset resolvedURL].
2251 https://bugs.webkit.org/show_bug.cgi?id=139223
2253 Reviewed by Eric Carlson.
2255 On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long
2256 time. Treat this AVAsset property similar to other "metadata" properties, and check the load status
2257 of the property before requesting it.
2259 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2260 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL.
2261 (WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto.
2262 (WebCore::assetMetadataKeyNames): Add @"resolvedURL".
2264 2014-12-03 Csaba Osztrogonác <ossy@webkit.org>
2266 URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.
2268 * css/CSSParser.cpp:
2269 (WebCore::CSSParser::parseViewportProperty):
2271 2014-12-03 Chris Dumez <cdumez@apple.com>
2273 Move 'display' CSS property to the new StyleBuilder
2274 https://bugs.webkit.org/show_bug.cgi?id=139218
2276 Reviewed by Antti Koivisto.
2278 Move 'display' CSS property to the new StyleBuilder.
2280 No new tests, no behavior change.
2282 * css/CSSPropertyNames.in:
2283 * css/DeprecatedStyleBuilder.cpp:
2284 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2285 (WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted.
2286 (WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted.
2287 (WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted.
2288 (WebCore::ApplyPropertyDisplay::applyValue): Deleted.
2289 (WebCore::ApplyPropertyDisplay::createHandler): Deleted.
2290 * css/StyleBuilderCustom.h:
2291 (WebCore::StyleBuilderCustom::isValidDisplayValue):
2292 (WebCore::StyleBuilderCustom::applyInheritDisplay):
2293 (WebCore::StyleBuilderCustom::applyValueDisplay):
2295 Add support for passing multiple values for Custom option, e.g.:
2296 'Custom=Inherit|Value'. This was useful as we did not need custom
2297 code for display's initial value.
2299 2014-12-03 Chris Dumez <cdumez@apple.com>
2301 Modernize the CSSParser code
2302 https://bugs.webkit.org/show_bug.cgi?id=139209
2304 Reviewed by Antti Koivisto.
2306 Modernize the CSSParser code by:
2307 - Using more references instead of pointers
2308 - Using nullptr instead of 0
2310 No new tests, no behavior change.
2312 2014-12-03 David Kilzer <ddkilzer@apple.com>
2314 [iOS] REGRESSION (r176622): WebCore fails to link
2316 Speculative fix for the following build failure:
2319 Undefined symbols for architecture armv7s:
2320 "__ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from:
2321 __ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o
2323 * bindings/js/JSDeviceMotionEventCustom.cpp: Include
2324 <runtime/IdentifierInlines.h> to define missing symbol.
2326 2014-12-02 Dean Jackson <dino@apple.com>
2328 [Media] Audio content shouldn't have fullscreen buttons, even if in a video element
2329 https://bugs.webkit.org/show_bug.cgi?id=139200
2330 <rdar://problem/18914506>
2332 Reviewed by Eric Carlson.
2334 An audio-only resource, even if loaded into a <video> element, should not
2335 present the fullscreen or optimised fullscreen controls. This includes a
2336 MediaDocument, which is always a <video> element. We can detect this by
2337 examining the length of the videoTracks property as our content loads.
2339 Test: media/audio-as-video-fullscreen.html
2341 * Modules/mediacontrols/mediaControlsApple.js:
2342 (Controller): Initialize a hasVisualMedia to false.
2343 (Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true.
2344 (Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and
2345 updateOptimizedFullscreenButton methods into this single spot, and check for
2347 (Controller.prototype.updateFullscreenButton): Deleted.
2348 (Controller.prototype.updateOptimizedFullscreenButton): Deleted.
2350 * Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports.
2352 2014-12-02 Dean Jackson <dino@apple.com>
2354 Missing support for innerHTML on SVGElement
2355 https://bugs.webkit.org/show_bug.cgi?id=136903
2357 Unreviewed followup from r176630. Minor style nits that I missed in my review.
2359 * dom/Element.h: Remove unnecessary parameter name.
2360 * html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup.
2361 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem):
2363 2014-12-03 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2365 [EFL] Add subtle crypto to the build system
2366 https://bugs.webkit.org/show_bug.cgi?id=138612
2368 Reviewed by Csaba Osztrogonác.
2370 It is obvious to make Efl use GnuTLS as well,
2371 and since there seems no reason why to separate
2372 Efl and Gtk implementations from each other, I
2373 also propose renaming the gtk directory and file
2376 No new tests needed.
2378 * PlatformEfl.cmake:
2379 * PlatformGTK.cmake:
2380 * crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp.
2381 (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
2382 (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
2383 * crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp.
2384 (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
2385 (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
2386 * crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp.
2387 (WebCore::getGnutlsDigestAlgorithm):
2388 (WebCore::calculateSignature):
2389 (WebCore::CryptoAlgorithmHMAC::platformSign):
2390 (WebCore::CryptoAlgorithmHMAC::platformVerify):
2391 * crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp.
2392 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
2393 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
2394 * crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp.
2395 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
2396 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
2397 * crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp.
2398 (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
2399 (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
2400 * crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp.
2401 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2402 * crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp.
2403 (WebCore::CryptoDigest::CryptoDigest):
2404 (WebCore::CryptoDigest::~CryptoDigest):
2405 (WebCore::CryptoDigest::create):
2406 (WebCore::CryptoDigest::addBytes):
2407 (WebCore::CryptoDigest::computeHash):
2408 * crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp.
2409 (WebCore::CryptoKeyRSA::CryptoKeyRSA):
2410 (WebCore::CryptoKeyRSA::create):
2411 (WebCore::CryptoKeyRSA::~CryptoKeyRSA):
2412 (WebCore::CryptoKeyRSA::restrictToHash):
2413 (WebCore::CryptoKeyRSA::isRestrictedToHash):
2414 (WebCore::CryptoKeyRSA::keySizeInBits):
2415 (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
2416 (WebCore::CryptoKeyRSA::exportData):
2417 (WebCore::CryptoKeyRSA::generatePair):
2418 * crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp.
2419 (WebCore::getDefaultWebCryptoMasterKey):
2420 (WebCore::wrapSerializedCryptoKey):
2421 (WebCore::unwrapSerializedCryptoKey):
2422 * crypto/keys/CryptoKeyRSA.h:
2424 2014-12-02 Benjamin Poulain <benjamin@webkit.org>
2426 Little cleanup of the default stylesheet
2427 https://bugs.webkit.org/show_bug.cgi?id=139168
2429 Reviewed by Antti Koivisto.
2431 The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
2432 only the bits that do not change behaviors and have positive perf and readability impact.
2434 I have limited :matches() to attributes for now. The idea is to only target
2435 simple selectors that are not used for filtering by the collectors.
2436 We should eventually clean up more cases, one thing at a time.
2438 Tests: fast/css/map-tag-default-display.html
2439 fast/selectors/map-tag-default-display.html
2443 map was explicitely setting its display to inline. Remove that since it is the default.
2453 (article, aside, footer, header, hgroup, main, nav, section): Deleted.
2455 (head, link, meta, script, style, title):
2456 (address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
2457 Group the standard blocks in a single rule.
2459 (input:matches([type="hidden"], [type="image"], [type="file"])):
2460 (input:matches([type="radio"], [type="checkbox"])):
2461 (input:matches([type="button"], [type="submit"], [type="reset"])):
2462 (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
2463 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
2464 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
2465 (input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
2466 (input:matches([type="checkbox"], [type="radio"]):checked):
2467 (input:matches([type="checkbox"], [type="radio"]):checked:disabled):
2468 (select:matches([size], [multiple], [size][multiple])):
2469 (select:matches([size="0"], [size="1"])):
2470 (input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
2471 (input[type="radio"], input[type="checkbox"]): Deleted.
2472 (input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
2473 (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
2474 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
2475 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
2476 (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.
2477 (input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
2478 (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
2479 (select[size][multiple]): Deleted.
2480 (select[size="1"]): Deleted.
2481 Group every selector lists that only differentiates complex selectors through attributes
2482 into a simple complex selector with :matches().
2484 2014-12-02 Mark Lam <mark.lam@apple.com>
2486 Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
2487 https://bugs.webkit.org/show_bug.cgi?id=138821
2491 * bindings/js/SerializedScriptValue.cpp:
2492 (WebCore::CloneDeserializer::deserializeString):
2493 * editing/TextIterator.cpp:
2494 (WebCore::SearchBuffer::isBadMatch):
2495 * page/mac/ServicesOverlayController.mm:
2496 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2497 * platform/graphics/SegmentedFontData.cpp:
2498 (WebCore::SegmentedFontData::fontDataForCharacter):
2499 (WebCore::SegmentedFontData::containsCharacter):
2500 (WebCore::SegmentedFontData::isLoading):
2501 * platform/graphics/WOFFFileFormat.cpp:
2502 (WebCore::convertWOFFToSfnt):
2503 * platform/graphics/cairo/GradientCairo.cpp:
2504 (WebCore::Gradient::platformGradient):
2505 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2506 (WebCore::GIFImageDecoder::clearFrameBufferCache):
2507 * rendering/RenderBox.cpp:
2508 (WebCore::RenderBox::paintFillLayers):
2509 * rendering/style/GridResolvedPosition.cpp:
2510 (WebCore::firstNamedGridLineBeforePosition):
2511 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2512 * svg/SVGFontElement.cpp:
2513 (WebCore::kerningForPairOfStringsAndGlyphs):
2514 * svg/SVGPathByteStream.h:
2515 (WebCore::SVGPathByteStream::append):
2516 * xml/XPathNodeSet.h:
2517 (WebCore::XPath::NodeSet::begin):
2518 (WebCore::XPath::NodeSet::end):
2520 2014-12-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2522 Fix build break EFL port since r176696
2523 https://bugs.webkit.org/show_bug.cgi?id=139215
2525 Unreviewed, build fix for EFL port.
2527 * storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.
2529 2014-12-02 Joanmarie Diggs <jdiggs@igalia.com>
2531 AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
2532 https://bugs.webkit.org/show_bug.cgi?id=139005
2534 Reviewed by Chris Fleizach.
2536 Expose table captions and rows via ATK. Accomplishing the former is done
2537 by role mapping and inclusion of the object as a child of the table for
2538 ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
2539 platform code that had been forcing rows to be ignored. Because captions
2540 are not being exposed on the Mac, they are now explicitly being ignored
2543 Tests: accessibility/aria-table-hierarchy.html
2544 accessibility/table-hierarchy.html
2546 * accessibility/AccessibilityObject.h:
2547 * accessibility/AccessibilityRenderObject.cpp:
2548 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.
2549 * accessibility/AccessibilityTable.cpp:
2550 (WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.
2551 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2552 (webkitAccessibleGetNChildren): Removed special handling for tables.
2553 (webkitAccessibleRefChild): Removed special handling for tables.
2554 (webkitAccessibleGetIndexInParent): Removed special handling for table cells.
2555 (atkRole): Corrected broken mapping for RowRole.
2556 (getNChildrenForTable): Deleted.
2557 (getChildForTable): Deleted.
2558 (getIndexInParentForCellInRow): Deleted.
2559 * accessibility/mac/AccessibilityObjectMac.mm:
2560 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.
2562 2014-12-02 Alexey Proskuryakov <ap@apple.com>
2564 http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
2565 https://bugs.webkit.org/show_bug.cgi?id=139149
2567 Reviewed by Anders Carlsson.
2569 * WebCore.exp.in: Added ApplicationCache::deleteAllCaches.
2571 * loader/appcache/ApplicationCache.h:
2572 * loader/appcache/ApplicationCache.cpp:
2573 (WebCore::ApplicationCache::deleteAllCaches): Added.
2575 * loader/appcache/ApplicationCacheStorage.cpp:
2576 (WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
2577 have this function called when there is no database file.
2579 * loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,
2580 because WebKit style.
2582 2014-12-02 Tim Horton <timothy_horton@apple.com>
2584 Remove a SnowLeopard-era quirk for QuickLook
2585 https://bugs.webkit.org/show_bug.cgi?id=139208
2586 <rdar://problem/19121822>
2588 Reviewed by Alexey Proskuryakov.
2591 * WebCore.xcodeproj/project.pbxproj:
2592 * loader/EmptyClients.h:
2593 * loader/FrameLoader.cpp:
2594 (WebCore::FrameLoader::subresourceCachePolicy):
2595 * loader/FrameLoaderClient.h:
2596 * platform/mac/QuickLookMac.h: Removed.
2597 * platform/mac/QuickLookMac.mm: Removed.
2599 2014-12-02 Anders Carlsson <andersca@apple.com>
2601 Begin stubbing out a StorageNamespaceProvider class
2602 https://bugs.webkit.org/show_bug.cgi?id=139203
2604 Reviewed by Tim Horton.
2607 * WebCore.vcxproj/WebCore.vcxproj:
2608 * WebCore.vcxproj/WebCore.vcxproj.filters:
2609 * WebCore.xcodeproj/project.pbxproj:
2612 * page/DOMWindow.cpp:
2613 (WebCore::DOMWindow::localStorage):
2614 If the page has a storage namespace provider, get the local storage from it.
2617 (WebCore::Page::Page):
2618 Move the storage namespace provider from the configuration.
2620 (WebCore::Page::setStorageNamespaceProvider):
2621 Add a setter. This will be used by setGroupName.
2624 (WebCore::Page::storageNamespaceProvider):
2627 * page/PageConfiguration.cpp:
2628 * page/PageConfiguration.h:
2629 Add a storage namespace provider member.
2631 * storage/StorageNamespaceProvider.cpp:
2632 (WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
2633 (WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
2634 (WebCore::StorageNamespaceProvider::addPage):
2635 (WebCore::StorageNamespaceProvider::removePage):
2636 (WebCore::StorageNamespaceProvider::localStorageNamespace):
2637 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
2638 * storage/StorageNamespaceProvider.h:
2639 Stub out a storage namespace provider class.
2641 2014-12-02 Beth Dakin <bdakin@apple.com>
2645 * platform/spi/mac/QuickLookMacSPI.h:
2647 2014-12-02 Beth Dakin <bdakin@apple.com>
2651 * platform/spi/mac/NSMenuSPI.h:
2653 2014-12-02 Beth Dakin <bdakin@apple.com>
2655 Speculative build fix.
2657 * platform/spi/mac/QuickLookMacSPI.h:
2659 2014-12-02 Beth Dakin <bdakin@apple.com>
2661 Speculative build fix.
2663 * platform/spi/mac/QuickLookMacSPI.h:
2665 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2667 Unreviewed, fix typo introduced in r176673.
2669 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2670 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2672 2014-12-02 Beth Dakin <bdakin@apple.com>
2674 Should use standardQuickLookMenuItem for apps that don't implement customizations
2675 https://bugs.webkit.org/show_bug.cgi?id=139193
2677 rdar://problem/18944696
2679 Reviewed by Anders Carlsson.
2682 * WebCore.xcodeproj/project.pbxproj:
2683 * platform/spi/mac/NSMenuSPI.h: Added.
2684 * platform/spi/mac/QuickLookMacSPI.h: Added.
2686 2014-12-02 Gavin Barraclough <barraclough@apple.com>
2688 Generalize PageActivityAssertionToken
2689 https://bugs.webkit.org/show_bug.cgi?id=139106
2691 Reviewed by Sam Weinig.
2693 PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
2694 to count user visible activity in progress on the page (currently page load and media playback).
2695 Use of an RAII type is prevents a number of possible errors, including double counting a single
2696 media element, or failing to decrement the count after a media element has been deallocated.
2698 The current implementation has a number of drawbacks that have been addressed by this refactoring:
2699 - specific to single use in PageThrottler class - not reusable.
2700 - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
2701 are not encapsulated (are in the client type, PageThrottler).
2702 - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
2703 increment requires an object allocation.
2704 - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
2705 is internally implemented using a reference counted type, resulting in two counters being
2706 incremented (one in the PageActivityAssertionToken, one in the PageThrottler).
2708 In the reimplementation:
2709 - a callback is provided via a lambda function, which allows for easy reuse without a lot of
2711 - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
2713 - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
2715 - standard RefPtrs are used to manage references to the RefCounter::Count.
2717 * WebCore.xcodeproj/project.pbxproj:
2718 - removed PageActivityAssertionToken.cpp/.h
2719 * html/HTMLMediaElement.cpp:
2720 - removed PageActivityAssertionToken.h
2721 * html/HTMLMediaElement.h:
2722 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2723 * loader/FrameLoader.cpp:
2724 - removed PageActivityAssertionToken.h
2725 * loader/FrameLoader.h:
2726 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2727 * loader/SubresourceLoader.cpp:
2728 - removed PageActivityAssertionToken.h
2729 * loader/SubresourceLoader.h:
2730 - removed class PageActivityAssertionToken
2732 - removed PageActivityAssertionToken.h
2733 (WebCore::Page::Page):
2734 - removed Page* parameter to PageThrottler
2736 - removed class PageActivityAssertionToken
2737 * page/PageActivityAssertionToken.cpp: Removed.
2738 * page/PageActivityAssertionToken.h: Removed.
2739 - removed PageActivityAssertionToken.cpp/.h
2740 * page/PageThrottler.cpp:
2741 (WebCore::PageThrottler::PageThrottler):
2742 - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.
2743 (WebCore::PageThrottler::mediaActivityToken):
2744 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2745 (WebCore::PageThrottler::pageLoadActivityToken):
2746 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2747 (WebCore::PageThrottler::pageActivityCounterValueDidChange):
2748 - merged functionality of incrementActivityCount/decrementActivityCount
2749 (WebCore::PageThrottler::incrementActivityCount): Deleted.
2750 - see pageActivityCounterValueDidChange
2751 (WebCore::PageThrottler::decrementActivityCount): Deleted.
2752 - see pageActivityCounterValueDidChange
2753 * page/PageThrottler.h:
2754 (WebCore::PageThrottler::weakPtr): Deleted.
2755 - no longer required; this functionality is now encapsulated within RefCounter.
2757 2014-12-02 Tim Horton <timothy_horton@apple.com>
2759 Always show the arrow for text selection services
2760 https://bugs.webkit.org/show_bug.cgi?id=139191
2761 <rdar://problem/18903995>
2763 Reviewed by Anders Carlsson.
2765 * platform/spi/mac/DataDetectorsSPI.h:
2766 * page/mac/ServicesOverlayController.mm:
2767 Move a few things to DataDetectorsSPI.h.
2769 (WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
2770 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2771 Make use of the real DDHighlightStyle names.
2772 Add DDHighlightStyleButtonShowAlways for selection services.
2774 2014-12-02 Anders Carlsson <andersca@apple.com>
2780 2014-12-02 Chris Dumez <cdumez@apple.com>
2782 Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
2783 https://bugs.webkit.org/show_bug.cgi?id=139162
2785 Reviewed by Darin Adler.
2787 Add support for calculated values in 'flex' CSS property.
2788 Previously, those did not work in release builds, and were hitting
2789 an assertion in debug builds.
2791 Test: fast/css/flex-calculated-value.html
2793 * css/CSSParser.cpp:
2794 (WebCore::CSSParser::validCalculationUnit):
2795 Do not call RefPtr::release() as we are not interested in the return
2796 value. Assign nullptr to the member instead.
2798 (WebCore::CSSParser::parseValue):
2799 (WebCore::CSSParser::parseFillPositionComponent):
2800 (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
2801 (WebCore::CSSParser::parseFontWeight):
2802 (WebCore::CSSParser::parsedDouble):
2803 (WebCore::CSSParser::colorIntFromValue):
2804 (WebCore::CSSParser::parseColorParameters):
2805 (WebCore::CSSParser::parseHSLParameters):
2806 (WebCore::CSSParser::parseFlex):
2809 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2812 https://bugs.webkit.org/show_bug.cgi?id=139182
2814 Reviewed by Alexey Proskuryakov.
2816 No new tests, only logging code is changed.
2818 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2819 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.
2821 2014-12-02 Anders Carlsson <andersca@apple.com>
2823 Get rid of the WinINet based network implementation
2824 https://bugs.webkit.org/show_bug.cgi?id=139187
2826 Reviewed by Andreas Kling.
2828 This code was only used by the Windows CE port. Now it's unused.
2830 * platform/network/ResourceHandle.h:
2831 * platform/network/ResourceHandleInternal.h:
2832 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2833 * platform/network/win/AuthenticationChallenge.h: Removed.
2834 * platform/network/win/CookieJarWin.cpp: Removed.
2835 * platform/network/win/CredentialStorageWin.cpp: Removed.
2836 * platform/network/win/ProxyServerWin.cpp: Removed.
2837 * platform/network/win/ResourceError.h: Removed.
2838 * platform/network/win/ResourceHandleWin.cpp: Removed.
2839 * platform/network/win/ResourceRequest.h: Removed.
2840 * platform/network/win/ResourceResponse.h: Removed.
2841 * platform/network/win/SocketStreamError.h: Removed.
2842 * platform/network/win/SocketStreamHandle.h: Removed.
2843 * platform/network/win/SocketStreamHandleWin.cpp: Removed.
2845 2014-12-02 Chris Dumez <cdumez@apple.com>
2847 Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
2848 https://bugs.webkit.org/show_bug.cgi?id=139170
2850 Reviewed by Darin Adler.
2852 Add support for calculated values for 'column-span' and 'column-width'
2853 CSS properties. Previously, these were not working in release builds
2854 and hitting assertions in debug builds.
2856 Tests: fast/css/column-width-calculated-value.html
2857 fast/css/webkit-column-span-calculated-value.html
2859 * css/CSSParser.cpp:
2860 (WebCore::CSSParser::parseValue):
2862 2014-12-02 Anders Carlsson <andersca@apple.com>
2864 Remove visited link handling from PageGroup
2865 https://bugs.webkit.org/show_bug.cgi?id=139185
2867 Reviewed by Sam Weinig.
2871 * WebCore.vcxproj/WebCore.vcxproj:
2872 * WebCore.vcxproj/WebCore.vcxproj.filters:
2873 * WebCore.xcodeproj/project.pbxproj:
2874 * loader/HistoryController.cpp:
2876 (WebCore::ChromeClient::populateVisitedLinks): Deleted.
2877 * page/ChromeClient.h:
2878 * page/DefaultVisitedLinkStore.cpp: Removed.
2879 * page/DefaultVisitedLinkStore.h: Removed.
2881 (WebCore::Page::Page):
2882 (WebCore::Page::~Page):
2883 (WebCore::Page::visitedLinkStore):
2884 (WebCore::Page::setVisitedLinkStore):
2885 (WebCore::Page::removeAllVisitedLinks): Deleted.
2887 * page/PageGroup.cpp:
2888 (WebCore::PageGroup::PageGroup):
2889 (WebCore::PageGroup::visitedLinkStore): Deleted.
2890 (WebCore::PageGroup::isLinkVisited): Deleted.
2891 (WebCore::PageGroup::addVisitedLinkHash): Deleted.
2892 (WebCore::PageGroup::addVisitedLink): Deleted.
2893 (WebCore::PageGroup::removeVisitedLink): Deleted.
2894 (WebCore::PageGroup::removeVisitedLinks): Deleted.
2895 (WebCore::PageGroup::removeAllVisitedLinks): Deleted.
2896 (WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.
2899 2014-12-02 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
2901 Use references instead of pointers in EditingStyle
2902 https://bugs.webkit.org/show_bug.cgi?id=137918
2904 Reviewed by Darin Adler.
2906 * editing/EditingStyle.cpp:
2907 (WebCore::extractPropertyValue):
2908 (WebCore::identifierForStyleProperty):
2909 (WebCore::textColorFromStyle):
2910 (WebCore::backgroundColorFromStyle):
2911 (WebCore::textAlignResolvingStartAndEnd):
2912 (WebCore::EditingStyle::triStateOfStyle):
2913 (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
2914 (WebCore::EditingStyle::prepareToApplyAt):
2915 (WebCore::EditingStyle::removeStyleFromRulesAndContext):
2916 (WebCore::StyleChange::StyleChange):
2917 (WebCore::setTextDecorationProperty):
2918 (WebCore::StyleChange::extractTextStyles):
2919 (WebCore::diffTextDecorations):
2920 (WebCore::fontWeightIsBold):
2921 (WebCore::extractPropertiesNotIn):
2922 (WebCore::getPropertiesNotIn):
2923 * editing/EditingStyle.h:
2925 2014-12-02 Bartlomiej Gajda <b.gajda@samsung.com>
2927 [GStreamer] Media Source sending seek event fails.
2928 https://bugs.webkit.org/show_bug.cgi?id=139181
2930 Reviewed by Philippe Normand.
2932 There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
2933 and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.
2935 No new tests needed.
2937 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2938 (webkit_media_src_init):
2940 2014-12-02 Chris Dumez <cdumez@apple.com>
2942 Move 'font-family' CSS property to the new StyleBuilder
2943 https://bugs.webkit.org/show_bug.cgi?id=139172
2945 Reviewed by Antti Koivisto.
2947 Move 'font-family' CSS property to the new StyleBuilder by using
2950 No new tests, no behavior change.
2952 * css/CSSPropertyNames.in:
2953 * css/DeprecatedStyleBuilder.cpp:
2954 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2955 (WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
2956 (WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
2957 (WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
2958 (WebCore::ApplyPropertyFontFamily::createHandler): Deleted.
2959 * css/StyleBuilderCustom.h:
2960 (WebCore::StyleBuilderCustom::applyInitialFontFamily):
2961 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
2962 (WebCore::StyleBuilderCustom::applyValueFontFamily):
2964 2014-12-02 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2966 Fix class was previously declared as a struct warnings
2967 https://bugs.webkit.org/show_bug.cgi?id=139131
2969 Reviewed by Csaba Osztrogonác.
2971 No new tests needed.
2973 * platform/graphics/texmap/TextureMapperGL.h:
2975 2014-12-02 Sylvain Galineau <galineau@adobe.com>
2977 Missing support for innerHTML on SVGElement
2978 https://bugs.webkit.org/show_bug.cgi?id=136903
2980 Reviewed by Dean Jackson.
2982 Two parts to this patch:
2983 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
2984 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
2986 The latter part was ported over from Blink.
2988 Test: svg/in-html/svg-inner-html.html
2990 * bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
2992 (WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
2993 (WebCore::Element::innerHTML): Moved from HTMLElement.
2994 (WebCore::Element::outerHTML): Moved from HTMLElement.
2995 (WebCore::Element::setOuterHTML): Moved from HTMLElement.
2996 (WebCore::Element::setInnerHTML): Moved from HTMLElement.
2999 * html/HTMLElement.cpp:
3000 (WebCore::HTMLElement::innerHTML): Deleted.
3001 (WebCore::HTMLElement::outerHTML): Deleted.
3002 (WebCore::HTMLElement::setInnerHTML): Deleted.
3003 (WebCore::mergeWithNextTextNode): Deleted.
3004 (WebCore::HTMLElement::setOuterHTML): Deleted.
3005 * html/HTMLElement.h:
3006 * html/HTMLElement.idl:
3007 * html/parser/HTMLTreeBuilder.cpp:
3008 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
3009 (WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
3010 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
3011 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
3012 (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
3013 (WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.
3014 * html/parser/HTMLTreeBuilder.h:
3015 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
3016 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.
3018 2014-11-20 Jeffrey Pfau <jpfau@apple.com>
3020 Add cancelable version of willSendRequest
3021 https://bugs.webkit.org/show_bug.cgi?id=138987
3023 Reviewed by Anders Carlsson.
3025 Covered by existing tests.
3027 * loader/ResourceLoader.cpp:
3028 (WebCore::ResourceLoader::willSendRequest):
3029 * loader/ResourceLoader.h:
3031 2014-12-01 Benjamin Poulain <benjamin@webkit.org>
3033 Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
3034 https://bugs.webkit.org/show_bug.cgi?id=139001
3036 Reviewed by Andreas Kling.
3038 When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
3039 we were previously ignoring the arguments.
3041 That behavior seems to be confusing for users. We made the proposal to include the selector list
3042 like when using :matches():
3043 http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html
3044 David Baron also agrees with this behavior:
3045 http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html
3047 This patch adds the specificity computation.
3049 Tests: fast/css/nth-child-specificity-1.html
3050 fast/css/nth-child-specificity-2.html
3051 fast/css/nth-last-child-specificity-1.html
3052 fast/css/nth-last-child-specificity-2.html
3054 * css/CSSSelector.cpp:
3055 (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
3056 * css/SelectorChecker.cpp:
3057 (WebCore::SelectorChecker::checkOne):
3058 (WebCore::SelectorChecker::matchSelectorList):
3059 * css/SelectorChecker.h:
3060 * cssjit/SelectorCompiler.cpp:
3061 (WebCore::SelectorCompiler::addPseudoClassType):
3063 2014-12-01 Chris Dumez <cdumez@apple.com>
3065 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
3066 https://bugs.webkit.org/show_bug.cgi?id=138938
3068 Reviewed by Sam Weinig.
3070 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
3071 from StyleResolver to the new StyleBuilder by using custom code.
3073 No new tests, no behavior change.
3075 * css/CSSPropertyNames.in:
3076 * css/StyleBuilderCustom.h:
3077 (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
3078 (WebCore::StyleBuilderCustom::applyInitialTextShadow):
3079 (WebCore::StyleBuilderCustom::applyInheritTextShadow):
3080 (WebCore::StyleBuilderCustom::applyValueTextShadow):
3081 (WebCore::StyleBuilderCustom::applyInitialBoxShadow):
3082 (WebCore::StyleBuilderCustom::applyInheritBoxShadow):
3083 (WebCore::StyleBuilderCustom::applyValueBoxShadow):
3084 (WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
3085 (WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
3086 (WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
3087 * css/StyleResolver.cpp:
3088 (WebCore::StyleResolver::applyProperty):
3090 2014-12-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3092 [EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
3093 https://bugs.webkit.org/show_bug.cgi?id=139085
3095 Reviewed by Andreas Kling.
3097 * PlatformEfl.cmake:
3098 Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.
3100 2014-12-01 Zalan Bujtas <zalan@apple.com>
3102 Twitter avatar moves when hovering/unhovering the "follow" button.
3103 https://bugs.webkit.org/show_bug.cgi?id=139147
3104 rdar://problem/19096508
3106 Reviewed by Simon Fraser.
3108 This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
3109 get repositioned when their inline box wrappers move.
3110 Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
3111 placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
3112 they are still part of the inline box tree.
3113 This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
3114 They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
3116 Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
3118 * rendering/InlineBox.cpp:
3119 (WebCore::InlineBox::adjustPosition):
3121 2014-12-01 Tim Horton <timothy_horton@apple.com>
3123 Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
3124 https://bugs.webkit.org/show_bug.cgi?id=139164
3125 <rdar://problem/19107247>
3127 Reviewed by Beth Dakin.
3129 * page/TextIndicator.cpp:
3130 (WebCore::TextIndicator::createWithSelectionInFrame):
3131 Null-check the ImageBuffer in addition to the Image.
3133 2014-12-01 Anders Carlsson <andersca@apple.com>
3135 Remove IWebCookieManager on Windows
3136 https://bugs.webkit.org/show_bug.cgi?id=139144
3138 Reviewed by Sam Weinig.
3140 Remove code that handles overriding the cookie storage.
3142 * platform/network/NetworkStorageSession.h:
3143 * platform/network/cf/NetworkStorageSessionCFNet.cpp:
3144 (WebCore::cookieStorageOverride): Deleted.
3145 (WebCore::overrideCookieStorage): Deleted.
3146 (WebCore::overridenCookieStorage): Deleted.
3147 * platform/network/cf/ResourceHandleCFNet.cpp:
3148 (WebCore::ResourceHandle::createCFURLConnection):
3150 2014-12-01 Dean Jackson <dino@apple.com>
3152 [iOS Media] Slider knob should not have a border
3153 https://bugs.webkit.org/show_bug.cgi?id=139160
3154 <rdar://problem/19075185>
3156 Reviewed by Jer Noble.
3158 The change in r175715 required adding !important to a bunch
3159 of rules for pseudo elements. The border width of slider knobs
3160 for media controls should be zero, so add an !important there.
3162 * Modules/mediacontrols/mediaControlsiOS.css:
3163 (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
3164 border to border-width and force it to zero.
3166 2014-12-01 Chris Dumez <cdumez@apple.com>
3168 Take into consideration canvas drawing for throttling DOM timers
3169 https://bugs.webkit.org/show_bug.cgi?id=139140
3170 <rdar://problem/19102218>
3172 Reviewed by Andreas Kling.
3174 Take into consideration canvas drawing for throttling DOM timers so
3176 - Timers drawing on a visible canvas can no longer get throttled.
3177 This fixes the following sites:
3178 - http://hint.fm/wind/
3179 - http://radar.weather.gov/Conus/full_loop.php
3180 - Timers that are drawing on a canvas that is not user observable
3181 now get throttled, thus using less CPU. As an example, on
3182 http://hint.fm/wind/, CPU usage is at 110% when the canvas is
3183 inside the viewport on my machine. CPU usage would remain at
3184 110% when scrolling the canvas outside the viewport before this
3185 patch. After this patch, the CPU usage goes down to 5% when
3186 the canvas is outside the viewport.
3188 Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html
3189 fast/canvas/canvas-outside-viewport-timer-throttling.html
3191 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3192 (WebCore::JSCSSStyleDeclaration::putDelegate):
3193 * html/HTMLCanvasElement.cpp:
3194 (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
3195 * page/DOMTimer.cpp:
3196 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
3197 (WebCore::DOMTimer::scriptDidCauseElementRepaint):
3198 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
3199 (WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.
3202 2014-12-01 Myles C. Maxfield <mmaxfield@apple.com>
3204 Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
3205 https://bugs.webkit.org/show_bug.cgi?id=139158
3207 Reviewed by Simon Fraser.
3209 RenderingContexts are only created if the primary SimpleFontData is an SVG font,
3210 but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
3211 One might be an SVG font but the other might not be.
3213 Note that this brittle design will be fixed with the SVG -> OTF translator.
3215 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html
3217 * platform/graphics/mac/FontMac.mm:
3218 (WebCore::Font::dashesForIntersectionsWithRect):
3220 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
3222 [MSE] Fix not always calling mediaPlayer seek.
3223 https://bugs.webkit.org/show_bug.cgi?id=139139
3225 Reviewed by Jer Noble.
3227 Original comment states that media source shall always be notified of seek if it's not closed.
3229 No new tests needed.
3231 * html/HTMLMediaElement.cpp:
3232 (WebCore::HTMLMediaElement::seekTimerFired):
3234 2014-12-01 Tim Horton <timothy_horton@apple.com>
3236 Implement yellow highlight for WebKit1 data detectors
3237 https://bugs.webkit.org/show_bug.cgi?id=138956
3238 <rdar://problem/18992185>
3240 Reviewed by Beth Dakin.
3242 * page/TextIndicator.cpp:
3243 (WebCore::TextIndicator::createWithSelectionInFrame):
3244 (WebCore::TextIndicator::TextIndicator):
3245 * page/TextIndicator.h:
3246 (WebCore::TextIndicator::selectionRectInScreenCoordinates):
3247 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
3248 (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
3249 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
3250 Store TextIndicator rects in screen coordinates, since that's what we
3251 want anyway, and this makes it easier to share this code between the WebKits.
3253 * page/mac/TextIndicatorWindow.mm:
3254 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
3255 (WebCore::TextIndicatorWindow::setTextIndicator):
3256 Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.
3258 2014-12-01 Anders Carlsson <andersca@apple.com>
3260 Remove old site specific quirks code that was added in 2009
3261 https://bugs.webkit.org/show_bug.cgi?id=139141
3263 Reviewed by Antti Koivisto.
3265 * platform/network/NetworkingContext.h:
3266 * platform/network/ResourceHandleInternal.h:
3267 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3268 * platform/network/mac/ResourceHandleMac.mm:
3269 (WebCore::ResourceHandle::start):
3271 2014-12-01 Joseph Pecoraro <pecoraro@apple.com>
3273 Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
3274 https://bugs.webkit.org/show_bug.cgi?id=138988
3276 Reviewed by Timothy Hatcher.
3278 * inspector/WebInjectedScriptHost.cpp:
3279 (WebCore::WebInjectedScriptHost::type):
3280 Give all DOM Exception types the "error" RemoteObject subtype.
3282 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
3284 [MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
3285 https://bugs.webkit.org/show_bug.cgi?id=139075.
3287 Reviewed by Jer Noble.
3289 Specification requires from us to unset timestamps for trackBuffers
3290 during abort() method.
3292 Test: media/media-source/media-source-append-nonsync-sample-after-abort.html
3294 * Modules/mediasource/SourceBuffer.cpp:
3295 (WebCore::SourceBuffer::resetParserState):
3296 (WebCore::SourceBuffer::abort):
3297 * Modules/mediasource/SourceBuffer.h:
3299 2014-12-01 Chris Dumez <cdumez@apple.com>
3301 Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
3302 https://bugs.webkit.org/show_bug.cgi?id=138999
3304 Reviewed by Sam Weinig.
3306 Transform StyleBuilderCustom into a class and mark it as a friend of
3307 RenderStyle. This is needed because some of the StyleBuilderCustom
3308 functions need to access RenderStyle's private API.
3310 No new tests, no behavior change.
3312 * css/StyleBuilderCustom.h:
3313 Move functions from StyleBuilderFunctions namespace to
3314 StyleBuilderCustom class.
3317 Use StyleBuilderCustom scope instead of StyleBuilderFunctions for
3318 custom implementation.
3320 * rendering/style/RenderStyle.h:
3321 Mark StyleBuilderCustom class as a friend, similarly to what was
3322 already done for DeprecatedStyleBuilder and StyleResolver.
3324 2014-11-17 Oliver Hunt <oliver@apple.com>
3326 Make sure range based iteration of Vector<> still receives bounds checking
3327 https://bugs.webkit.org/show_bug.cgi?id=138821
3329 Reviewed by Mark Lam.
3331 There are a few uses of begin()/end() that explicitly require pointers,
3332 so we use getPtr() to extract the underlying pointer generically.
3334 * bindings/js/SerializedScriptValue.cpp:
3335 (WebCore::CloneDeserializer::deserializeString):
3336 * editing/TextIterator.cpp:
3337 (WebCore::SearchBuffer::isBadMatch):
3338 * page/mac/ServicesOverlayController.mm:
3339 (WebCore::ServicesOverlayController::buildSelectionHighlight):
3340 * platform/graphics/SegmentedFontData.cpp:
3341 (WebCore::SegmentedFontData::fontDataForCharacter):
3342 (WebCore::SegmentedFontData::containsCharacter):
3343 (WebCore::SegmentedFontData::isLoading):
3344 * platform/graphics/WOFFFileFormat.cpp:
3345 (WebCore::convertWOFFToSfnt):
3346 * rendering/RenderBox.cpp:
3347 (WebCore::RenderBox::paintFillLayers):
3348 * rendering/style/GridResolvedPosition.cpp:
3349 (WebCore::firstNamedGridLineBeforePosition):
3350 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
3351 * svg/SVGFontElement.cpp:
3352 (WebCore::kerningForPairOfStringsAndGlyphs):
3353 * svg/SVGPathByteStream.h:
3354 (WebCore::SVGPathByteStream::append):
3355 * xml/XPathNodeSet.h:
3356 (WebCore::XPath::NodeSet::begin):
3357 (WebCore::XPath::NodeSet::end):
3359 2014-11-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3361 Fix a build warning when CSS_SCROLL_SNAP is enabled
3362 https://bugs.webkit.org/show_bug.cgi?id=139084
3364 Reviewed by Andrei Bucur.
3366 Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class.
3368 * rendering/style/StyleScrollSnapPoints.cpp:
3369 (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted().
3371 2014-11-29 Sam Weinig <sam@webkit.org>
3373 Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder
3374 https://bugs.webkit.org/show_bug.cgi?id=139104
3376 Reviewed by Anders Carlsson.
3378 * css/CSSPropertyNames.in:
3379 * css/StyleBuilderCustom.h:
3380 (WebCore::StyleBuilderFunctions::applyValueWebkitLocale):
3381 (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode):
3382 (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation):
3383 (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf):
3384 (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective):
3385 * css/StyleResolver.cpp:
3386 (WebCore::StyleResolver::applyProperty):
3388 2014-11-29 Anders Carlsson <andersca@apple.com>
3390 Add an EmptyVisitedLinkStore implementation
3391 https://bugs.webkit.org/show_bug.cgi?id=139102
3393 Reviewed by Sam Weinig.
3395 * loader/EmptyClients.cpp:
3396 (WebCore::fillWithEmptyClients):
3397 * loader/EmptyClients.h:
3399 2014-11-28 Sam Weinig <sam@webkit.org>
3401 Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder
3402 https://bugs.webkit.org/show_bug.cgi?id=139053
3404 Reviewed by Andreas Kling.
3406 * css/CSSPropertyNames.in:
3407 * css/StyleBuilderConverter.h:
3408 (WebCore::StyleBuilderConverter::convertInitialLetter):
3409 (WebCore::StyleBuilderConverter::convertTextStrokeWidth):
3410 (WebCore::StyleBuilderConverter::convertLineBoxContain):
3411 * css/StyleResolver.cpp:
3412 (WebCore::StyleResolver::applyProperty):
3414 2014-11-26 Philippe Normand <pnormand@igalia.com>
3416 [GStreamer] HTTP source element lacks SCHEDULING query support
3417 https://bugs.webkit.org/show_bug.cgi?id=139064
3419 Reviewed by Carlos Garcia Campos.
3421 No new tests, covered by http/tests/media/hls.
3423 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3424 (webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
3425 queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
3426 to configure itself for adaptive streaming playback scenarios.
3428 2014-11-27 Ryuan Choi <ryuan.choi@navercorp.com>
3430 [EFL] Remove E_Dbus dependency
3431 https://bugs.webkit.org/show_bug.cgi?id=136355
3433 Reviewed by Gyuyoung Kim.
3435 E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8.
3436 Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface.
3437 This patch replaces E_Dbus implementation to Eldbus.
3439 * PlatformEfl.cmake:
3440 * platform/efl/BatteryProviderEfl.cpp:
3441 (WebCore::BatteryProviderEfl::BatteryProviderEfl):
3442 (WebCore::BatteryProviderEfl::~BatteryProviderEfl):
3443 (WebCore::BatteryProviderEfl::stopUpdating):
3444 (WebCore::batteryProperties):
3445 (WebCore::batteryPropertiesChanged):
3446 (WebCore::BatteryProviderEfl::deviceTypeCallback):
3447 (WebCore::BatteryProviderEfl::enumerateDevices):
3448 (WebCore::BatteryProviderEfl::startUpdating):
3449 (WebCore::BatteryProviderEfl::setBatteryStatus):
3450 (WebCore::BatteryProviderEfl::timerFired): Deleted.
3451 (WebCore::BatteryProviderEfl::getBatteryStatus): Deleted.
3452 (WebCore::BatteryProviderEfl::setBatteryClient): Deleted.
3453 * platform/efl/BatteryProviderEfl.h:
3454 (WebCore::BatteryProviderEfl::connection):
3455 (WebCore::BatteryProviderEfl::setSignalHandler):
3456 (WebCore::BatteryProviderEfl::~BatteryProviderEfl): Deleted.
3458 2014-11-27 Antti Koivisto <antti@apple.com>
3460 CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108