1 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
3 Fix iOS build after r177035.
7 I accidentally added my line to WebCore.exp.in inside an
8 #IF PLATFORM(MAC) block.
12 2014-12-09 Jeremy Jones <jeremyj@apple.com>
14 Enable automatic optimized fullscreen mode.
15 https://bugs.webkit.org/show_bug.cgi?id=139437
17 Reviewed by Eric Carlson.
19 Anticipate transition to optimized video fullscreen mode when entering background.
22 * html/HTMLMediaElement.cpp:
23 (WebCore::HTMLMediaElement::overrideBackgroundPlaybackRestriction): Add logic for automatic transition detection.
24 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
25 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
26 (WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Add logic for automatic transition detection.
28 2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
30 Delete Node::boundingBox()
31 https://bugs.webkit.org/show_bug.cgi?id=139333
33 Conceptually, boundingBox() should be on RenderInline. In addition,
34 Node::boundingBox() is completely broken for inline elements: it
35 makes a rect from the top left of the first inline child to the
36 bottom right of the last inline child, disregarding the intermediate
37 inline children. This breaks with vertical text and with line
40 What makes this problem worse is that some functions actually rely
41 on this bad behavior. These functions are functions that use the
42 Node's so-called "bounding box" to scroll to an anchor tag.
44 This patch goes through all the call sites of Node::boundingBox(),
45 and segregates them into calls that expect the true bounding box
46 and calls that need this false bounding box. This patch then moves
47 this false bounding box into RenderElement, using the name
48 anchorRect(). Callers what want the correct bounding box have been
49 updated to use RenderElement::absoluteBoundingBoxRect().
51 Reviewed by Zalan Bujtas.
53 No new tests because there should be no behavior change.
55 * accessibility/AccessibilitySlider.cpp:
56 (WebCore::AccessibilitySliderThumb::elementRect): Use
57 RenderObject::absoluteBoundingBoxRect()
58 * dom/ContainerNode.cpp:
59 (WebCore::ContainerNode::getUpperLeftCorner): Deleted.
60 (WebCore::ContainerNode::getLowerRightCorner): Deleted.
61 (WebCore::ContainerNode::boundingBox): Deleted.
62 * dom/ContainerNode.h:
64 (WebCore::Element::scrollIntoView): Use RenderElement::anchorRect().
65 (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
66 (WebCore::Element::updateFocusAppearance): Ditto.
68 (WebCore::Node::boundingBox): Deleted.
70 (WebCore::Node::pixelSnappedBoundingBox): Deleted.
71 * html/ColorInputType.cpp:
72 (WebCore::ColorInputType::elementRectRelativeToRootView): Use
73 RenderObject::absoluteBoundingBoxRect()
74 * html/HTMLInputElement.cpp:
75 (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
76 * html/ValidationMessage.cpp:
77 (WebCore::ValidationMessage::buildBubbleTree): Ditto.
79 (WebCore::FrameView::scrollElementToRect): Use
80 RenderElement::anchorRect().
81 (WebCore::FrameView::scrollToAnchor): Ditto.
82 * page/SpatialNavigation.cpp:
83 (WebCore::nodeRectInAbsoluteCoordinates): Use
84 RenderObject::absoluteBoundingBoxRect()
85 * rendering/RenderElement.cpp:
86 (WebCore::RenderElement::getUpperLeftCorner): Moved from ContainerNode.
87 (WebCore::RenderElement::getLowerRightCorner): Moved from
89 (WebCore::RenderElement::anchorRect): Moved from ContainerNode.
90 * rendering/RenderObject.h:
91 * rendering/RenderText.cpp:
92 (WebCore::RenderText::topOfFirstText): Helper for
93 RenderElement::anchorRect()
94 * rendering/RenderText.h:
96 2014-12-09 Antti Koivisto <antti@apple.com>
98 REGRESSION (r173272): When open PDF from Safari in iBooks, title is replaced to “QuickLookPDF-s72DbgAU-1”
99 https://bugs.webkit.org/show_bug.cgi?id=139453
100 rdar://problem/19052192
102 Reviewed by Pratik Solanki.
104 Pulling the suggested filename from the platform response returned null string on USE(CFNETWORK) code path
105 if it was the first thing needed from it.
107 * platform/network/cf/ResourceResponseCFNet.cpp:
108 (WebCore::ResourceResponse::platformSuggestedFilename): Use the lazy accessor.
110 2014-12-09 Joanmarie Diggs <jdiggs@igalia.com>
112 AX: [ATK] MathML tokens, tables, and row-like elements are exposed with ATK_ROLE_UNKNOWN
113 https://bugs.webkit.org/show_bug.cgi?id=139402
115 Reviewed by Chris Fleizach.
117 Expose tables and their children using existing table AtkRole types,
118 token elements using the new ATK_ROLE_STATIC, and row-like elements
119 using ATK_ROLE_PANEL. Also expose <mlabeledtr> as a math table row
120 and <ms> as math text.
122 No new tests; instead, added MathML elements to roles-exposed.html.
124 * accessibility/AccessibilityObject.h:
125 (WebCore::AccessibilityObject::isMathToken):
126 * accessibility/AccessibilityRenderObject.cpp:
127 (WebCore::AccessibilityRenderObject::isMathToken):
128 (WebCore::AccessibilityRenderObject::isMathText):
129 (WebCore::AccessibilityRenderObject::isMathTableRow):
130 * accessibility/AccessibilityRenderObject.h:
131 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
134 (ms, mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
135 (mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
136 * mathml/mathtags.in:
138 2014-12-09 Dean Jackson <dino@apple.com>
140 [Apple] Use Accelerate framework to speed-up FEGaussianBlur
141 https://bugs.webkit.org/show_bug.cgi?id=139310
143 Unreviewed followup, after comments by Andreas Kling.
145 It was pointed out that we already have a USE(ACCELERATE), so
146 we don't need a HAVE(ACCELERATE) :)
148 * platform/graphics/filters/FEGaussianBlur.cpp:
149 (WebCore::FEGaussianBlur::platformApplyGeneric):
150 (WebCore::FEGaussianBlur::platformApply):
152 2014-12-09 Alberto Garcia <berto@igalia.com>
154 Unreviewed. Style fix following r177019.
156 Use nullptr instead of 0.
158 * bindings/gobject/ConvertToUTF8String.cpp:
159 (convertToUTF8String):
161 2014-12-09 Javier Fernandez <jfernandez@igalia.com>
163 Refactor of rebuildFloatingObjectSetFromIntrudingFloats function after r176957.
164 https://bugs.webkit.org/show_bug.cgi?id=139445
166 Reviewed by Darin Adler.
168 The function rebuildFloatingObjectSetFromIntrudingFloats would be clearer if
169 we use a helper function to locate the previous sibling with overhanging floats.
171 These changes has been suggested as part of the patch review for bug #139150, which
174 No new tests, no behavior change.
176 * rendering/RenderBlock.cpp:
177 (WebCore::RenderBlock::avoidsFloats):
178 * rendering/RenderBlockFlow.cpp:
179 (WebCore::RenderBlockFlow::previousSiblingWithOverhangingFloats):
180 (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
181 * rendering/RenderBlockFlow.h:
182 * rendering/RenderBox.h:
183 (WebCore::RenderBox::isGridItem):
185 2014-12-09 Alberto Garcia <berto@igalia.com>
187 convertToUTF8String converts null string to empty string
188 https://bugs.webkit.org/show_bug.cgi?id=133904
190 Reviewed by Carlos Garcia Campos.
192 Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp
194 Return 0 if the string is null.
196 * bindings/gobject/ConvertToUTF8String.cpp:
197 (convertToUTF8String):
199 2014-12-09 Jeremy Jones <jeremyj@apple.com>
201 When invalidating fullscreen, cancel instead of stop optimizedFullscfreen.
202 https://bugs.webkit.org/show_bug.cgi?id=139145
204 Reviewed by Eric Carlson.
206 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
207 (WebVideoFullscreenInterfaceAVKit::invalidate): call cancel instead of stop
208 * platform/spi/ios/AVKitSPI.h: add -cancelOptimizedFullscreen.
210 2014-12-09 Alberto Garcia <berto@igalia.com>
212 [Media][GTK][EFL] Reduce style updates (painting) in controls
213 https://bugs.webkit.org/show_bug.cgi?id=137773
215 Reviewed by Carlos Garcia Campos.
217 Don't update media controls if they are not visible, and
218 initialize slider to a zero value.
220 * Modules/mediacontrols/mediaControlsBase.js:
221 (Controller.prototype.createControls):
222 (Controller.prototype.handleDurationChange):
223 (Controller.prototype.updateProgress):
224 (Controller.prototype.updateTime):
225 * Modules/mediacontrols/mediaControlsGtk.js:
226 (ControllerGtk.prototype.updateTime):
228 2014-12-09 Sebastian Dröge <sebastian@centricular.com>
230 [GStreamer] Add video/mp2t as alternative mimetype for MPEG TS
231 https://bugs.webkit.org/show_bug.cgi?id=139433
233 Reviewed by Philippe Normand.
235 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
236 (WebCore::mimeTypeCache):
237 It's used e.g. on http://www.jwplayer.com/html5/mediasource/ .
239 2014-12-09 Jeremy Jones <jeremyj@apple.com>
241 Enable activating optimized fullscreen mode from standard fulscreen mode.
242 https://bugs.webkit.org/show_bug.cgi?id=139137
244 Reviewed by Jer Noble.
246 Going from standard fullscreen mode to optimized fullscreen mode requires the ability to
247 update the fullscreen mode in HTMLMediaElement and a new standard-and-optimized-fullscreen mode.
249 This change KVO observes AVKit's optimizedFullscreenActive and forwards the change down to HTMLMediaElement so it can adjust behavior appropriately.
250 It also hides the standard fullscreen window when going into this mode.
251 When exiting fullscreen from standard-and-optimized, first exit fullscreen immediately, then stopOptimizedFullscreen, and notify of completion when
252 optimizedFullscreen goes inactive.
254 * Modules/mediacontrols/MediaControlsHost.cpp:
255 (WebCore::MediaControlsHost::fullscreenMode):
256 Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.
257 * WebCore.exp.in: New export for WebVideoFullscreenModelVideoElement::fullscreenModeChanged
258 * html/HTMLMediaElement.cpp:
259 (WebCore::HTMLMediaElement::displayType):
260 Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.
261 * html/HTMLMediaElement.h: Add new fullscreen mode.
262 (WebCore::HTMLMediaElement::fullscreenModeChanged): Update fullscreen mode so it does optimized fullscreen mode behaviors when applicable.
263 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Declare setOptimizedActive
264 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
265 (-[WebAVVideoLayer setPlayerViewController:]): observe optimizedFullscreenActive
266 (-[WebAVVideoLayer observeValueForKeyPath:ofObject:change:context:]): respond to changes to optimizedFullscreenActive
267 (WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Init members.
268 (WebVideoFullscreenInterfaceAVKit::playerController):
269 Give player controller a reference to the WebVideoFullscreenInterface so it can pass along mode change state.
270 (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Handle new fullscreen modes.
271 (WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
272 (WebVideoFullscreenInterfaceAVKit::invalidate): ditto
273 (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
274 (WebVideoFullscreenInterfaceAVKit::setOptimizedActive): Handle changes to fullscreen mode.
275 Also handle the case that exiting fullscreen happend when optimized mode ends.
276 * platform/ios/WebVideoFullscreenModel.h: declare fullscreenModeChanged()
277 * platform/ios/WebVideoFullscreenModelVideoElement.h: declare fullscreenModeChanged()
278 * platform/ios/WebVideoFullscreenModelVideoElement.mm: add fullscreenModeChanged()
279 (WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement): Init members.
280 (WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Added. Update video element fullscreen mode.
282 2014-12-08 Benjamin Poulain <bpoulain@apple.com>
284 Fix the iOS build after r177002
286 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
287 (WebCore::Extensions3DOpenGL::supportsExtension):
289 2014-12-07 Roger Fong <roger_fong@apple.com>
291 Implementation EXT_sRGB as a WebGL1 extension.
292 https://bugs.webkit.org/show_bug.cgi?id=109332.
293 <rdar://problem/17363470>
295 Reviewed by Dean Jackson.
298 webgl/1.0.3/conformance/webgl/ext-sRGB.html
299 fast/canvas/webgl/constants.html
301 This patch implements the SRGB extension for WebGL1.
302 Details of the extension specification are outlined here:
303 https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/
306 * DerivedSources.cpp:
307 * DerivedSources.make:
308 * WebCore.vcxproj/WebCore.vcxproj:
309 * WebCore.vcxproj/WebCore.vcxproj.filters:
310 * WebCore.xcodeproj/project.pbxproj:
311 * bindings/js/JSWebGLRenderingContextCustom.cpp:
313 * html/canvas/EXTsRGB.cpp: Added.
314 (WebCore::EXTsRGB::EXTsRGB):
315 (WebCore::EXTsRGB::~EXTsRGB):
316 (WebCore::EXTsRGB::getName):
317 * html/canvas/EXTsRGB.h: Added.
318 * html/canvas/EXTsRGB.idl: Added.
319 * html/canvas/WebGLExtension.h:
320 * html/canvas/WebGLFramebuffer.cpp:
321 (WebCore::WebGLFramebuffer::checkStatus):
322 * html/canvas/WebGLRenderingContext.cpp:
323 (WebCore::WebGLRenderingContext::getExtension):
324 (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
325 (WebCore::WebGLRenderingContext::getSupportedExtensions):
326 (WebCore::WebGLRenderingContext::renderbufferStorage):
327 (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
328 * html/canvas/WebGLRenderingContext.h:
329 * html/canvas/WebGLRenderingContext.idl:
330 * platform/graphics/Extensions3D.h:
331 * platform/graphics/GraphicsContext3D.cpp:
332 (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
333 (WebCore::GraphicsContext3D::getClearBitsByFormat):
334 (WebCore::GraphicsContext3D::getChannelBitsByFormat):
335 * platform/graphics/opengl/Extensions3DOpenGL.cpp:
336 (WebCore::Extensions3DOpenGL::supportsExtension):
337 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
338 (WebCore::GraphicsContext3D::texImage2D):
340 2014-12-08 Dean Jackson <dino@apple.com>
342 [Apple] Use Accelerate framework to speed-up FEGaussianBlur
343 https://bugs.webkit.org/show_bug.cgi?id=139310
344 <rdar://problem/18434594>
346 Reviewed by Simon Fraser.
348 Using Apple's Accelerate framework provides faster blurs
349 than the parallel jobs approach, especially since r168577
350 which started performing retina-accurate filters.
352 Using Accelerate.framework to replace the existing box blur (what
353 we use to approximate Gaussian blurs) gets about a 20% speedup on
354 desktop class machines, but between a 2x-6x speedup on iOS hardware.
355 Obviously this depends on the size of the content being blurred,
356 but it is still good.
358 The change is to intercept the platformApply function on
359 FEGaussianBlur and send it off to Accelerate.
361 There is an interactive performance test: PerformanceTests/Interactive/blur-filter-timing.html
363 * platform/graphics/filters/FEGaussianBlur.cpp:
364 (WebCore::kernelPosition): Move this to a file static function from the .h.
365 (WebCore::accelerateBoxBlur): The Accelerate implementation.
366 (WebCore::standardBoxBlur): The default generic/standard implementation.
367 (WebCore::FEGaussianBlur::platformApplyGeneric): Use accelerate or the default form.
368 (WebCore::FEGaussianBlur::platformApply): Don't try the parallelJobs approach if Accelerate is available.
369 * platform/graphics/filters/FEGaussianBlur.h:
370 (WebCore::FEGaussianBlur::kernelPosition): Deleted. Move into the .cpp.
372 2014-12-08 Beth Dakin <bdakin@apple.com>
374 Copy and Lookup menu items should be disabled when something is not copyable
375 https://bugs.webkit.org/show_bug.cgi?id=139423
377 Reviewed by Tim Horton.
379 New function allowCopy() indicates whether the HitTestResult would allow itself to
380 be copied onto the pasteboard.
382 * rendering/HitTestResult.cpp:
383 (WebCore::HitTestResult::allowsCopy):
384 * rendering/HitTestResult.h:
386 2014-12-08 Chris Dumez <cdumez@apple.com>
388 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to changeAffectsVisualOverflow()
389 https://bugs.webkit.org/show_bug.cgi?id=139420
391 Reviewed by Simon Fraser.
393 Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to
394 changeAffectsVisualOverflow(). This has no behavior change as
395 changeRequiresLayout() calls changeAffectsVisualOverflow(). However,
396 this is clearer as text-shadow affects the visual overflow (similarly
399 No new tests, no behavior change.
401 * rendering/style/RenderStyle.cpp:
402 (WebCore::RenderStyle::changeAffectsVisualOverflow):
403 (WebCore::RenderStyle::changeRequiresLayout):
405 2014-12-08 Anders Carlsson <andersca@apple.com>
409 * storage/StorageNamespaceImpl.cpp:
410 (WebCore::localStorageNamespaceMap):
412 2014-12-08 Anders Carlsson <andersca@apple.com>
414 WebStorageNamespaceProvider should create StorageNamespaceImpls
415 https://bugs.webkit.org/show_bug.cgi?id=139419
417 Reviewed by Andreas Kling.
422 * WebCore.xcodeproj/project.pbxproj:
423 Make StorageNamespaceImpl.h a private header.
425 * storage/StorageNamespaceImpl.cpp:
426 (WebCore::localStorageNamespaceMap):
429 (WebCore::StorageNamespaceImpl::createSessionStorageNamespace):
430 (WebCore::StorageNamespaceImpl::getOrCreateLocalStorageNamespace):
431 Add new functions for creating namespaces.
433 (WebCore::StorageNamespaceImpl::localStorageNamespace):
434 (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
435 Call the new functions.
437 * storage/StorageNamespaceImpl.h:
438 Add new members, make sure to deprecate the ones we don't want anyone calling.
440 * storage/StorageNamespaceProvider.cpp:
441 (WebCore::StorageNamespaceProvider::localStorageNamespace):
442 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
443 * storage/StorageNamespaceProvider.h:
444 Pass the quota when creating storage namespaces.
446 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
448 Move the new :nth-child() and :nth-last-child() out of experimental
449 https://bugs.webkit.org/show_bug.cgi?id=139329
451 Reviewed by Andreas Kling.
454 Feedback has only been positive.
455 All the known issues have been reported to the CSS WG.
457 The #ifdef don't really work anymore anyway for :nth-child() and :nth-last-child().
459 * css/CSSSelector.cpp:
460 (WebCore::CSSSelector::selectorText):
461 * css/SelectorChecker.cpp:
462 (WebCore::SelectorChecker::checkOne):
464 2014-12-08 Benjamin Poulain <bpoulain@apple.com>
466 A selector should not match anything if there is a subselector after a non-scrollbar pseudo element
467 https://bugs.webkit.org/show_bug.cgi?id=139336
468 rdar://problem/19051623
470 Reviewed by Andreas Kling.
472 Tests: fast/css/duplicated-after-pseudo-element.html
473 fast/css/duplicated-before-pseudo-element.html
474 fast/css/simple-selector-after-pseudo-element.html
476 * cssjit/SelectorCompiler.cpp:
477 (WebCore::SelectorCompiler::constructFragments):
478 The code filtering out simple selectors was only considering
479 the relation CSSSelector::SubSelector. That comes from SelectorChecker where
480 the relation considered is the one from the previous selector.
482 In this case, the relation is the extracted from the current simple selector,
483 which is the relation with the following selector.
485 When a single simple selector was following a pseudo element, the relation evaluated
486 to descendant/adjacent/direct-adjacent and we were skipping the early return.
487 That simple selector was evaluated as a regular filter on the element.
489 In the CSS JIT, we can just remove that test altogether. Fragments are built one after
490 the other. By definition, the evaluated simple selector belong to the current fragment.
492 2014-12-08 Benjamin Poulain <benjamin@webkit.org>
494 Fix the parsing of advanced :lang() after r176902
495 https://bugs.webkit.org/show_bug.cgi?id=139379
497 Reviewed by Andreas Kling.
499 There were two mistakes that were only caught in debug:
501 The lexer was not calling isIdentifierStart() before parseIdentifier().
502 Some identifier we were parsing should have been invalid.
503 This was caught with an assertion in parseIdentifier().
505 The other issue is that we were accumulating pointer to freed memory.
506 The tokenizer for LANGRANGE was creating a new string with a StringBuilder.
507 The problem is that CSSParserString does not keep the source string alive.
508 Consequently, the list of language range was accumulating pointers to dead
511 The fix there is to simply extend the token to take the original asterisk character
512 from the input. That is not elegant but that's efficient and we know
516 (WebCore::CSSParser::realLex):
517 * css/CSSGrammar.y.in: Fix the indentation of a language range rule.
519 2014-12-08 Anders Carlsson <andersca@apple.com>
521 Try to fix the 32-bit build.
525 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
527 Inline elements whose parents have small line-height are laid out too low
528 https://bugs.webkit.org/show_bug.cgi?id=139375
530 Reviewed by Dave Hyatt.
532 This is a port of the Blink patch at
533 https://src.chromium.org/viewvc/blink?revision=155253&view=revision.
535 When laying out inline elements, we try to align leaf children's parents'
536 baselines across the entire line. However, if you set line-height: 0px on a
537 span, the entire InlineBox which represents that span will have a height of
538 0, and therefore be laid out entirely on the baseline. In addition, we will
539 try to vertically center the leaf text in the span's InlineBox, which means
540 the leaf text will be vertically centered on the baseline. All the other
541 major browsers do not have this behavior; instead, they line up the boxes
544 This bug led to a rendering problem on the front page of the New York Times.
546 Here is the ChangeLog from the Blink patch:
548 Fix baseline position when it is outside the element's box
550 Specifically, we shouldn't force the baseline to be inside the element. IE
551 and FF don't do this, and it's incompatible with the CSS spec:
553 "The baseline of an 'inline-block' is the baseline of its last line box in
554 the normal flow, unless it has either no in-flow line boxes or if its
555 'overflow' property has a computed value other than 'visible', in which case
556 the baseline is the bottom margin edge."
557 -- http://www.w3.org/TR/CSS21/visudet.html#leading
559 It doesn't have a special case for "baseline is outside of the element's
562 Test: fast/text/small-line-height.html
564 * rendering/RenderBlock.cpp:
565 (WebCore::RenderBlock::baselinePosition):
567 2014-12-08 Eric Carlson <eric.carlson@apple.com>
569 [iOS] YouTube plug-in replacement should support partial urls
570 https://bugs.webkit.org/show_bug.cgi?id=139400
572 Reviewed by Alexey Proskuryakov.
574 * Modules/plugins/YouTubePluginReplacement.cpp:
575 (WebCore::YouTubePluginReplacement::youTubeURL): Call Document::completeURL.
577 2014-12-08 Anders Carlsson <andersca@apple.com>
581 * platform/network/soup/CookieJarSoup.cpp:
582 (WebCore::deleteAllCookiesModifiedSince):
584 2014-12-08 Andreas Kling <akling@apple.com>
587 <https://webkit.org/b/139146>
589 This change caused some unexpected assertions in line box teardown.
591 * rendering/RenderBlock.cpp:
592 (WebCore::RenderBlock::willBeDestroyed):
593 * rendering/RenderBlock.h:
594 * rendering/RenderBlockFlow.cpp:
595 (WebCore::RenderBlockFlow::willBeDestroyed):
596 * rendering/RenderElement.cpp:
597 (WebCore::RenderElement::willBeRemovedFromTree):
598 * rendering/RenderInline.cpp:
599 (WebCore::RenderInline::willBeDestroyed):
600 * rendering/RenderReplaced.cpp:
601 (WebCore::RenderReplaced::willBeDestroyed):
602 * rendering/RenderReplaced.h:
604 2014-12-08 Myles C. Maxfield <mmaxfield@apple.com>
606 [iOS] Narrow non-breaking space does not fall back to a correct font
607 https://bugs.webkit.org/show_bug.cgi?id=139335
609 Reviewed by Enrica Casucci.
611 Test: fast/text/narrow-non-breaking-space.html
613 * platform/graphics/ios/FontCacheIOS.mm:
614 (WebCore::requiresCustomFallbackFont):
615 (WebCore::FontCache::getCustomFallbackFont):
617 2014-12-08 Daniel Bates <dabates@apple.com>
619 [iOS] Fix the WebKit build with the public SDK
621 Include header UIKit.h.
623 * platform/spi/ios/MediaPlayerSPI.h:
625 2014-12-08 Chris Dumez <cdumez@apple.com>
627 Revert r176293 & r176275
629 Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type
630 instead of size_t. There is some disagreement regarding the long-term direction
631 of the API and we shouldn’t leave the API partly transitioned to unsigned type
632 while making a decision.
635 * bindings/js/JSDOMBinding.h:
637 * bindings/js/JSWebGLRenderingContextCustom.cpp:
638 * cssjit/SelectorCompiler.cpp:
639 * editing/TextIterator.cpp:
640 (WebCore::SearchBuffer::append):
641 (WebCore::SearchBuffer::prependContext):
642 (WebCore::SearchBuffer::search):
643 (WebCore::SearchBuffer::length):
644 * html/HTMLFormElement.cpp:
645 (WebCore::removeFromVector):
646 * html/parser/HTMLParserIdioms.h:
647 * html/parser/XSSAuditor.cpp:
648 * platform/SharedBuffer.cpp:
649 (WebCore::SharedBuffer::duplicateDataBufferIfNecessary):
651 2014-12-08 Anders Carlsson <andersca@apple.com>
653 Make deleting all cookies after a given date a little more sane
654 https://bugs.webkit.org/show_bug.cgi?id=139409
656 Reviewed by Antti Koivisto.
661 * platform/network/PlatformCookieJar.h:
662 * platform/network/cf/CookieJarCFNet.cpp:
663 * platform/network/curl/CookieJarCurl.cpp:
664 * platform/network/soup/CookieJarSoup.cpp:
665 Rename deleteAllCookiesModifiedAfterDate to deleteAllCookiesModifiedSince and change it
666 to take an std::chrono::system_clock::time_point instead.
668 * platform/network/mac/CookieJarMac.mm:
669 (WebCore::cookieStorage):
670 Helper function that returns an NSHTTPCookieStorage given a network session.
672 (WebCore::deleteAllCookiesModifiedSince):
673 Get the cookie storage from the network storage instead of just getting the global one.
675 2014-12-08 Csaba Osztrogonác <ossy@webkit.org>
677 URTBF after r176953, add an unreachable return to make GCC happy.
679 * loader/FrameLoader.cpp:
680 (WebCore::FrameLoader::subresourceCachePolicy):
682 2014-12-08 Javier Fernandez <jfernandez@igalia.com>
684 [CSS Grid Layout] Grid items must set a new formatting context.
685 https://bugs.webkit.org/show_bug.cgi?id=139150
687 Reviewed by David Hyatt.
689 Grid item's margins must not collapse even when they may be adjoining to
690 its content's margins. Also, setting a new formatting context prevents any
691 'float' protruding content on the adjoining grid items.
693 This patch also renames the expandsToEncloseOverhangingFloats to be more generic now,
694 determining whether a new formatting context is set or not. This affects not only to
695 how floats behave, but whether margins should collapse or not.
697 Tests: fast/css-grid-layout/float-not-protruding-into-next-grid-item.html
698 fast/css-grid-layout/grid-item-margins-not-collapse.html
700 * rendering/RenderBlock.cpp:
701 (WebCore::RenderBlock::avoidsFloats): Using the new createsNewFormattingContext function.
702 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): Deleted.
703 * rendering/RenderBlock.h:
704 * rendering/RenderBlockFlow.cpp:
705 (WebCore::RenderBlockFlow::MarginInfo::MarginInfo): Using the new createsNewFormattingContext function.
706 (WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): Using the new createsNewFormattingContext function.
707 (WebCore::RenderBlockFlow::layoutBlock): Using the new createsNewFormattingContext function.
708 (WebCore::RenderBlockFlow::computeOverflow): Using the new createsNewFormattingContext function.
709 (WebCore::RenderBlockFlow::addOverhangingFloats): Using the new createsNewFormattingContext function.
710 (WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): Using the new createsNewFormattingContext function.
711 * rendering/RenderBox.cpp:
712 (WebCore::RenderBox::createsNewFormattingContext): Added.
713 (WebCore::RenderBox::avoidsFloats): Removed checks already defined in the new createsNewFormattingContext function.
714 * rendering/RenderBox.h:
715 (WebCore::RenderBox::isGridItem): Added.
717 2014-12-08 Daniel Bates <dabates@apple.com>
719 [iOS] Attempt to fix the public SDK build after <https://trac.webkit.org/r176841>
720 (https://bugs.webkit.org/show_bug.cgi?id=139227)
722 * platform/spi/ios/AVKitSPI.h:
724 2014-12-08 Chris Dumez <cdumez@apple.com>
726 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
727 https://bugs.webkit.org/show_bug.cgi?id=139350
729 Reviewed by Antti Koivisto.
731 Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
732 and use m_loadType instead. ResourceRequest::cachePolicy() is meant to be passed
733 to the network stack, and isn't supposed to be used as input inside WebCore.
735 No new tests, no behavior change.
737 * loader/FrameLoader.cpp:
738 (WebCore::FrameLoader::subresourceCachePolicy):
740 2014-12-08 Philippe Normand <pnormand@igalia.com>
742 [GTK] UserMedia Permission Request API
743 https://bugs.webkit.org/show_bug.cgi?id=136449
745 Reviewed by Carlos Garcia Campos.
747 Very basic constraints validation support in the GStreamer
748 MediaStreamCenter. This is needed so the GTK C API tests using the
749 getUserMedia() API would not time out.
751 * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
752 (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
753 (WebCore::MediaStreamCenterGStreamer::validateRequestConstraints):
754 (WebCore::MediaStreamCenterGStreamer::createMediaStream):
756 2014-12-08 Anders Carlsson <andersca@apple.com>
758 Remove ResourceHandle::loadsBlocked()
759 https://bugs.webkit.org/show_bug.cgi?id=139401
761 Reviewed by Daniel Bates.
763 This hasn't returned true since Leopard, so get rid of it.
766 (WebCore::Chrome::canRunModalNow):
767 * platform/network/ResourceHandle.h:
768 * platform/network/cf/ResourceHandleCFNet.cpp:
769 (WebCore::ResourceHandle::loadsBlocked): Deleted.
770 * platform/network/curl/ResourceHandleCurl.cpp:
771 (WebCore::ResourceHandle::loadsBlocked): Deleted.
772 * platform/network/mac/ResourceHandleMac.mm:
773 (WebCore::ResourceHandle::loadsBlocked): Deleted.
774 * platform/network/soup/ResourceHandleSoup.cpp:
775 (WebCore::ResourceHandle::loadsBlocked): Deleted.
777 2014-12-08 Chris Fleizach <cfleizach@apple.com>
779 AX: iOS: VoiceOver gets hung on some websites consistently.
780 https://bugs.webkit.org/show_bug.cgi?id=139331
782 Reviewed by Mario Sanchez Prada.
784 iFrames are attachments on iOS, but they do not have attachment views. As a result,
785 WebCore would return incorrect information for the element count and index of children elements.
787 No tests. Bug only manifests itself when iOS accessibility frameworks call into WebCore.
789 * accessibility/AccessibilityMockObject.h:
790 (WebCore::AccessibilityMockObject::isDetachedFromParent):
791 * accessibility/AccessibilityObject.h:
792 (WebCore::AccessibilityObject::isDetachedFromParent):
793 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
794 (-[WebAccessibilityObjectWrapper accessibilityElementCount]):
795 (-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
796 (-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
797 (-[WebAccessibilityObjectWrapper accessibilityContainer]):
799 2014-12-08 Doron Wloschowsky <doron_wloschowsky@scee.net>
801 Webkit using Harfbuzz does not display Arabic script correctly
802 https://bugs.webkit.org/show_bug.cgi?id=136337
804 Reviewed by Carlos Garcia Campos.
806 Using reinterpret_cast to convert hb_codepoint_t* into UChar*
807 doesn't work on big endian systems.
809 * platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
810 (WebCore::harfBuzzGetGlyph):
812 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
814 [GStreamer] Major cleanup of AudioDestination implementation
815 https://bugs.webkit.org/show_bug.cgi?id=139370
817 Reviewed by Philippe Normand.
819 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
820 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
821 Add an audioresample element before the audio sink. The audio sink
822 might not be able to handle our sampling rate.
824 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
825 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
826 (WebCore::AudioDestinationGStreamer::stop):
827 (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady): Deleted.
828 Don't use a wavparse element but directly link the raw audio from
829 the source to the audio sink.
831 (WebCore::AudioDestinationGStreamer::start):
832 Catch errors when going to PLAYING early, we might not get an error
835 * platform/audio/gstreamer/AudioDestinationGStreamer.h:
836 * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
837 (getGStreamerMonoAudioCaps):
838 (webKitWebAudioSrcConstructed):
839 (webKitWebAudioSrcChangeState):
840 Don't use a WAV encoder but directly output raw audio. Also don't
841 include a unneeded audioconvert element before the interleave.
843 (webKitWebAudioSrcLoop):
844 Add timestamps and durations to the output buffers, map them in
845 READWRITE mode and actually keep them mapped until we're sure
846 nothing is actually writing into them.
848 (webKitWebAudioSrcLoop):
849 Pause the task on errors instead of continuously calling it again
852 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
854 [GStreamer] Use gst_message_parse_buffering()
855 https://bugs.webkit.org/show_bug.cgi?id=139365
857 Reviewed by Philippe Normand.
859 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
860 (WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
861 Use gst_message_parse_buffering() instead of manually getting
862 the percentage from the message's structure. While the latter
863 is supposed to work and part of the ABI stability guarantee,
864 it's just not nice and overly complicated.
866 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
868 [GStreamer] Minor cleanup of the AudioFileReader implementation
869 https://bugs.webkit.org/show_bug.cgi?id=139367
871 Reviewed by Philippe Normand.
873 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
874 (WebCore::AudioFileReader::~AudioFileReader):
875 Don't call gst_bus_remove_signal_watch(), the source was already
876 destroyed together with the main context and doing it again here
877 will give a g_critical().
879 (WebCore::AudioFileReader::handleSample):
880 Calculate the number of samples from the actual buffer size
881 and the bytes-per-frame instead of the buffer duration. Using
882 the buffer duration can lead to rounding errors and might cause
883 too few samples to be copied over later.
885 (WebCore::AudioFileReader::handleMessage):
886 Set the pipeline to GST_STATE_NULL immediately when receiving
887 errors to prevent other follow-up error messages from propagating
888 through the bus and spamming the user's terminal with g_warnings().
890 (WebCore::AudioFileReader::handleNewDeinterleavePad):
891 Sync the state of the queue and sink after deinterleave with
892 the parent state instead of just setting them to READY. That
893 way we potentially go to PAUSED state a bit earlier already
894 and prevent a potential race condition that could cause buffers
895 to arrive in the new elements in READY state already (which would
898 (WebCore::AudioFileReader::plugDeinterleave):
899 Handle multiple decodebin source pads by ignoring all following
900 ones just in case there are multiple for whatever reason.
902 (WebCore::AudioFileReader::decodeAudioForBusCreation):
903 Catch errors from going to PAUSED state early. We might not
904 get a error message at all if we're unlucky.
906 (WebCore::AudioFileReader::plugDeinterleave):
907 (WebCore::AudioFileReader::createBus):
908 (WebCore::AudioFileReader::handleSample):
909 Downmix to mono if required instead of just using the front
910 left channel and claiming it is mono. Downmixing from stereo
911 to mono will mix both channels instead of just taking the left.
913 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
915 [GStreamer] Handle CLOCK_LOST and LATENCY messages
916 https://bugs.webkit.org/show_bug.cgi?id=139341
918 Reviewed by Philippe Normand.
920 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
921 (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
922 Handle CLOCK_LOST message by shortly going back to PAUSED state
923 and then to PLAYING again to let the pipeline select a new clock
925 This can happen if the stream that ends in a sink that provides
926 the current clock disappears, for example if the audio sink
927 provides the clock and the audio stream is disabled. It also
928 happens relatively often with HTTP adaptive streams when switching
929 between different variants of a stream.
931 Also handle the LATENCY message by triggering the default GStreamer
932 mechanism to update the latency. This can happen if the latency of
933 live elements changes, or for one reason or another a new live element
934 is added or removed from the pipeline.
936 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
938 [GStreamer] Use audio-filter property on GStreamer >= 1.4.2
939 https://bugs.webkit.org/show_bug.cgi?id=139360
941 Reviewed by Philippe Normand.
943 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
944 (WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
945 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
946 Since 1.4.0 there is an audio-filter property we can use to place
947 the pitch-preserving filter at a more canonical position inside
948 the pipeline. Since 1.4.2 this property also handles all necessary
950 This simplifies our sink code a bit because we don't have to create
951 a custom sink bin anymore.
953 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
955 [GStreamer] Add video/flv to the list of supported mimetypes
956 https://bugs.webkit.org/show_bug.cgi?id=139344
958 Reviewed by Gustavo Noronha Silva.
960 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
961 (WebCore::mimeTypeCache):
962 Add video/flv additional to video/x-flv to the list of supported
963 mimetypes. It's used on some websites, e.g.
964 http://www.jwplayer.com/html5/formats/
966 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
968 [GStreamer] Remove GStreamer 0.10 #ifdefs.
969 https://bugs.webkit.org/show_bug.cgi?id=138921
971 Reviewed by Philippe Normand.
973 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
974 (WebCore::initializeGStreamer):
975 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
976 (WebCore::MediaPlayerPrivateGStreamer::buffered):
977 Remove GStreamer 0.10 #ifdefs, we depend on >= 1.0.3 at least.
979 2014-12-08 Sebastian Dröge <sebastian@centricular.com>
981 [GStreamer] Add application/x-mpegurl to the list of supported mimetypes.
982 https://bugs.webkit.org/show_bug.cgi?id=139343
984 Reviewed by Gustavo Noronha Silva.
986 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
987 (WebCore::mimeTypeCache):
988 It's an alternative mimetype for the already supported
989 application/vnd.apple.mpegurl (aka HLS) and adding it
990 allows all streams on http://www.jwplayer.com/html5/hls/
993 2014-12-07 Gwang Yoon Hwang <yoon@igalia.com>
995 [TextureMapper] Normalize pattern transform for pattern compositing
996 https://bugs.webkit.org/show_bug.cgi?id=139374
998 Reviewed by Martin Robinson.
1000 In CoordGfx/TexMapGL, pattern compositing (for background image) uses
1001 the patternTransform shader uniform. However, current implementation
1002 miscalculates its transform matrix. It uses simple rectToRect
1003 transformationMatrix which produces unnormalized garbage term.
1004 This causes unexpected behavior at the fragmentation stage in some
1007 It should calculate its scale based on tileSize and contentSize,
1008 and its position based on tilePhase and contentSize.
1010 No new tests because the bug only occurs on some mobile GPUs.
1012 * platform/graphics/texmap/TextureMapperLayer.cpp:
1013 (WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
1015 2014-12-07 Youenn Fablet <youenn.fablet@crf.canon.fr>
1017 [Soup][Curl] HTTP header values should be treated as latin1, not UTF-8
1018 https://bugs.webkit.org/show_bug.cgi?id=128739
1020 Reviewed by Martin Robinson.
1022 Removed UTF-8 conversion of HTTP header values (SOUP and CURL).
1023 Removed unnecessary UTF-8 conversion of HTTP header names (SOUP).
1024 Changed conversion of HTTP method from UTF-8 to ASCII (SOUP and CURL).
1025 Added explicit UTF-8 conversion of Content-Disposition header to compute download suggested filename.
1027 Test: http/tests/xmlhttprequest/response-special-characters.html
1029 * platform/network/curl/CurlDownload.cpp:
1030 (WebCore::CurlDownload::headerCallback): Removed header conversion.
1031 * platform/network/curl/ResourceHandleManager.cpp:
1032 (WebCore::headerCallback): Ditto.
1033 (WebCore::ResourceHandleManager::initializeHandle): Changed HTTP method conversion to ASCI.
1034 * platform/network/soup/ResourceRequestSoup.cpp:
1035 (WebCore::ResourceRequest::updateFromSoupMessageHeaders): Removed header conversion.
1036 (WebCore::ResourceRequest::updateSoupMessage): Changed HTTP method conversion to ASCII.
1037 (WebCore::ResourceRequest::toSoupMessage): Ditto.
1038 (WebCore::ResourceRequest::updateFromSoupMessage):
1039 * platform/network/soup/ResourceResponseSoup.cpp:
1040 (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Rmoved header conversion.
1041 (WebCore::ResourceResponse::platformSuggestedFilename): Added explicit conversion of contentDisposition to UTF-8.
1043 2014-12-07 Dan Bernstein <mitz@apple.com>
1045 Introduce and deploy a function that allocates and returns an instance of a soft-linked class
1046 https://bugs.webkit.org/show_bug.cgi?id=139348
1048 Reviewed by Anders Carlsson.
1050 In [[getFooClass() alloc] init*], the type of the result of +alloc is id, so the compiler
1051 picks an arbitrary declaration of init*, not necessarily the Foo one. This can then lead
1052 to warnings or errors if the types or attributes don’t match, or to runtime errors if Foo
1053 doesn’t even have the expected initializer. The new allocFooInstance() returns a Foo *, thus
1054 avoiding the ambiguity.
1056 * editing/mac/DataDetection.mm:
1057 (WebCore::DataDetection::detectItemAroundHitTestResult):
1058 * platform/audio/ios/MediaSessionManagerIOS.mm:
1059 (-[WebMediaSessionHelper allocateVolumeView]):
1060 (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
1061 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
1062 (WebCore::AudioSourceProviderAVFObjC::createMix):
1063 * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
1064 * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
1065 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1066 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
1067 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
1068 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
1069 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
1070 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
1071 * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
1072 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
1073 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
1074 (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):
1075 * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
1076 (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
1077 (WebCore::SourceBufferPrivateAVFObjC::abort):
1078 (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
1080 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1081 (PlatformCALayerMac::PlatformCALayerMac): Cast the result of +alloc to an instance of the
1084 * platform/graphics/mac/FontMac.mm:
1085 (WebCore::showLetterpressedGlyphsWithAdvances):
1086 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1087 (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
1088 (WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
1089 * platform/graphics/mac/PDFDocumentImageMac.mm:
1090 (WebCore::PDFDocumentImage::createPDFDocument):
1091 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
1092 (SOFT_LINK_CONSTANT):
1093 (-[WebSpeechSynthesisWrapper speakUtterance:]):
1094 * platform/ios/WebCoreMotionManager.mm:
1095 (-[WebCoreMotionManager initializeOnMainThread]):
1096 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1097 (-[WebAVPlayerController init]):
1098 (WebVideoFullscreenInterfaceAVKit::setupFullscreen):
1099 * platform/mac/ContentFilterMac.mm:
1100 (WebCore::ContentFilter::ContentFilter):
1102 * platform/mac/SoftLinking.h: Added alloc##className##instance().
1104 * platform/mac/WebVideoFullscreenController.mm:
1105 (-[WebVideoFullscreenController setVideoElement:]):
1106 * platform/mediastream/mac/AVAudioCaptureSource.mm:
1107 (WebCore::AVAudioCaptureSource::setupCaptureSession):
1108 * platform/mediastream/mac/AVCaptureDeviceManager.mm:
1109 (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType):
1110 * platform/mediastream/mac/AVMediaCaptureSource.mm:
1111 (WebCore::AVMediaCaptureSource::setupSession):
1112 * platform/mediastream/mac/AVVideoCaptureSource.mm:
1113 (WebCore::AVVideoCaptureSource::setupCaptureSession):
1114 * platform/network/ios/QuickLook.mm:
1115 (WebCore::registerQLPreviewConverterIfNeeded):
1116 (WebCore::QuickLookHandle::QuickLookHandle):
1118 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
1120 [GTK] Add Since tags to GObject DOM bindings documentation
1121 https://bugs.webkit.org/show_bug.cgi?id=139356
1123 Reviewed by Gustavo Noronha Silva.
1125 Now that we have a small stable API, and new symbols are added
1126 manually, we can also add the version to the symbols file, that
1127 the code generator can ue to add Since tags to the gtk-doc.
1129 * bindings/gobject/webkitdom.symbols: Add @2.8 to the new symbols
1131 * bindings/scripts/CodeGeneratorGObject.pm:
1132 (GenerateConstants): Add Since tag to gtk-doc if there's a version
1133 number for the symbol in the .symbols file.
1134 (GenerateFunction): Ditto.
1135 (ReadStableSymbols):
1137 2014-12-07 Carlos Garcia Campos <cgarcia@igalia.com>
1139 [GTK] Missing API detected in GObject DOM bindings after r176630
1140 https://bugs.webkit.org/show_bug.cgi?id=139201
1142 Reviewed by Gustavo Noronha Silva.
1144 Bring back WebKitDOMDeprecated and add custom versions of the
1145 removed symbols as deprecated in favor of the new ones. Also add
1146 the new ones as stable API.
1148 * CMakeLists.txt: Pass a list of additional dependencies to GENERATE_BINDINGS.
1149 * PlatformGTK.cmake: Ditto.
1150 * PlatformMac.cmake: Ditto.
1151 * bindings/gobject/WebKitDOMDeprecated.cpp: Added.
1152 (webkit_dom_html_element_get_inner_html):
1153 (webkit_dom_html_element_set_inner_html):
1154 (webkit_dom_html_element_get_outer_html):
1155 (webkit_dom_html_element_set_outer_html):
1156 * bindings/gobject/WebKitDOMDeprecated.h: Added.
1157 * bindings/gobject/WebKitDOMDeprecated.symbols: Added.
1158 * bindings/gobject/webkitdom.symbols:
1160 2014-12-06 Csaba Osztrogonác <ossy@webkit.org>
1162 URTBF after r176915.
1164 DisplayRefreshMonitorClient is the parent class of GraphicsLayerUpdater
1165 only if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is true, so override
1166 is incorrect if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) is false.
1168 That's why r176915 broke the build on non PLATFORM(COCOA) platforms,
1169 such as GTK, EFL, Apple Windows.
1171 Additionally displayRefreshFired is only used inside USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
1172 guard, so there is no reason to define it for non COCOA platforms.
1174 * platform/graphics/GraphicsLayerUpdater.cpp:
1175 * platform/graphics/GraphicsLayerUpdater.h:
1177 2014-12-06 Anders Carlsson <andersca@apple.com>
1179 Fix build with newer versions of clang.
1180 rdar://problem/18978733
1182 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
1184 * page/scrolling/AsyncScrollingCoordinator.h:
1185 * page/scrolling/ScrollingStateFixedNode.h:
1186 * page/scrolling/ScrollingStateFrameScrollingNode.h:
1187 * page/scrolling/ScrollingStateOverflowScrollingNode.h:
1188 * page/scrolling/ScrollingStateStickyNode.h:
1189 * page/scrolling/ScrollingTreeFrameScrollingNode.h:
1190 (WebCore::ScrollingTreeFrameScrollingNode::updateLayersAfterDelegatedScroll): Deleted.
1191 * page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
1192 * platform/graphics/GraphicsLayerUpdater.h:
1193 * platform/mac/ScrollbarThemeMac.h:
1194 (WebCore::ScrollbarThemeMac::supportsControlTints): Deleted.
1195 (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): Deleted.
1196 * rendering/RenderLayerCompositor.h:
1197 * rendering/RenderSnapshottedPlugIn.h:
1199 2014-12-06 Anders Carlsson <andersca@apple.com>
1201 Fix build with newer versions of clang.
1202 rdar://problem/18978687
1204 Add a bunch of overrides since we're not disabling the "inconsistent missing override" warning in WebKit.
1206 * html/HTMLElement.h:
1207 * html/HTMLMediaElement.h:
1208 * html/track/VTTCue.h:
1209 * loader/FrameNetworkingContext.h:
1210 (WebCore::FrameNetworkingContext::shouldClearReferrerOnHTTPSToHTTPRedirect): Deleted.
1211 * loader/cache/CachedImage.h:
1212 * page/SuspendableTimer.h:
1213 * platform/Scrollbar.h:
1214 * platform/graphics/InbandTextTrackPrivate.h:
1215 * rendering/RenderBlockFlow.h:
1217 2014-12-06 Anders Carlsson <andersca@apple.com>
1219 Follow-up build fix.
1221 * Configurations/Base.xcconfig:
1223 2014-12-06 Anders Carlsson <andersca@apple.com>
1225 Fix build with newer versions of clang.
1226 rdar://problem/18978689
1228 Disable the "inconsistent missing override" warning due to our use of macros in SVG where it's hard to
1229 know whether we can add an override or not.
1231 Also, cast return values of +alloc to the right type, and add some casts for vector iterator arithmetic.
1233 * Configurations/Base.xcconfig:
1234 * Modules/webdatabase/DatabaseBackendBase.cpp:
1235 (WebCore::guidForOriginAndName):
1236 * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1237 (-[WebAccessibilityObjectWrapper _stringForRange:attributed:]):
1238 * editing/cocoa/HTMLConverter.mm:
1239 (_shadowForShadowStyle):
1240 (HTMLConverter::_addTableForElement):
1241 * platform/graphics/SVGGlyph.cpp:
1242 (WebCore::isCompatibleArabicForm):
1243 * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
1244 (WebCore::AudioSourceProviderAVFObjC::createMix):
1245 * platform/graphics/mac/FontMac.mm:
1246 (WebCore::showLetterpressedGlyphsWithAdvances):
1247 * platform/ios/PlatformSpeechSynthesizerIOS.mm:
1248 (-[WebSpeechSynthesisWrapper speakUtterance:]):
1249 * platform/ios/WebCoreMotionManager.mm:
1250 (-[WebCoreMotionManager initializeOnMainThread]):
1251 * rendering/RenderTableSection.cpp:
1252 (WebCore::RenderTableSection::spannedRows):
1253 (WebCore::RenderTableSection::spannedColumns):
1255 2014-12-06 peavo@outlook.com <peavo@outlook.com>
1257 [WinCairo] Compile error, missing guard.
1258 https://bugs.webkit.org/show_bug.cgi?id=139338
1260 Reviewed by Alex Christensen.
1262 There is missing a ENABLE(CSS_SELECTORS_LEVEL4) guard in CSSParser.cpp.
1264 * css/CSSParser.cpp:
1265 (WebCore::CSSParser::realLex):
1267 2014-12-05 Chris Fleizach <cfleizach@apple.com>
1269 AX: I cannot activate links on the mobile version of news.google.com
1270 https://bugs.webkit.org/show_bug.cgi?id=139330
1272 Reviewed by Simon Fraser.
1274 This website only listens for touch events. VoiceOver normally dispatches click and mouse events,
1275 so on iOS this falls and VoiceOver is not able to activate anything.
1277 The solution here is to dispatch simulated touch down/up events.
1279 Test: platform/ios-simulator/ios-accessibility/press-fires-touch-events.html
1281 * accessibility/AccessibilityObject.cpp:
1282 (WebCore::AccessibilityObject::press):
1283 (WebCore::AccessibilityObject::dispatchTouchEvent):
1284 * accessibility/AccessibilityObject.h:
1285 (WebCore::AccessibilityObject::isDetachedFromParent):
1286 * page/EventHandler.h:
1287 * page/ios/EventHandlerIOS.mm:
1288 (WebCore::EventHandler::dispatchSimulatedTouchEvent):
1289 * platform/ios/PlatformEventFactoryIOS.h:
1290 * platform/ios/PlatformEventFactoryIOS.mm:
1291 (WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
1292 (WebCore::PlatformEventFactory::createPlatformSimulatedTouchEvent):
1294 2014-12-05 Myles C. Maxfield <mmaxfield@apple.com>
1296 Directional single quotation marks are not rotated in vertical text
1297 https://bugs.webkit.org/show_bug.cgi?id=138526
1299 Reviewed by Darin Adler.
1301 In vertical text, directional single quotation marks are not rotated along with
1302 the rest of the letters.
1304 Test: fast/text/vertical-quotation-marks.html
1306 * platform/graphics/FontGlyphs.cpp:
1307 (WebCore::shouldIgnoreRotation):
1309 2014-12-05 Dhi Aurrahman <diorahman@rockybars.com>
1311 Implement parser for :lang pseudo class selector arguments that contain wildcard '*' subtags
1312 https://bugs.webkit.org/show_bug.cgi?id=139014
1314 Reviewed by Benjamin Poulain.
1316 Consider each language range in :lang() that consists of an asterisk
1317 immediately followed by an identifier beginning with an ASCII hyphen
1318 as a valid input for the selector as specified in [1].
1320 [1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
1322 Test: fast/css/parsing-css-lang.html
1324 * css/CSSGrammar.y.in:
1325 * css/CSSParser.cpp:
1326 (WebCore::CSSParser::realLex):
1328 2014-12-05 Simon Fraser <simon.fraser@apple.com>
1330 Programmatic scrolling and content changes are not always synchronized
1331 https://bugs.webkit.org/show_bug.cgi?id=139245
1332 rdar://problem/18833612
1334 Reviewed by Anders Carlsson.
1336 For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate()
1337 calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested
1338 scroll position to the scrolling thread.
1340 Once the scrolling thread commits, it calls back to the main thread via
1341 scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second
1342 call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem,
1343 because some other scroll may have happened in the meantime; when the timer
1344 fires, it can sometimes restore a stale scroll position.
1346 Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll()
1347 for programmatic scrolls, since we know that requestScrollPositionUpdate()
1348 already did the updateScrollPositionAfterAsyncScroll().
1351 ManualTests/programmatic-scroll-flicker.html
1353 * page/FrameView.cpp:
1354 (WebCore::FrameView::reset): nullptr.
1355 (WebCore::FrameView::setScrollPosition): Ditto.
1356 (WebCore::FrameView::setWasScrolledByUser): Ditto.
1357 * page/scrolling/AsyncScrollingCoordinator.cpp:
1358 (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for
1359 isProgrammaticScroll just to make sure we use the same value for the duration of this function.
1360 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing
1361 if this is a programmatic scroll.
1363 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1367 * platform/spi/mac/TUCallSPI.h:
1369 2014-12-05 Roger Fong <roger_fong@apple.com>
1371 [Win] proj files copying over too many resources..
1372 https://bugs.webkit.org/show_bug.cgi?id=139315.
1373 <rdar://problem/19148278>
1375 Reviewed by Brent Fulgham.
1377 * WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output.
1379 2014-12-05 Timothy Horton <timothy_horton@apple.com>
1381 Use the system string for telephone number menu
1382 https://bugs.webkit.org/show_bug.cgi?id=139324
1383 <rdar://problem/18726471>
1385 * platform/spi/mac/TUCallSPI.h: Added.
1386 Actually add the SPI header from the last commit.
1388 2014-12-05 Tim Horton <timothy_horton@apple.com>
1390 Use the system string for telephone number menu
1391 https://bugs.webkit.org/show_bug.cgi?id=139324
1392 <rdar://problem/18726471>
1394 Reviewed by Anders Carlsson.
1396 * WebCore.xcodeproj/project.pbxproj:
1397 * platform/spi/mac/TUCallSPI.h: Added.
1400 2014-12-05 Jer Noble <jer.noble@apple.com>
1402 [MSE][Mac] Return absolute value of error code from CDMSessionMediaSourceAVFObjC::update().
1403 https://bugs.webkit.org/show_bug.cgi?id=139316
1405 Reviewed by Eric Carlson.
1407 Similarly to our asynchronous error reporting, return the absolute value of the error code.
1409 * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1410 (WebCore::systemCodeForError):
1411 (WebCore::CDMSessionMediaSourceAVFObjC::update):
1413 2014-12-05 Anders Carlsson <andersca@apple.com>
1415 Fix build on Windows.
1417 * page/SessionIDHash.h:
1419 2014-12-05 Zalan Bujtas <zalan@apple.com>
1421 Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
1422 https://bugs.webkit.org/show_bug.cgi?id=139311
1424 Reviewed by Tim Horton.
1428 * rendering/RenderEmbeddedObject.cpp:
1429 (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
1431 2014-12-05 Andreas Kling <akling@apple.com>
1433 PassRef should deref on destruction if pointee was not moved.
1434 <https://webkit.org/b/139309>
1436 Reviewed by Antti Koivisto.
1438 Remove calls to PassRef::dropRef() since it's no longer necessary to manually
1439 notify PassRef that you didn't move the pointee.
1441 * rendering/RenderElement.cpp:
1442 (WebCore::RenderElement::createFor):
1443 (WebCore::RenderElement::setStyle):
1444 * style/StyleResolveTree.cpp:
1445 (WebCore::Style::resolveTree):
1447 2014-12-05 Benjamin Poulain <bpoulain@apple.com>
1449 Fix style sharing with the "type" and "readonly" attributes
1450 https://bugs.webkit.org/show_bug.cgi?id=139283
1452 Reviewed by Antti Koivisto.
1454 There are two bugs adressed with this patch:
1455 1) The attributes "type" and "readonly" where only handled correctly
1456 for input elements. For everything else, they could incorrectly
1457 be ignored for style sharing.
1458 2) The handling of attributes was incorrect for selector lists, leading
1459 to various bugs (incorrect style sharing in some cases, disabling
1460 style sharing on valid cases).
1462 For [1], the problem was that attribute checking had been limited to
1463 StyleResolver::canShareStyleWithControl(). That function is for handling
1464 the special states of input element. For any other element, the attributes
1465 were simply ignored.
1467 For [2], there were a bunch of small problems. First, containsUncommonAttributeSelector()
1468 was not recursive, which caused it to ignored any nested selector list. This used to be
1469 correct but since we have advanced selectors we can no longer assumed selectors are not nested.
1471 A second issue was that any attribute in a selector list was causing us to fall back
1472 to the slow case. Now that we have the fast :matches(), we really don't want that.
1474 The function containsUncommonAttributeSelector() was transformed into a recursive function
1475 tracking where we are in the selector.
1477 At the entry point, we start with the flag "startsOnRightmostElement" set to true. The flag is then
1478 updated on the stack of each recursive call.
1480 For example, "webkit > is:matches(freaking > awesome)". We evalute "is" with the flag to true, then recurse
1481 into evaluating "freaking > awesome" with the flag still set to true. When we evalute ">", the flag
1482 is set to false to evaluate any following selectors.
1483 After evaluating "freaking > awesome", we go back to our previous stack frame, and the flag
1484 is back to true and we can continue evaluating with the curren top level state.
1486 From some logging, I discovered that the attribute handling is way too aggressive.
1487 This is not a regression and I cannot fix that easily so I left a fixme.
1489 Tests: fast/css/data-attribute-style-sharing-1.html
1490 fast/css/data-attribute-style-sharing-2.html
1491 fast/css/data-attribute-style-sharing-3.html
1492 fast/css/data-attribute-style-sharing-4.html
1493 fast/css/data-attribute-style-sharing-5.html
1494 fast/css/data-attribute-style-sharing-6.html
1495 fast/css/data-attribute-style-sharing-7.html
1496 fast/css/readonly-attribute-style-sharing-1.html
1497 fast/css/readonly-attribute-style-sharing-2.html
1498 fast/css/readonly-attribute-style-sharing-3.html
1499 fast/css/readonly-attribute-style-sharing-4.html
1500 fast/css/readonly-attribute-style-sharing-5.html
1501 fast/css/readonly-attribute-style-sharing-6.html
1502 fast/css/readonly-attribute-style-sharing-7.html
1503 fast/css/type-attribute-style-sharing-1.html
1504 fast/css/type-attribute-style-sharing-2.html
1505 fast/css/type-attribute-style-sharing-3.html
1506 fast/css/type-attribute-style-sharing-4.html
1507 fast/css/type-attribute-style-sharing-5.html
1508 fast/css/type-attribute-style-sharing-6.html
1509 fast/css/type-attribute-style-sharing-7.html
1512 (WebCore::containsUncommonAttributeSelector):
1513 (WebCore::RuleData::RuleData):
1514 (WebCore::selectorListContainsAttributeSelector): Deleted.
1515 * css/StyleResolver.cpp:
1516 (WebCore::StyleResolver::canShareStyleWithControl):
1517 (WebCore::StyleResolver::canShareStyleWithElement):
1519 2014-12-05 Jer Noble <jer.noble@apple.com>
1521 [WTF] MediaTime should support round-tripping from and to doubles.
1522 https://bugs.webkit.org/show_bug.cgi?id=139248
1524 Reviewed by Eric Carlson.
1526 Check whether the MediaTime's underlying data is floating point before converting
1527 to a CMTime or QTTime.
1529 * platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
1530 (WebCore::toCMTime):
1531 * platform/graphics/mac/MediaTimeQTKit.mm:
1532 (WebCore::toQTTime):
1534 2014-12-05 Anders Carlsson <andersca@apple.com>
1536 Add a private browsing mode to MiniBrowser
1537 https://bugs.webkit.org/show_bug.cgi?id=139308
1539 Reviewed by Sam Weinig.
1541 Use -1 instead of -2 for the deleted value.
1543 * page/SessionIDHash.h:
1545 2014-12-05 Chris Dumez <cdumez@apple.com>
1547 Move 'text-emphasis-style' CSS property to the new StyleBuilder
1548 https://bugs.webkit.org/show_bug.cgi?id=139285
1550 Reviewed by Sam Weinig.
1552 Move 'text-emphasis-style' CSS property to the new StyleBuilder by
1555 No new tests, no behavior change.
1557 * css/CSSPropertyNames.in:
1558 * css/DeprecatedStyleBuilder.cpp:
1559 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1560 (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue): Deleted.
1561 (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue): Deleted.
1562 (WebCore::ApplyPropertyTextEmphasisStyle::applyValue): Deleted.
1563 (WebCore::ApplyPropertyTextEmphasisStyle::createHandler): Deleted.
1564 * css/StyleBuilderCustom.h:
1565 (WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
1566 (WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
1567 (WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):
1569 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1571 [iOS] remove "enter optimized fullscreen" gesture
1572 https://bugs.webkit.org/show_bug.cgi?id=139301
1574 Reviewed by Jer Noble.
1576 * Modules/mediacontrols/mediaControlsiOS.js:
1577 (ControllerIOS.prototype.handleWrapperTouchStart): Remove gesture recognizer.
1579 2014-12-05 Beth Dakin <bdakin@apple.com>
1581 rdar://problem/19156353 Additional build-fixes needed.
1583 Rubber-stamped by Tim Horton.
1585 This is a bit unfortunate, but we need to always forward-declare this for now.
1586 * platform/spi/mac/QuickLookMacSPI.h:
1588 2014-12-05 David Kilzer <ddkilzer@apple.com>
1590 FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY
1591 <http://webkit.org/b/139286>
1593 Reviewed by Daniel Bates.
1595 * Configurations/FeatureDefines.xcconfig: Switch back to using
1596 PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8.
1598 2014-12-05 Eric Carlson <eric.carlson@apple.com>
1600 [iOS] allow host application to opt-out of alternate fullscreen pt. 2
1601 https://bugs.webkit.org/show_bug.cgi?id=139227
1603 Reviewed by Jer Noble and Anders Carlsson
1605 * WebCore.exp.in: Export HTMLMediaSession::allowsAlternateFullscreen, change the signature of
1606 WebVideoFullscreenInterfaceAVKit::setupFullscreen.
1608 * platform/ios/WebVideoFullscreenControllerAVKit.mm:
1609 (-[WebVideoFullscreenController enterFullscreen:mode:]): Update for
1610 WebVideoFullscreenInterfaceAVKit::setupFullscreen change.
1612 * platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add argument to setupFullscreen.
1613 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1614 (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
1616 2014-12-05 Shivakumar JM <shiva.jm@samsung.com>
1618 Fix build warning in WebCore/platform/graphics module
1619 https://bugs.webkit.org/show_bug.cgi?id=139290
1621 Reviewed by Carlos Garcia Campos.
1623 Fix a build warning by removing parameter name from function.
1625 No new tests, no behavior change.
1627 * platform/graphics/freetype/FontCacheFreeType.cpp:
1628 (WebCore::getFamilyNameStringFromFontDescriptionAndFamily):
1630 2014-12-05 sungmin cho <sungmin17.cho@lge.com>
1632 GraphicsLayerTextureMapper: Rename parameter to be more clear
1633 https://bugs.webkit.org/show_bug.cgi?id=139288
1635 Reviewed by Martin Robinson.
1637 Rename 'media' to 'platformLayer'.
1639 No new tests, no change in functionality.
1641 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1642 (WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):
1644 2014-12-04 Mark Rowe <mrowe@apple.com>
1646 Fix pre-Yosemite builds.
1648 The #ifs in two SPI wrapper headers were incorrect, resulting in code being included
1649 prior to Yosemite that required Yosemite to compile.
1651 * platform/spi/mac/NSSharingServicePickerSPI.h:
1652 * platform/spi/mac/NSSharingServiceSPI.h:
1654 2014-12-02 Brian J. Burg <burg@cs.washington.edu>
1656 Web Inspector: timeline probe records have inaccurate per-probe hit counts
1657 https://bugs.webkit.org/show_bug.cgi?id=138976
1659 Reviewed by Joseph Pecoraro.
1661 Update the signature for breakpointActionProbe to take batchId and sampleId.
1662 Covered by existing test inspector-protocol/debugger/didSampleProbe-multiple-probes.html.
1664 * inspector/InspectorTimelineAgent.cpp:
1665 (WebCore::InspectorTimelineAgent::breakpointActionProbe):
1666 * inspector/InspectorTimelineAgent.h:
1667 * inspector/TimelineRecordFactory.cpp:
1668 (WebCore::TimelineRecordFactory::createProbeSampleData):
1669 * inspector/TimelineRecordFactory.h:
1671 2014-12-04 Adenilson Cavalcanti <cavalcantii@gmail.com>
1673 Groove/inset/outset borders show solid if the color is black
1674 https://bugs.webkit.org/show_bug.cgi?id=58608
1676 Reviewed by Simon Fraser.
1678 Test: fast/borders/mixed-border-style2.html
1680 This patch will lighten/darken the border side colors, handling
1681 border decoration in a similar way as Firefox does.
1683 * rendering/RenderObject.cpp:
1684 (WebCore::RenderObject::drawLineForBoxSide):
1685 (WebCore::RenderObject::calculateBorderStyleColor):
1686 * rendering/RenderObject.h:
1688 2014-12-04 Chris Dumez <cdumez@apple.com>
1690 Move 'webkit-aspect-ratio' CSS property to the new StyleBuilder
1691 https://bugs.webkit.org/show_bug.cgi?id=139250
1693 Reviewed by Sam Weinig.
1695 Move 'aspect-ratio' CSS property to the new StyleBuilder by
1698 No new tests, no behavior change.
1700 * css/CSSPropertyNames.in:
1701 * css/DeprecatedStyleBuilder.cpp:
1702 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1703 (WebCore::ApplyPropertyAspectRatio::applyInheritValue): Deleted.
1704 (WebCore::ApplyPropertyAspectRatio::applyInitialValue): Deleted.
1705 (WebCore::ApplyPropertyAspectRatio::applyValue): Deleted.
1706 (WebCore::ApplyPropertyAspectRatio::createHandler): Deleted.
1707 * css/StyleBuilderCustom.h:
1708 (WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
1709 (WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
1710 (WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
1712 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1714 Further fix the 32-bit build.
1716 * page/mac/TextIndicatorWindow.mm:
1717 (WebCore::TextIndicatorWindow::setTextIndicator):
1719 2014-12-04 Timothy Horton <timothy_horton@apple.com>
1721 Fix the 32-bit build.
1723 * page/mac/TextIndicatorWindow.h:
1724 * page/mac/TextIndicatorWindow.mm:
1725 (WebCore::TextIndicatorWindow::setTextIndicator):
1727 2014-12-04 Tim Horton <timothy_horton@apple.com>
1729 TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2
1730 https://bugs.webkit.org/show_bug.cgi?id=139252
1731 <rdar://problem/19140827>
1733 Reviewed by Anders Carlsson.
1736 * page/TextIndicator.cpp:
1737 (WebCore::TextIndicator::createWithSelectionInFrame):
1738 (WebCore::TextIndicator::TextIndicator):
1739 * page/TextIndicator.h:
1740 (WebCore::TextIndicator::selectionRectInWindowCoordinates):
1741 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates):
1742 (WebCore::TextIndicator::selectionRectInScreenCoordinates): Deleted.
1743 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates): Deleted.
1744 Go back to keeping the rects in "window" coordinates.
1746 * page/mac/TextIndicatorWindow.h:
1747 * page/mac/TextIndicatorWindow.mm:
1748 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
1749 (WebCore::TextIndicatorWindow::setTextIndicator):
1750 Let callers pass in the contentRect instead of trying to share the code
1751 to compute it, since it needs to be different for legacy and modern WebKit.
1753 2014-12-04 Oliver Hunt <oliver@apple.com>
1755 Serialization of MapData object provides unsafe access to internal types
1756 https://bugs.webkit.org/show_bug.cgi?id=138653
1758 Reviewed by Geoffrey Garen.
1760 We now keep the value portion of the key/value pair in MapData as a
1761 separate stack. This allows us to maintain the spec semantic of
1762 "atomic" serialisation of the key/value pair without retaining the
1763 use of a potentially invalid iterator.
1765 * bindings/js/SerializedScriptValue.cpp:
1766 (WebCore::CloneSerializer::serialize):
1768 2014-12-04 Radu Stavila <stavila@adobe.com>
1770 [SVG Masking] Add support for referencing <mask> elements from -webkit-mask-image
1771 https://bugs.webkit.org/show_bug.cgi?id=139092
1773 Reviewed by Simon Fraser.
1775 This patch improves the -webkit-mask-image property by allowing it to reference
1776 a <mask> element defined in an inline or external SVG document.
1777 Up until now, each image to be used as a mask consisted of a FillLayer object
1778 whose m_image member represented the mask. Now, in order to accomodate
1779 <mask> elements referenced by a fragment identifier (e.g. file.svg#mask1)
1780 a new class was created (MaskImageOperation) and added as a member of the
1781 FillLayer. As such, from now on, all FillLayer objects used for masking will
1782 store the masking information in this new member.
1783 When parsing the -webkit-mask-image property (or the -webkit-mask shorthand)
1784 a new MaskImageOperation object is created for each image. If the value represents
1785 an external URL, a pending SVG document will be created which will be loaded
1786 during the phase that loads the pending resources. When the download is complete,
1787 the MaskImageOperation is notified by the CachedSVGDocument class and checks if
1788 the received download is a valid SVG and the requested fragment identifier
1789 actually exists and identifies a <mask> element. If it does, that element's
1790 renderer (of type RenderSVGResourceMasker) will be used when painting the mask layers.
1791 Otherwise, the MaskImageOperation class will use the already downloaded data
1792 buffer to create a CachedImage from it and use that instead, basically emulating
1793 the previous behavior, when only images were accepted. This ensures that all existing
1794 behavior, like painting entire SVGs, painting normal images (e.g. PNG/JPG), painting
1795 generated images (e.g. linear-gradient) works as it did before.
1797 No new tests required, this patch doesn't change any current functionality.
1798 It only adds support for referencing <mask> elements for the -webkit-mask-image
1799 property. This is sub-part 1 of the bigger patch https://bugs.webkit.org/show_bug.cgi?id=129682.
1802 * WebCore.vcxproj/WebCore.vcxproj:
1803 * WebCore.vcxproj/WebCore.vcxproj.filters:
1804 * WebCore.xcodeproj/project.pbxproj:
1806 (WebCore::CSSValue::cssText):
1807 (WebCore::CSSValue::destroy):
1809 (WebCore::CSSValue::isWebKitCSSResourceValue):
1810 * css/StyleResolver.cpp:
1811 (WebCore::StyleResolver::State::clear):
1812 (WebCore::StyleResolver::createMaskImageOperations):
1813 * css/StyleResolver.h:
1814 (WebCore::StyleResolver::State::maskImagesWithPendingSVGDocuments):
1815 * css/WebKitCSSResourceValue.cpp: Added.
1816 (WebCore::WebKitCSSResourceValue::WebKitCSSResourceValue):
1817 (WebCore::WebKitCSSResourceValue::customCSSText):
1818 (WebCore::WebKitCSSResourceValue::isCSSValueNone):
1819 * css/WebKitCSSResourceValue.h: Added.
1820 (WebCore::WebKitCSSResourceValue::create):
1821 (WebCore::WebKitCSSResourceValue::innerValue):
1822 * loader/cache/CachedResourceLoader.cpp:
1823 (WebCore::CachedResourceLoader::addCachedResource):
1824 * loader/cache/CachedResourceLoader.h:
1825 * loader/cache/CachedSVGDocument.cpp:
1826 (WebCore::CachedSVGDocument::CachedSVGDocument):
1827 (WebCore::CachedSVGDocument::finishLoading):
1828 * loader/cache/CachedSVGDocument.h:
1829 * loader/cache/CachedSVGDocumentReference.cpp:
1830 (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1831 (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1832 (WebCore::CachedSVGDocumentReference::load):
1833 * loader/cache/CachedSVGDocumentReference.h:
1834 * page/FrameView.cpp:
1835 (WebCore::FrameView::isSVGDocument):
1838 (WebCore::Page::createPageFromBuffer):
1840 * platform/ScrollView.h:
1841 (WebCore::ScrollView::isSVGDocument):
1842 * platform/graphics/MaskImageOperation.cpp: Added.
1843 (WebCore::MaskImageOperation::create):
1844 (WebCore::MaskImageOperation::MaskImageOperation):
1845 (WebCore::MaskImageOperation::~MaskImageOperation):
1846 (WebCore::MaskImageOperation::isCSSValueNone):
1847 (WebCore::MaskImageOperation::cssValue):
1848 (WebCore::MaskImageOperation::isMaskLoaded):
1849 (WebCore::MaskImageOperation::setRenderLayerImageClient):
1850 (WebCore::MaskImageOperation::addRendererImageClient):
1851 (WebCore::MaskImageOperation::removeRendererImageClient):
1852 (WebCore::MaskImageOperation::getOrCreateCachedSVGDocumentReference):
1853 (WebCore::MaskImageOperation::notifyFinished): This is the method that gets called when the document has finished
1854 downloading and checks if it can find a valid <mask> element.
1855 (WebCore::MaskImageOperation::drawMask):
1856 (WebCore::MaskImageOperation::getSVGMasker):
1857 * platform/graphics/MaskImageOperation.h: Added.
1858 * rendering/RenderBoxModelObject.cpp: The BackgroundImageGeometry class was moved out of RenderBoxModelObject in
1859 order to be used as a parameter for other methods. This was necessary to avoid having methods with very many parameters.
1860 (WebCore::BackgroundImageGeometry::setNoRepeatX):
1861 (WebCore::BackgroundImageGeometry::setNoRepeatY):
1862 (WebCore::BackgroundImageGeometry::useFixedAttachment):
1863 (WebCore::BackgroundImageGeometry::clip):
1864 (WebCore::BackgroundImageGeometry::relativePhase):
1865 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX): Deleted.
1866 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY): Deleted.
1867 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment): Deleted.
1868 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip): Deleted.
1869 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase): Deleted.
1870 * rendering/RenderBoxModelObject.h:
1871 (WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
1872 (WebCore::BackgroundImageGeometry::destOrigin):
1873 (WebCore::BackgroundImageGeometry::setDestOrigin):
1874 (WebCore::BackgroundImageGeometry::destRect):
1875 (WebCore::BackgroundImageGeometry::setDestRect):
1876 (WebCore::BackgroundImageGeometry::phase):
1877 (WebCore::BackgroundImageGeometry::setPhase):
1878 (WebCore::BackgroundImageGeometry::tileSize):
1879 (WebCore::BackgroundImageGeometry::setTileSize):
1880 (WebCore::BackgroundImageGeometry::spaceSize):
1881 (WebCore::BackgroundImageGeometry::setSpaceSize):
1882 (WebCore::BackgroundImageGeometry::setPhaseX):
1883 (WebCore::BackgroundImageGeometry::setPhaseY):
1884 (WebCore::BackgroundImageGeometry::setHasNonLocalGeometry):
1885 (WebCore::BackgroundImageGeometry::hasNonLocalGeometry):
1886 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
1887 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin): Deleted.
1888 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin): Deleted.
1889 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect): Deleted.
1890 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect): Deleted.
1891 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase): Deleted.
1892 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase): Deleted.
1893 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize): Deleted.
1894 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize): Deleted.
1895 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize): Deleted.
1896 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize): Deleted.
1897 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX): Deleted.
1898 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY): Deleted.
1899 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.
1900 (WebCore::RenderBoxModelObject::BackgroundImageGeometry::hasNonLocalGeometry): Deleted.
1901 * rendering/RenderLayer.cpp:
1902 (WebCore::RenderLayer::RenderLayer):
1903 (WebCore::RenderLayer::~RenderLayer):
1904 * rendering/RenderLayer.h:
1905 * rendering/RenderLayerMaskImageInfo.cpp: Added.
1906 (WebCore::RenderLayer::MaskImageInfo::layerToMaskMap): Returns a static map that links MaskImageInfo objects to RenderLayers.
1907 (WebCore::RenderLayer::MaskImageInfo::getIfExists): Returns the MaskImageInfo associated with a specific RenderLayer.
1908 (WebCore::RenderLayer::MaskImageInfo::get): Returns the MaskImageInfo associated with a specific RenderLayer (creates it if necessary).
1909 (WebCore::RenderLayer::MaskImageInfo::remove): Removes the MaskImageInfo associated with a specific RenderLayer.
1910 (WebCore::RenderLayer::MaskImageInfo::MaskImageInfo):
1911 (WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
1912 (WebCore::RenderLayer::MaskImageInfo::notifyFinished): Gets called when the SVG document finished loading, triggers repaint.
1913 (WebCore::RenderLayer::MaskImageInfo::imageChanged): Gets called when the image object changed, triggers repaint.
1914 (WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Goes through all mask layers and sets image/SVG clients.
1915 Updates list of internal and external SVG references.
1916 (WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Removes all image/SVG clients and clears lists of internal and external SVG references.
1917 * rendering/RenderLayerMaskImageInfo.h: Added.
1918 * rendering/RenderObject.h:
1919 (WebCore::RenderObject::isRenderSVGResourceMasker):
1920 * rendering/style/FillLayer.cpp:
1921 (WebCore::FillLayer::FillLayer):
1922 (WebCore::FillLayer::operator=):
1923 (WebCore::FillLayer::operator==):
1924 (WebCore::FillLayer::cullEmptyLayers):
1925 (WebCore::FillLayer::hasNonEmptyMaskImage):
1926 (WebCore::FillLayer::imagesAreLoaded):
1927 * rendering/style/FillLayer.h:
1928 (WebCore::FillLayer::maskImage):
1929 (WebCore::FillLayer::imageOrMaskImage):
1930 (WebCore::FillLayer::setMaskImage):
1931 (WebCore::FillLayer::clearMaskImage):
1932 (WebCore::FillLayer::hasMaskImage):
1933 * rendering/svg/RenderSVGResourceMasker.cpp:
1934 (WebCore::RenderSVGResourceMasker::applySVGMask):
1935 (WebCore::RenderSVGResourceMasker::applyResource):
1936 (WebCore::RenderSVGResourceMasker::drawMaskForRenderer):
1937 * rendering/svg/RenderSVGResourceMasker.h:
1938 * svg/SVGMaskElement.cpp:
1939 (WebCore::SVGMaskElement::createElementRenderer):
1940 (WebCore::SVGMaskElement::addClientRenderLayer):
1941 (WebCore::SVGMaskElement::removeClientRenderLayer):
1942 * svg/SVGMaskElement.h:
1943 * svg/SVGUseElement.cpp:
1944 (WebCore::SVGUseElement::setCachedDocument):
1945 * svg/graphics/SVGImage.cpp:
1946 (WebCore::SVGImage::dataChanged):
1948 2014-12-04 Commit Queue <commit-queue@webkit.org>
1950 Unreviewed, rolling out r176789.
1951 https://bugs.webkit.org/show_bug.cgi?id=139255
1953 Broke the non Mac-WK2 builds (Requested by stavila on
1958 "Remove isSpecifiedFont boolean from FontDescription"
1959 https://bugs.webkit.org/show_bug.cgi?id=139233
1960 http://trac.webkit.org/changeset/176789
1962 2014-12-03 Antti Koivisto <antti@apple.com>
1964 Remove isSpecifiedFont boolean from FontDescription
1965 https://bugs.webkit.org/show_bug.cgi?id=139233
1967 Reviewed by Andreas Kling.
1971 * css/StyleBuilderCustom.h:
1972 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
1973 (WebCore::StyleBuilderCustom::applyValueFontFamily):
1974 * platform/graphics/FontDescription.cpp:
1975 (WebCore::genericFamiliesSet):
1976 (WebCore::FontDescription::hasGenericFirstFamily):
1978 Add a function to test for generic families.
1980 * platform/graphics/FontDescription.h:
1981 (WebCore::FontDescription::FontDescription):
1982 (WebCore::FontDescription::setTextRenderingMode):
1983 (WebCore::FontDescription::operator==):
1984 (WebCore::FontDescription::isSpecifiedFont): Deleted.
1985 (WebCore::FontDescription::setIsSpecifiedFont): Deleted.
1986 * rendering/RenderText.cpp:
1987 (WebCore::RenderText::computeUseBackslashAsYenSymbol):
1989 This is the only client.
1990 Figure out the equivalent information dynamically if needed.
1992 2014-12-03 Joonghun Park <jh718.park@samsung.com>
1994 Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
1995 https://bugs.webkit.org/show_bug.cgi?id=139019
1997 Reviewed by Darin Adler.
1999 No new tests, no behavior changes.
2001 * dom/DataTransfer.cpp:
2002 (WebCore::DataTransfer::DataTransfer):
2003 * dom/DataTransfer.h:
2004 * editing/Editor.cpp:
2005 (WebCore::Editor::dispatchCPPEvent):
2006 * page/mac/EventHandlerMac.mm:
2007 (WebCore::EventHandler::createDraggingDataTransfer):
2008 * platform/Pasteboard.h:
2009 * platform/efl/PasteboardEfl.cpp:
2010 (WebCore::Pasteboard::createForCopyAndPaste):
2011 (WebCore::Pasteboard::createPrivate):
2012 (WebCore::Pasteboard::createForDragAndDrop):
2013 * platform/gtk/PasteboardGtk.cpp:
2014 (WebCore::Pasteboard::createForCopyAndPaste):
2015 (WebCore::Pasteboard::createForGlobalSelection):
2016 (WebCore::Pasteboard::createPrivate):
2017 (WebCore::Pasteboard::createForDragAndDrop):
2018 (WebCore::Pasteboard::create): Deleted.
2019 * platform/ios/PasteboardIOS.mm:
2020 (WebCore::Pasteboard::createForCopyAndPaste):
2021 (WebCore::Pasteboard::createPrivate):
2022 * platform/mac/PasteboardMac.mm:
2023 (WebCore::Pasteboard::createForCopyAndPaste):
2024 (WebCore::Pasteboard::createPrivate):
2025 (WebCore::Pasteboard::createForDragAndDrop):
2026 (WebCore::Pasteboard::create): Deleted.
2027 * platform/win/PasteboardWin.cpp:
2028 (WebCore::Pasteboard::createForCopyAndPaste):
2029 (WebCore::Pasteboard::createPrivate):
2030 (WebCore::Pasteboard::createForDragAndDrop):
2032 2014-12-03 Benjamin Poulain <bpoulain@apple.com>
2034 Get rid of FrameLoaderClient::dispatchWillRequestResource
2035 https://bugs.webkit.org/show_bug.cgi?id=139235
2037 Reviewed by Alexey Proskuryakov.
2041 * loader/FrameLoaderClient.h:
2042 (WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted.
2043 * loader/cache/CachedResourceLoader.cpp:
2044 (WebCore::CachedResourceLoader::requestResource):
2046 2014-12-03 Myles C. Maxfield <mmaxfield@apple.com>
2048 List markers in RTL languages do not draw the first character.
2049 https://bugs.webkit.org/show_bug.cgi?id=139244
2051 Reviewed by Simon Fraser.
2053 Off-by-one error when reversing the string (from LTR to RTL)
2055 Test: fast/lists/rtl-marker.html
2057 * rendering/RenderListMarker.cpp:
2058 (WebCore::RenderListMarker::paint):
2060 2014-12-03 Beth Dakin <bdakin@apple.com>
2062 <input> elements get whitespace action menu instead of editable text menu
2063 https://bugs.webkit.org/show_bug.cgi?id=139241
2065 rdar://problem/19072083
2067 Reviewed by Sam Weinig.
2069 Since we will hit test form controls as form controls, we need a new function to
2070 determine if the hit point is over text inside that form control or not.
2072 * rendering/HitTestResult.cpp:
2073 (WebCore::HitTestResult::isOverTextInsideFormControlElement):
2074 * rendering/HitTestResult.h:
2076 2014-12-03 Tim Horton <timothy_horton@apple.com>
2078 Keyboard input should be disabled in the preview popover
2079 https://bugs.webkit.org/show_bug.cgi?id=139219
2080 <rdar://problem/19052381>
2082 Reviewed by Anders Carlsson.
2084 * page/ChromeClient.h:
2085 (WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents):
2086 * page/EventHandler.cpp:
2087 (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
2088 Allow ChromeClient to disable the dispatch of "fake" mouseMove events
2089 that happens during scrolling.
2091 2014-12-03 Antti Koivisto <antti@apple.com>
2093 Remove genericFamily enum from FontDescription
2094 https://bugs.webkit.org/show_bug.cgi?id=139207
2096 Reviewed by Andreas Kling.
2098 We use predefined AtomicStrings for generic families. The side enum adds no information.
2100 * css/CSSFontSelector.cpp:
2101 (WebCore::resolveGenericFamily):
2102 (WebCore::CSSFontSelector::getFontData):
2104 Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't.
2106 (WebCore::CSSFontSelector::resolvesFamilyFor):
2107 (WebCore::fontDataForGenericFamily): Deleted.
2108 * css/DeprecatedStyleBuilder.cpp:
2109 (WebCore::ApplyPropertyFontFamily::applyInheritValue):
2110 (WebCore::ApplyPropertyFontFamily::applyInitialValue):
2111 (WebCore::ApplyPropertyFontFamily::applyValue):
2112 * css/StyleResolver.cpp:
2113 (WebCore::StyleResolver::checkForGenericFamilyChange):
2115 Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent.
2117 (WebCore::StyleResolver::initializeFontStyle):
2118 * platform/graphics/FontDescription.h:
2119 (WebCore::FontDescription::FontDescription):
2120 (WebCore::FontDescription::useFixedDefaultSize):
2121 (WebCore::FontDescription::setWeight):
2122 (WebCore::FontDescription::equalForTextAutoSizing):
2123 (WebCore::FontDescription::operator==):
2124 (WebCore::FontDescription::genericFamily): Deleted.
2125 (WebCore::FontDescription::setGenericFamily): Deleted.
2126 * platform/mac/ThemeMac.mm:
2127 (WebCore::ThemeMac::controlFont):
2128 * rendering/RenderTheme.cpp:
2129 (WebCore::RenderTheme::adjustStyle):
2131 Reset the lineheight unconditionally for buttons.
2132 This always happened before because the explicitly set generic family made the font compare false.
2134 * rendering/RenderThemeIOS.mm:
2135 (WebCore::RenderThemeIOS::systemFont):
2136 * rendering/RenderThemeMac.mm:
2137 (WebCore::RenderThemeMac::systemFont):
2138 (WebCore::RenderThemeMac::setFontFromControlSize):
2139 * style/StyleResolveForDocument.cpp:
2140 (WebCore::Style::resolveForDocument):
2142 Resolve document style for final value immediately as it can't be affected by @font-face rules.
2144 2014-12-03 Zalan Bujtas <zalan@apple.com>
2146 ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
2147 https://bugs.webkit.org/show_bug.cgi?id=139188
2148 rdar://problem/18502182
2150 Reviewed by David Hyatt.
2152 This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
2153 with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
2154 (descendant's parent is expected to be a RenderBlockFlow)
2156 Test: fast/multicol/svg-content-as-column-spanner-crash.html
2158 * rendering/RenderMultiColumnFlowThread.cpp:
2159 (WebCore::isValidColumnSpanner):
2161 2014-12-03 peavo@outlook.com <peavo@outlook.com>
2163 [TexMap] Redundant method in GraphicsLayerTextureMapper.
2164 https://bugs.webkit.org/show_bug.cgi?id=138005
2166 Reviewed by Alex Christensen.
2168 The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used
2169 instead of the GraphicsLayerTextureMapper method startedAnimation().
2171 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2172 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
2173 (WebCore::GraphicsLayerTextureMapper::addAnimation):
2174 * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
2176 2014-12-03 Jeremy Jones <jeremyj@apple.com>
2178 Subtitle menu should only appear when useful.
2179 https://bugs.webkit.org/show_bug.cgi?id=139133
2181 Reviewed by Eric Carlson.
2183 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2184 (-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options.
2185 (-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option.
2187 2014-12-03 Joanmarie Diggs <jdiggs@igalia.com>
2189 AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed
2190 https://bugs.webkit.org/show_bug.cgi?id=139071
2192 Reviewed by Chris Fleizach.
2194 Adds a new InlineRole accessibility role type for non-focusable inline
2195 elements which have an event handler or attribute suggesting possible
2196 inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and
2197 EFL. On the Mac, it is currently ignored to preserve existing behavior.
2199 Added new test cases to the existing roles-exposed.html test.
2201 * accessibility/AccessibilityObject.cpp:
2202 (WebCore::AccessibilityObject::supportsDatetimeAttribute): Added.
2203 * accessibility/AccessibilityObject.h: Added InlineRole.
2204 * accessibility/AccessibilityRenderObject.cpp:
2205 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole.
2206 * accessibility/atk/AccessibilityObjectAtk.cpp:
2207 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects.
2208 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2210 * accessibility/mac/AccessibilityObjectMac.mm:
2211 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects.
2212 * html/HTMLTagNames.in: Added 'time'.
2214 2014-12-03 Jer Noble <jer.noble@apple.com>
2216 [Mac] Hang when calling -[AVAsset resolvedURL].
2217 https://bugs.webkit.org/show_bug.cgi?id=139223
2219 Reviewed by Eric Carlson.
2221 On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long
2222 time. Treat this AVAsset property similar to other "metadata" properties, and check the load status
2223 of the property before requesting it.
2225 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2226 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL.
2227 (WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto.
2228 (WebCore::assetMetadataKeyNames): Add @"resolvedURL".
2230 2014-12-03 Csaba Osztrogonác <ossy@webkit.org>
2232 URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.
2234 * css/CSSParser.cpp:
2235 (WebCore::CSSParser::parseViewportProperty):
2237 2014-12-03 Chris Dumez <cdumez@apple.com>
2239 Move 'display' CSS property to the new StyleBuilder
2240 https://bugs.webkit.org/show_bug.cgi?id=139218
2242 Reviewed by Antti Koivisto.
2244 Move 'display' CSS property to the new StyleBuilder.
2246 No new tests, no behavior change.
2248 * css/CSSPropertyNames.in:
2249 * css/DeprecatedStyleBuilder.cpp:
2250 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2251 (WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted.
2252 (WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted.
2253 (WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted.
2254 (WebCore::ApplyPropertyDisplay::applyValue): Deleted.
2255 (WebCore::ApplyPropertyDisplay::createHandler): Deleted.
2256 * css/StyleBuilderCustom.h:
2257 (WebCore::StyleBuilderCustom::isValidDisplayValue):
2258 (WebCore::StyleBuilderCustom::applyInheritDisplay):
2259 (WebCore::StyleBuilderCustom::applyValueDisplay):
2261 Add support for passing multiple values for Custom option, e.g.:
2262 'Custom=Inherit|Value'. This was useful as we did not need custom
2263 code for display's initial value.
2265 2014-12-03 Chris Dumez <cdumez@apple.com>
2267 Modernize the CSSParser code
2268 https://bugs.webkit.org/show_bug.cgi?id=139209
2270 Reviewed by Antti Koivisto.
2272 Modernize the CSSParser code by:
2273 - Using more references instead of pointers
2274 - Using nullptr instead of 0
2276 No new tests, no behavior change.
2278 2014-12-03 David Kilzer <ddkilzer@apple.com>
2280 [iOS] REGRESSION (r176622): WebCore fails to link
2282 Speculative fix for the following build failure:
2285 Undefined symbols for architecture armv7s:
2286 "__ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from:
2287 __ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o
2289 * bindings/js/JSDeviceMotionEventCustom.cpp: Include
2290 <runtime/IdentifierInlines.h> to define missing symbol.
2292 2014-12-02 Dean Jackson <dino@apple.com>
2294 [Media] Audio content shouldn't have fullscreen buttons, even if in a video element
2295 https://bugs.webkit.org/show_bug.cgi?id=139200
2296 <rdar://problem/18914506>
2298 Reviewed by Eric Carlson.
2300 An audio-only resource, even if loaded into a <video> element, should not
2301 present the fullscreen or optimised fullscreen controls. This includes a
2302 MediaDocument, which is always a <video> element. We can detect this by
2303 examining the length of the videoTracks property as our content loads.
2305 Test: media/audio-as-video-fullscreen.html
2307 * Modules/mediacontrols/mediaControlsApple.js:
2308 (Controller): Initialize a hasVisualMedia to false.
2309 (Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true.
2310 (Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and
2311 updateOptimizedFullscreenButton methods into this single spot, and check for
2313 (Controller.prototype.updateFullscreenButton): Deleted.
2314 (Controller.prototype.updateOptimizedFullscreenButton): Deleted.
2316 * Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports.
2318 2014-12-02 Dean Jackson <dino@apple.com>
2320 Missing support for innerHTML on SVGElement
2321 https://bugs.webkit.org/show_bug.cgi?id=136903
2323 Unreviewed followup from r176630. Minor style nits that I missed in my review.
2325 * dom/Element.h: Remove unnecessary parameter name.
2326 * html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup.
2327 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem):
2329 2014-12-03 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2331 [EFL] Add subtle crypto to the build system
2332 https://bugs.webkit.org/show_bug.cgi?id=138612
2334 Reviewed by Csaba Osztrogonác.
2336 It is obvious to make Efl use GnuTLS as well,
2337 and since there seems no reason why to separate
2338 Efl and Gtk implementations from each other, I
2339 also propose renaming the gtk directory and file
2342 No new tests needed.
2344 * PlatformEfl.cmake:
2345 * PlatformGTK.cmake:
2346 * crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp.
2347 (WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
2348 (WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
2349 * crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp.
2350 (WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
2351 (WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
2352 * crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp.
2353 (WebCore::getGnutlsDigestAlgorithm):
2354 (WebCore::calculateSignature):
2355 (WebCore::CryptoAlgorithmHMAC::platformSign):
2356 (WebCore::CryptoAlgorithmHMAC::platformVerify):
2357 * crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp.
2358 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
2359 (WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
2360 * crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp.
2361 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
2362 (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
2363 * crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp.
2364 (WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
2365 (WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
2366 * crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp.
2367 (WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):
2368 * crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp.
2369 (WebCore::CryptoDigest::CryptoDigest):
2370 (WebCore::CryptoDigest::~CryptoDigest):
2371 (WebCore::CryptoDigest::create):
2372 (WebCore::CryptoDigest::addBytes):
2373 (WebCore::CryptoDigest::computeHash):
2374 * crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp.
2375 (WebCore::CryptoKeyRSA::CryptoKeyRSA):
2376 (WebCore::CryptoKeyRSA::create):
2377 (WebCore::CryptoKeyRSA::~CryptoKeyRSA):
2378 (WebCore::CryptoKeyRSA::restrictToHash):
2379 (WebCore::CryptoKeyRSA::isRestrictedToHash):
2380 (WebCore::CryptoKeyRSA::keySizeInBits):
2381 (WebCore::CryptoKeyRSA::buildAlgorithmDescription):
2382 (WebCore::CryptoKeyRSA::exportData):
2383 (WebCore::CryptoKeyRSA::generatePair):
2384 * crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp.
2385 (WebCore::getDefaultWebCryptoMasterKey):
2386 (WebCore::wrapSerializedCryptoKey):
2387 (WebCore::unwrapSerializedCryptoKey):
2388 * crypto/keys/CryptoKeyRSA.h:
2390 2014-12-02 Benjamin Poulain <benjamin@webkit.org>
2392 Little cleanup of the default stylesheet
2393 https://bugs.webkit.org/show_bug.cgi?id=139168
2395 Reviewed by Antti Koivisto.
2397 The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
2398 only the bits that do not change behaviors and have positive perf and readability impact.
2400 I have limited :matches() to attributes for now. The idea is to only target
2401 simple selectors that are not used for filtering by the collectors.
2402 We should eventually clean up more cases, one thing at a time.
2404 Tests: fast/css/map-tag-default-display.html
2405 fast/selectors/map-tag-default-display.html
2409 map was explicitely setting its display to inline. Remove that since it is the default.
2419 (article, aside, footer, header, hgroup, main, nav, section): Deleted.
2421 (head, link, meta, script, style, title):
2422 (address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
2423 Group the standard blocks in a single rule.
2425 (input:matches([type="hidden"], [type="image"], [type="file"])):
2426 (input:matches([type="radio"], [type="checkbox"])):
2427 (input:matches([type="button"], [type="submit"], [type="reset"])):
2428 (input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
2429 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
2430 (input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
2431 (input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
2432 (input:matches([type="checkbox"], [type="radio"]):checked):
2433 (input:matches([type="checkbox"], [type="radio"]):checked:disabled):
2434 (select:matches([size], [multiple], [size][multiple])):
2435 (select:matches([size="0"], [size="1"])):
2436 (input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
2437 (input[type="radio"], input[type="checkbox"]): Deleted.
2438 (input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
2439 (input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
2440 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
2441 (input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
2442 (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.
2443 (input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
2444 (input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
2445 (select[size][multiple]): Deleted.
2446 (select[size="1"]): Deleted.
2447 Group every selector lists that only differentiates complex selectors through attributes
2448 into a simple complex selector with :matches().
2450 2014-12-02 Mark Lam <mark.lam@apple.com>
2452 Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
2453 https://bugs.webkit.org/show_bug.cgi?id=138821
2457 * bindings/js/SerializedScriptValue.cpp:
2458 (WebCore::CloneDeserializer::deserializeString):
2459 * editing/TextIterator.cpp:
2460 (WebCore::SearchBuffer::isBadMatch):
2461 * page/mac/ServicesOverlayController.mm:
2462 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2463 * platform/graphics/SegmentedFontData.cpp:
2464 (WebCore::SegmentedFontData::fontDataForCharacter):
2465 (WebCore::SegmentedFontData::containsCharacter):
2466 (WebCore::SegmentedFontData::isLoading):
2467 * platform/graphics/WOFFFileFormat.cpp:
2468 (WebCore::convertWOFFToSfnt):
2469 * platform/graphics/cairo/GradientCairo.cpp:
2470 (WebCore::Gradient::platformGradient):
2471 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2472 (WebCore::GIFImageDecoder::clearFrameBufferCache):
2473 * rendering/RenderBox.cpp:
2474 (WebCore::RenderBox::paintFillLayers):
2475 * rendering/style/GridResolvedPosition.cpp:
2476 (WebCore::firstNamedGridLineBeforePosition):
2477 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
2478 * svg/SVGFontElement.cpp:
2479 (WebCore::kerningForPairOfStringsAndGlyphs):
2480 * svg/SVGPathByteStream.h:
2481 (WebCore::SVGPathByteStream::append):
2482 * xml/XPathNodeSet.h:
2483 (WebCore::XPath::NodeSet::begin):
2484 (WebCore::XPath::NodeSet::end):
2486 2014-12-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2488 Fix build break EFL port since r176696
2489 https://bugs.webkit.org/show_bug.cgi?id=139215
2491 Unreviewed, build fix for EFL port.
2493 * storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.
2495 2014-12-02 Joanmarie Diggs <jdiggs@igalia.com>
2497 AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
2498 https://bugs.webkit.org/show_bug.cgi?id=139005
2500 Reviewed by Chris Fleizach.
2502 Expose table captions and rows via ATK. Accomplishing the former is done
2503 by role mapping and inclusion of the object as a child of the table for
2504 ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
2505 platform code that had been forcing rows to be ignored. Because captions
2506 are not being exposed on the Mac, they are now explicitly being ignored
2509 Tests: accessibility/aria-table-hierarchy.html
2510 accessibility/table-hierarchy.html
2512 * accessibility/AccessibilityObject.h:
2513 * accessibility/AccessibilityRenderObject.cpp:
2514 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.
2515 * accessibility/AccessibilityTable.cpp:
2516 (WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.
2517 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
2518 (webkitAccessibleGetNChildren): Removed special handling for tables.
2519 (webkitAccessibleRefChild): Removed special handling for tables.
2520 (webkitAccessibleGetIndexInParent): Removed special handling for table cells.
2521 (atkRole): Corrected broken mapping for RowRole.
2522 (getNChildrenForTable): Deleted.
2523 (getChildForTable): Deleted.
2524 (getIndexInParentForCellInRow): Deleted.
2525 * accessibility/mac/AccessibilityObjectMac.mm:
2526 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.
2528 2014-12-02 Alexey Proskuryakov <ap@apple.com>
2530 http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
2531 https://bugs.webkit.org/show_bug.cgi?id=139149
2533 Reviewed by Anders Carlsson.
2535 * WebCore.exp.in: Added ApplicationCache::deleteAllCaches.
2537 * loader/appcache/ApplicationCache.h:
2538 * loader/appcache/ApplicationCache.cpp:
2539 (WebCore::ApplicationCache::deleteAllCaches): Added.
2541 * loader/appcache/ApplicationCacheStorage.cpp:
2542 (WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
2543 have this function called when there is no database file.
2545 * loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,
2546 because WebKit style.
2548 2014-12-02 Tim Horton <timothy_horton@apple.com>
2550 Remove a SnowLeopard-era quirk for QuickLook
2551 https://bugs.webkit.org/show_bug.cgi?id=139208
2552 <rdar://problem/19121822>
2554 Reviewed by Alexey Proskuryakov.
2557 * WebCore.xcodeproj/project.pbxproj:
2558 * loader/EmptyClients.h:
2559 * loader/FrameLoader.cpp:
2560 (WebCore::FrameLoader::subresourceCachePolicy):
2561 * loader/FrameLoaderClient.h:
2562 * platform/mac/QuickLookMac.h: Removed.
2563 * platform/mac/QuickLookMac.mm: Removed.
2565 2014-12-02 Anders Carlsson <andersca@apple.com>
2567 Begin stubbing out a StorageNamespaceProvider class
2568 https://bugs.webkit.org/show_bug.cgi?id=139203
2570 Reviewed by Tim Horton.
2573 * WebCore.vcxproj/WebCore.vcxproj:
2574 * WebCore.vcxproj/WebCore.vcxproj.filters:
2575 * WebCore.xcodeproj/project.pbxproj:
2578 * page/DOMWindow.cpp:
2579 (WebCore::DOMWindow::localStorage):
2580 If the page has a storage namespace provider, get the local storage from it.
2583 (WebCore::Page::Page):
2584 Move the storage namespace provider from the configuration.
2586 (WebCore::Page::setStorageNamespaceProvider):
2587 Add a setter. This will be used by setGroupName.
2590 (WebCore::Page::storageNamespaceProvider):
2593 * page/PageConfiguration.cpp:
2594 * page/PageConfiguration.h:
2595 Add a storage namespace provider member.
2597 * storage/StorageNamespaceProvider.cpp:
2598 (WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
2599 (WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
2600 (WebCore::StorageNamespaceProvider::addPage):
2601 (WebCore::StorageNamespaceProvider::removePage):
2602 (WebCore::StorageNamespaceProvider::localStorageNamespace):
2603 (WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):
2604 * storage/StorageNamespaceProvider.h:
2605 Stub out a storage namespace provider class.
2607 2014-12-02 Beth Dakin <bdakin@apple.com>
2611 * platform/spi/mac/QuickLookMacSPI.h:
2613 2014-12-02 Beth Dakin <bdakin@apple.com>
2617 * platform/spi/mac/NSMenuSPI.h:
2619 2014-12-02 Beth Dakin <bdakin@apple.com>
2621 Speculative build fix.
2623 * platform/spi/mac/QuickLookMacSPI.h:
2625 2014-12-02 Beth Dakin <bdakin@apple.com>
2627 Speculative build fix.
2629 * platform/spi/mac/QuickLookMacSPI.h:
2631 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2633 Unreviewed, fix typo introduced in r176673.
2635 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2636 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
2638 2014-12-02 Beth Dakin <bdakin@apple.com>
2640 Should use standardQuickLookMenuItem for apps that don't implement customizations
2641 https://bugs.webkit.org/show_bug.cgi?id=139193
2643 rdar://problem/18944696
2645 Reviewed by Anders Carlsson.
2648 * WebCore.xcodeproj/project.pbxproj:
2649 * platform/spi/mac/NSMenuSPI.h: Added.
2650 * platform/spi/mac/QuickLookMacSPI.h: Added.
2652 2014-12-02 Gavin Barraclough <barraclough@apple.com>
2654 Generalize PageActivityAssertionToken
2655 https://bugs.webkit.org/show_bug.cgi?id=139106
2657 Reviewed by Sam Weinig.
2659 PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
2660 to count user visible activity in progress on the page (currently page load and media playback).
2661 Use of an RAII type is prevents a number of possible errors, including double counting a single
2662 media element, or failing to decrement the count after a media element has been deallocated.
2664 The current implementation has a number of drawbacks that have been addressed by this refactoring:
2665 - specific to single use in PageThrottler class - not reusable.
2666 - incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation
2667 are not encapsulated (are in the client type, PageThrottler).
2668 - tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every
2669 increment requires an object allocation.
2670 - redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this
2671 is internally implemented using a reference counted type, resulting in two counters being
2672 incremented (one in the PageActivityAssertionToken, one in the PageThrottler).
2674 In the reimplementation:
2675 - a callback is provided via a lambda function, which allows for easy reuse without a lot of
2677 - the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the
2679 - a single count within RefCounter::Count stores the counter value, and also manage the lifetime
2681 - standard RefPtrs are used to manage references to the RefCounter::Count.
2683 * WebCore.xcodeproj/project.pbxproj:
2684 - removed PageActivityAssertionToken.cpp/.h
2685 * html/HTMLMediaElement.cpp:
2686 - removed PageActivityAssertionToken.h
2687 * html/HTMLMediaElement.h:
2688 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2689 * loader/FrameLoader.cpp:
2690 - removed PageActivityAssertionToken.h
2691 * loader/FrameLoader.h:
2692 - std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
2693 * loader/SubresourceLoader.cpp:
2694 - removed PageActivityAssertionToken.h
2695 * loader/SubresourceLoader.h:
2696 - removed class PageActivityAssertionToken
2698 - removed PageActivityAssertionToken.h
2699 (WebCore::Page::Page):
2700 - removed Page* parameter to PageThrottler
2702 - removed class PageActivityAssertionToken
2703 * page/PageActivityAssertionToken.cpp: Removed.
2704 * page/PageActivityAssertionToken.h: Removed.
2705 - removed PageActivityAssertionToken.cpp/.h
2706 * page/PageThrottler.cpp:
2707 (WebCore::PageThrottler::PageThrottler):
2708 - removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.
2709 (WebCore::PageThrottler::mediaActivityToken):
2710 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2711 (WebCore::PageThrottler::pageLoadActivityToken):
2712 - std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>
2713 (WebCore::PageThrottler::pageActivityCounterValueDidChange):
2714 - merged functionality of incrementActivityCount/decrementActivityCount
2715 (WebCore::PageThrottler::incrementActivityCount): Deleted.
2716 - see pageActivityCounterValueDidChange
2717 (WebCore::PageThrottler::decrementActivityCount): Deleted.
2718 - see pageActivityCounterValueDidChange
2719 * page/PageThrottler.h:
2720 (WebCore::PageThrottler::weakPtr): Deleted.
2721 - no longer required; this functionality is now encapsulated within RefCounter.
2723 2014-12-02 Tim Horton <timothy_horton@apple.com>
2725 Always show the arrow for text selection services
2726 https://bugs.webkit.org/show_bug.cgi?id=139191
2727 <rdar://problem/18903995>
2729 Reviewed by Anders Carlsson.
2731 * platform/spi/mac/DataDetectorsSPI.h:
2732 * page/mac/ServicesOverlayController.mm:
2733 Move a few things to DataDetectorsSPI.h.
2735 (WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
2736 (WebCore::ServicesOverlayController::buildSelectionHighlight):
2737 Make use of the real DDHighlightStyle names.
2738 Add DDHighlightStyleButtonShowAlways for selection services.
2740 2014-12-02 Anders Carlsson <andersca@apple.com>
2746 2014-12-02 Chris Dumez <cdumez@apple.com>
2748 Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
2749 https://bugs.webkit.org/show_bug.cgi?id=139162
2751 Reviewed by Darin Adler.
2753 Add support for calculated values in 'flex' CSS property.
2754 Previously, those did not work in release builds, and were hitting
2755 an assertion in debug builds.
2757 Test: fast/css/flex-calculated-value.html
2759 * css/CSSParser.cpp:
2760 (WebCore::CSSParser::validCalculationUnit):
2761 Do not call RefPtr::release() as we are not interested in the return
2762 value. Assign nullptr to the member instead.
2764 (WebCore::CSSParser::parseValue):
2765 (WebCore::CSSParser::parseFillPositionComponent):
2766 (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
2767 (WebCore::CSSParser::parseFontWeight):
2768 (WebCore::CSSParser::parsedDouble):
2769 (WebCore::CSSParser::colorIntFromValue):
2770 (WebCore::CSSParser::parseColorParameters):
2771 (WebCore::CSSParser::parseHSLParameters):
2772 (WebCore::CSSParser::parseFlex):
2775 2014-12-02 Eric Carlson <eric.carlson@apple.com>
2778 https://bugs.webkit.org/show_bug.cgi?id=139182
2780 Reviewed by Alexey Proskuryakov.
2782 No new tests, only logging code is changed.
2784 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2785 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.
2787 2014-12-02 Anders Carlsson <andersca@apple.com>
2789 Get rid of the WinINet based network implementation
2790 https://bugs.webkit.org/show_bug.cgi?id=139187
2792 Reviewed by Andreas Kling.
2794 This code was only used by the Windows CE port. Now it's unused.
2796 * platform/network/ResourceHandle.h:
2797 * platform/network/ResourceHandleInternal.h:
2798 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2799 * platform/network/win/AuthenticationChallenge.h: Removed.
2800 * platform/network/win/CookieJarWin.cpp: Removed.
2801 * platform/network/win/CredentialStorageWin.cpp: Removed.
2802 * platform/network/win/ProxyServerWin.cpp: Removed.
2803 * platform/network/win/ResourceError.h: Removed.
2804 * platform/network/win/ResourceHandleWin.cpp: Removed.
2805 * platform/network/win/ResourceRequest.h: Removed.
2806 * platform/network/win/ResourceResponse.h: Removed.
2807 * platform/network/win/SocketStreamError.h: Removed.
2808 * platform/network/win/SocketStreamHandle.h: Removed.
2809 * platform/network/win/SocketStreamHandleWin.cpp: Removed.
2811 2014-12-02 Chris Dumez <cdumez@apple.com>
2813 Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
2814 https://bugs.webkit.org/show_bug.cgi?id=139170
2816 Reviewed by Darin Adler.
2818 Add support for calculated values for 'column-span' and 'column-width'
2819 CSS properties. Previously, these were not working in release builds
2820 and hitting assertions in debug builds.
2822 Tests: fast/css/column-width-calculated-value.html
2823 fast/css/webkit-column-span-calculated-value.html
2825 * css/CSSParser.cpp:
2826 (WebCore::CSSParser::parseValue):
2828 2014-12-02 Anders Carlsson <andersca@apple.com>
2830 Remove visited link handling from PageGroup
2831 https://bugs.webkit.org/show_bug.cgi?id=139185
2833 Reviewed by Sam Weinig.
2837 * WebCore.vcxproj/WebCore.vcxproj:
2838 * WebCore.vcxproj/WebCore.vcxproj.filters:
2839 * WebCore.xcodeproj/project.pbxproj:
2840 * loader/HistoryController.cpp:
2842 (WebCore::ChromeClient::populateVisitedLinks): Deleted.
2843 * page/ChromeClient.h:
2844 * page/DefaultVisitedLinkStore.cpp: Removed.
2845 * page/DefaultVisitedLinkStore.h: Removed.
2847 (WebCore::Page::Page):
2848 (WebCore::Page::~Page):
2849 (WebCore::Page::visitedLinkStore):
2850 (WebCore::Page::setVisitedLinkStore):
2851 (WebCore::Page::removeAllVisitedLinks): Deleted.
2853 * page/PageGroup.cpp:
2854 (WebCore::PageGroup::PageGroup):
2855 (WebCore::PageGroup::visitedLinkStore): Deleted.
2856 (WebCore::PageGroup::isLinkVisited): Deleted.
2857 (WebCore::PageGroup::addVisitedLinkHash): Deleted.
2858 (WebCore::PageGroup::addVisitedLink): Deleted.
2859 (WebCore::PageGroup::removeVisitedLink): Deleted.
2860 (WebCore::PageGroup::removeVisitedLinks): Deleted.
2861 (WebCore::PageGroup::removeAllVisitedLinks): Deleted.
2862 (WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.
2865 2014-12-02 Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com>
2867 Use references instead of pointers in EditingStyle
2868 https://bugs.webkit.org/show_bug.cgi?id=137918
2870 Reviewed by Darin Adler.
2872 * editing/EditingStyle.cpp:
2873 (WebCore::extractPropertyValue):
2874 (WebCore::identifierForStyleProperty):
2875 (WebCore::textColorFromStyle):
2876 (WebCore::backgroundColorFromStyle):
2877 (WebCore::textAlignResolvingStartAndEnd):
2878 (WebCore::EditingStyle::triStateOfStyle):
2879 (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
2880 (WebCore::EditingStyle::prepareToApplyAt):
2881 (WebCore::EditingStyle::removeStyleFromRulesAndContext):
2882 (WebCore::StyleChange::StyleChange):
2883 (WebCore::setTextDecorationProperty):
2884 (WebCore::StyleChange::extractTextStyles):
2885 (WebCore::diffTextDecorations):
2886 (WebCore::fontWeightIsBold):
2887 (WebCore::extractPropertiesNotIn):
2888 (WebCore::getPropertiesNotIn):
2889 * editing/EditingStyle.h:
2891 2014-12-02 Bartlomiej Gajda <b.gajda@samsung.com>
2893 [GStreamer] Media Source sending seek event fails.
2894 https://bugs.webkit.org/show_bug.cgi?id=139181
2896 Reviewed by Philippe Normand.
2898 There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
2899 and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.
2901 No new tests needed.
2903 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
2904 (webkit_media_src_init):
2906 2014-12-02 Chris Dumez <cdumez@apple.com>
2908 Move 'font-family' CSS property to the new StyleBuilder
2909 https://bugs.webkit.org/show_bug.cgi?id=139172
2911 Reviewed by Antti Koivisto.
2913 Move 'font-family' CSS property to the new StyleBuilder by using
2916 No new tests, no behavior change.
2918 * css/CSSPropertyNames.in:
2919 * css/DeprecatedStyleBuilder.cpp:
2920 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2921 (WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
2922 (WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
2923 (WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
2924 (WebCore::ApplyPropertyFontFamily::createHandler): Deleted.
2925 * css/StyleBuilderCustom.h:
2926 (WebCore::StyleBuilderCustom::applyInitialFontFamily):
2927 (WebCore::StyleBuilderCustom::applyInheritFontFamily):
2928 (WebCore::StyleBuilderCustom::applyValueFontFamily):
2930 2014-12-02 Eva Balazsfalvi <evab.u-szeged@partner.samsung.com>
2932 Fix class was previously declared as a struct warnings
2933 https://bugs.webkit.org/show_bug.cgi?id=139131
2935 Reviewed by Csaba Osztrogonác.
2937 No new tests needed.
2939 * platform/graphics/texmap/TextureMapperGL.h:
2941 2014-12-02 Sylvain Galineau <galineau@adobe.com>
2943 Missing support for innerHTML on SVGElement
2944 https://bugs.webkit.org/show_bug.cgi?id=136903
2946 Reviewed by Dean Jackson.
2948 Two parts to this patch:
2949 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
2950 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
2952 The latter part was ported over from Blink.
2954 Test: svg/in-html/svg-inner-html.html
2956 * bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
2958 (WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
2959 (WebCore::Element::innerHTML): Moved from HTMLElement.
2960 (WebCore::Element::outerHTML): Moved from HTMLElement.
2961 (WebCore::Element::setOuterHTML): Moved from HTMLElement.
2962 (WebCore::Element::setInnerHTML): Moved from HTMLElement.
2965 * html/HTMLElement.cpp:
2966 (WebCore::HTMLElement::innerHTML): Deleted.
2967 (WebCore::HTMLElement::outerHTML): Deleted.
2968 (WebCore::HTMLElement::setInnerHTML): Deleted.
2969 (WebCore::mergeWithNextTextNode): Deleted.
2970 (WebCore::HTMLElement::setOuterHTML): Deleted.
2971 * html/HTMLElement.h:
2972 * html/HTMLElement.idl:
2973 * html/parser/HTMLTreeBuilder.cpp:
2974 (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
2975 (WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
2976 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
2977 (WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
2978 (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
2979 (WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.
2980 * html/parser/HTMLTreeBuilder.h:
2981 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
2982 (WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.
2984 2014-11-20 Jeffrey Pfau <jpfau@apple.com>
2986 Add cancelable version of willSendRequest
2987 https://bugs.webkit.org/show_bug.cgi?id=138987
2989 Reviewed by Anders Carlsson.
2991 Covered by existing tests.
2993 * loader/ResourceLoader.cpp:
2994 (WebCore::ResourceLoader::willSendRequest):
2995 * loader/ResourceLoader.h:
2997 2014-12-01 Benjamin Poulain <benjamin@webkit.org>
2999 Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
3000 https://bugs.webkit.org/show_bug.cgi?id=139001
3002 Reviewed by Andreas Kling.
3004 When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
3005 we were previously ignoring the arguments.
3007 That behavior seems to be confusing for users. We made the proposal to include the selector list
3008 like when using :matches():
3009 http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html
3010 David Baron also agrees with this behavior:
3011 http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html
3013 This patch adds the specificity computation.
3015 Tests: fast/css/nth-child-specificity-1.html
3016 fast/css/nth-child-specificity-2.html
3017 fast/css/nth-last-child-specificity-1.html
3018 fast/css/nth-last-child-specificity-2.html
3020 * css/CSSSelector.cpp:
3021 (WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
3022 * css/SelectorChecker.cpp:
3023 (WebCore::SelectorChecker::checkOne):
3024 (WebCore::SelectorChecker::matchSelectorList):
3025 * css/SelectorChecker.h:
3026 * cssjit/SelectorCompiler.cpp:
3027 (WebCore::SelectorCompiler::addPseudoClassType):
3029 2014-12-01 Chris Dumez <cdumez@apple.com>
3031 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
3032 https://bugs.webkit.org/show_bug.cgi?id=138938
3034 Reviewed by Sam Weinig.
3036 Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
3037 from StyleResolver to the new StyleBuilder by using custom code.
3039 No new tests, no behavior change.
3041 * css/CSSPropertyNames.in:
3042 * css/StyleBuilderCustom.h:
3043 (WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
3044 (WebCore::StyleBuilderCustom::applyInitialTextShadow):
3045 (WebCore::StyleBuilderCustom::applyInheritTextShadow):
3046 (WebCore::StyleBuilderCustom::applyValueTextShadow):
3047 (WebCore::StyleBuilderCustom::applyInitialBoxShadow):
3048 (WebCore::StyleBuilderCustom::applyInheritBoxShadow):
3049 (WebCore::StyleBuilderCustom::applyValueBoxShadow):
3050 (WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
3051 (WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
3052 (WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):
3053 * css/StyleResolver.cpp:
3054 (WebCore::StyleResolver::applyProperty):
3056 2014-12-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3058 [EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
3059 https://bugs.webkit.org/show_bug.cgi?id=139085
3061 Reviewed by Andreas Kling.
3063 * PlatformEfl.cmake:
3064 Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.
3066 2014-12-01 Zalan Bujtas <zalan@apple.com>
3068 Twitter avatar moves when hovering/unhovering the "follow" button.
3069 https://bugs.webkit.org/show_bug.cgi?id=139147
3070 rdar://problem/19096508
3072 Reviewed by Simon Fraser.
3074 This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
3075 get repositioned when their inline box wrappers move.
3076 Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
3077 placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
3078 they are still part of the inline box tree.
3079 This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
3080 They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().
3082 Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html
3084 * rendering/InlineBox.cpp:
3085 (WebCore::InlineBox::adjustPosition):
3087 2014-12-01 Tim Horton <timothy_horton@apple.com>
3089 Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
3090 https://bugs.webkit.org/show_bug.cgi?id=139164
3091 <rdar://problem/19107247>
3093 Reviewed by Beth Dakin.
3095 * page/TextIndicator.cpp:
3096 (WebCore::TextIndicator::createWithSelectionInFrame):
3097 Null-check the ImageBuffer in addition to the Image.
3099 2014-12-01 Anders Carlsson <andersca@apple.com>
3101 Remove IWebCookieManager on Windows
3102 https://bugs.webkit.org/show_bug.cgi?id=139144
3104 Reviewed by Sam Weinig.
3106 Remove code that handles overriding the cookie storage.
3108 * platform/network/NetworkStorageSession.h:
3109 * platform/network/cf/NetworkStorageSessionCFNet.cpp:
3110 (WebCore::cookieStorageOverride): Deleted.
3111 (WebCore::overrideCookieStorage): Deleted.
3112 (WebCore::overridenCookieStorage): Deleted.
3113 * platform/network/cf/ResourceHandleCFNet.cpp:
3114 (WebCore::ResourceHandle::createCFURLConnection):
3116 2014-12-01 Dean Jackson <dino@apple.com>
3118 [iOS Media] Slider knob should not have a border
3119 https://bugs.webkit.org/show_bug.cgi?id=139160
3120 <rdar://problem/19075185>
3122 Reviewed by Jer Noble.
3124 The change in r175715 required adding !important to a bunch
3125 of rules for pseudo elements. The border width of slider knobs
3126 for media controls should be zero, so add an !important there.
3128 * Modules/mediacontrols/mediaControlsiOS.css:
3129 (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
3130 border to border-width and force it to zero.
3132 2014-12-01 Chris Dumez <cdumez@apple.com>
3134 Take into consideration canvas drawing for throttling DOM timers
3135 https://bugs.webkit.org/show_bug.cgi?id=139140
3136 <rdar://problem/19102218>
3138 Reviewed by Andreas Kling.
3140 Take into consideration canvas drawing for throttling DOM timers so
3142 - Timers drawing on a visible canvas can no longer get throttled.
3143 This fixes the following sites:
3144 - http://hint.fm/wind/
3145 - http://radar.weather.gov/Conus/full_loop.php
3146 - Timers that are drawing on a canvas that is not user observable
3147 now get throttled, thus using less CPU. As an example, on
3148 http://hint.fm/wind/, CPU usage is at 110% when the canvas is
3149 inside the viewport on my machine. CPU usage would remain at
3150 110% when scrolling the canvas outside the viewport before this
3151 patch. After this patch, the CPU usage goes down to 5% when
3152 the canvas is outside the viewport.
3154 Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html
3155 fast/canvas/canvas-outside-viewport-timer-throttling.html
3157 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3158 (WebCore::JSCSSStyleDeclaration::putDelegate):
3159 * html/HTMLCanvasElement.cpp:
3160 (WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):
3161 * page/DOMTimer.cpp:
3162 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
3163 (WebCore::DOMTimer::scriptDidCauseElementRepaint):
3164 (WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
3165 (WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.
3168 2014-12-01 Myles C. Maxfield <mmaxfield@apple.com>
3170 Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
3171 https://bugs.webkit.org/show_bug.cgi?id=139158
3173 Reviewed by Simon Fraser.
3175 RenderingContexts are only created if the primary SimpleFontData is an SVG font,
3176 but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
3177 One might be an SVG font but the other might not be.
3179 Note that this brittle design will be fixed with the SVG -> OTF translator.
3181 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html
3183 * platform/graphics/mac/FontMac.mm:
3184 (WebCore::Font::dashesForIntersectionsWithRect):
3186 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
3188 [MSE] Fix not always calling mediaPlayer seek.
3189 https://bugs.webkit.org/show_bug.cgi?id=139139
3191 Reviewed by Jer Noble.
3193 Original comment states that media source shall always be notified of seek if it's not closed.
3195 No new tests needed.
3197 * html/HTMLMediaElement.cpp:
3198 (WebCore::HTMLMediaElement::seekTimerFired):
3200 2014-12-01 Tim Horton <timothy_horton@apple.com>
3202 Implement yellow highlight for WebKit1 data detectors
3203 https://bugs.webkit.org/show_bug.cgi?id=138956
3204 <rdar://problem/18992185>
3206 Reviewed by Beth Dakin.
3208 * page/TextIndicator.cpp:
3209 (WebCore::TextIndicator::createWithSelectionInFrame):
3210 (WebCore::TextIndicator::TextIndicator):
3211 * page/TextIndicator.h:
3212 (WebCore::TextIndicator::selectionRectInScreenCoordinates):
3213 (WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
3214 (WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
3215 (WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
3216 Store TextIndicator rects in screen coordinates, since that's what we
3217 want anyway, and this makes it easier to share this code between the WebKits.
3219 * page/mac/TextIndicatorWindow.mm:
3220 (-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
3221 (WebCore::TextIndicatorWindow::setTextIndicator):
3222 Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.
3224 2014-12-01 Anders Carlsson <andersca@apple.com>
3226 Remove old site specific quirks code that was added in 2009
3227 https://bugs.webkit.org/show_bug.cgi?id=139141
3229 Reviewed by Antti Koivisto.
3231 * platform/network/NetworkingContext.h:
3232 * platform/network/ResourceHandleInternal.h:
3233 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3234 * platform/network/mac/ResourceHandleMac.mm:
3235 (WebCore::ResourceHandle::start):
3237 2014-12-01 Joseph Pecoraro <pecoraro@apple.com>
3239 Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
3240 https://bugs.webkit.org/show_bug.cgi?id=138988
3242 Reviewed by Timothy Hatcher.
3244 * inspector/WebInjectedScriptHost.cpp:
3245 (WebCore::WebInjectedScriptHost::type):
3246 Give all DOM Exception types the "error" RemoteObject subtype.
3248 2014-12-01 Bartlomiej Gajda <b.gajda@samsung.com>
3250 [MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
3251 https://bugs.webkit.org/show_bug.cgi?id=139075.
3253 Reviewed by Jer Noble.
3255 Specification requires from us to unset timestamps for trackBuffers
3256 during abort() method.
3258 Test: media/media-source/media-source-append-nonsync-sample-after-abort.html
3260 * Modules/mediasource/SourceBuffer.cpp:
3261 (WebCore::SourceBuffer::resetParserState):
3262 (WebCore::SourceBuffer::abort):
3263 * Modules/mediasource/SourceBuffer.h:
3265 2014-12-01 Chris Dumez <cdumez@apple.com>
3267 Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
3268 https://bugs.webkit.org/show_bug.cgi?id=138999
3270 Reviewed by Sam Weinig.
3272 Transform StyleBuilderCustom into a class and mark it as a friend of
3273 RenderStyle. This is needed because some of the StyleBuilderCustom
3274 functions need to access RenderStyle's private API.
3276 No new tests, no behavior change.
3278 * css/StyleBuilderCustom.h:
3279 Move functions from StyleBuilderFunctions namespace to
3280 StyleBuilderCustom class.
3283 Use StyleBuilderCustom scope instead of StyleBuilderFunctions for
3284 custom implementation.
3286 * rendering/style/RenderStyle.h:
3287 Mark StyleBuilderCustom class as a friend, similarly to what was
3288 already done for DeprecatedStyleBuilder and StyleResolver.
3290 2014-11-17 Oliver Hunt <oliver@apple.com>
3292 Make sure range based iteration of Vector<> still receives bounds checking
3293 https://bugs.webkit.org/show_bug.cgi?id=138821
3295 Reviewed by Mark Lam.
3297 There are a few uses of begin()/end() that explicitly require pointers,
3298 so we use getPtr() to extract the underlying pointer generically.
3300 * bindings/js/SerializedScriptValue.cpp:
3301 (WebCore::CloneDeserializer::deserializeString):
3302 * editing/TextIterator.cpp:
3303 (WebCore::SearchBuffer::isBadMatch):
3304 * page/mac/ServicesOverlayController.mm:
3305 (WebCore::ServicesOverlayController::buildSelectionHighlight):
3306 * platform/graphics/SegmentedFontData.cpp:
3307 (WebCore::SegmentedFontData::fontDataForCharacter):
3308 (WebCore::SegmentedFontData::containsCharacter):
3309 (WebCore::SegmentedFontData::isLoading):
3310 * platform/graphics/WOFFFileFormat.cpp:
3311 (WebCore::convertWOFFToSfnt):
3312 * rendering/RenderBox.cpp:
3313 (WebCore::RenderBox::paintFillLayers):
3314 * rendering/style/GridResolvedPosition.cpp:
3315 (WebCore::firstNamedGridLineBeforePosition):
3316 (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
3317 * svg/SVGFontElement.cpp:
3318 (WebCore::kerningForPairOfStringsAndGlyphs):
3319 * svg/SVGPathByteStream.h:
3320 (WebCore::SVGPathByteStream::append):
3321 * xml/XPathNodeSet.h:
3322 (WebCore::XPath::NodeSet::begin):
3323 (WebCore::XPath::NodeSet::end):
3325 2014-11-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3327 Fix a build warning when CSS_SCROLL_SNAP is enabled
3328 https://bugs.webkit.org/show_bug.cgi?id=139084
3330 Reviewed by Andrei Bucur.
3332 Fix a build warning. Copy constructor of StyleScrollSnapPoints should initialize its base class.
3334 * rendering/style/StyleScrollSnapPoints.cpp:
3335 (WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Call RefCounted().
3337 2014-11-29 Sam Weinig <sam@webkit.org>
3339 Move the '-webkit-locale', '-webkit-text-orientation', '-webkit-writing-mode', '-webkit-justify-self' and '-webkit-perspective' CSS properties to the new StyleBuilder
3340 https://bugs.webkit.org/show_bug.cgi?id=139104
3342 Reviewed by Anders Carlsson.
3344 * css/CSSPropertyNames.in:
3345 * css/StyleBuilderCustom.h:
3346 (WebCore::StyleBuilderFunctions::applyValueWebkitLocale):
3347 (WebCore::StyleBuilderFunctions::applyValueWebkitWritingMode):
3348 (WebCore::StyleBuilderFunctions::applyValueWebkitTextOrientation):
3349 (WebCore::StyleBuilderFunctions::applyValueWebkitJustifySelf):
3350 (WebCore::StyleBuilderFunctions::applyValueWebkitPerspective):
3351 * css/StyleResolver.cpp:
3352 (WebCore::StyleResolver::applyProperty):
3354 2014-11-29 Anders Carlsson <andersca@apple.com>
3356 Add an EmptyVisitedLinkStore implementation
3357 https://bugs.webkit.org/show_bug.cgi?id=139102
3359 Reviewed by Sam Weinig.
3361 * loader/EmptyClients.cpp:
3362 (WebCore::fillWithEmptyClients):
3363 * loader/EmptyClients.h:
3365 2014-11-28 Sam Weinig <sam@webkit.org>
3367 Move the '-webkit-initial-letter', '-webkit-line-box-contain' and '-webkit-text-stroke-width' CSS properties to the new StyleBuilder
3368 https://bugs.webkit.org/show_bug.cgi?id=139053
3370 Reviewed by Andreas Kling.
3372 * css/CSSPropertyNames.in:
3373 * css/StyleBuilderConverter.h:
3374 (WebCore::StyleBuilderConverter::convertInitialLetter):
3375 (WebCore::StyleBuilderConverter::convertTextStrokeWidth):
3376 (WebCore::StyleBuilderConverter::convertLineBoxContain):
3377 * css/StyleResolver.cpp:
3378 (WebCore::StyleResolver::applyProperty):
3380 2014-11-26 Philippe Normand <pnormand@igalia.com>
3382 [GStreamer] HTTP source element lacks SCHEDULING query support
3383 https://bugs.webkit.org/show_bug.cgi?id=139064
3385 Reviewed by Carlos Garcia Campos.
3387 No new tests, covered by http/tests/media/hls.
3389 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3390 (webKitWebSrcQueryWithParent): Make the element handle SCHEDULING
3391 queries with the BANDWIDTH_LIMITED flag. This helps uridecodebin
3392 to configure itself for adaptive streaming playback scenarios.
3394 2014-11-27 Ryuan Choi <ryuan.choi@navercorp.com>
3396 [EFL] Remove E_Dbus dependency
3397 https://bugs.webkit.org/show_bug.cgi?id=136355
3399 Reviewed by Gyuyoung Kim.
3401 E_Dbus is the simple wrapper of Dbus but it has not been maintained since EFL 1.8.
3402 Instead, EFL introduced Eldbus, which is almost similar with E_Dbus but provides more dbus like interface.
3403 This patch replaces E_Dbus implementation to Eldbus.
3405 * PlatformEfl.cmake:
3406 * platform/efl/BatteryProviderEfl.cpp:
3407 (WebCore::BatteryProviderEfl::BatteryProviderEfl):
3408 (WebCore::BatteryProviderEfl::~BatteryProviderEfl):
3409 (WebCore::BatteryProviderEfl::stopUpdating):
3410 (WebCore::batteryProperties):
3411 (WebCore::batteryPropertiesChanged):
3412 (WebCore::BatteryProviderEfl::deviceTypeCallback):
3413 (WebCore::BatteryProviderEfl::enumerateDevices):
3414 (WebCore::BatteryProviderEfl::startUpdating):
3415 (WebCore::BatteryProviderEfl::setBatteryStatus):
3416 (WebCore::BatteryProviderEfl::timerFired): Deleted.
3417 (WebCore::BatteryProviderEfl::getBatteryStatus): Deleted.
3418 (WebCore::BatteryProviderEfl::setBatteryClient): Deleted.
3419 * platform/efl/BatteryProviderEfl.h:
3420 (WebCore::BatteryProviderEfl::connection):
3421 (WebCore::BatteryProviderEfl::setSignalHandler):
3422 (WebCore::BatteryProviderEfl::~BatteryProviderEfl): Deleted.
3424 2014-11-27 Antti Koivisto <antti@apple.com>
3426 CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::updateSnapshot + 108
3427 https://bugs.webkit.org/show_bug.cgi?id=139057
3429 Reviewed by Anders Carlsson.
3431 No test, don't know how to repro.
3433 * html/HTMLPlugInImageElement.cpp:
3434 (WebCore::HTMLPlugInImageElement::updateSnapshot): Null check the renderer.
3436 2014-11-27 Joanmarie Diggs <jdiggs@igalia.com>
3438 AX: [ATK] Meter and Option elements do not expose their id attribute
3439 https://bugs.webkit.org/show_bug.cgi?id=139017
3441 Reviewed by Mario Sanchez Prada.
3443 The options in a collapsed select element lack a node, so get the id
3444 attribute from the associated action element. In the case of a meter,
3445 the meter element itself is not exposed; its RenderMeter is instead.
3446 So associate the meter element's id with the exposed RenderMeter.
3448 No new tests. Instead, updated existing expectations to reflect the fix.
3450 * accessibility/AccessibilityObject.h:
3451 * accessibility/AccessibilityProgressIndicator.cpp:
3452 (WebCore::AccessibilityProgressIndicator::element):
3453 * accessibility/AccessibilityProgressIndicator.h:
3454 * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3455 (webkitAccessibleGetAttributes):
3457 2014-11-27 Anders Carlsson <andersca@apple.com>
3459 Add a Page::setVisitedLinkStore member function
3460 https://bugs.webkit.org/show_bug.cgi?id=139065