1 2014-04-30 Simon Fraser <simon.fraser@apple.com>
3 Fix the iOS build, which no longer needs these calls
4 to enter/exitFullscreen.
6 * html/HTMLMediaElement.cpp:
7 (WebCore::HTMLMediaElement::parseAttribute):
9 2014-04-30 Simon Fraser <simon.fraser@apple.com>
11 Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO
12 https://bugs.webkit.org/show_bug.cgi?id=132396
14 Reviewed by Eric Carlson.
16 Remove ENABLE_PLUGIN_PROXY_FOR_VIDEO and related code.
18 * Configurations/FeatureDefines.xcconfig:
20 * css/StyleResolver.cpp:
21 (WebCore::StyleResolver::canShareStyleWithElement):
22 * dom/DOMImplementation.cpp:
23 (WebCore::DOMImplementation::createDocument):
24 * editing/TextIterator.cpp:
25 (WebCore::isRendererReplacedElement):
26 * html/HTMLMediaElement.cpp:
27 (WebCore::HTMLMediaElement::HTMLMediaElement):
28 (WebCore::HTMLMediaElement::parseAttribute):
29 * html/HTMLMediaElement.h:
30 (WebCore::HTMLMediaElement::setNeedWidgetUpdate): Deleted.
31 * html/HTMLMediaSession.cpp:
32 (WebCore::HTMLMediaSession::showPlaybackTargetPicker):
33 (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
34 (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
35 * html/HTMLVideoElement.cpp:
36 (WebCore::HTMLVideoElement::createElementRenderer):
37 (WebCore::HTMLVideoElement::didAttachRenderers):
38 (WebCore::HTMLVideoElement::parseAttribute):
39 (WebCore::HTMLVideoElement::setDisplayMode):
40 * html/shadow/MediaControlElements.cpp:
41 (WebCore::MediaControlTextTrackContainerElement::updateSizes):
42 * loader/EmptyClients.cpp:
43 (WebCore::EmptyFrameLoaderClient::createMediaPlayerProxyPlugin): Deleted.
44 * loader/EmptyClients.h:
45 * loader/FrameLoaderClient.h:
46 * loader/SubframeLoader.cpp:
47 (WebCore::SubframeLoader::loadPlugin):
48 (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Deleted.
49 * loader/SubframeLoader.h:
51 (WebCore::FrameView::updateEmbeddedObject):
53 (WebCore::Settings::setVideoPluginProxyEnabled): Deleted.
55 (WebCore::Settings::isVideoPluginProxyEnabled): Deleted.
56 * platform/graphics/GraphicsLayerClient.h:
57 (WebCore::GraphicsLayerClient::mediaLayerMustBeUpdatedOnMainThread): Deleted.
58 * platform/graphics/MediaPlayer.cpp:
59 (WebCore::installedMediaEngines):
60 (WebCore::MediaPlayer::MediaPlayer):
61 (WebCore::MediaPlayer::loadWithNextMediaEngine):
62 (WebCore::NullMediaPlayerPrivate::deliverNotification): Deleted.
63 (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Deleted.
64 (WebCore::NullMediaPlayerPrivate::setControls): Deleted.
65 (WebCore::MediaPlayer::deliverNotification): Deleted.
66 (WebCore::MediaPlayer::setMediaPlayerProxy): Deleted.
67 (WebCore::MediaPlayer::setControls): Deleted.
68 * platform/graphics/MediaPlayer.h:
69 * platform/graphics/MediaPlayerPrivate.h:
70 (WebCore::MediaPlayerPrivateInterface::deliverNotification): Deleted.
71 (WebCore::MediaPlayerPrivateInterface::setMediaPlayerProxy): Deleted.
72 (WebCore::MediaPlayerPrivateInterface::setControls): Deleted.
73 * platform/graphics/ca/GraphicsLayerCA.cpp:
74 (WebCore::GraphicsLayerCA::updateGeometry):
75 (WebCore::GraphicsLayerCA::updateContentsRects):
76 (WebCore::GraphicsLayerCA::mediaLayerMustBeUpdatedOnMainThread): Deleted.
77 * platform/graphics/ca/GraphicsLayerCA.h:
78 * rendering/RenderEmbeddedObject.cpp:
79 (WebCore::RenderEmbeddedObject::canHaveChildren):
80 * rendering/RenderLayerBacking.cpp:
81 (WebCore::RenderLayerBacking::mediaLayerMustBeUpdatedOnMainThread): Deleted.
82 * rendering/RenderLayerBacking.h:
83 * rendering/RenderLayerCompositor.cpp:
84 (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
86 2014-04-30 Simon Fraser <simon.fraser@apple.com>
88 [iOS WK2] Some accerated overflow-scroll doesn't scroll correctly
89 https://bugs.webkit.org/show_bug.cgi?id=132375
91 Reviewed by Tim Horton.
93 We set the size of the scrolling layer (which becomes the bounds of
94 the UIScrollView) to a non-pixel-snapped padding box size, but the
95 size of the contents layer is an integral-snapped scroll size.
96 This would result in a fractional difference between the two, which
97 makes us thing that the element is scrollable when it really is not.
99 Fix by setting the size of the scroll layer to pixel snapped client size,
100 which is what we also use for scrollability computation.
102 Added some FIXMEs in code that requires pixel snapping.
104 Also use #if PLATFORM(IOS)/#else to bracket some code that never runs on iOS
105 but tries to do something similar to iOS-only code.
107 * rendering/RenderLayerBacking.cpp:
108 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
110 2014-04-30 David Hyatt <hyatt@apple.com>
112 REGRESSION (r168046): [New Multicolumn] Painting order is wrong for columns and fixed positioned elements
113 https://bugs.webkit.org/show_bug.cgi?id=132377
115 Reviewed by Simon Fraser.
117 Added fast/multicol/fixed-stack.html
119 * rendering/RenderLayer.cpp:
120 (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
121 (WebCore::RenderLayer::shouldBeNormalFlowOnly):
122 Change the flow thread layer for multicolumn layout to be normal flow only and to
123 stay self-painting. This has the effect of keeping the flow thread layer grouped
124 with the enclosing multicolumn layer, and this keeps the paint order correct when
125 compositing kicks in (or when something would otherwise try to get between the
128 2014-04-30 Eric Carlson <eric.carlson@apple.com>
130 [iOS] do not pause video when entering background while playing to external device
131 https://bugs.webkit.org/show_bug.cgi?id=132374
133 Reviewed by Jer Noble.
135 * WebCore.exp.in: Update beginInterruption signature.
137 * html/HTMLMediaElement.cpp:
138 (WebCore::HTMLMediaElement::canOverrideBackgroundPlaybackRestriction): New, return true when
139 playing to external device.
140 * html/HTMLMediaElement.h:
142 * platform/audio/MediaSession.cpp:
143 (WebCore::MediaSession::beginInterruption): Add interruption type to beginInterruption.
144 * platform/audio/MediaSession.h:
146 * platform/audio/MediaSessionManager.cpp:
147 (WebCore::MediaSessionManager::beginInterruption): Ditto.
148 (WebCore::MediaSessionManager::applicationWillEnterBackground): Ditto.
149 (WebCore::MediaSessionManager::systemWillSleep): Ditto.
150 * platform/audio/MediaSessionManager.h:
152 * platform/audio/ios/AudioDestinationIOS.h:
153 * platform/audio/ios/MediaSessionManagerIOS.mm:
154 (-[WebMediaSessionHelper interruption:]): Ditto.
156 * platform/audio/mac/AudioDestinationMac.h: Make most methods private. Add
157 canOverrideBackgroundPlaybackRestriction. Add missing overrides.
158 * testing/Internals.cpp:
159 (WebCore::Internals::beginMediaSessionInterruption): Pass interruption type.
161 2014-04-30 Manuel Rego Casasnovas <rego@igalia.com>
163 Unreviewed, rolling out r167879 and r167942.
164 https://bugs.webkit.org/show_bug.cgi?id=132408
166 OrderIterator changes caused regressions in flexbox (Requested
169 We're keeping the new layout test introduced in r167942
170 (fast/flexbox/order-iterator-crash.html) to avoid similar
171 regressions in the future.
175 "OrderIterator refactoring to avoid extra loops"
176 https://bugs.webkit.org/show_bug.cgi?id=119061
177 http://trac.webkit.org/changeset/167879
179 "REGRESSION (r167879): Heap-use-after-free in
180 WebCore::RenderFlexibleBox"
181 https://bugs.webkit.org/show_bug.cgi?id=132337
182 http://trac.webkit.org/changeset/167942
184 2014-04-30 Enrica Casucci <enrica@apple.com>
186 Cursor gets thinner on empty lines.
187 https://bugs.webkit.org/show_bug.cgi?id=132411
188 <rdar://problem/15994556>
190 Reviewed by Benjamin Poulain.
192 RenderLineBreak::localCaretRect should not define
193 locally the constant caretWidth, but use the one from
194 RenderObject.h which knows about the differences between
195 iOS and the other platforms.
197 * rendering/RenderLineBreak.cpp:
198 (WebCore::RenderLineBreak::localCaretRect):
200 2014-04-30 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
202 [GStreamer] Use GstMetaVideo
203 https://bugs.webkit.org/show_bug.cgi?id=132247
205 Reviewed by Philippe Normand.
207 In WebKitVideoSink we announce the usage of GstMetaVideo, but we do
208 not use it when handling the video frames. This might break
209 some decoders and filters that rely on buffer's meta, rather
210 that in the caps structures.
212 This patch enables the use of GstMetaVideo through the GstVideoFrame
213 API. And it is used everywhere the buffer mapping is required.
215 Also this patch changes to nullptr where zeros were used.
217 Also, compile conditionally the video buffer conversion when it is
218 ARGB/BGRA, since it is only required for the Cairo backend.
220 No new tests, already covered by current tests.
222 * platform/graphics/gstreamer/GStreamerUtilities.cpp:
223 (WebCore::getVideoSizeAndFormatFromCaps): init the GstVideoInfo before
224 used and remove caps fixate check since it is done by
225 gst_video_info_from_caps().
226 * platform/graphics/gstreamer/ImageGStreamer.h:
227 * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
228 (ImageGStreamer::ImageGStreamer): use GstVideoFrame for buffer mapping
230 (ImageGStreamer::~ImageGStreamer): ditto.
231 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
232 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): ditto.
233 (WebCore::MediaPlayerPrivateGStreamerBase::currentVideoSinkCaps):
234 return nullptr if failed.
235 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
236 (webkitVideoSinkRender): rely on GstVideoInfo rather than on the
237 caps. Use GstVideoFrame for buffer mapping and unmapping. Add guards
238 for buffer transformation, since it's only used by Cairo.
239 (webkitVideoSinkDispose): remove glib version guards.
240 (webkitVideoSinkSetCaps): update the value of the private
243 2014-04-30 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
245 [GTK][GStreamer] Remove unnecessary GLIB_CHECK_VERSION #ifdefs
246 https://bugs.webkit.org/show_bug.cgi?id=132390
248 Reviewed by Philippe Normand.
250 Since EFL port use GLib 2.38 and GTK+, 2.33.2, I assume it is OK
251 remove, in GTK+ and GST, the existing glib version guards.
253 No new tests, already covered by current tests.
255 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
256 (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
257 (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
258 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
259 (webkitVideoSinkDispose):
260 (webkitVideoSinkFinalize): Deleted.
262 2014-04-30 Alex Christensen <achristensen@webkit.org>
265 https://bugs.webkit.org/show_bug.cgi?id=132367
266 <rdar://problem/16211451>
268 Reviewed by Dean Jackson.
271 Fixed ANGLE compiling with the update.
272 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
273 (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
274 Removed SH_MAP_LONG_VARIABLE_NAMES which is no longer defined in ANGLE.
275 See https://chromium.googlesource.com/angle/angle/+/3cdfcce86b38ef31a0afd71855887193a7924468
276 * platform/graphics/opengl/Extensions3DOpenGLES.h:
277 * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
278 Updated type names from ANGLE.
280 2014-04-30 Alexey Proskuryakov <ap@apple.com>
282 Move Blob.slice() implementation into BlobRegistryImpl
283 https://bugs.webkit.org/show_bug.cgi?id=132402
285 Reviewed by Anders Carlsson.
287 Part or centralizing the responsibility for file size tracking.
290 (WebCore::Blob::Blob):
291 (WebCore::Blob::slice): Deleted.
293 (WebCore::Blob::slice):
294 * fileapi/ThreadableBlobRegistry.cpp:
295 (WebCore::ThreadableBlobRegistry::registerBlobURL):
296 (WebCore::ThreadableBlobRegistry::registerBlobURLForSlice):
297 (WebCore::registerBlobURLTask): Deleted.
298 (WebCore::registerBlobURLFromTask): Deleted.
299 * fileapi/ThreadableBlobRegistry.h:
300 * platform/network/BlobRegistry.h:
301 * platform/network/BlobRegistryImpl.cpp:
302 (WebCore::BlobRegistryImpl::appendStorageItems):
303 (WebCore::BlobRegistryImpl::registerBlobURLForSlice):
304 (WebCore::BlobRegistryImpl::blobSize):
305 * platform/network/BlobRegistryImpl.h:
307 2014-04-30 Brent Fulgham <bfulgham@apple.com>
309 Unreviewed build fix after r168041.
311 * WebCore.exp.in: Add missing iOS exports.
313 2014-04-30 Beth Dakin <bdakin@apple.com>
315 Always-visible scrollbars continuously repaint after non-momentum scrollling
316 https://bugs.webkit.org/show_bug.cgi?id=132403
318 <rdar://problem/16553878>
320 Reviewed by Simon Fraser.
322 No longer universally opt into presentation value mode whenever the scroll
323 position changes on the scrolling thread. We really only want it for momentum
324 scrolls, and this will ensure that we always set it to NO once we have set it to
326 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
327 (WebCore::ScrollingTreeScrollingNodeMac::handleWheelEvent):
328 (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
330 Expose shouldUsePresentationValue.
331 * platform/mac/NSScrollerImpDetails.h:
333 2014-04-30 Anders Carlsson <andersca@apple.com>
335 Move the legacy WebKit API into WebKitLegacy.framework and move it inside WebKit.framework
336 https://bugs.webkit.org/show_bug.cgi?id=132399
337 <rdar://problem/15920046>
339 Reviewed by Dan Bernstein.
341 Allow WebKitLegacy to link against WebCore.
343 * Configurations/WebCore.xcconfig:
345 2014-04-30 David Hyatt <hyatt@apple.com>
347 [New Multicolumn] ASSERTs in fast/dynamic/continuation-detach-crash.html
348 https://bugs.webkit.org/show_bug.cgi?id=132392
350 Reviewed by Dean Jackson.
352 * rendering/RenderFlowThread.cpp:
353 (WebCore::RenderFlowThread::setRegionRangeForBox):
354 Add ASSERTs in case we ever try to set regions from the wrong flow thread
355 as part of the box's region range.
357 * rendering/RenderMultiColumnFlowThread.cpp:
358 (WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
359 Add a bunch of code that handles the discovery of a span from an outer flow thread
360 being inserted into an inner flow thread. This forces us to delete that placeholder
361 and shift the outer spanning content into the inner flow thread in order to get a new
362 mapping/placeholder created in the inner flow thread.
364 (WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
365 Tighten this code to use the parent() just in case we change the invariant of
366 parent = containingBlock later.
368 * rendering/RenderMultiColumnFlowThread.h:
369 Add a static guard when shifting a spanner to prevent the outer flow thread from
370 thinking the spanner belongs to it when it gets punted out of the inner flow thread.
371 A better long-term solution might be to make the spanner map global instead of
374 * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
375 (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
376 * rendering/RenderMultiColumnSpannerPlaceholder.h:
377 Cache the flow thread so that we can get back to it in order to detect if the
378 placeholder belongs to us or not.
380 * rendering/RenderObject.cpp:
381 (WebCore::RenderObject::insertedIntoTree):
382 Notifications from insertedIntoTree are problematic, since this can be called during
383 the layout of the outer flow thread for content inside an inner flow thread that is
384 not getting a layout yet. This makes the currentFlowThread in the flow thread controller
385 inaccurate, so we have to add code to clear it out and put it back.
387 2014-04-29 Chris Fleizach <cfleizach@apple.com>
389 AX: Make "contenteditable" regions into AXTextAreas
390 https://bugs.webkit.org/show_bug.cgi?id=132379
392 Reviewed by Mario Sanchez Prada.
394 Make contenteditable regions into AXTextAreas. This will allow for a more standardized
395 interface for interaction with assistive technologies.
397 Test: accessibility/content-editable-as-textarea.html
399 * accessibility/AccessibilityNodeObject.cpp:
400 (WebCore::AccessibilityNodeObject::hasContentEditableAttributeSet):
401 * accessibility/AccessibilityObject.cpp:
402 (WebCore::AccessibilityObject::contentEditableAttributeIsEnabled):
403 * accessibility/AccessibilityObject.h:
404 * accessibility/AccessibilityRenderObject.cpp:
405 (WebCore::AccessibilityRenderObject::documentBasedSelectedTextRange):
406 (WebCore::AccessibilityRenderObject::selectedText):
407 (WebCore::AccessibilityRenderObject::selectedTextRange):
408 (WebCore::AccessibilityRenderObject::renderObjectIsObservable):
409 (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
410 (WebCore::AccessibilityRenderObject::ariaSelectedTextRange): Deleted.
411 * accessibility/AccessibilityRenderObject.h:
413 2014-04-30 Brian J. Burg <burg@cs.washington.edu>
415 Clean up unnecessary methods in the BackForwardClient interface
416 https://bugs.webkit.org/show_bug.cgi?id=131637
418 Reviewed by Andreas Kling.
420 Demote back/current/forwardItem and iOS-specific methods from the
421 BackForwardClient interface. Convert the class to not be refcounted.
423 No new tests, no behavior was changed.
426 * history/BackForwardClient.h:
427 (WebCore::BackForwardClient::~BackForwardClient): Deleted.
428 (WebCore::BackForwardClient::backItem): Deleted.
429 (WebCore::BackForwardClient::currentItem): Deleted.
430 (WebCore::BackForwardClient::forwardItem): Deleted.
431 * history/BackForwardController.cpp:
432 (WebCore::BackForwardController::BackForwardController):
433 * history/BackForwardController.h: Take ownership of the passed BackForwardClient.
434 (WebCore::BackForwardController::client): Return a reference.
435 * history/BackForwardList.h: Remove the Page field, since it isn't used any more.
436 (WebCore::BackForwardList::create): Deleted.
437 * page/Page.h: Remove RefPtr from PageClient.
439 (WebCore::PageClients::PageClients): Initialize client to nullptr.
441 2014-04-30 Brent Fulgham <bfulgham@apple.com>
443 [Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method
444 https://bugs.webkit.org/show_bug.cgi?id=132320
446 Reviewed by Eric Carlson.
448 * Modules/mediacontrols/mediaControlsApple.css:
449 (video::-webkit-media-text-track-container .hidden): Added.
450 * html/HTMLMediaElement.cpp:
451 (WebCore::HTMLMediaElement::configureTextTrackGroup): Added call to
452 new 'updateCaptionsContainer'.
453 (WebCore::HTMLMediaElement::updateCaptionContainer): Added.
454 * html/HTMLMediaElement.h:
456 2014-04-30 Alexey Proskuryakov <ap@apple.com>
458 https://bugs.webkit.org/show_bug.cgi?id=132363
459 Make Blob RawData immutable
461 Reviewed by Anders Carlsson.
463 * Modules/websockets/WebSocket.cpp: (WebCore::WebSocket::didReceiveBinaryData):
464 Create RawData in one step.
466 * WebCore.exp.in: Don't export a constructor that we no longer have (and the new one is inline).
468 * fileapi/Blob.cpp: Removed entirely dead code.
470 * fileapi/WebKitBlobBuilder.cpp:
471 * fileapi/WebKitBlobBuilder.h:
472 Updated to collect data in a plain Vector, so that we don't have to modify RawData.
473 Removed FIXMEs about renaming - there used to be a BlobBuilder exposed to JS, but
474 now this is just a helper to implement JS Blob constructor. We should probably
475 still rename it, but not how the FIXME suggested.
477 * platform/network/BlobData.cpp:
478 (WebCore::BlobDataItem::detachFromCurrentThread): RawData::detachFromCurrentThread()
480 (WebCore::BlobDataHandle::BlobDataHandle): Deleted. This was entirely dead code.
481 (WebCore::BlobDataHandle::~BlobDataHandle): Ditto.
483 * platform/network/BlobData.h: Made RawData immutable.
485 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseBlob):
486 Create RawData in one step.
488 2014-04-30 David Hyatt <hyatt@apple.com>
490 [New Multicolumn] Region offset not factored in when mapping to local coords
491 https://bugs.webkit.org/show_bug.cgi?id=132383
493 Reviewed by Anders Carlsson.
495 Make sure to cache the offset of the multicolumn set from its parent and then
496 add that in to the translation offset.
498 * rendering/RenderMultiColumnFlowThread.cpp:
499 (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
501 2014-04-30 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com>
503 Move removeEquivalentProperties functions to EditingStyle
504 https://bugs.webkit.org/show_bug.cgi?id=131093
506 Reviewed by Csaba Osztrogonác.
508 A follow-up to r167967. Use single line declaration for template methods.
510 * editing/EditingStyle.h:
512 2014-04-30 Manuel Rego Casasnovas <rego@igalia.com>
514 [CSS Grid Layout] Enable runtime feature by default
515 https://bugs.webkit.org/show_bug.cgi?id=132189
517 Reviewed by Benjamin Poulain.
519 * page/Settings.in: Set cssGridLayoutEnabled to true.
521 2014-04-30 Manuel Rego Casasnovas <rego@igalia.com>
523 [CSS Grid Layout] Wrap some specific grid code under compilation flag
524 https://bugs.webkit.org/show_bug.cgi?id=132341
526 Reviewed by Benjamin Poulain.
528 Some static variables in RenderBox are only used for CSS Grid Layout code. Wrap them and the related methods
529 under ENABLE_CSS_GRID_LAYOUT compilation flag.
531 * rendering/RenderBox.cpp:
532 (WebCore::RenderBox::willBeDestroyed):
533 (WebCore::RenderBox::containingBlockLogicalWidthForContent):
534 (WebCore::RenderBox::containingBlockLogicalHeightForContent):
535 (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
536 (WebCore::RenderBox::computePercentageLogicalHeight):
537 * rendering/RenderBox.h:
539 2014-04-29 Commit Queue <commit-queue@webkit.org>
541 Unreviewed, rolling out r167962 and r167975.
542 https://bugs.webkit.org/show_bug.cgi?id=132376
544 Mysteriously broke many tests (Requested by ap on #webkit).
548 "[Mac, iOS] Support caption activation via JS
549 webkitHasClosedCaptions method"
550 https://bugs.webkit.org/show_bug.cgi?id=132320
551 http://trac.webkit.org/changeset/167962
553 "Unreviewed test fix after r167962."
554 http://trac.webkit.org/changeset/167975
556 2014-04-29 David Hyatt <hyatt@apple.com>
558 [New Multicolumn] Multiple tests assert in RenderGeometryMap
559 https://bugs.webkit.org/show_bug.cgi?id=132285
561 Reviewed by Simon Fraser.
563 Implement offsetFromContainer for RenderMultiColumnFlowThread so that the
564 geometry map gets the right offsets. This is really only relevant for the
565 geometry map, since I already overrode mapAbsoluteToLocalPoint and multicolumn
566 flow threads are repaint containers (so mapLocalToAbsolute never needs offsetFromContainer).
568 * rendering/RenderMultiColumnFlowThread.cpp:
569 (WebCore::RenderMultiColumnFlowThread::offsetFromContainer):
570 * rendering/RenderMultiColumnFlowThread.h:
572 2014-04-29 Benjamin Poulain <bpoulain@apple.com>
574 [iOS][WK2] When pageScaleFactor * deviceScaleFactor = 1, the tile grid is completely messed up
575 https://bugs.webkit.org/show_bug.cgi?id=132368
577 Reviewed by Simon Fraser.
579 * platform/graphics/ca/mac/TileController.mm:
580 (WebCore::TileController::TileController):
581 The initial device scale factor was initialized to 1. We were returning the wrong zoomedOutContentsScale() and
582 contentsScale() on retina devices until the next successful scale update.
584 2014-04-29 Alexey Proskuryakov <ap@apple.com>
586 Remove an unused override of BlobRegistryImpl::appendStorageItems
587 https://bugs.webkit.org/show_bug.cgi?id=132365
589 Reviewed by Andreas Kling.
591 * platform/network/BlobRegistryImpl.cpp:
592 (WebCore::BlobRegistryImpl::appendStorageItems): Deleted.
593 * platform/network/BlobRegistryImpl.h:
595 2014-04-29 Eric Carlson <eric.carlson@apple.com>
597 [Mac] tag the video layers with descriptive name to aid debugging
598 https://bugs.webkit.org/show_bug.cgi?id=132371
600 Reviewed by Darin Adler.
602 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
603 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Set the AVPlayerLayer
604 name in a debug build.
606 2014-04-29 Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au>
608 [GTK][cmake] CMake variable (non)expansion causing 'File name too long' build error.
609 https://bugs.webkit.org/show_bug.cgi?id=132244
611 Reviewed by Martin Robinson.
613 Removing quotes around include directory variable ${WebCore_INCLUDE_DIRECTORIES} in
614 the include_directories cmake macro enables the variable to be expanded correctly.
616 No tests created as this fixes a platform specific build issue.
620 2014-04-29 Brent Fulgham <bfulgham@apple.com>
622 Unreviewed test fix after r167962.
623 * Modules/mediacontrols/mediaControlsApple.css:
624 (.hidden): Use common '.hidden' class for controls.
625 (video::-webkit-media-text-track-container .hidden): Deleted.
627 2014-04-29 Brady Eidson <beidson@apple.com>
629 Handle selection services menu.
630 <rdar://problem/16727798> and https://bugs.webkit.org/show_bug.cgi?id=132362
632 Reviewed by Tim Horton.
636 2014-04-29 Myles C. Maxfield <mmaxfield@apple.com>
638 Removing unused argument in InlineFlowBox::placeBoxesInInlineDirection()
639 https://bugs.webkit.org/show_bug.cgi?id=132369
641 Reviewed by Darin Adler.
643 This was not caught by our compiler because placeBoxesInInlineDirection()
644 is mutually-recursive with placeBoxRangeInInlineDirection().
646 No new tests are necessary because there should be no behavior change.
648 * rendering/InlineFlowBox.cpp:
649 (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
650 (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection):
651 * rendering/InlineFlowBox.h:
652 * rendering/RenderBlockLineLayout.cpp:
653 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
655 2014-04-29 Alex Christensen <achristensen@webkit.org>
657 [WinCairo] Switch video from GStreamer to Media Foundation.
658 https://bugs.webkit.org/show_bug.cgi?id=132358
660 Reviewed by Brent Fulgham.
662 * WebCore.vcxproj/WebCore.vcxproj:
663 Removed dependencies on GStreamer.
665 2014-04-29 Simon Fraser <simon.fraser@apple.com>
667 Remove some PLATFORM(IOS) #ifdefs related to hasAcceleratedTouchScrolling()
668 https://bugs.webkit.org/show_bug.cgi?id=132353
670 Reviewed by Tim Horton & Darin Adler.
672 Minor cleanup and refactoring to remove #idefs.
674 * rendering/RenderLayer.cpp:
675 (WebCore::RenderLayer::scrollTo): No need for this #ifdef, usesCompositedScrolling()
676 gives the right answser already.
677 (WebCore::RenderLayer::visibleContentRectInternal): Use showsOverflowControls() to
679 (WebCore::RenderLayer::invalidateScrollbarRect): Ditto.
680 (WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
681 (WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
682 (WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
683 (WebCore::RenderLayer::showsOverflowControls): Return false on iOS.
684 (WebCore::RenderLayer::paintOverflowControls): Ditto.
685 (WebCore::RenderLayer::calculateClipRects): Ditto.
686 * rendering/RenderLayer.h:
687 * rendering/RenderLayerBacking.cpp:
688 (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling):
689 Just #ifdef in side of this function rather than having two similar functions.
690 (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
691 (WebCore::hasNonZeroTransformOrigin):
692 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Use a local bool
694 (WebCore::layerOrAncestorIsTransformedOrScrolling): Deleted.
696 2014-04-29 Simon Fraser <simon.fraser@apple.com>
698 Remove Settings::compositedScrollingForFramesEnabled
699 https://bugs.webkit.org/show_bug.cgi?id=132352
701 Reviewed by Andreas Kling.
703 The usesCompositedScrolling setting was only used by Chromium, so
704 remove it and associated code.
706 * page/FrameView.cpp:
707 (WebCore::FrameView::usesCompositedScrolling): Deleted.
710 * rendering/RenderLayerCompositor.cpp:
711 (WebCore::RenderLayerCompositor::updateScrollLayerPosition):
713 2014-04-29 Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com>
715 Move removeEquivalentProperties functions to EditingStyle
716 https://bugs.webkit.org/show_bug.cgi?id=131093
718 Reviewed by Darin Adler.
720 Moved the removeEquivalentProperties functions
721 from StyleProperties to EditingStyle class.
723 * css/StyleProperties.cpp:
724 (WebCore::MutableStyleProperties::removeEquivalentProperties): Deleted.
725 * css/StyleProperties.h:
726 * editing/EditingStyle.cpp:
727 (WebCore::EditingStyle::removeStyleAddedByNode):
728 (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
729 (WebCore::EditingStyle::prepareToApplyAt):
730 (WebCore::EditingStyle::removeEquivalentProperties):
731 (WebCore::extractPropertiesNotIn):
732 * editing/EditingStyle.h:
734 2014-04-29 David Hyatt <hyatt@apple.com>
736 [New Multicolumn] Implement support for compositing
737 https://bugs.webkit.org/show_bug.cgi?id=132298
739 Reviewed by Simon Fraser.
741 * rendering/RenderLayer.cpp:
742 (WebCore::accumulateOffsetTowardsAncestor):
743 Add in a case for the new columns that calls into the multi-column flow thread
744 to get an offset to adjust by.
746 * rendering/RenderLayerBacking.cpp:
747 (WebCore::RenderLayerBacking::adjustAncestorCompositingBoundsForFlowThread):
748 Make sure this code only runs for named flow threads.
750 * rendering/RenderLayerCompositor.cpp:
751 (WebCore::RenderLayerCompositor::canBeComposited):
752 Turn on compositing support for in-flow RenderFlowThreads instead of always returning
755 * rendering/RenderMultiColumnFlowThread.cpp:
756 (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
757 Changed this function to fix a couple of bugs exposed by compositing/columns tests. Its
758 end goal is the same, but the approach is improved.
760 * rendering/RenderMultiColumnSet.cpp:
761 (WebCore::RenderMultiColumnSet::endFlow):
762 Don't pad out to a multiple of column height. You can't flip around a flow thread
763 to get back to accurate physical coordinates if bogus padding is introduced. This
764 seemed to have no effect on any layout tests when removed, so I don't think it
765 was really serving any useful purpose.
767 (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
768 Don't factor in the overall flow thread portion, since this is handled by the callers
771 (WebCore::RenderMultiColumnSet::adjustRegionBoundsFromFlowThreadPortionRect):
772 * rendering/RenderMultiColumnSet.h:
773 Change this function to be ASSERT_NOT_REACHED(), since we want to know if someone calls
774 it. It only runs for named flow thread compositing code, so it would be a mistake if
775 this ever gets invoked.
777 2014-04-29 Mark Hahnenberg <mhahnenberg@apple.com>
779 JSProxies should be cacheable
780 https://bugs.webkit.org/show_bug.cgi?id=132351
782 Reviewed by Geoffrey Garen.
786 Whenever we encounter a proxy in an inline cache we should try to cache on the
787 proxy's target instead of giving up.
789 This patch adds support for a simple "recursive" inline cache if the base object
790 we're accessing is a pure forwarding proxy. JSGlobalObject and its subclasses
791 are the only ones to benefit from this right now.
793 This is performance neutral on the benchmarks we track. Currently we won't
794 cache on JSDOMWindow due to HasImpureGetOwnPropertySlot, but this issue will be fixed soon.
796 * bindings/js/JSDOMWindowShell.h:
797 (WebCore::JSDOMWindowShell::createStructure):
799 2014-04-29 Brent Fulgham <bfulgham@apple.com>
801 [Mac, iOS] Support caption activation via JS webkitHasClosedCaptions method
802 https://bugs.webkit.org/show_bug.cgi?id=132320
804 Reviewed by Eric Carlson.
806 * Modules/mediacontrols/mediaControlsApple.css:
807 (video::-webkit-media-text-track-container .hidden): Added.
808 * html/HTMLMediaElement.cpp:
809 (WebCore::HTMLMediaElement::configureTextTrackGroup): Added call to
810 new 'updateCaptionsContainer'.
811 (WebCore::HTMLMediaElement::updateCaptionContainer): Added.
812 * html/HTMLMediaElement.h:
813 * html/shadow/MediaControlElements.cpp:
814 (WebCore::MediaControlTextTrackContainerElement::hide): Use CSS class .hidden instead of
815 hard-coded "display:none".
816 (WebCore::MediaControlTextTrackContainerElement::show): Ditto.
817 * html/shadow/MediaControlElements.h:
819 2014-04-28 Roger Fong <roger_fong@apple.com>
821 Plugins hidden by images should autoplay.
822 https://bugs.webkit.org/show_bug.cgi?id=132222.
823 <rdar://problem/16653536>
825 Reviewed by Jon Lee and Darin Adler.
827 * WebCore.exp.in: Add exports needed by WK2.
829 2014-04-29 Filip Pizlo <fpizlo@apple.com>
831 Use LLVM as a backend for the fourth-tier DFG JIT (a.k.a. the FTL JIT)
832 https://bugs.webkit.org/show_bug.cgi?id=112840
834 Rubber stamped by Geoffrey Garen.
836 It already has a lot of tests.
838 * Configurations/FeatureDefines.xcconfig:
840 2014-04-29 Brady Eidson <beidson@apple.com>
842 Change Image Controls replacement to use selection and paste
843 <rdar://problem/16302722> and https://bugs.webkit.org/show_bug.cgi?id=131992
845 Reviewed by Tim Horton.
847 * WebCore.exp.in: Remove deleted symbol.
849 * html/shadow/mac/ImageControlsButtonElementMac.cpp:
850 (WebCore::ImageControlsButtonElementMac::defaultEventHandler):
852 * page/ContextMenuController.cpp:
853 (WebCore::ContextMenuController::showImageControlsMenu): Select the image element
854 before showing the menu.
855 (WebCore::ContextMenuController::replaceControlledImage): Deleted.
856 * page/ContextMenuController.h:
858 2014-04-29 Jer Noble <jer.noble@apple.com>
860 [iOS] Remove workaround for <rdar://problem/16578727>.
861 https://bugs.webkit.org/show_bug.cgi?id=132338
863 Reviewed by Darin Adler.
865 Now that <rdar://problem/16578727> is fixed, remove the workaround by replacing the
866 call to -_updatePlaybackControlsViewController with one to -layoutIfNeeded.
868 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
869 (WebVideoFullscreenInterfaceAVKit::enterFullscreen):
871 2014-04-29 Zan Dobersek <zdobersek@igalia.com>
873 ScriptExecutionContext::Task should work well with C++11 lambdas
874 https://bugs.webkit.org/show_bug.cgi?id=129795
876 Reviewed by Darin Adler.
878 Instead of having classes that subclass ScriptExecutionContext::Task and override
879 the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
880 take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
881 which would contain the code currently kept in the performTask() methods.
883 This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
884 cleanup tasks, the Task object can be implicitly constructed by using the initializer list
885 constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
886 The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
887 object in the std::function wrapper, along with a boolean member that indicates whether the
888 task is of cleanup nature.
890 * Modules/quota/StorageErrorCallback.cpp:
891 (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
892 (WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.
893 * Modules/quota/StorageErrorCallback.h:
894 (WebCore::StorageErrorCallback::CallbackTask::create): Deleted.
895 * Modules/webdatabase/Database.cpp:
896 (WebCore::Database::~Database):
897 (WebCore::Database::runTransaction):
898 (WebCore::Database::scheduleTransactionCallback):
899 (WebCore::DerefContextTask::create): Deleted.
900 (WebCore::DerefContextTask::performTask): Deleted.
901 (WebCore::DerefContextTask::isCleanupTask): Deleted.
902 (WebCore::DerefContextTask::DerefContextTask): Deleted.
903 (WebCore::callTransactionErrorCallback): Deleted.
904 (WebCore::DeliverPendingCallbackTask::create): Deleted.
905 (WebCore::DeliverPendingCallbackTask::performTask): Deleted.
906 (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.
907 * Modules/webdatabase/DatabaseManager.cpp:
908 (WebCore::DatabaseManager::openDatabase):
909 (WebCore::DatabaseCreationCallbackTask::create): Deleted.
910 (WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
911 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.
912 * Modules/webdatabase/DatabaseSync.cpp:
913 (WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
914 (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
915 (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.
916 * Modules/webdatabase/SQLCallbackWrapper.h:
917 (WebCore::SQLCallbackWrapper::clear):
918 (WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
919 (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
920 (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
921 (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.
922 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
923 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
924 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
925 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
926 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
927 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
928 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
929 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
930 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
931 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
932 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
933 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
934 (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
935 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
936 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
937 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
938 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.
939 * Modules/websockets/WorkerThreadableWebSocketChannel.h:
940 * bindings/js/JSCallbackData.h:
941 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
942 (WebCore::DeleteCallbackDataTask::create): Deleted.
943 (WebCore::DeleteCallbackDataTask::performTask): Deleted.
944 (WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.
945 * bindings/js/JSDOMGlobalObjectTask.cpp:
946 (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
947 (WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
948 (WebCore::JSGlobalObjectTask::performTask): Deleted.
949 * bindings/js/JSDOMGlobalObjectTask.h:
950 * bindings/js/JSDOMWindowBase.cpp:
951 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
952 * bindings/js/JSWorkerGlobalScopeBase.cpp:
953 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
954 * bindings/scripts/CodeGeneratorJS.pm:
955 * bindings/scripts/test/JS/JSTestCallback.cpp:
956 (WebCore::JSTestCallback::~JSTestCallback):
957 (GenerateCallbackImplementation):
958 * dom/CrossThreadTask.h:
959 (WebCore::CrossThreadTask1::performTask):
960 (WebCore::CrossThreadTask2::performTask):
961 (WebCore::CrossThreadTask3::performTask):
962 (WebCore::CrossThreadTask4::performTask):
963 (WebCore::CrossThreadTask5::performTask):
964 (WebCore::CrossThreadTask6::performTask):
965 (WebCore::CrossThreadTask7::performTask):
966 (WebCore::CrossThreadTask8::performTask):
967 (WebCore::createCallbackTask):
968 (WebCore::CrossThreadTask1::create): Deleted.
969 (WebCore::CrossThreadTask2::create): Deleted.
970 (WebCore::CrossThreadTask3::create): Deleted.
971 (WebCore::CrossThreadTask4::create): Deleted.
972 (WebCore::CrossThreadTask5::create): Deleted.
973 (WebCore::CrossThreadTask6::create): Deleted.
974 (WebCore::CrossThreadTask7::create): Deleted.
975 (WebCore::CrossThreadTask8::create): Deleted.
977 (WebCore::Document::addConsoleMessage):
978 (WebCore::Document::addMessage):
979 (WebCore::Document::postTask):
980 (WebCore::Document::pendingTasksTimerFired):
981 (WebCore::PerformTaskContext::PerformTaskContext): Deleted.
982 (WebCore::Document::didReceiveTask): Deleted.
984 * dom/ScriptExecutionContext.cpp:
985 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
986 (WebCore::ScriptExecutionContext::timerAlignmentInterval):
987 (WebCore::ProcessMessagesSoonTask::create): Deleted.
988 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
989 (WebCore::ScriptExecutionContext::Task::~Task): Deleted.
990 * dom/ScriptExecutionContext.h:
991 (WebCore::ScriptExecutionContext::Task::Task):
992 (WebCore::ScriptExecutionContext::Task::performTask):
993 (WebCore::ScriptExecutionContext::Task::isCleanupTask):
994 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
995 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.
996 * dom/StringCallback.cpp:
997 (WebCore::StringCallback::scheduleCallback):
998 * loader/appcache/ApplicationCacheGroup.cpp:
999 (WebCore::ApplicationCacheGroup::postListenerTask):
1000 (WebCore::CallCacheListenerTask::create): Deleted.
1001 (WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.
1002 * workers/DefaultSharedWorkerRepository.cpp:
1003 (WebCore::SharedWorkerProxy::postTaskToLoader):
1004 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
1005 (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
1006 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1007 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
1008 (WebCore::SharedWorkerConnectTask::create): Deleted.
1009 (WebCore::SharedWorkerConnectTask::performTask): Deleted.
1010 * workers/WorkerEventQueue.cpp:
1011 (WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
1012 (WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
1013 (WebCore::WorkerEventQueue::EventDispatcher::dispatch):
1014 (WebCore::WorkerEventQueue::enqueueEvent):
1015 (WebCore::WorkerEventQueue::cancelEvent):
1016 (WebCore::WorkerEventQueue::close):
1017 * workers/WorkerEventQueue.h:
1018 * workers/WorkerGlobalScope.cpp:
1019 (WebCore::WorkerGlobalScope::close):
1020 (WebCore::WorkerGlobalScope::postTask):
1021 (WebCore::WorkerGlobalScope::addConsoleMessage):
1022 (WebCore::WorkerGlobalScope::addMessage):
1023 (WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
1024 (WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
1025 (WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.
1026 * workers/WorkerGlobalScope.h:
1027 * workers/WorkerLoaderProxy.h:
1028 * workers/WorkerMessagingProxy.cpp:
1029 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
1030 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
1031 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
1032 (WebCore::WorkerMessagingProxy::postTaskToLoader):
1033 (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
1034 (WebCore::WorkerMessagingProxy::workerThreadCreated):
1035 (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
1036 (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
1037 (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
1038 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
1039 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
1040 (WebCore::WorkerMessagingProxy::reportPendingActivity):
1041 (WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
1042 (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
1043 (WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
1044 (WebCore::MessageWorkerTask::create): Deleted.
1045 (WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
1046 (WebCore::MessageWorkerTask::performTask): Deleted.
1047 (WebCore::WorkerExceptionTask::create): Deleted.
1048 (WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
1049 (WebCore::WorkerExceptionTask::performTask): Deleted.
1050 (WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
1051 (WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
1052 (WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
1053 (WebCore::WorkerTerminateTask::create): Deleted.
1054 (WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
1055 (WebCore::WorkerTerminateTask::performTask): Deleted.
1056 (WebCore::WorkerThreadActivityReportTask::create): Deleted.
1057 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
1058 (WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
1059 (WebCore::PostMessageToPageInspectorTask::create): Deleted.
1060 (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
1061 (WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
1062 (WebCore::NotifyNetworkStateChangeTask::create): Deleted.
1063 (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
1064 (WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.
1065 * workers/WorkerMessagingProxy.h:
1066 * workers/WorkerRunLoop.cpp:
1067 (WebCore::WorkerRunLoop::postTask):
1068 (WebCore::WorkerRunLoop::postTaskAndTerminate):
1069 (WebCore::WorkerRunLoop::postTaskForMode):
1070 (WebCore::WorkerRunLoop::Task::create):
1071 (WebCore::WorkerRunLoop::Task::performTask):
1072 (WebCore::WorkerRunLoop::Task::Task):
1073 * workers/WorkerRunLoop.h:
1074 * workers/WorkerThread.cpp:
1075 (WebCore::WorkerThread::stop):
1076 (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
1077 (WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
1078 (WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
1079 (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
1080 (WebCore::WorkerThreadShutdownStartTask::create): Deleted.
1081 (WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
1082 (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.
1084 2014-04-29 Manuel Rego Casasnovas <rego@igalia.com>
1086 REGRESSION (r167879): Heap-use-after-free in WebCore::RenderFlexibleBox
1087 https://bugs.webkit.org/show_bug.cgi?id=132337
1089 Reviewed by Simon Fraser.
1091 From Blink r154582 by <jchaffraix@chromium.org>
1093 This is a regression from the changes in OrderIterator. The issue is
1094 that we don't invalidate our iterator when a child is removed. This
1095 means that we could hold onto free'd memory until the next layout
1096 when we will recompute the iterator.
1098 The solution is simple: just clear the memory when we remove a child.
1100 Note that RenderGrid is not impacted by this bug as we don't use the
1101 iterator outside layout yet, but if we do it at some point the very same
1102 problem will arise, so the same treatment was applied to the class.
1104 Test: fast/flexbox/order-iterator-crash.html
1106 * rendering/OrderIterator.cpp:
1107 (WebCore::OrderIterator::invalidate): Clear m_children Vector.
1108 * rendering/OrderIterator.h:
1109 (WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Use
1110 invalidate() method.
1111 * rendering/RenderFlexibleBox.cpp:
1112 (WebCore::RenderFlexibleBox::removeChild): Invalidate m_orderIterator.
1113 * rendering/RenderFlexibleBox.h: Add removeChild() signature.
1114 * rendering/RenderGrid.cpp: Invalidate m_orderIterator.
1115 (WebCore::RenderGrid::removeChild):
1116 * rendering/RenderGrid.h: Add removeChild() header.
1118 2014-04-29 Enrica Casucci <enrica@apple.com>
1120 iOS build fix after http://trac.webkit.org/changeset/167937.
1123 * rendering/RenderThemeIOS.mm:
1124 (WebCore::RenderThemeIOS::adjustButtonStyle):
1126 2014-04-29 Hans Muller <hmuller@adobe.com>
1128 [CSS Shapes] off-by-one error in Shape::createRasterShape()
1129 https://bugs.webkit.org/show_bug.cgi?id=132154
1131 Reviewed by Bem Jones-Bey.
1133 This is a port of a patch for a bug that was reported by and fixed in Blink by
1134 David Vest: https://codereview.chromium.org/237123002/. Shape::createRasterShape()
1135 now consistently reports "end-point exclusive" intervals. Before the patch
1136 an entire row of pixels was above the shape-image-threshold, the interval's end
1137 index was reported as image.width. Now it's image.width + 1, which is consistent
1138 with the way the end index is reported if the last above threshold pixel is within
1141 Two existing tests were revised to account for this change.
1143 * rendering/shapes/RasterShape.cpp:
1144 (WebCore::RasterShape::getExcludedIntervals):
1145 * rendering/shapes/Shape.cpp:
1146 (WebCore::Shape::createRasterShape):
1148 2014-04-29 Bem Jones-Bey <bjonesbe@adobe.com>
1150 Wrap CSS length conversion arguments in an object
1151 https://bugs.webkit.org/show_bug.cgi?id=131552
1153 Reviewed by Andreas Kling.
1155 This patch introduces a class CSSToLengthConversionData to wrap the
1156 data required to convert CSS lengths to Lengths. This simplifies the
1157 plumbing that goes on whenever we need to resolve CSS lengths and
1158 makes it easier to update the arguments needed for resolving these (in
1159 particular adding a RenderView for resolving viewport units at style
1160 recalc time; removing the computingFontSize bool also appears
1163 Note that the zoom argument, which was previously a float in some
1164 places and a double in others is now a float.
1166 This is a port of a Blink patch by timloh@chromium.org.
1168 No new tests, no behavior change.
1171 * WebCore.vcxproj/WebCore.vcxproj:
1172 * WebCore.xcodeproj/project.pbxproj:
1173 * css/BasicShapeFunctions.cpp:
1174 (WebCore::convertToLength):
1175 (WebCore::convertToLengthSize):
1176 (WebCore::convertToCenterCoordinate):
1177 (WebCore::cssValueToBasicShapeRadius):
1178 (WebCore::basicShapeForValue):
1179 * css/BasicShapeFunctions.h:
1180 * css/CSSCalculationValue.cpp:
1181 (WebCore::CSSCalcValue::computeLengthPx):
1182 (WebCore::determineCategory):
1183 * css/CSSCalculationValue.h:
1184 (WebCore::CSSCalcValue::createCalculationValue):
1185 * css/CSSGradientValue.cpp:
1186 (WebCore::CSSGradientValue::addStops):
1187 (WebCore::positionFromValue):
1188 (WebCore::CSSGradientValue::computeEndPoint):
1189 (WebCore::CSSLinearGradientValue::createGradient):
1190 (WebCore::CSSRadialGradientValue::resolveRadius):
1191 (WebCore::CSSRadialGradientValue::createGradient):
1192 * css/CSSGradientValue.h:
1193 * css/CSSPrimitiveValue.cpp:
1194 (WebCore::CSSPrimitiveValue::computeLength):
1195 (WebCore::CSSPrimitiveValue::computeLengthDouble):
1196 * css/CSSPrimitiveValue.h:
1197 * css/CSSPrimitiveValueMappings.h:
1198 (WebCore::CSSPrimitiveValue::convertToLength):
1199 * css/CSSToLengthConversionData.cpp: Added.
1200 (WebCore::CSSToLengthConversionData::zoom):
1201 * css/CSSToLengthConversionData.h: Added.
1202 (WebCore::CSSToLengthConversionData::CSSToLengthConversionData):
1203 (WebCore::CSSToLengthConversionData::style):
1204 (WebCore::CSSToLengthConversionData::rootStyle):
1205 (WebCore::CSSToLengthConversionData::computingFontSize):
1206 (WebCore::CSSToLengthConversionData::copyWithAdjustedZoom):
1207 * css/CSSToStyleMap.cpp:
1208 (WebCore::CSSToStyleMap::CSSToStyleMap):
1209 (WebCore::CSSToStyleMap::mapFillSize):
1210 (WebCore::CSSToStyleMap::mapFillXPosition):
1211 (WebCore::CSSToStyleMap::mapFillYPosition):
1212 (WebCore::CSSToStyleMap::mapNinePieceImageQuad):
1213 * css/CSSToStyleMap.h:
1214 (WebCore::CSSToStyleMap::CSSToStyleMap): Deleted.
1215 * css/DeprecatedStyleBuilder.cpp:
1216 (WebCore::ApplyPropertyAuto::applyValue):
1217 (WebCore::ApplyPropertyClip::convertToLength):
1218 (WebCore::ApplyPropertyLength::applyValue):
1219 (WebCore::ApplyPropertyBorderRadius::applyValue):
1220 (WebCore::ApplyPropertyComputeLength::applyValue):
1221 (WebCore::ApplyPropertyFontSize::applyValue):
1222 (WebCore::csstoLengthConversionDataWithTextZoomFactor):
1223 (WebCore::ApplyPropertyMarqueeIncrement::applyValue):
1224 (WebCore::ApplyPropertyLineHeight::applyValue):
1225 (WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue):
1226 (WebCore::ApplyPropertyWordSpacing::applyValue):
1227 (WebCore::ApplyPropertyPageSize::mmLength):
1228 (WebCore::ApplyPropertyPageSize::inchLength):
1229 (WebCore::ApplyPropertyPageSize::applyValue):
1230 (WebCore::ApplyPropertyVerticalAlign::applyValue):
1231 (WebCore::ApplyPropertyClipPath::applyValue):
1232 (WebCore::ApplyPropertyShape::applyValue):
1233 (WebCore::ApplyPropertyTextIndent::applyValue):
1234 * css/MediaQueryEvaluator.cpp:
1235 (WebCore::colorMediaFeatureEval):
1236 (WebCore::color_indexMediaFeatureEval):
1237 (WebCore::monochromeMediaFeatureEval):
1238 (WebCore::orientationMediaFeatureEval):
1239 (WebCore::aspect_ratioMediaFeatureEval):
1240 (WebCore::device_aspect_ratioMediaFeatureEval):
1241 (WebCore::device_pixel_ratioMediaFeatureEval):
1242 (WebCore::resolutionMediaFeatureEval):
1243 (WebCore::gridMediaFeatureEval):
1244 (WebCore::computeLength):
1245 (WebCore::device_heightMediaFeatureEval):
1246 (WebCore::device_widthMediaFeatureEval):
1247 (WebCore::heightMediaFeatureEval):
1248 (WebCore::widthMediaFeatureEval):
1249 (WebCore::min_colorMediaFeatureEval):
1250 (WebCore::max_colorMediaFeatureEval):
1251 (WebCore::min_color_indexMediaFeatureEval):
1252 (WebCore::max_color_indexMediaFeatureEval):
1253 (WebCore::min_monochromeMediaFeatureEval):
1254 (WebCore::max_monochromeMediaFeatureEval):
1255 (WebCore::min_aspect_ratioMediaFeatureEval):
1256 (WebCore::max_aspect_ratioMediaFeatureEval):
1257 (WebCore::min_device_aspect_ratioMediaFeatureEval):
1258 (WebCore::max_device_aspect_ratioMediaFeatureEval):
1259 (WebCore::min_device_pixel_ratioMediaFeatureEval):
1260 (WebCore::max_device_pixel_ratioMediaFeatureEval):
1261 (WebCore::min_heightMediaFeatureEval):
1262 (WebCore::max_heightMediaFeatureEval):
1263 (WebCore::min_widthMediaFeatureEval):
1264 (WebCore::max_widthMediaFeatureEval):
1265 (WebCore::min_device_heightMediaFeatureEval):
1266 (WebCore::max_device_heightMediaFeatureEval):
1267 (WebCore::min_device_widthMediaFeatureEval):
1268 (WebCore::max_device_widthMediaFeatureEval):
1269 (WebCore::min_resolutionMediaFeatureEval):
1270 (WebCore::max_resolutionMediaFeatureEval):
1271 (WebCore::animationMediaFeatureEval):
1272 (WebCore::transitionMediaFeatureEval):
1273 (WebCore::transform_2dMediaFeatureEval):
1274 (WebCore::transform_3dMediaFeatureEval):
1275 (WebCore::view_modeMediaFeatureEval):
1276 (WebCore::video_playable_inlineMediaFeatureEval):
1277 (WebCore::hoverMediaFeatureEval):
1278 (WebCore::pointerMediaFeatureEval):
1279 (WebCore::MediaQueryEvaluator::eval):
1280 * css/SVGCSSStyleSelector.cpp:
1281 (WebCore::StyleResolver::applySVGProperty):
1282 * css/StyleResolver.cpp:
1283 (WebCore::StyleResolver::State::clear):
1284 (WebCore::StyleResolver::State::initForStyleResolve):
1285 (WebCore::StyleResolver::convertToIntLength):
1286 (WebCore::StyleResolver::convertToFloatLength):
1287 (WebCore::createGridTrackBreadth):
1288 (WebCore::StyleResolver::applyProperty):
1289 (WebCore::StyleResolver::createFilterOperations):
1290 * css/StyleResolver.h:
1291 (WebCore::StyleResolver::State::setStyle):
1292 (WebCore::StyleResolver::State::cssToLengthConversionData):
1293 * css/TransformFunctions.cpp:
1294 (WebCore::convertToFloatLength):
1295 (WebCore::transformsForValue):
1296 * css/TransformFunctions.h:
1297 * css/WebKitCSSMatrix.cpp:
1298 (WebCore::WebKitCSSMatrix::setMatrixValue):
1299 * rendering/RenderThemeIOS.mm:
1300 (WebCore::applyCommonButtonPaddingToStyle):
1301 (WebCore::RenderThemeIOS::adjustButtonStyle):
1303 2014-04-29 Zoltan Horvath <zoltan@webkit.org>
1305 [CSS Shapes] complex calc args for inset round vanish
1306 https://bugs.webkit.org/show_bug.cgi?id=132293
1308 Reviewed by Bem Jones-Bey.
1310 In order to use calc in the rounded parameters for inset shapes, we need
1311 to pass RenderStyle for the value creation as we did for the width arguments.
1312 Without taking RenderStyle into account, we hit an assert not reache
1313 in CSSPrimitiveValue::init in the debug builds.
1315 I've added new parsing test.
1317 * css/BasicShapeFunctions.cpp:
1318 (WebCore::valueForBasicShape):
1319 * css/CSSPrimitiveValue.cpp:
1320 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1321 (WebCore::CSSPrimitiveValue::init):
1322 * css/CSSPrimitiveValue.h:
1323 (WebCore::CSSPrimitiveValue::create):
1324 * css/CSSValuePool.h:
1325 (WebCore::CSSValuePool::createValue):
1327 2014-04-29 Zoltan Horvath <zoltan@webkit.org>
1329 [CSS Shapes] complex calc values for shape-margin return null for computed style
1330 https://bugs.webkit.org/show_bug.cgi?id=132313
1332 Reviewed by Bem Jones-Bey.
1334 We need to pass RenderStyle* to the cssValuePool when parsing
1335 shape-margin in order to use calc() as a parameter.
1337 I've added the new test case to parsing-shape-margin.html
1339 * css/CSSComputedStyleDeclaration.cpp:
1340 (WebCore::ComputedStyleExtractor::propertyValue):
1342 2014-04-29 Chris Fleizach <cfleizach@apple.com>
1344 AX: Row span info is wrong for table cells when a footer section is placed above a body section
1345 https://bugs.webkit.org/show_bug.cgi?id=131832
1347 Reviewed by Mario Sanchez Prada.
1349 If a <footer> section is placed before the body, it renders AX row information and order incorrectly.
1350 This also affects ARIA tables because they add their children by looking at renderer children, instead
1351 interrogating the RenderTable directly.
1353 Test: accessibility/table-with-footer-section-above-body.html
1355 * accessibility/AccessibilityARIAGrid.cpp:
1356 (WebCore::AccessibilityARIAGrid::addTableCellChild):
1357 (WebCore::AccessibilityARIAGrid::addChildren):
1358 * accessibility/AccessibilityTable.cpp:
1359 (WebCore::AccessibilityTable::addChildren):
1360 (WebCore::AccessibilityTable::addChildrenFromSection):
1361 * accessibility/AccessibilityTable.h:
1362 * accessibility/AccessibilityTableCell.cpp:
1363 (WebCore::AccessibilityTableCell::rowIndexRange):
1364 (WebCore::AccessibilityTableCell::columnIndexRange):
1366 2014-04-29 Chris Fleizach <cfleizach@apple.com>
1368 AX: SpeechSynthesisUtterance cannot addEventListener
1369 https://bugs.webkit.org/show_bug.cgi?id=132321
1371 Reviewed by Mario Sanchez Prada.
1373 Modified an existing test (speech-synthesis-speak.html) to use addEventTarget.
1375 * Modules/speech/SpeechSynthesisUtterance.idl:
1377 2014-04-29 Hans Muller <hmuller@adobe.com>
1379 [CSS Shapes] shape-outside polygon fails when first vertex is 0,0
1380 https://bugs.webkit.org/show_bug.cgi?id=132132
1382 Reviewed by Bem Jones-Bey.
1384 ShapeInterval now distinguishes between x1==x2 - isEmpty() and x1,x2 haven't been
1385 set yet - isUndefined(). Removed the ShapeInterval setX1() and setX2() methods, since
1386 they're no longer used.
1388 The polygon algorithm for computing excluded intervals now ignores horizontal
1389 edges. It also ignores edges whose lower vertex matches the top of the line, if
1390 the edge's Y direction is upwards (away from the top of the line). The rationale
1391 for this was explained here:
1392 http://hansmuller-webkit.blogspot.com/2012/11/revised-horizontal-box-algorithm.html
1394 Test: fast/shapes/shape-outside-floats/shape-outside-polygon-zero-vertex.html
1396 * rendering/shapes/PolygonShape.cpp:
1397 (WebCore::OffsetPolygonEdge::clippedEdgeXRange):
1398 (WebCore::PolygonShape::getExcludedIntervals):
1399 * rendering/shapes/ShapeInterval.h:
1400 (WebCore::ShapeInterval::ShapeInterval):
1401 (WebCore::ShapeInterval::isUndefined):
1402 (WebCore::ShapeInterval::x1):
1403 (WebCore::ShapeInterval::x2):
1404 (WebCore::ShapeInterval::width):
1405 (WebCore::ShapeInterval::isEmpty):
1406 (WebCore::ShapeInterval::setX1):
1407 (WebCore::ShapeInterval::setX2):
1408 (WebCore::ShapeInterval::overlaps):
1409 (WebCore::ShapeInterval::contains):
1410 (WebCore::ShapeInterval::unite):
1412 2014-04-29 Andrei Bucur <abucur@adobe.com>
1414 [CSS Regions] Fix getClientRects() for content nodes
1415 https://bugs.webkit.org/show_bug.cgi?id=117407
1417 Reviewed by David Hyatt.
1419 This patch modifies getClientRects() to return a list of fragments
1420 for a fragmented box instead of a single rectangle positioned inside
1421 the region where the box center would appear.
1423 The approach is to split the border box of the element in regions using
1424 the layout positioning. Then each fragment is mapped to the view coordinates
1425 and the result added to the list of rectangles. To preserve the originating
1426 region when mapping the fragment through the ancestor tree I've introduced
1427 the concept of a current region. The current region is stored inside a
1428 CurrentRenderRegionMaintainer object, created whenever an algorithm needing
1429 it needs to run. When the maintainer is destroyed, the cleanup is made
1430 automatically. The RenderFlowThread holds a pointer to this structure for
1433 Tests: fast/regions/cssom/client-rects-fixed-content.html
1434 fast/regions/cssom/client-rects-forced-breaks.html
1435 fast/regions/cssom/client-rects-inline-complex.html
1436 fast/regions/cssom/client-rects-inline.html
1437 fast/regions/cssom/client-rects-nested-regions.html
1438 fast/regions/cssom/client-rects-positioned.html
1439 fast/regions/cssom/client-rects-relative-position.html
1440 fast/regions/cssom/client-rects-simple-block.html
1441 fast/regions/cssom/client-rects-transforms.html
1442 fast/regions/cssom/client-rects-unsplittable-float.html
1444 * rendering/RenderBlock.cpp:
1445 (WebCore::RenderBlock::absoluteQuads): Split the box in fragments.
1446 * rendering/RenderBox.cpp:
1447 (WebCore::RenderBox::absoluteQuads): Split the box in fragments.
1448 * rendering/RenderFlowThread.cpp:
1449 (WebCore::RenderFlowThread::RenderFlowThread):
1450 (WebCore::RenderFlowThread::mapFromFlowToRegion):
1451 (WebCore::RenderFlowThread::mapLocalToContainer):
1452 (WebCore::RenderFlowThread::currentRegion):
1453 * rendering/RenderFlowThread.h:
1454 * rendering/RenderNamedFlowFragment.cpp:
1455 (WebCore::RenderNamedFlowFragment::absoluteQuadsForBoxInRegion): Get
1456 the fragments for this box in the region.
1457 * rendering/RenderNamedFlowFragment.h:
1458 * rendering/RenderNamedFlowThread.cpp:
1459 (WebCore::RenderNamedFlowThread::absoluteQuadsForBox): Virtual function
1460 that can be used to implement fragments to client rects mapping.
1461 * rendering/RenderNamedFlowThread.h:
1462 * rendering/RenderRegion.cpp:
1463 (WebCore::RenderRegion::rectFlowPortionForBox): Small change to correctly
1464 map empty rectangles to containers.
1465 (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
1466 (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
1467 * rendering/RenderRegion.h:
1468 (WebCore::RenderRegion::absoluteQuadsForBoxInRegion):
1469 (WebCore::CurrentRenderRegionMaintainer::region):
1471 2014-04-29 Andrei Bucur <abucur@adobe.com>
1473 Store the containing region map inside the flow thread
1474 https://bugs.webkit.org/show_bug.cgi?id=131647
1476 Reviewed by Mihnea Ovidenie.
1478 The patch moves the containing region map inside the flow thread where
1479 it can be better handled in case the region chain changes and the map
1480 needs to be cleared.
1482 As a result of this move we are able to also cleanup the lines region
1483 information of a block flow when it is removed from the tree.
1485 Test: fast/regions/inline-strike-through.html
1487 * rendering/InlineFlowBox.h:
1488 (WebCore::InlineFlowBox::InlineFlowBox):
1489 * rendering/RenderBlockLineLayout.cpp:
1490 (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
1491 * rendering/RenderFlowThread.cpp:
1492 (WebCore::RenderFlowThread::removeFlowChildInfo):
1493 (WebCore::RenderFlowThread::invalidateRegions):
1494 (WebCore::RenderFlowThread::removeLineRegionInfo):
1495 (WebCore::RenderFlowThread::checkLinesConsistency):
1496 (WebCore::RenderFlowThread::containingRegionMap):
1497 * rendering/RenderFlowThread.h:
1498 * rendering/RootInlineBox.cpp:
1499 (WebCore::containingRegionMap):
1500 (WebCore::RootInlineBox::~RootInlineBox):
1501 (WebCore::RootInlineBox::paint):
1502 (WebCore::RootInlineBox::containingRegion):
1503 (WebCore::RootInlineBox::clearContainingRegion):
1504 (WebCore::RootInlineBox::setContainingRegion):
1506 2014-04-28 Benjamin Poulain <benjamin@webkit.org>
1508 SelectorCodeGenerator::generateElementIsNthChild() leaks the parent register :nth-child() is non-filtering
1509 https://bugs.webkit.org/show_bug.cgi?id=132311
1511 Reviewed by Andreas Kling.
1513 In two cases, the parent register was never returned to the register allocator:
1514 -Non filtering selectors (the early return).
1515 -Non marking selectors (at the moment: only querySelector API).
1517 Unfortunately, generateElementIsNthChild() makes function call, which forces us to do this manual allocation
1518 of the parentElement register. Long term, I want RegisterAllocator and FunctionCall to have a special type for that.
1520 Test: fast/selectors/several-nth-child.html
1522 * cssjit/SelectorCompiler.cpp:
1523 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
1525 2014-04-28 Yusuke Suzuki <utatane.tea@gmail.com>
1527 CSS JIT: backtracking with current / parent element for child
1528 https://bugs.webkit.org/show_bug.cgi?id=132057
1530 Reviewed by Benjamin Poulain.
1532 Calculate appropriate backtracking start height from the closest
1533 descendant. And at first, we use it for a simple optimization.
1535 1. When backtracking start height equals to current height, we
1536 can simply jump to a descendant element check phase.
1537 2. When backtracking start height equals to current height + 1, we
1538 can simply jump to a descendant element traversing phase.
1540 We can apply this optimization to fragments with adjacent combinators.
1541 But, in the meantime, we start to implement it for a fragment with
1544 * cssjit/SelectorCompiler.cpp:
1545 (WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
1546 (WebCore::SelectorCompiler::TagNamePattern::TagNamePattern):
1547 (WebCore::SelectorCompiler::solveDescendantBacktrackingActionForChild):
1548 (WebCore::SelectorCompiler::solveBacktrackingAction):
1549 (WebCore::SelectorCompiler::equalTagNames):
1550 (WebCore::SelectorCompiler::equalTagNamePatterns):
1551 (WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
1552 (WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):
1553 (WebCore::SelectorCompiler::requiresAdjacentTail):
1554 (WebCore::SelectorCompiler::requiresDescendantTail):
1555 (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
1556 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
1557 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentNode):
1558 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToParentElement):
1559 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateParentElementTreeWalker):
1560 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAncestorTreeWalker):
1561 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
1562 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
1563 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
1565 2014-04-28 Benjamin Poulain <bpoulain@apple.com>
1567 [iOS][WK2] Restore the scroll position and scale from the HistoryItem (mostly)
1568 https://bugs.webkit.org/show_bug.cgi?id=132307
1570 Reviewed by Simon Fraser.
1574 2014-04-28 Beth Dakin <bdakin@apple.com>
1576 Scrollbars do not update properly when topContentInset changes dynamically
1577 https://bugs.webkit.org/show_bug.cgi?id=132309
1579 <rdar://problem/16642232>
1581 Reviewed by Tim Horton.
1583 It is not sufficient to do a layout and call updateScrollbars(). We must also call
1584 RenderLayerCompositor::frameViewDidChangeSize() in order to properly adjust the
1585 size and position of all of the scrolling-related layers.
1586 * page/FrameView.cpp:
1587 (WebCore::FrameView::topContentInsetDidChange):
1589 2014-04-28 David Hyatt <hyatt@apple.com>
1591 [New Multicolumn] event.offsetX/offsetY don't work correctly
1592 https://bugs.webkit.org/show_bug.cgi?id=132284
1594 Reviewed by Simon Fraser.
1596 * rendering/RenderBoxModelObject.cpp:
1597 (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
1598 Change the code here to only trigger for CSS Regions and not for
1599 multi-column. Add a FIXME pointing out that the code is broken even for
1602 * rendering/RenderMultiColumnFlowThread.cpp:
1603 (WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):
1604 Override mapAbsoluteToLocalPoint in order to guess a region and attempt
1605 to translate the point from that region to the flow thread local coordinate
1608 (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromRegionToFlow):
1609 * rendering/RenderMultiColumnFlowThread.h:
1610 New helper function that just wraps calling the region's logical translation
1611 function and converting to/from physical coordinates.
1613 2014-04-28 Commit Queue <commit-queue@webkit.org>
1615 Unreviewed, rolling out r167857.
1616 https://bugs.webkit.org/show_bug.cgi?id=132305
1618 the change was rolled out, roll out the new expectations as
1619 well (Requested by thorton on #webkit).
1623 "Unreviewed. Updating one bindings test baseline after
1625 http://trac.webkit.org/changeset/167857
1627 2014-04-28 Dean Jackson <dino@apple.com>
1629 [Mac] Use the animated version of setHighlighted on NSButtonCell where available
1630 https://bugs.webkit.org/show_bug.cgi?id=132295
1631 <rdar://problem/16747240>
1633 Reviewed by Beth Dakin.
1635 Like setState, there is an animated version of setHighlighted available.
1637 * platform/mac/ThemeMac.mm:
1638 (WebCore::updateStates): Use private version of _setHighlighted where possible.
1640 2014-04-28 Commit Queue <commit-queue@webkit.org>
1642 Unreviewed, rolling out r167855.
1643 https://bugs.webkit.org/show_bug.cgi?id=132301
1645 Broke the windows build (Requested by bfulgham on #webkit).
1649 "ScriptExecutionContext::Task should work well with C++11
1651 https://bugs.webkit.org/show_bug.cgi?id=129795
1652 http://trac.webkit.org/changeset/167855
1654 2014-04-24 Andy Estes <aestes@apple.com>
1656 [iOS] Implement WebQuickLookHandleClient for WebKit2
1657 https://bugs.webkit.org/show_bug.cgi?id=132157
1659 Reviewed by Darin Adler.
1661 * WebCore.exp.in: Exported QuickLookHandle::previewUTI().
1662 * platform/network/ios/QuickLook.h:
1663 * platform/network/ios/QuickLook.mm:
1664 (WebCore::QuickLookHandle::previewFileName): Changed to return a WTF::String.
1665 (WebCore::QuickLookHandle::previewUTI): Added.
1667 2014-04-28 Chris Fleizach <cfleizach@apple.com>
1669 REGRESSION: Intermittent crash in SpeechSynthesis::didFinishSpeaking
1670 https://bugs.webkit.org/show_bug.cgi?id=111613
1672 Reviewed by Mark Lam.
1674 I think it's possible that didFinishSpeaking ends up calling directly back into start speaking, and the utterance reference
1675 we were holding can get cleared, so protecting this should avoid a few asserts.
1677 * platform/mock/PlatformSpeechSynthesizerMock.cpp:
1678 (WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
1680 2014-04-28 Commit Queue <commit-queue@webkit.org>
1682 Unreviewed, rolling out r167871.
1683 https://bugs.webkit.org/show_bug.cgi?id=132290
1685 broke a newmulticol test (spanner-nested-dynamic) (Requested
1686 by thorton on #webkit).
1690 "Store the containing region map inside the flow thread"
1691 https://bugs.webkit.org/show_bug.cgi?id=131647
1692 http://trac.webkit.org/changeset/167871
1694 2014-04-28 Commit Queue <commit-queue@webkit.org>
1696 Unreviewed, rolling out r167853.
1697 https://bugs.webkit.org/show_bug.cgi?id=132288
1699 caused crashes+timeouts+layout test failures described in the
1700 bug (Requested by thorton on #webkit).
1704 "Coalesce responses on network process side"
1705 https://bugs.webkit.org/show_bug.cgi?id=132229
1706 http://trac.webkit.org/changeset/167853
1708 2014-04-24 Simon Fraser <simon.fraser@apple.com>
1710 [iOS WK2] flickery scrolling with overflow-scrolling:touch
1711 https://bugs.webkit.org/show_bug.cgi?id=132150
1713 Reviewed by Tim Horton.
1715 Fix typo in a comment.
1717 * page/scrolling/AsyncScrollingCoordinator.cpp:
1718 (WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll):
1720 2014-04-28 Martin Robinson <mrobinson@igalia.com>
1722 [GTK] Builtin cursors do not properly handle transparency
1723 https://bugs.webkit.org/show_bug.cgi?id=131866
1725 Reviewed by Gustavo Noronha Silva.
1727 Tested by ManualTests/cursor.html.
1729 * platform/gtk/CursorGtk.cpp:
1730 (WebCore::createNamedCursor): Instead of interpreting the source bitmap as an A1 image, use
1731 it as a 1-bit black and white image. We do this by:
1732 1. Painting the result to a full color image with transparency instead of an alpha-only surface.
1733 2. Masking a white background using the cursor alpha surface.
1734 3. Painting the black parts of the cursor by painting the source surface, where black pixels
1735 will be interpreted as full opaque pixels.
1737 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1739 Unreviewed. Update GObject DOM bindings symbols file.
1741 * bindings/gobject/webkitdom.symbols: Add missing symbols.
1743 2014-04-28 Manuel Rego Casasnovas <rego@igalia.com>
1745 OrderIterator refactoring to avoid extra loops
1746 https://bugs.webkit.org/show_bug.cgi?id=119061
1748 Reviewed by Darin Adler.
1750 This patch removes order values Vector and use a Vector of pairs instead. The pairs are formed by a child
1751 (RenderBox) and the index of this child. In addition, OrderIterator code is simplified.
1753 It provides a helper class OrderIteratorPopulator, used for manipulating the Vector directly. Which allows to
1754 consolidate the code into a single implementation across flexbox and grid. OrderIteratorPopulator part is based
1755 on a patch from Blink r153971 by <jchaffraix@chromium.org>.
1757 Current implementation is O(number of children * number of order values). Now it will just do a sort operation
1758 and then a regular loop. So if you have different order values in a flexbox or grid the performance will
1761 Comparing results of perf-tests:
1762 * Layout/auto-grid-lots-of-data: ~0.5% worse.
1763 * Layout/fixed-grid-lots-of-data: ~0.5% worse.
1764 * Layout/fixed-grid-lots-of-data (setting 100 different order values): ~50% better.
1765 * Layout/flexbox-lots-of-data: ~5% better.
1767 No new tests, already covered by current tests.
1769 * rendering/OrderIterator.cpp:
1770 (WebCore::OrderIterator::currentChild): Return current child according to m_childrenIndex.
1771 (WebCore::OrderIterator::first): Initialize m_childrenIndex and return current child.
1772 (WebCore::OrderIterator::next): Increase m_childrenIndex and return current child.
1773 (WebCore::compareByOrderValueAndIndex): Sorts the Vector by order value and index.
1774 (WebCore::OrderIteratorPopulator::~OrderIteratorPopulator): Calls compareByOrderValueAndIndex() if there is any
1775 child with non default order value.
1776 (WebCore::OrderIteratorPopulator::collectChild): Adds the child and index to the Vector. Update
1777 m_allChildrenHaveDefaultOrderValue accordingly.
1778 (WebCore::OrderIterator::OrderIterator): Deleted.
1779 (WebCore::OrderIterator::setOrderValues): Deleted.
1780 (WebCore::OrderIterator::reset): Deleted.
1781 * rendering/OrderIterator.h:
1782 (WebCore::OrderIteratorPopulator::OrderIteratorPopulator): New helper class to manipulate the Vector.
1783 (WebCore::OrderIterator::currentChild): Deleted.
1784 * rendering/RenderFlexibleBox.cpp:
1785 (WebCore::RenderFlexibleBox::RenderFlexibleBox): Remove OrderIterator intialization.
1786 (WebCore::RenderFlexibleBox::layoutBlock): Remove unneeded code related to old OrderValues vector.
1787 (WebCore::RenderFlexibleBox::prepareOrderIteratorAndMargins): Populate OrderIterator using collectChild().
1788 (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Deleted.
1789 * rendering/RenderFlexibleBox.h: Rename computeMainAxisPreferredSizes() to prepareOrderIteratorAndMargins().
1790 * rendering/RenderGrid.cpp:
1791 (WebCore::RenderGrid::RenderGrid): Remove OrderIterator initialization.
1792 (WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Populate OrderIterator using collectChild().
1794 2014-04-28 Zan Dobersek <zdobersek@igalia.com>
1796 std::bitset<>::test() does unnecessary bounds checks on CSSPropertyID bitsets
1797 https://bugs.webkit.org/show_bug.cgi?id=131685
1799 Reviewed by Darin Adler.
1801 Use std::bitset<>::operator[]() instead of std::bitset<>::test() to avoid
1802 bounds checks which are not necessary as long as a CSSPropertyID value is used.
1804 * css/CSSParser.cpp:
1805 (WebCore::filterProperties):
1806 * css/StyleProperties.cpp:
1807 (WebCore::StyleProperties::asText):
1808 * css/StyleResolver.cpp:
1809 (WebCore::StyleResolver::CascadedProperties::hasProperty):
1810 (WebCore::StyleResolver::CascadedProperties::set):
1812 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1814 [GTK] TextTrack kind and mode attributes are enums since r166180
1815 https://bugs.webkit.org/show_bug.cgi?id=132228
1817 Reviewed by Martin Robinson.
1819 Improve coding style according to review comments, that I forgot
1820 to do before landing previous commit.
1822 * bindings/gobject/WebKitDOMCustom.cpp:
1823 (webkit_dom_text_track_get_kind):
1824 (webkit_dom_text_track_get_mode):
1825 (webkit_dom_text_track_set_mode):
1827 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1829 [GTK] TextTrack kind and mode attributes are enums since r166180
1830 https://bugs.webkit.org/show_bug.cgi?id=132228
1832 Reviewed by Martin Robinson.
1834 We don't support enum values yet in GObject DOM bindings, but they
1835 are internally strings anyway, so we can keep the old
1836 implementations using strings as custom functions until we
1837 properly support enums.
1839 * bindings/gobject/WebKitDOMCustom.cpp:
1840 (webkit_dom_text_track_get_kind):
1841 (webkit_dom_text_track_get_mode):
1842 (webkit_dom_text_track_set_mode):
1843 * bindings/gobject/WebKitDOMCustom.h:
1844 * bindings/gobject/WebKitDOMCustom.symbols:
1846 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1848 [GTK] TextTrack::addCue can raise an exception since r163974
1849 https://bugs.webkit.org/show_bug.cgi?id=132227
1851 Reviewed by Martin Robinson.
1853 webkit_dom_text_track_add_cue() now receives a GError paramater
1854 which is an API break. Add
1855 webkit_dom_text_track_add_cue_with_error and keep
1856 webkit_dom_text_track_add_cue as deprecated to keep API
1859 * bindings/gobject/WebKitDOMDeprecated.cpp:
1860 (webkit_dom_text_track_add_cue):
1861 * bindings/gobject/WebKitDOMDeprecated.h:
1862 * bindings/gobject/WebKitDOMDeprecated.symbols:
1863 * bindings/gobject/webkitdom.symbols:
1864 * bindings/scripts/CodeGeneratorGObject.pm:
1865 (GetEffectiveFunctionName):
1867 2014-04-28 Carlos Garcia Campos <cgarcia@igalia.com>
1869 [GTK] TextTrackCue API changed in r163649
1870 https://bugs.webkit.org/show_bug.cgi?id=132226
1872 Reviewed by Martin Robinson.
1874 TextTrackCue is now a base class and part of its API was moved to
1875 the derived class VTTCue. Update the GObject DOM bindings to keep
1876 backwards compatibility.
1878 * PlatformGTK.cmake: Generate bindings for DataCue and VTTCue.
1879 * bindings/gobject/WebKitDOMDeprecated.cpp:
1880 (webkit_dom_text_track_cue_get_cue_as_html): Mark as deprecated in
1881 favor of VTTCue API.
1882 (webkit_dom_text_track_cue_get_vertical): Ditto.
1883 (webkit_dom_text_track_cue_set_vertical): Ditto.
1884 (webkit_dom_text_track_cue_get_snap_to_lines): Ditto.
1885 (webkit_dom_text_track_cue_set_snap_to_lines): Ditto.
1886 (webkit_dom_text_track_cue_get_line): Ditto.
1887 (webkit_dom_text_track_cue_set_line): Ditto.
1888 (webkit_dom_text_track_cue_get_position): Ditto.
1889 (webkit_dom_text_track_cue_set_position): Ditto.
1890 (webkit_dom_text_track_cue_get_size): Ditto.
1891 (webkit_dom_text_track_cue_set_size): Ditto.
1892 (webkit_dom_text_track_cue_get_align): Ditto.
1893 (webkit_dom_text_track_cue_set_align): Ditto.
1894 (webkit_dom_text_track_cue_get_text): Ditto.
1895 (webkit_dom_text_track_cue_set_text): Ditto.
1896 * bindings/gobject/WebKitDOMDeprecated.h:
1897 * bindings/gobject/WebKitDOMDeprecated.symbols: Add new deprecated symbols.
1898 * bindings/gobject/WebKitDOMPrivate.cpp:
1899 (WebKit::wrap): Add generic wrap for TextTrackCue now that it's a
1900 base class to generate DataCue or VTTCue objects.
1901 * bindings/gobject/WebKitDOMPrivate.h:
1902 * bindings/gobject/webkitdom.symbols: Add DataCue symbols.
1903 * bindings/scripts/CodeGeneratorGObject.pm:
1904 (IsPolymorphic): Add TextTrackCue to the list of polymorphic classes.
1906 2014-04-27 Andrei Bucur <abucur@adobe.com>
1908 Store the containing region map inside the flow thread
1909 https://bugs.webkit.org/show_bug.cgi?id=131647
1911 Reviewed by Mihnea Ovidenie.
1913 The patch moves the containing region map inside the flow thread where
1914 it can be better handled in case the region chain changes and the map
1915 needs to be cleared.
1917 As a result of this move we are able to also cleanup the lines region
1918 information of a block flow when it is removed from the tree.
1920 Test: fast/regions/inline-strike-through.html
1922 * rendering/InlineFlowBox.h:
1923 (WebCore::InlineFlowBox::InlineFlowBox):
1924 * rendering/RenderBlockLineLayout.cpp:
1925 (WebCore::RenderBlockFlow::addOverflowFromInlineChildren):
1926 * rendering/RenderFlowThread.cpp:
1927 (WebCore::RenderFlowThread::removeFlowChildInfo):
1928 (WebCore::RenderFlowThread::invalidateRegions):
1929 (WebCore::RenderFlowThread::removeLineRegionInfo):
1930 (WebCore::RenderFlowThread::checkLinesConsistency):
1931 (WebCore::RenderFlowThread::containingRegionMap):
1932 * rendering/RenderFlowThread.h:
1933 * rendering/RootInlineBox.cpp:
1934 (WebCore::containingRegionMap):
1935 (WebCore::RootInlineBox::~RootInlineBox):
1936 (WebCore::RootInlineBox::paint):
1937 (WebCore::RootInlineBox::containingRegion):
1938 (WebCore::RootInlineBox::clearContainingRegion):
1939 (WebCore::RootInlineBox::setContainingRegion):
1941 2014-04-27 Darin Adler <darin@apple.com>
1943 REGRESSION (r159345): The hover state for links in the top navigation of Yahoo.com doesn't work
1944 https://bugs.webkit.org/show_bug.cgi?id=132241
1945 rdar://problem/16501924
1947 Reviewed by Andreas Kling.
1949 Test: fast/text/simple-lines-hover-underline.html
1951 Checked that this does not hurt performance by running the
1952 run-perf-tests PerformanceTests/Layout/line-layout.html command before and after.
1954 * rendering/RenderBlockFlow.cpp:
1955 (WebCore::RenderBlockFlow::hitTestInlineChildren): Use simpleLineLayout function rather than
1956 getting at the data member directly.
1957 (WebCore::RenderBlockFlow::firstLineBaseline): Ditto.
1958 (WebCore::RenderBlockFlow::inlineBlockBaseline): Ditto.
1959 (WebCore::RenderBlockFlow::lineCount): Ditto.
1960 (WebCore::RenderBlockFlow::paintInlineChildren): Ditto.
1961 (WebCore::RenderBlockFlow::hasLines): Ditto.
1962 (WebCore::RenderBlockFlow::simpleLineLayout): Added logic to determine which path to use if
1963 m_lineLayoutPath is undetermined, and call createLineBoxes if it's not simple.
1964 (WebCore::RenderBlockFlow::ensureLineBoxes): Factored out most of the code into a new
1965 createLineBoxes function.
1966 (WebCore::RenderBlockFlow::createLineBoxes): Ditto.
1968 * rendering/RenderBlockFlow.h: Made simpleLineLayout function no longer an inline.
1969 Added a private createLineBoxes function.
1971 2014-04-27 Praveen R Jadhav <praveen.j@samsung.com>
1973 [MediaStream] .ended shouldn't be part of MediaStream IDL
1974 https://bugs.webkit.org/show_bug.cgi?id=132104
1976 Reviewed by Eric Carlson.
1978 .ended attribute is spec'ed out of MediaStream IDL. Instead, .active
1979 is introduced to handle more scenarios. This patch replaces all 'ended'
1980 attribute calls with corresponding 'active' attributes.
1982 MediaStream-add-remove-tracks.html is updated.
1984 * Modules/mediastream/MediaStream.cpp:
1985 (WebCore::MediaStream::addTrack): Replaced ended() with active().
1986 (WebCore::MediaStream::removeTrack): setEnded() isn't called. setActive()
1987 is retained which propagates oninactive event.
1988 (WebCore::MediaStream::trackDidEnd): setEnded() isn't called.
1989 (WebCore::MediaStream::removeRemoteSource): Replaced ended() with active().
1990 (WebCore::MediaStream::addRemoteTrack): Replaced ended() with active().
1991 (WebCore::MediaStream::removeRemoteTrack): Replaced ended() with active().
1992 (WebCore::MediaStream::ended): Deleted.
1993 (WebCore::MediaStream::setEnded): Deleted.
1994 (WebCore::MediaStream::streamDidEnd): Deleted.
1995 * Modules/mediastream/MediaStream.h:
1996 * Modules/mediastream/MediaStream.idl:
1997 * Modules/mediastream/RTCPeerConnection.cpp:
1998 (WebCore::RTCPeerConnection::didRemoveRemoteStream): Replaced setEnded()
2000 * platform/mediastream/MediaStreamPrivate.cpp:
2001 (WebCore::MediaStreamPrivate::MediaStreamPrivate):
2002 (WebCore::MediaStreamPrivate::setActive): Updated comment from bug
2003 https://bugs.webkit.org/show_bug.cgi?id=131973
2004 (WebCore::MediaStreamPrivate::setEnded): Deleted.
2005 * platform/mediastream/MediaStreamPrivate.h:
2006 (WebCore::MediaStreamPrivate::ended): Deleted.
2008 2014-04-25 Andy Estes <aestes@apple.com>
2010 [iOS] Stop creating a WKWebResourceQuickLookDelegate for every WebResourceLoader
2011 https://bugs.webkit.org/show_bug.cgi?id=132215
2013 Reviewed by Dan Bernstein.
2015 * WebCore.exp.in: Moved QuickLook symbols to the USE(QUICK_LOOK) stanza.
2016 * platform/network/ios/QuickLook.h: Changed one of the create() overloads to no longer take a delegate argument.
2017 * platform/network/ios/QuickLook.mm: Moved WKWebResourceQuickLookDelegate to here and renamed to WebResourceLoaderQuickLookDelegate.
2018 (WebCore::QuickLookHandle::create): Created a WebResourceLoaderQuickLookDelegate only if QuickLook can handle the response.
2020 2014-04-27 Sam Weinig <sam@webkit.org>
2022 [iOS WebKit2] Add support for text autosizing
2023 <rdar://problem/16545245>
2024 https://bugs.webkit.org/show_bug.cgi?id=132237
2026 Reviewed by Tim Horton.
2028 Move text autosizing width from Frame to Page, as it is a Page level concept.
2032 (WebCore::Frame::textAutosizingWidth): Deleted.
2033 (WebCore::Frame::setTextAutosizingWidth): Deleted.
2035 * page/FrameView.cpp:
2036 (WebCore::FrameView::layout):
2038 (WebCore::Page::Page):
2040 (WebCore::Page::textAutosizingWidth):
2041 (WebCore::Page::setTextAutosizingWidth):
2043 2014-04-27 Zan Dobersek <zdobersek@igalia.com>
2045 Unreviewed. Updating one bindings test baseline after r167855.
2047 * bindings/scripts/test/JS/JSTestCallback.cpp:
2048 (WebCore::JSTestCallback::~JSTestCallback):
2050 2014-04-27 Darin Adler <darin@apple.com>
2052 Webpages can trigger loads with invalid URLs
2053 https://bugs.webkit.org/show_bug.cgi?id=132224
2054 rdar://problem/16697142
2056 Reviewed by Alexey Proskuryakov.
2058 Invalid URLs can be a way to trick the user about what website they
2059 are looking at. Still trying to figure out a good way to regression-test this.
2062 (WebCore::Document::processHttpEquiv): Pass a URL rather than a String to
2063 the navigation scheduler.
2064 * loader/FrameLoader.cpp:
2065 (WebCore::FrameLoader::receivedFirstData): Ditto.
2067 * loader/NavigationScheduler.cpp:
2068 (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Take a URL rather
2070 (WebCore::ScheduledURLNavigation::url): Ditto.
2071 (WebCore::ScheduledRedirect::ScheduledRedirect): Ditto.
2072 (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
2073 (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
2074 (WebCore::NavigationScheduler::shouldScheduleNavigation): Added a check that
2075 prevents navigation to any URL that is invalid, except for JavaScript URLs,
2076 which need not be valid.
2077 (WebCore::NavigationScheduler::scheduleRedirect): Use URL instead of String.
2078 (WebCore::NavigationScheduler::scheduleLocationChange): Use URL instead of
2079 String. Also got rid of empty string check since empty URLs are also invalid,
2080 and so shouldScheduleNavigation will take care of it.
2081 (WebCore::NavigationScheduler::scheduleRefresh): Use URL instead of String.
2083 * loader/NavigationScheduler.h: Take URL instead of String. Also removed some
2084 unneeded incldues and uses of WTF_MAKE_NONCOPYABLE. NavigationScheduler is
2085 already noncopyable because it has a reference for a data member, and the
2086 disabler doesn't have any real reason to be noncopyable.
2088 * loader/SubframeLoader.cpp:
2089 (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass a URL rather than a
2090 String to the NavigationScheduler.
2091 * page/DOMWindow.cpp:
2092 (WebCore::DOMWindow::createWindow): Ditto.
2094 * page/SecurityOrigin.cpp:
2095 (WebCore::SecurityOrigin::urlWithUniqueSecurityOrigin): Return a URL instead
2097 * page/SecurityOrigin.h: Updated for above change.
2099 2014-04-27 Zan Dobersek <zdobersek@igalia.com>
2101 ScriptExecutionContext::Task should work well with C++11 lambdas
2102 https://bugs.webkit.org/show_bug.cgi?id=129795
2104 Reviewed by Darin Adler.
2106 Instead of having classes that subclass ScriptExecutionContext::Task and override
2107 the performTask(ScriptExecutionContext*) method, have the ScriptExecutionContext::Task
2108 take in a std::function<void (ScriptExecutionContext*)>-like object trough the constructor
2109 which would contain the code currently kept in the performTask() methods.
2111 This enables inlining C++11 lambdas into ScriptExecutionContext::postTask() calls. For
2112 cleanup tasks, the Task object can be implicitly constructed by using the initializer list
2113 constructor with the first argument being the ScriptExecutionContext::Task::CleanupTask tag.
2114 The ScriptExecutionContext class remains non-copyable and now stores the passed-in invokable
2115 object in the std::function wrapper, along with a boolean member that indicates whether the
2116 task is of cleanup nature.
2118 * Modules/quota/StorageErrorCallback.cpp:
2119 (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
2120 (WebCore::StorageErrorCallback::CallbackTask::performTask): Deleted.
2121 * Modules/quota/StorageErrorCallback.h:
2122 (WebCore::StorageErrorCallback::CallbackTask::create): Deleted.
2123 * Modules/webdatabase/Database.cpp:
2124 (WebCore::Database::~Database):
2125 (WebCore::Database::runTransaction):
2126 (WebCore::Database::scheduleTransactionCallback):
2127 (WebCore::DerefContextTask::create): Deleted.
2128 (WebCore::DerefContextTask::performTask): Deleted.
2129 (WebCore::DerefContextTask::isCleanupTask): Deleted.
2130 (WebCore::DerefContextTask::DerefContextTask): Deleted.
2131 (WebCore::callTransactionErrorCallback): Deleted.
2132 (WebCore::DeliverPendingCallbackTask::create): Deleted.
2133 (WebCore::DeliverPendingCallbackTask::performTask): Deleted.
2134 (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask): Deleted.
2135 * Modules/webdatabase/DatabaseManager.cpp:
2136 (WebCore::DatabaseManager::openDatabase):
2137 (WebCore::DatabaseCreationCallbackTask::create): Deleted.
2138 (WebCore::DatabaseCreationCallbackTask::performTask): Deleted.
2139 (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask): Deleted.
2140 * Modules/webdatabase/DatabaseSync.cpp:
2141 (WebCore::CloseSyncDatabaseOnContextThreadTask::create): Deleted.
2142 (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask): Deleted.
2143 (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask): Deleted.
2144 * Modules/webdatabase/SQLCallbackWrapper.h:
2145 (WebCore::SQLCallbackWrapper::clear):
2146 (WebCore::SQLCallbackWrapper::SafeReleaseTask::create): Deleted.
2147 (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask): Deleted.
2148 (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask): Deleted.
2149 (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask): Deleted.
2150 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2151 (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
2152 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
2153 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
2154 (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
2155 (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
2156 (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2157 (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
2158 (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
2159 * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
2160 * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
2161 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
2162 (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
2163 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
2164 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::create): Deleted.
2165 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::~WorkerGlobalScopeDidInitializeTask): Deleted.
2166 (WebCore::WorkerThreadableWebSocketChannel::WorkerGlobalScopeDidInitializeTask::WorkerGlobalScopeDidInitializeTask): Deleted.
2167 * Modules/websockets/WorkerThreadableWebSocketChannel.h:
2168 * bindings/js/JSCallbackData.h:
2169 (WebCore::DeleteCallbackDataTask::DeleteCallbackDataTask):
2170 (WebCore::DeleteCallbackDataTask::create): Deleted.
2171 (WebCore::DeleteCallbackDataTask::performTask): Deleted.
2172 (WebCore::DeleteCallbackDataTask::isCleanupTask): Deleted.
2173 * bindings/js/JSDOMGlobalObjectTask.cpp:
2174 (WebCore::JSGlobalObjectTask::JSGlobalObjectTask):
2175 (WebCore::JSGlobalObjectTask::~JSGlobalObjectTask): Deleted.
2176 (WebCore::JSGlobalObjectTask::performTask): Deleted.
2177 * bindings/js/JSDOMGlobalObjectTask.h:
2178 * bindings/js/JSDOMWindowBase.cpp:
2179 (WebCore::JSDOMWindowBase::queueTaskToEventLoop):
2180 * bindings/js/JSWorkerGlobalScopeBase.cpp:
2181 (WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):
2182 * bindings/scripts/CodeGeneratorJS.pm:
2183 (GenerateCallbackImplementation):
2184 * dom/CrossThreadTask.h:
2185 (WebCore::CrossThreadTask1::performTask):
2186 (WebCore::CrossThreadTask2::performTask):
2187 (WebCore::CrossThreadTask3::performTask):
2188 (WebCore::CrossThreadTask4::performTask):
2189 (WebCore::CrossThreadTask5::performTask):
2190 (WebCore::CrossThreadTask6::performTask):
2191 (WebCore::CrossThreadTask7::performTask):
2192 (WebCore::CrossThreadTask8::performTask):
2193 (WebCore::createCallbackTask):
2194 (WebCore::CrossThreadTask1::create): Deleted.
2195 (WebCore::CrossThreadTask2::create): Deleted.
2196 (WebCore::CrossThreadTask3::create): Deleted.
2197 (WebCore::CrossThreadTask4::create): Deleted.
2198 (WebCore::CrossThreadTask5::create): Deleted.
2199 (WebCore::CrossThreadTask6::create): Deleted.
2200 (WebCore::CrossThreadTask7::create): Deleted.
2201 (WebCore::CrossThreadTask8::create): Deleted.
2203 (WebCore::Document::addConsoleMessage):
2204 (WebCore::Document::addMessage):
2205 (WebCore::Document::postTask):
2206 (WebCore::Document::pendingTasksTimerFired):
2207 (WebCore::PerformTaskContext::PerformTaskContext): Deleted.
2208 (WebCore::Document::didReceiveTask): Deleted.
2210 * dom/ScriptExecutionContext.cpp:
2211 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon):
2212 (WebCore::ScriptExecutionContext::timerAlignmentInterval):
2213 (WebCore::ProcessMessagesSoonTask::create): Deleted.
2214 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask): Deleted.
2215 (WebCore::ScriptExecutionContext::Task::~Task): Deleted.
2216 * dom/ScriptExecutionContext.h:
2217 (WebCore::ScriptExecutionContext::Task::Task):
2218 (WebCore::ScriptExecutionContext::Task::performTask):
2219 (WebCore::ScriptExecutionContext::Task::isCleanupTask):
2220 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
2221 (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create): Deleted.
2222 * dom/StringCallback.cpp:
2223 (WebCore::StringCallback::scheduleCallback):
2224 * loader/appcache/ApplicationCacheGroup.cpp:
2225 (WebCore::ApplicationCacheGroup::postListenerTask):
2226 (WebCore::CallCacheListenerTask::create): Deleted.
2227 (WebCore::CallCacheListenerTask::CallCacheListenerTask): Deleted.
2228 * workers/DefaultSharedWorkerRepository.cpp:
2229 (WebCore::SharedWorkerProxy::postTaskToLoader):
2230 (WebCore::SharedWorkerProxy::postTaskForModeToWorkerGlobalScope):
2231 (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
2232 (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
2233 (WebCore::DefaultSharedWorkerRepository::connectToWorker):
2234 (WebCore::SharedWorkerConnectTask::create): Deleted.
2235 (WebCore::SharedWorkerConnectTask::performTask): Deleted.
2236 * workers/WorkerEventQueue.cpp:
2237 (WebCore::WorkerEventQueue::EventDispatcher::EventDispatcher):
2238 (WebCore::WorkerEventQueue::EventDispatcher::~EventDispatcher):
2239 (WebCore::WorkerEventQueue::EventDispatcher::dispatch):
2240 (WebCore::WorkerEventQueue::enqueueEvent):
2241 (WebCore::WorkerEventQueue::cancelEvent):
2242 (WebCore::WorkerEventQueue::close):
2243 * workers/WorkerEventQueue.h:
2244 * workers/WorkerGlobalScope.cpp:
2245 (WebCore::WorkerGlobalScope::close):
2246 (WebCore::WorkerGlobalScope::postTask):
2247 (WebCore::WorkerGlobalScope::addConsoleMessage):
2248 (WebCore::WorkerGlobalScope::addMessage):
2249 (WebCore::CloseWorkerGlobalScopeTask::create): Deleted.
2250 (WebCore::CloseWorkerGlobalScopeTask::performTask): Deleted.
2251 (WebCore::CloseWorkerGlobalScopeTask::isCleanupTask): Deleted.
2252 * workers/WorkerGlobalScope.h:
2253 * workers/WorkerLoaderProxy.h:
2254 * workers/WorkerMessagingProxy.cpp:
2255 (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
2256 (WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
2257 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerGlobalScope):
2258 (WebCore::WorkerMessagingProxy::postTaskToLoader):
2259 (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
2260 (WebCore::WorkerMessagingProxy::workerThreadCreated):
2261 (WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
2262 (WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
2263 (WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
2264 (WebCore::WorkerMessagingProxy::postMessageToPageInspector):
2265 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
2266 (WebCore::WorkerMessagingProxy::reportPendingActivity):
2267 (WebCore::MessageWorkerGlobalScopeTask::create): Deleted.
2268 (WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask): Deleted.
2269 (WebCore::MessageWorkerGlobalScopeTask::performTask): Deleted.
2270 (WebCore::MessageWorkerTask::create): Deleted.
2271 (WebCore::MessageWorkerTask::MessageWorkerTask): Deleted.
2272 (WebCore::MessageWorkerTask::performTask): Deleted.
2273 (WebCore::WorkerExceptionTask::create): Deleted.
2274 (WebCore::WorkerExceptionTask::WorkerExceptionTask): Deleted.
2275 (WebCore::WorkerExceptionTask::performTask): Deleted.
2276 (WebCore::WorkerGlobalScopeDestroyedTask::create): Deleted.
2277 (WebCore::WorkerGlobalScopeDestroyedTask::WorkerGlobalScopeDestroyedTask): Deleted.
2278 (WebCore::WorkerGlobalScopeDestroyedTask::performTask): Deleted.
2279 (WebCore::WorkerTerminateTask::create): Deleted.
2280 (WebCore::WorkerTerminateTask::WorkerTerminateTask): Deleted.
2281 (WebCore::WorkerTerminateTask::performTask): Deleted.
2282 (WebCore::WorkerThreadActivityReportTask::create): Deleted.
2283 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): Deleted.
2284 (WebCore::WorkerThreadActivityReportTask::performTask): Deleted.
2285 (WebCore::PostMessageToPageInspectorTask::create): Deleted.
2286 (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask): Deleted.
2287 (WebCore::PostMessageToPageInspectorTask::performTask): Deleted.
2288 (WebCore::NotifyNetworkStateChangeTask::create): Deleted.
2289 (WebCore::NotifyNetworkStateChangeTask::NotifyNetworkStateChangeTask): Deleted.
2290 (WebCore::NotifyNetworkStateChangeTask::performTask): Deleted.
2291 * workers/WorkerMessagingProxy.h:
2292 * workers/WorkerRunLoop.cpp:
2293 (WebCore::WorkerRunLoop::postTask):
2294 (WebCore::WorkerRunLoop::postTaskAndTerminate):
2295 (WebCore::WorkerRunLoop::postTaskForMode):
2296 (WebCore::WorkerRunLoop::Task::create):
2297 (WebCore::WorkerRunLoop::Task::performTask):
2298 (WebCore::WorkerRunLoop::Task::Task):
2299 * workers/WorkerRunLoop.h:
2300 * workers/WorkerThread.cpp:
2301 (WebCore::WorkerThread::stop):
2302 (WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads):
2303 (WebCore::WorkerThreadShutdownFinishTask::create): Deleted.
2304 (WebCore::WorkerThreadShutdownFinishTask::performTask): Deleted.
2305 (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask): Deleted.
2306 (WebCore::WorkerThreadShutdownStartTask::create): Deleted.
2307 (WebCore::WorkerThreadShutdownStartTask::performTask): Deleted.
2308 (WebCore::WorkerThreadShutdownStartTask::isCleanupTask): Deleted.
2310 2014-04-27 Antti Koivisto <antti@apple.com>
2312 Coalesce responses on network process side
2313 https://bugs.webkit.org/show_bug.cgi?id=132229
2315 Reviewed by Andreas Kling.
2319 2014-04-27 David Kilzer <ddkilzer@apple.com>
2321 Roll out changes not part of the patch reviewed for Bug 132089
2322 <http://webkit.org/b/132089>
2324 * loader/SubframeLoader.cpp:
2325 (WebCore::SubframeLoader::loadOrRedirectSubframe):
2326 * page/DOMWindow.cpp:
2327 (WebCore::DOMWindow::setLocation):
2328 (WebCore::DOMWindow::createWindow):
2329 (WebCore::DOMWindow::open):
2331 2014-04-26 Darin Adler <darin@apple.com>
2333 Frame and page lifetime fixes in WebCore::createWindow
2334 https://bugs.webkit.org/show_bug.cgi?id=132089
2336 Reviewed by Sam Weinig.
2338 Speculative fix because I was unable to reproduce the crash that was
2339 reported with the test case attached to this bug.
2341 * loader/FrameLoader.cpp:
2342 (WebCore::createWindow): Changed code to remove the assumption that calls
2343 out will not destroy the page or frame. Use RefPtr for the frame, and
2344 added early exits if frame->page() becomes null at any point before we
2347 2014-04-26 Alexey Proskuryakov <ap@apple.com>
2349 Local files should not be allowed to read pasteboard data during drag
2350 https://bugs.webkit.org/show_bug.cgi?id=131767
2352 Reviewed by Sam Weinig.
2354 Test: fast/files/local-file-drag-security.html
2356 * page/DragController.cpp:
2357 (WebCore::DragController::dragExited):
2358 (WebCore::DragController::tryDHTMLDrag):
2359 Make an old Dashboard quirk really Dashboard only.
2361 2014-04-24 Darin Adler <darin@apple.com>
2363 REGRESSION (r164133): Selection doesn't paint when scrolling some pages
2364 https://bugs.webkit.org/show_bug.cgi?id=132172
2365 rdar://problem/16719473
2367 Reviewed by Brent Fulgham.
2369 Tests: fast/dynamic/remove-invisible-node-inside-selection.html
2370 fast/dynamic/remove-node-inside-selection.html
2372 * editing/FrameSelection.cpp:
2373 (WebCore::clearRenderViewSelection): Changed to take a Node& because having
2374 this take a Position& was unnecessary and strange, when really it just needs
2375 to take a document as an argument.
2376 (WebCore::DragCaretController::nodeWillBeRemoved): Updated for the above.
2377 (WebCore::FrameSelection::respondToNodeModification): Added code to set the
2378 m_pendingSelectionUpdate flag and call RenderView::setNeedsLayout so the
2379 selection will be recomputed after it's temporarily cleared when one of
2380 the selected nodes is removed.
2382 2014-04-25 Ryosuke Niwa <rniwa@webkit.org>
2384 REGRESSION (r167689): Hovering file name in a file input causes a crash
2385 https://bugs.webkit.org/show_bug.cgi?id=132214
2387 Reviewed by Andreas Kling.
2389 The bug was caused by callDefaultEventHandlersInTheBubblingOrder unconditionally
2390 accessing path.contextAt(0) even if the event path was empty.
2392 Fixed the bug by exiting early when the event path is empty.
2394 Test: fast/events/shadow-event-path-2.html
2396 * dom/EventDispatcher.cpp:
2397 (WebCore::callDefaultEventHandlersInTheBubblingOrder):
2399 2014-04-25 Tim Horton <timothy_horton@apple.com>
2401 REGRESSION (r167828): http/tests/media/hls/video-controls-live-stream.html fails
2403 * English.lproj/mediaControlsLocalizedStrings.js:
2404 Add 'Live Broadcast' to the localized strings list.
2406 2014-04-25 Brady Eidson <beidson@apple.com>
2408 Add a selection overlay.
2409 <rdar://problem/16727797> and https://bugs.webkit.org/show_bug.cgi?id=132200
2411 Reviewed by David Hyatt.
2413 No new tests (WK2 feature in development).
2415 * WebCore.xcodeproj/project.pbxproj:
2417 Add a SelectionRectGathterer class.
2418 It creates a Notifier (given a RenderView) then accepts Rects from the RenderView.
2419 When the Notifier is destroyed, the appropriate EditorClient is notified of the gathered rects.
2420 * editing/SelectionRectGatherer.cpp: Added.
2421 (WebCore::SelectionRectGatherer::SelectionRectGatherer):
2422 (WebCore::SelectionRectGatherer::addRect):
2423 (WebCore::SelectionRectGatherer::addRects):
2424 (WebCore::SelectionRectGatherer::Notifier::Notifier):
2425 (WebCore::SelectionRectGatherer::Notifier::~Notifier):
2426 (WebCore::SelectionRectGatherer::clearAndCreateNotifier):
2427 * editing/SelectionRectGatherer.h: Added.
2429 * page/EditorClient.h:
2430 (WebCore::EditorClient::selectionRectsDidChange):
2432 * rendering/RenderView.cpp:
2433 (WebCore::RenderView::RenderView):
2434 (WebCore::RenderView::setSelection): Clear the gatherer’s rects then create a Notifier.
2435 (WebCore::RenderView::setSubtreeSelection): Give all the selection rects to be painted to
2436 the SelectionRectGatherer.
2437 * rendering/RenderView.h:
2439 2014-04-08 Jer Noble <jer.noble@apple.com>
2441 Support "Live" streams in media controls.
2442 https://bugs.webkit.org/show_bug.cgi?id=131390
2444 Reviewed by Brent Fulgham.
2446 Test: http/tests/media/hls/video-controls-live-stream.html
2448 Support "Live" streams by adding an isLive property to our media controls.
2450 * Modules/mediacontrols/mediaControlsApple.css:
2451 (audio::-webkit-media-controls-status-display):
2452 (video:-webkit-full-screen::-webkit-media-controls-status-display):
2453 * Modules/mediacontrols/mediaControlsApple.js:
2454 (Controller): isLive defaults to false.
2455 (Controller.prototype.setIsLive): Set the isLive property and conditionally reconfigure the controls.
2456 (Controller.prototype.configureInlineControls): Don't add the timeline if we are live.
2457 (Controller.prototype.configureFullScreenControls): Ditto.
2458 (Controller.prototype.updateStatusDisplay): Added.
2459 (Controller.prototype.handleLoadStart): Call updateStatusDisplay().
2460 (Controller.prototype.handleError): Ditto.
2461 (Controller.prototype.handleAbort): Ditto.
2462 (Controller.prototype.handleSuspend): Ditto.
2463 (Controller.prototype.handleStalled): Ditto.
2464 (Controller.prototype.handleWaiting): Ditto.
2465 (Controller.prototype.updateDuration): Ditto.
2466 (Controller.prototype.updateReadyState): Ditto.
2468 2014-04-25 Dean Jackson <dino@apple.com>
2470 Allow a platform-specific size enumeration to be passed into popup-menu display
2471 https://bugs.webkit.org/show_bug.cgi?id=132195
2473 Reviewed by Brent Fulgham. With some in-person review comments from Sam Weinig.
2475 Platforms like OS X use a set of predefined sizes for built-in controls
2476 used for <select>: normal, small and mini. Expose that information to
2477 the PopupMenuClient via the PopupMenuStyle, allowing it to be passed
2478 into the platform code in WebKitSystemInterface.
2480 * platform/PopupMenuStyle.h: Add a menu size enum.
2481 (WebCore::PopupMenuStyle::PopupMenuStyle):
2482 (WebCore::PopupMenuStyle::menuSize):
2483 * platform/mac/WebCoreSystemInterface.h: Pass in NSControlSize as a parameter
2485 * platform/mac/WebCoreSystemInterface.mm: Ditto.
2486 * rendering/RenderMenuList.cpp:
2487 (RenderMenuList::menuStyle): Ask the RenderTheme to calculate the size
2488 of the menu button, so that it can be added to the PopupMenuStyle.
2489 * rendering/RenderTheme.h: New method to retrieve the menu size.
2490 (WebCore::RenderTheme::popupMenuSize): Convert an NSControlSize into a PopupMenuSize.
2491 * rendering/RenderThemeMac.h: Override the base function, and add a
2492 controlSizeForCell helper.
2493 * rendering/RenderThemeMac.mm:
2494 (WebCore::RenderThemeMac::controlSizeForCell): Used by this new
2495 code and the old setControlSizeForCell to calculate the NSControlSize
2496 that would be used for the button.
2497 (WebCore::RenderThemeMac::setControlSize): Call the new helper.
2498 (WebCore::RenderThemeMac::popupMenuSize): Return the value from the helper.
2500 2014-04-25 Javier Fernandez <jfernandez@igalia.com>
2502 REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
2503 https://bugs.webkit.org/show_bug.cgi?id=132194
2505 Reviewed by Martin Robinson.
2507 Properly resolving the grid-template shorthand for the corresponding longhand
2510 No new tests, grid-template-shorthand-get-set.html already covers this case.
2512 * css/StyleProperties.cpp:
2513 (WebCore::StyleProperties::getPropertyValue):
2514 * css/StylePropertyShorthand.cpp:
2515 (WebCore::shorthandForProperty):
2516 (WebCore::matchingShorthandsForLonghand):
2517 * css/StyleResolver.cpp:
2518 (WebCore::StyleResolver::applyProperty):
2520 2014-04-25 David Hyatt <hyatt@apple.com>
2522 Column rules not respecting scroll offsets.
2523 https://bugs.webkit.org/show_bug.cgi?id=109683
2525 Reviewed by Dean Jackson.
2527 Added fast/multicol/scrolling-column-rules.html
2529 * rendering/RenderBlock.cpp:
2530 (WebCore::RenderBlock::paintColumnRules):
2531 Make paintColumnRules virtual so that it works with both column implementations.
2533 (WebCore::RenderBlock::paintObject):
2534 Changed to call paintColumnRules with the adjusted scroll offset and to do it after
2535 bailing on the root background only check.
2537 * rendering/RenderBlock.h:
2538 paintColumnRules is now virtual.
2540 * rendering/RenderBlockFlow.cpp:
2541 (WebCore::RenderBlockFlow::paintColumnRules):
2542 (WebCore::RenderBlockFlow::paintBoxDecorations): Deleted.
2543 * rendering/RenderBlockFlow.h:
2544 Got rid of paintBoxDecorations override since it failed when hasBoxDecorations was false
2545 anyway. Override paintColumnRules instead to paint at the right time.
2547 2014-04-23 Jon Honeycutt <jhoneycutt@apple.com>
2549 Crash applying editing commands from iframe onload event
2551 <https://bugs.webkit.org/show_bug.cgi?id=132103>
2552 <rdar://problem/15696351>
2554 This patch merges the Chromium bug workaround from
2555 <http://src.chromium.org/viewvc/blink?revision=162080&view=revision>,
2556 which prevents reentrancy in CompositeEditCommand::apply().
2558 Reviewed by Darin Adler.
2560 Test: editing/apply-style-iframe-crash.html
2562 * editing/CompositeEditCommand.cpp:
2563 (WebCore::HTMLNames::ReentrancyGuard::isRecursiveCall):
2564 (WebCore::HTMLNames::ReentrancyGuard::Scope::Scope):
2565 (WebCore::HTMLNames::ReentrancyGuard::Scope::~Scope):
2566 (WebCore::CompositeEditCommand::apply):
2567 If this is a recursive call, return early.
2569 2014-04-25 David Hyatt <hyatt@apple.com>
2571 [New Multicolumn] fast/multicol/hit-test-* layout tests all fail
2572 https://bugs.webkit.org/show_bug.cgi?id=132081
2574 Reviewed by Dean Jackson.
2576 Added a bunch of tests in fast/multicol/newmulticol/compare-with-old-impl/hit-test-*.html
2578 * rendering/RenderBlock.h:
2579 Make offsetForContents public, since I need to call it from RenderMultiColumnSet.
2581 * rendering/RenderMultiColumnFlowThread.cpp:
2582 (WebCore::RenderMultiColumnFlowThread::populate):
2583 Stop an ASSERT in the new columns code on the hit tests by making sure layout state is
2584 disabled when moving children around.
2586 * rendering/RenderMultiColumnSet.cpp:
2587 (WebCore::RenderMultiColumnSet::positionForPoint):
2588 Refactor this function to call a helper function instead, translateRegionPointToFlowThread.
2590 (WebCore::RenderMultiColumnSet::translateRegionPointToFlowThread):
2591 This function is logical (unlike the mistaken physical function I first implemented in
2594 (WebCore::RenderMultiColumnSet::updateHitTestResult):
2595 * rendering/RenderMultiColumnSet.h:
2596 Overridden to fill in the correct local coordinate when the HTML document is inside a paginated
2597 RenderView. Note that column spans don't actually work, but once we move over to a
2598 non-column based pagination API, that will become irrelevant.
2600 2014-04-25 Andreas Kling <akling@apple.com>
2602 Mark some things with WTF_MAKE_FAST_ALLOCATED.
2603 <https://webkit.org/b/132198>
2605 Use FastMalloc for more things.
2607 Reviewed by Anders Carlsson.
2609 * bindings/js/ScriptController.h:
2610 * dom/DocumentOrderedMap.h:
2611 * inspector/InspectorCSSAgent.h:
2612 * inspector/InspectorDOMAgent.h:
2613 * inspector/InspectorDOMDebuggerAgent.h:
2614 * inspector/InspectorDOMStorageAgent.h:
2615 * inspector/InspectorDatabaseAgent.h:
2616 * inspector/InspectorLayerTreeAgent.h:
2617 * inspector/InspectorPageAgent.h:
2618 * inspector/InspectorResourceAgent.h:
2619 * inspector/InspectorTimelineAgent.h:
2620 * inspector/InspectorWorkerAgent.h:
2621 * inspector/PageRuntimeAgent.h:
2622 * loader/HistoryController.h:
2623 * page/DeviceClient.h:
2624 * page/DeviceController.h:
2625 * page/EventHandler.h:
2627 * page/scrolling/ScrollingStateNode.h:
2628 * platform/graphics/FontGenericFamilies.h:
2629 * platform/graphics/FontPlatformData.h:
2631 2014-04-25 Radu Stavila <stavila@adobe.com>
2633 [CSS Regions] Rename objectShouldPaintInFlowRegion to something more clear
2634 https://bugs.webkit.org/show_bug.cgi?id=132050
2636 Reviewed by Andreas Kling.
2638 The objectShouldPaintInFlowRegion is no longer used only by the painting process
2639 but also for hit-testing, so it was renamed to something more generic (objectShouldFragmentInFlowRegion).
2641 No new tests required, it's just a method rename.
2643 * rendering/RenderBlock.cpp:
2644 (WebCore::RenderBlock::paint):
2645 (WebCore::RenderBlock::selectionGaps):
2646 (WebCore::RenderBlock::nodeAtPoint):
2647 * rendering/RenderBox.cpp:
2648 (WebCore::RenderBox::positionForPoint):
2649 * rendering/RenderFlowThread.cpp:
2650 (WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion):
2651 (WebCore::RenderFlowThread::objectShouldPaintInFlowRegion): Deleted.
2652 * rendering/RenderFlowThread.h:
2653 * rendering/RenderLayer.cpp:
2654 (WebCore::RenderLayer::paintLayer):
2655 (WebCore::RenderLayer::hitTestLayer):
2656 * rendering/RenderRegion.cpp:
2657 (WebCore::RenderRegion::ensureOverflowForBox):
2658 * rendering/RenderReplaced.cpp:
2659 (WebCore::RenderReplaced::shouldPaint):
2661 2014-04-25 Enrica Casucci <enrica@apple.com>
2663 iOS build fix after http://trac.webkit.org/changeset/167803
2667 (WebCore::Frame::checkOverflowScroll):
2668 * rendering/RenderBlock.cpp:
2669 (WebCore::positionForPointRespectingEditingBoundaries):
2671 2014-04-24 David Hyatt <hyatt@apple.com>
2673 [New Multicolumn] Add support for offsetLeft and offsetTop.
2674 https://bugs.webkit.org/show_bug.cgi?id=132080
2676 Reviewed by Andrei Bucur.
2678 Added fast/multicol/client-spanners-complex.html and offset-top-left.html
2680 * rendering/RenderBoxModelObject.cpp:
2681 (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
2682 Patch the offsetLeft/Top loop to handle calling into RenderMultiColumnFlowThread
2683 in order to adjust the coordinates for the new multicolumn layout.
2685 * rendering/RenderMultiColumnFlowThread.cpp:
2686 (WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
2687 Modified to use a helper that can be shared by offsetLeft/Top code. This code
2688 ran for client rects, and I'm moving/refactoring it for more sharing.
2690 (WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
2691 (WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion):
2692 * rendering/RenderMultiColumnFlowThread.h:
2693 New functions that beef up what was in mapFromFlowToRegion and fix some bugs
2694 with the translation code.
2696 * rendering/RenderMultiColumnSet.cpp:
2697 (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
2698 Patched to factor in the flow thread portion rect of the specific multicolumn set.
2700 * rendering/RenderObject.h:
2701 (WebCore::RenderObject::isRenderMultiColumnFlowThread):
2702 Added for toRenderMultiColumnFlowThread capability.
2704 2014-04-25 Brent Fulgham <bfulgham@apple.com>
2706 ScrollingCoordinator is unaware of topContentInset
2707 https://bugs.webkit.org/show_bug.cgi?id=132158
2708 <rdar://problem/16706152>
2710 Reviewed by Darin Adler.
2712 Test: platform/mac/fast/scrolling/scroll-select-bottom-test.html
2714 The calculation of non-fast-scrollable regions does not currently take
2715 the topContentOffset into account. Consequently, the logic that decides
2716 whether to stay on the scrolling thread, or drop down to an individual
2717 page element, can make the wrong choice. This is especially true for
2718 small scrollable regions (such as <select> elements), where the
2719 topContentInset may be quite close to the size of the scrollable
2722 * page/scrolling/ScrollingCoordinator.cpp:
2723 (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Also
2724 include the topContentInset value in our calculation.
2726 2014-04-25 Javier Fernandez <jfernandez@igalia.com>
2728 REGRESSION(r167799): Breaks debug build
2729 https://bugs.webkit.org/show_bug.cgi?id=132194
2731 Reviewed by Andrei Bucur.
2733 Fix the debug bots after r167799
2735 No new tests, no new functionality.
2737 * css/CSSParser.cpp:
2738 (WebCore::CSSParser::parseGridTemplateShorthand):
2740 2014-04-25 Miyoung Shin <myid.shin@samsung.com>
2742 Web process is crashed during dispatching touchEvent created by JS.
2743 https://bugs.webkit.org/show_bug.cgi?id=113225
2745 Reviewed by Benjamin Poulain.
2747 TouchEvent created by JS should have the necessary attributes
2748 of touches, targetTouches and changedTouches.
2749 It should be verified weather there are touchLists before dispatching touch event.
2751 Test: fast/events/touch/create-touch-event-without-touchList.html
2753 * dom/EventDispatcher.cpp:
2754 (WebCore::EventDispatcher::dispatchEvent):
2755 (WebCore::EventPath::updateTouchLists):
2756 (WebCore::addRelatedNodeResolversForTouchList): Deleted.
2758 2014-04-25 Philippe Normand <pnormand@igalia.com>
2760 [GTK] File webkitRelativePath attribute was removed in r163483
2761 https://bugs.webkit.org/show_bug.cgi?id=132193
2763 Reviewed by Carlos Garcia Campos.
2765 Add the removed getter as deprecated API to keep backwards compatibility.
2767 * bindings/gobject/WebKitDOMDeprecated.cpp:
2768 (webkit_dom_file_get_webkit_relative_path):
2769 * bindings/gobject/WebKitDOMDeprecated.h:
2770 * bindings/gobject/WebKitDOMDeprecated.symbols:
2772 2014-04-25 Radu Stavila <stavila@adobe.com>
2774 [CSS Regions] Overflow selection doesn't work properly
2775 https://bugs.webkit.org/show_bug.cgi?id=130715
2777 Reviewed by David Hyatt.
2779 When hit-testing, painting block selection gaps and searching for the node at a specific point inside a flow thread,
2780 the region range of the box being checked must be validated in order to not return false positives. Otherwise, hit-testing
2781 at the top of region B could hit elements that overflow the bottom of region A.
2783 Tests: fast/regions/selection-in-overflow-hit-testing.html
2784 fast/regions/selection-in-overflow.html
2785 fast/regions/selection-in-text-after-overflow-hit-testing.html
2787 * accessibility/AccessibilityRenderObject.cpp:
2788 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
2789 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
2791 (WebCore::Document::caretRangeFromPoint):
2792 * editing/FrameSelection.cpp:
2793 (WebCore::FrameSelection::contains):
2794 * editing/VisibleUnits.cpp:
2795 (WebCore::previousLinePosition):
2796 (WebCore::nextLinePosition):
2797 * page/EventHandler.cpp:
2798 (WebCore::EventHandler::selectClosestWordFromHitTestResult):
2799 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
2800 (WebCore::EventHandler::handleMousePressEventTripleClick):
2801 (WebCore::EventHandler::handleMousePressEventSingleClick):
2802 (WebCore::selectionExtentRespectingEditingBoundary):
2803 (WebCore::EventHandler::updateSelectionForMouseDrag):
2804 (WebCore::EventHandler::handleMouseReleaseEvent):
2806 (WebCore::Frame::visiblePositionForPoint):
2807 * rendering/RenderBlock.cpp:
2808 (WebCore::RenderBlock::selectionGaps):
2809 (WebCore::RenderBlock::nodeAtPoint):
2810 (WebCore::positionForPointRespectingEditingBoundaries):
2811 (WebCore::RenderBlock::positionForPointWithInlineChildren):
2812 (WebCore::isChildHitTestCandidate):
2813 (WebCore::RenderBlock::positionForPoint):
2814 * rendering/RenderBlock.h:
2815 * rendering/RenderBlockFlow.cpp:
2816 (WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
2817 (WebCore::RenderBlockFlow::positionForPoint):
2818 * rendering/RenderBlockFlow.h:
2819 * rendering/RenderBox.cpp:
2820 (WebCore::RenderBox::positionForPoint):
2821 * rendering/RenderBox.h:
2822 * rendering/RenderFileUploadControl.cpp:
2823 (WebCore::RenderFileUploadControl::positionForPoint):
2824 * rendering/RenderFileUploadControl.h:
2825 * rendering/RenderInline.cpp:
2826 (WebCore::RenderInline::positionForPoint):
2827 * rendering/RenderInline.h:
2828 * rendering/RenderLineBreak.cpp:
2829 (WebCore::RenderLineBreak::positionForPoint):
2830 * rendering/RenderLineBreak.h:
2831 * rendering/RenderMultiColumnSet.cpp:
2832 (WebCore::RenderMultiColumnSet::positionForPoint):
2833 * rendering/RenderMultiColumnSet.h:
2834 * rendering/RenderObject.cpp:
2835 (WebCore::RenderObject::positionForPoint):
2836 * rendering/RenderObject.h:
2837 * rendering/RenderRegion.cpp:
2838 (WebCore::RenderRegion::positionForPoint):
2839 * rendering/RenderRegion.h:
2840 * rendering/RenderReplaced.cpp:
2841 (WebCore::RenderReplaced::positionForPoint):
2842 * rendering/RenderReplaced.h:
2843 * rendering/RenderText.cpp:
2844 (WebCore::RenderText::positionForPoint):
2845 * rendering/RenderText.h:
2846 * rendering/svg/RenderSVGInlineText.cpp:
2847 (WebCore::RenderSVGInlineText::positionForPoint):
2848 * rendering/svg/RenderSVGInlineText.h:
2849 * rendering/svg/RenderSVGText.cpp:
2850 (WebCore::RenderSVGText::positionForPoint):
2851 * rendering/svg/RenderSVGText.h:
2853 2014-04-25 Philippe Normand <pnormand@igalia.com>
2855 [GTK] Iframe seamless support was removed in r163427
2856 https://bugs.webkit.org/show_bug.cgi?id=132192
2858 Reviewed by Carlos Garcia Campos.
2860 Add the removed get and set methods as deprecated API to keep
2861 backwards compatibility.
2863 * bindings/gobject/WebKitDOMDeprecated.cpp:
2864 (webkit_dom_processing_instruction_set_data):
2865 (webkit_dom_html_iframe_element_get_seamless):
2866 (webkit_dom_html_iframe_element_set_seamless):
2867 * bindings/gobject/WebKitDOMDeprecated.h:
2868 * bindings/gobject/WebKitDOMDeprecated.symbols:
2870 2014-04-25 Philippe Normand <pnormand@igalia.com>
2872 [GTK] HTMLInputElement webkitdirectory property was removed in r163483
2873 https://bugs.webkit.org/show_bug.cgi?id=132191
2875 Reviewed by Carlos Garcia Campos.
2877 Add the removed get and set methods as deprecated API to keep
2878 backwards compatibility.
2880 * bindings/gobject/WebKitDOMDeprecated.cpp:
2881 (webkit_dom_html_input_element_get_webkitdirectory):
2882 (webkit_dom_html_input_element_set_webkitdirectory):
2883 * bindings/gobject/WebKitDOMDeprecated.h:
2884 * bindings/gobject/WebKitDOMDeprecated.symbols:
2886 2014-04-25 Javier Fernandez <jfernandez@igalia.com>
2888 [CSS Grid Layout] Implementation of the grid-template shorthand.
2889 https://bugs.webkit.org/show_bug.cgi?id=128980
2891 Reviewed by Darin Adler.
2893 This shorthand sets the values for the grid-template-columns,
2894 grid-template-rows and grid-template-areas, so the implementation
2895 tries to reuse as much available parsing functions as possible.
2897 The "parsingGridTrackList" was refactored to return a CSSValue and
2898 let the "parseValue" function to assign the property value. The
2899 "forwardSlash" operator is now valid when the track-list clause is
2900 part of a shorthand. The "parseValue" function checkouts that only
2901 additional clauses are allowed when processing shorthands; the
2902 grid-columns-rows-get-set.html tests was modified to verify this.
2904 The "parseGridTemplateAreas" was refactored too, in order to
2905 process single areas's rows. This is very useful for the
2906 gris-template secondary syntax, which mixes areas and rows values.
2908 Finally, the "parseGirdLineNames" function was modified as well by
2909 defining an new argument to concatenate head/tail custom-ident
2910 elements and ensure the identList is at the heading index, since
2911 it's now possible the parseList was rewound.
2913 The implementation of the grid-template shorthand tries first to
2914 match the <grid-template-columns> / <grid-template-rows> syntax,
2915 failing back to the secondary syntax if needed. This approach
2916 requires to rewind the parseList but it produces a clearer code.
2918 Test: fast/css-grid-layout/grid-template-shorthand-get-set.html
2920 * css/CSSComputedStyleDeclaration.cpp:
2921 (WebCore::ComputedStyleExtractor::propertyValue):
2922 * css/CSSParser.cpp:
2923 (WebCore::CSSParser::parseValue):
2924 (WebCore::CSSParser::parseGridTemplateRowsAndAreas):
2925 (WebCore::CSSParser::parseGridTemplateShorthand):
2926 (WebCore::CSSParser::parseGridLineNames):
2927 (WebCore::CSSParser::parseGridTrackList):
2928 (WebCore::CSSParser::parseGridTemplateAreasRow):
2929 (WebCore::CSSParser::parseGridTemplateAreas):
2931 * css/CSSParserValues.h:
2932 (WebCore::CSSParserValueList::setCurrentIndex):
2933 * css/CSSPropertyNames.in:
2934 * css/StylePropertyShorthand.cpp:
2935 (WebCore::webkitGridTemplateShorthand):
2936 * css/StylePropertyShorthand.h:
2938 2014-04-25 Andreas Kling <akling@apple.com>
2940 Remove two unused SVGDocument functions.
2941 <https://webkit.org/b/132178>
2943 Reviewed by Antti Koivisto.
2945 * svg/SVGDocument.cpp:
2946 (WebCore::SVGDocument::dispatchZoomEvent): Deleted.
2947 (WebCore::SVGDocument::dispatchScrollEvent): Deleted.
2948 * svg/SVGDocument.h:
2950 2014-04-25 Ion Rosca <rosca@adobe.com>
2952 Incomplete body painting when using blend modes
2953 https://bugs.webkit.org/show_bug.cgi?id=131889
2955 The incomplete painting was caused by the transparency layer created for
2956 the root renderer. We can safely skip creating this transparency layer at
2957 the root level, as there is nothing else being painted behind this layer that
2958 could be used erroneously as a backdrop.
2960 Reviewed by Simon Fraser.
2962 Test: css3/compositing/blend-mode-with-body.html
2964 * rendering/RenderLayer.h:
2965 Changing RenderLayer::paintsWithTransparency so that it will not
2966 return true when the root renderer needs to isolate blending.
2968 2014-04-25 Darin Adler <darin@apple.com>
2970 ASSERTION FAILED: "!m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction" in svg/custom/use-instanceRoot-event-listeners.xhtml
2971 https://bugs.webkit.org/show_bug.cgi?id=132148
2973 Reviewed by Andreas Kling.
2975 Changed how JSCustomMarkFunction generation works. Instead of leaving out
2976 the generated visitChildren function, just generate a call to visitAdditionalChildren.
2977 This eliminates the need to repeat boilerplate.
2979 The fix for the above bug was to correct mistaken logic where JSSVGElementInstance
2980 had a visitChildren that did not properly mark event listeners because it explicitly
2981 did not call through to the base class visitChildren. The new arrangement makes that
2984 * bindings/js/JSAttrCustom.cpp:
2985 (WebCore::JSAttr::visitAdditionalChildren): Use this instead of visitChildren.
2986 * bindings/js/JSAudioTrackCustom.cpp:
2987 (WebCore::JSAudioTrack::visitAdditionalChildren): Ditto.
2988 * bindings/js/JSAudioTrackListCustom.cpp:
2989 (WebCore::JSAudioTrackList::visitAdditionalChildren): Ditto.
2990 * bindings/js/JSCSSRuleCustom.cpp:
2991 (WebCore::JSCSSRule::visitAdditionalChildren): Ditto.
2992 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2993 (WebCore::JSCSSStyleDeclaration::visitAdditionalChildren): Ditto.
2994 * bindings/js/JSCanvasRenderingContextCustom.cpp:
2995 (WebCore::JSCanvasRenderingContext::visitAdditionalChildren): Ditto.
2996 * bindings/js/JSCryptoKeyPairCustom.cpp:
2997 (WebCore::JSCryptoKeyPair::visitAdditionalChildren): Ditto.
2998 * bindings/js/JSDOMWindowCustom.cpp:
2999 (WebCore::JSDOMWindow::visitAdditionalChildren): Ditto.
3000 * bindings/js/JSMessageChannelCustom.cpp:
3001 (WebCore::JSMessageChannel::visitAdditionalChildren): Ditto.
3002 * bindings/js/JSMessagePortCustom.cpp:
3003 (WebCore::JSMessagePort::visitAdditionalChildren): Ditto.
3004 * bindings/js/JSNodeCustom.cpp:
3005 (WebCore::JSNode::visitAdditionalChildren): Ditto.
3006 * bindings/js/JSNodeFilterCustom.cpp:
3007 (WebCore::JSNodeFilter::visitAdditionalChildren): Ditto.
3008 * bindings/js/JSNodeIteratorCustom.cpp:
3009 (WebCore::JSNodeIterator::visitAdditionalChildren): Ditto.
3010 * bindings/js/JSSVGElementInstanceCustom.cpp:
3011 (WebCore::JSSVGElementInstance::visitAdditionalChildren): Ditto.
3012 * bindings/js/JSSharedWorkerCustom.cpp:
3013 (WebCore::JSSharedWorker::visitAdditionalChildren): Ditto.
3014 * bindings/js/JSStyleSheetCustom.cpp:
3015 (WebCore::JSStyleSheet::visitAdditionalChildren): Ditto.
3016 * bindings/js/JSTextTrackCueCustom.cpp:
3017 (WebCore::JSTextTrackCue::visitAdditionalChildren): Ditto.
3018 * bindings/js/JSTextTrackCustom.cpp:
3019 (WebCore::JSTextTrack::visitAdditionalChildren): Ditto.
3020 * bindings/js/JSTextTrackListCustom.cpp:
3021 (WebCore::JSTextTrackList::visitAdditionalChildren): Ditto.
3022 * bindings/js/JSTreeWalkerCustom.cpp:
3023 (WebCore::JSTreeWalker::visitAdditionalChildren): Ditto.
3024 * bindings/js/JSVideoTrackCustom.cpp:
3025 (WebCore::JSVideoTrack::visitAdditionalChildren): Ditto.
3026 * bindings/js/JSVideoTrackListCustom.cpp:
3027 (WebCore::JSVideoTrackList::visitAdditionalChildren): Ditto.
3028 * bindings/js/JSWebGLRenderingContextCustom.cpp:
3029 (WebCore::JSWebGLRenderingContext::visitAdditionalChildren): Ditto.
3030 * bindings/js/JSWorkerGlobalScopeCustom.cpp:
3031 (WebCore::JSWorkerGlobalScope::visitAdditionalChildren): Ditto.
3032 * bindings/js/JSXMLHttpRequestCustom.cpp:
3033 (WebCore::JSXMLHttpRequest::visitAdditionalChildren): Ditto.
3034 * bindings/js/JSXPathResultCustom.cpp:
3035 (WebCore::JSXPathResult::visitAdditionalChildren): Ditto.
3037 * bindings/js/JSDOMGlobalObject.cpp:
3038 (WebCore::JSDOMGlobalObject::visitChildren): Rewrote to use modern for loops.
3040 * bindings/scripts/CodeGeneratorJS.pm:
3041 (GenerateHeader): Generate declaration of visitAdditionalChildren.
3042 (GenerateImplementation): Generate call to visitAdditionalChildren.
3044 2014-04-24 Andreas Kling <akling@apple.com>
3046 [iOS WebKit2] Enable optimization to mmap downloaded resources once they become file-backed.
3047 <https://webkit.org/b/132171>
3048 <rdar://problem/16720733>
3050 Add a missing export for the USE(CFNETWORK) + WebKit2 combo.
3052 Reviewed by Antti Koivisto.
3056 2014-04-24 Darin Adler <darin@apple.com>
3058 FrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
3059 https://bugs.webkit.org/show_bug.cgi?id=132163
3060 rdar://problem/16720640
3062 Reviewed by Brady Eidson.
3064 Couldn't find a way to test this yet. Would be nice to have a test.
3066 * loader/FrameLoader.cpp:
3067 (WebCore::FrameLoader::checkCompleted): Move protector until after we check
3068 if the frame is already complete. That can happen in practice when this is
3069 called from within the frame's destructor. All the code that runs before the
3070 protector simply checks state and does not require protection.
3072 2014-04-24 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3074 Mark Supplement instead of RefCountedSupplement in NavigatorContentUtils
3075 https://bugs.webkit.org/show_bug.cgi?id=132151
3077 Reviewed by Darin Adler.
3079 Though Original goal was to make it sharable across navigator instances, the NavigatorContentUtils
3080 has used RefCountedSupplement<Page> instead of RefCountedSupplement<Navigator>. This patch makes it
3081 use Supplement<Page> because there is no scenario which needs to be shared across navigator instances.
3083 Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=171403.
3085 No new tests, no behavior changes.
3087 * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
3088 (WebCore::NavigatorContentUtils::from):
3089 (WebCore::NavigatorContentUtils::create):
3090 (WebCore::provideNavigatorContentUtilsTo):
3091 * Modules/navigatorcontentutils/NavigatorContentUtils.h:
3093 2014-04-24 Commit Queue <commit-queue@webkit.org>
3095 Unreviewed, rolling out r167700.
3096 https://bugs.webkit.org/show_bug.cgi?id=132142
3098 Incorrectly reverted the change in r167547 for
3099 webkit.org/b/131898 (Requested by rniwa on #webkit).
3103 "Cursor doesn't change back to pointer when leaving the Safari
3105 https://bugs.webkit.org/show_bug.cgi?id=132038
3106 http://trac.webkit.org/changeset/167700
3108 2014-04-24 Brady Eidson <beidson@apple.com>
3110 Rename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
3111 https://bugs.webkit.org/show_bug.cgi?id=132155
3113 Reviewed by Tim Horton.
3115 No new tests (No change in behavior).
3117 * Configurations/FeatureDefines.xcconfig:
3118 * DerivedSources.make:
3120 * css/CSSDefaultStyleSheets.cpp:
3121 (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
3122 * css/CSSPrimitiveValueMappings.h:
3123 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3124 * css/CSSValueKeywords.in:
3126 * html/HTMLImageElement.cpp:
3127 (WebCore::HTMLImageElement::HTMLImageElement):
3128 (WebCore::HTMLImageElement::parseAttribute):
3129 (WebCore::HTMLImageElement::didAttachRenderers):
3130 * html/HTMLImageElement.h:
3131 * html/shadow/ImageControlsRootElement.cpp:
3132 * html/shadow/ImageControlsRootElement.h:
3133 * html/shadow/mac/ImageControlsButtonElementMac.cpp:
3134 * html/shadow/mac/ImageControlsButtonElementMac.h:
3135 * html/shadow/mac/ImageControlsRootElementMac.cpp:
3136 * html/shadow/mac/ImageControlsRootElementMac.h:
3137 * page/ContextMenuContext.cpp:
3138 (WebCore::ContextMenuContext::ContextMenuContext):
3139 * page/ContextMenuContext.h:
3140 * page/ContextMenuController.cpp:
3141 (WebCore::ContextMenuController::maybeCreateContextMenu):
3142 (WebCore::ContextMenuController::populate):
3143 * page/ContextMenuController.h:
3145 * platform/ThemeTypes.h:
3146 * rendering/RenderImage.cpp:
3147 (WebCore::RenderImage::canHaveChildren):
3148 * rendering/RenderTheme.cpp:
3149 (WebCore::RenderTheme::adjustStyle):
3150 (WebCore::RenderTheme::paint):
3151 (WebCore::RenderTheme::paintBorderOnly):
3152 (WebCore::RenderTheme::paintDecorations):
3153 * rendering/RenderTheme.h:
3154 * rendering/RenderThemeMac.h:
3155 * rendering/RenderThemeMac.mm:
3156 (WebCore::RenderThemeMac::servicesRolloverButtonCell):
3157 (WebCore::RenderThemeMac::paintImageControlsButton):
3158 (WebCore::RenderThemeMac::imageControlsButtonSize):
3160 2014-04-24 Timothy Hatcher <timothy@apple.com>
3162 Web Inspector: Restore PageDebuggerAgent::enable / disable
3163 https://bugs.webkit.org/show_bug.cgi?id=132156
3165 Restore functions that were eroniously removed in r167530.
3167 Reviewed by Joseph Pecoraro.
3169 * inspector/PageDebuggerAgent.cpp:
3170 (WebCore::PageDebuggerAgent::enable): Added.
3171 (WebCore::PageDebuggerAgent::disable): Added.
3172 * inspector/PageDebuggerAgent.h:
3174 2014-04-24 Alexey Proskuryakov <ap@apple.com>
3176 Dropzone effects don't work in non-file documents
3177 https://bugs.webkit.org/show_bug.cgi?id=131770
3179 Reviewed by Darin Adler.
3181 File documents have two quirks that were making dropzone work in these before:
3182 1. An ancient hack for Dashboard allows pasteboard access from JS.
3183 2. On Mac, sandbox doesn't prevent File object creation, as we already have the access.
3185 * dom/DataTransfer.cpp:
3186 (WebCore::DataTransfer::hasFileOfType):
3187 (WebCore::DataTransfer::hasStringOfType):
3188 * dom/DataTransfer.h:
3189 Moved these functions from EventHandler to DataTransfer. We can't create a DataTransfer
3190 with Files while dragging, security doesn't permit us to. But we can get the file name.
3193 (WebCore::createBlobDataForFile):
3194 (WebCore::createBlobDataForFileWithName):
3195 (WebCore::File::contentTypeFromFilePath):
3196 (WebCore::getContentTypeFromFileName): Deleted.
3198 Exposed a function to get file type from path without creating a File first.
3199 This is much cheaper than creating a File, and works even when sandbox disallows
3200 read access to content, such as when dragging over a target.
3202 * page/EventHandler.cpp:
3203 (WebCore::hasDropZoneType):
3204 (WebCore::hasFileOfType): Deleted.
3205 (WebCore::hasStringOfType): Deleted.
3207 2014-04-24 Commit Queue <commit-queue@webkit.org>
3209 Unreviewed, rolling out r167441.
3210 https://bugs.webkit.org/show_bug.cgi?id=132152
3212 Caused full screen regressions on vimeo, youtube, and others.
3213 (Requested by jernoble on #webkit).
3217 "Fullscreen media controls are unusable in pagination mode"
3218 https://bugs.webkit.org/show_bug.cgi?id=131705
3219 http://trac.webkit.org/changeset/167441
3221 2014-04-24 Adenilson Cavalcanti <cavalcantii@gmail.com>
3223 Unused class forward declarations in Page
3224 https://bugs.webkit.org/show_bug.cgi?id=132141
3226 Reviewed by Benjamin Poulain.
3228 No new tests, no change on behavior.
3232 2014-04-24 Eric Carlson <eric.carlson@apple.com>
3234 [Mac] don't ask for AVAssetTrack properties before they are available
3235 https://bugs.webkit.org/show_bug.cgi?id=131902
3236 <rdar://problem/16505076>
3238 Reviewed by Brent Fulgham.
3240 No new tests, the behavior this changes can not be tested with a layout test.
3242 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3243 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3244 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
3246 (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that
3247 metadata has been loaded until the track properties we need have been loaded too.
3248 (WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead
3249 of recalculating it every time.
3250 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached
3252 (WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.
3254 2014-04-24 Myles C. Maxfield <mmaxfield@apple.com>
3256 Unify platformWidthForGlyph across OS X and iOS
3257 https://bugs.webkit.org/show_bug.cgi?id=132036
3259 Reviewed by Darin Adler.
3261 This patch creates on shared SimpleFontData::platformWidthForGlyph() function for both OS X and iOS.
3263 No new tests are necessary because there should be no behavior changes.
3265 * platform/graphics/SimpleFontData.h: Signatures for two helper functions
3266 * platform/graphics/ios/SimpleFontDataIOS.mm: Replace iOS implementation of platformWidthForGlyph() with
3267 implementations of only the two helper functions
3268 (WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
3269 (WebCore::SimpleFontData::advanceForColorBitmapFont): iOS doesn't have color bitmap fonts
3270 (WebCore::SimpleFontData::platformWidthForGlyph): Deleted.
3271 * platform/graphics/mac/SimpleFontDataMac.mm:
3272 (WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
3273 (WebCore::SimpleFontData::advanceForColorBitmapFont): Use [NSFont advancementForGlyph] to compute the advance
3274 (WebCore::hasCustomTracking): Removed #if
3275 (WebCore::isEmoji): Only relevant on iOS
3276 (WebCore::SimpleFontData::platformWidthForGlyph): Shared implementation. Calls helper functions.
3278 2014-04-24 Zalan Bujtas <zalan@apple.com>
3280 Subpixel rendering: Clipping on text areas when shifted by one device pixel.
3281 https://bugs.webkit.org/show_bug.cgi?id=132008
3283 Reviewed by Darin Adler.
3285 Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
3286 other theme controls are still on integral size/positions.
3288 Test: fast/forms/hidpi-textarea-on-subpixel-position.html
3290 * rendering/RenderBox.cpp:
3291 (WebCore::RenderBox::paintBoxDecorations):
3292 * rendering/RenderTheme.cpp:
3293 (WebCore::RenderTheme::paint):
3294 (WebCore::RenderTheme::paintBorderOnly):
3295 (WebCore::RenderTheme::paintDecorations):
3296 * rendering/RenderTheme.h:
3297 (WebCore::RenderTheme::paintTextField):
3298 (WebCore::RenderTheme::paintTextFieldDecorations):
3299 (WebCore::RenderTheme::paintTextArea):
3300 (WebCore::RenderTheme::paintTextAreaDecorations):
3301 * rendering/RenderThemeIOS.h:
3302 * rendering/RenderThemeIOS.mm:
3303 (WebCore::RenderThemeIOS::paintTextFieldDecorations):
3304 (WebCore::RenderThemeIOS::paintTextAreaDecorations):
3305 * rendering/RenderThemeMac.h:
3306 * rendering/RenderThemeMac.mm:
3307 (WebCore::RenderThemeMac::paintTextField):
3308 (WebCore::RenderThemeMac::paintTextArea):
3310 2014-04-24 Myles C. Maxfield <mmaxfield@apple.com>
3312 FontCache::fontCache() never returns nullptr so it can be made to return a reference instead
3313 https://bugs.webkit.org/show_bug.cgi?id=132110
3315 Reviewed by Tim Horton.
3317 Updates callers to use '.' instead of '->'.
3319 No new tests are necessary because there should be no behavior change.
3321 * css/CSSFontFaceSource.cpp:
3322 (WebCore::CSSFontFaceSource::getFontData):
3323 * css/CSSFontSelector.cpp:
3324 (WebCore::CSSFontSelector::CSSFontSelector):
3325 (WebCore::CSSFontSelector::~CSSFontSelector):
3326 (WebCore::CSSFontSelector::addFontFaceRule):
3327 (WebCore::fontDataForGenericFamily):
3328 (WebCore::CSSFontSelector::getFallbackFontData):
3329 * platform/MemoryPressureHandler.cpp:
3330 (WebCore::MemoryPressureHandler::releaseMemory):
3331 * platform/graphics/FontCache.cpp:
3332 (WebCore::fontCache): Return a reference
3333 * platform/graphics/FontCache.h:
3334 (WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
3335 (WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
3336 * platform/graphics/FontGlyphs.cpp:
3337 (WebCore::FontGlyphs::FontGlyphs):
3338 (WebCore::FontGlyphs::releaseFontData):
3339 (WebCore::FontGlyphs::realizeFontDataAt):
3340 (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
3341 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3342 (WebCore::FontPlatformData::verticalData):
3343 * platform/graphics/ios/SimpleFontDataIOS.mm:
3344 (WebCore::SimpleFontData::platformCreateScaledFontData):
3345 * platform/graphics/mac/ComplexTextControllerCoreText.mm:
3346 (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
3347 * platform/graphics/mac/FontCacheMac.mm:
3348 (WebCore::invalidateFontCache):
3349 (WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
3350 * platform/graphics/mac/SimpleFontDataMac.mm:
3351 (WebCore::SimpleFontData::platformDestroy):
3352 (WebCore::SimpleFontData::platformCreateScaledFontData):
3353 * platform/graphics/win/FontCacheWin.cpp:
3354 (WebCore::getCJKCodePageMasks):
3355 * platform/graphics/win/SimpleFontDataWin.cpp:
3356 (WebCore::SimpleFontData::containsCharacters):
3357 * platform/graphics/wince/FontCacheWinCE.cpp:
3358 (WebCore::getCJKCodePageMasks):
3359 * platform/graphics/wince/FontPlatformData.cpp:
3360 (WebCore::FontFamilyCodePageInfo::codePages):
3361 (WebCore::FixedSizeFontData::create):
3362 * platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:
3363 (WebCore::GlyphPage::fill):
3364 * platform/graphics/wince/SimpleFontDataWinCE.cpp:
3365 (WebCore::SimpleFontData::platformCreateScaledFontData):
3366 (WebCore::SimpleFontData::containsCharacters):
3368 2014-04-24 Eric Carlson <eric.carlson@apple.com>
3370 [iOS] Manage AudioSession category according to media type
3371 https://bugs.webkit.org/show_bug.cgi?id=132096
3373 Reviewed by Jer Noble.
3375 * WebCore.exp.in: Export setting.
3377 * html/HTMLMediaSession.cpp:
3378 (WebCore::HTMLMediaSession::HTMLMediaSession):
3379 (WebCore::initializeAudioSession): Deleted.
3381 * page/Settings.cpp:
3383 (WebCore::Settings::setShouldManageAudioSession): New.
3384 (WebCore::Settings::shouldManageAudioSession): Ditto.
3386 * platform/audio/ios/AudioDestinationIOS.cpp:
3387 (WebCore::AudioDestinationIOS::AudioDestinationIOS): Use a MediaSession instead of inheriting
3388 from AudioListener and calling the AudioSession directly.
3389 (WebCore::AudioDestinationIOS::~AudioDestinationIOS): Ditto.
3390 (WebCore::AudioDestinationIOS::start): Notify session.
3391 (WebCore::AudioDestinationIOS::stop): Ditto.
3392 (WebCore::AudioDestinationIOS::beganAudioInterruption): Deleted.
3393 (WebCore::AudioDestinationIOS::endedAudioInterruption): Deleted.
3394 * platform/audio/ios/AudioDestinationIOS.h:
3395 (WebCore::AudioDestinationIOS::mediaType):
3396 (WebCore::AudioDestinationIOS::canReceiveRemoteControlCommands):
3397 (WebCore::AudioDestinationIOS::didReceiveRemoteControlCommand):
3398 (WebCore::AudioDestinationIOS::isPlaying): Deleted.
3400 * platform/audio/ios/AudioSessionIOS.mm:
3401 (WebCore::categoryName): Debug-only logging function.
3402 (WebCore::AudioSession::setCategory): Don't stick with "media" once it is set.
3404 * platform/audio/ios/MediaSessionManagerIOS.mm:
3405 (WebCore::MediaSessionManageriOS::resetRestrictions): Set up restrictions for WebAudio.
3406 (WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Don't set invalid start time.
3408 * platform/audio/mac/MediaSessionManagerMac.cpp:
3409 (MediaSessionManager::updateSessionState): Manage AudioSession.active when WebAudio clients
3410 come and go. Manage AudioSession.category according to the number of WebAudio and
3411 HTMLMediaElement clients.
3413 2014-04-24 David Hyatt <hyatt@apple.com>
3415 [New Multicolumn] Client rects don't work with column spans.
3416 https://bugs.webkit.org/show_bug.cgi?id=132131
3418 Reviewed by Dean Jackson.
3420 Don't factor in the offset of the multicolumn set from the top
3421 of the multicolumn block. This was added already, and it doesn't
3422 need to be a part of columnTranslationForOffset.
3424 Added fast/multicol/client-rects-spanners.html
3426 * rendering/RenderMultiColumnSet.cpp:
3427 (WebCore::RenderMultiColumnSet::columnTranslationForOffset):
3429 2014-04-24 Praveen R Jadhav <praveen.j@samsung.com>
3431 [EFL] WebKit build fails when MEDIA_SOURCE is enabled
3432 https://bugs.webkit.org/show_bug.cgi?id=132118
3434 Reviewed by Brent Fulgham.
3436 Files MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and
3437 WebKitMediaSourceGStreamer.cpp are included for EFL port build.
3439 No new tests. No change in behaviour.
3441 * PlatformEfl.cmake: MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp