1 2014-03-31 Byungseon Shin <sun.shin@lge.com>
3 [WebGL][OpenGLES] Enable MSAA support for WebGL Canvas
4 https://bugs.webkit.org/show_bug.cgi?id=130955
6 Reviewed by Dean Jackson.
8 To avoid aliasing issues when we render content to WebGL canvas,
9 we need to implement MSAA support.
10 - Imagination OpenGLES GPU Driver already support MSAA, so we
11 need a separate code path to enable it.
13 * platform/graphics/Extensions3D.h:
14 * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
15 (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
16 * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
17 (WebCore::Extensions3DOpenGLCommon::isImagination):
18 * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
19 (WebCore::GraphicsContext3D::reshapeFBOs):
21 2014-03-31 Alexey Proskuryakov <ap@apple.com>
23 Crashes in PageConsole::addMessage
24 https://bugs.webkit.org/show_bug.cgi?id=130991
25 <rdar://problem/14795232>
27 Reviewed by Geoffrey Garen.
29 Test: http/tests/misc/detached-frame-console.html
31 * page/DOMWindow.cpp: (WebCore::DOMWindow::printErrorMessage): Added a null check.
32 It's legitimate for this to be called for a window that is not currently displayed
35 2014-03-31 Simon Fraser <simon.fraser@apple.com>
37 [UI-side compositing] Proxy animations to the UI process
38 https://bugs.webkit.org/show_bug.cgi?id=130946
40 Reviewed by Tim Horton.
42 To proxy CA animations, make PlatformCAAnimation a pure virtual base class
43 and subclass for Mac, Windows, and Remote (just like PlatformCALayer).
45 Add coding support for TimingFunctions.
47 Do some minor #include tidyup.
49 Minor refactor in GraphicsLayerCA to share some animations code.
52 * WebCore.xcodeproj/project.pbxproj:
53 * platform/animation/TimingFunction.h: Add setters need for encode/decode.
54 (WebCore::CubicBezierTimingFunction::setValues):
55 (WebCore::CubicBezierTimingFunction::setTimingFunctionPreset):
56 (WebCore::StepsTimingFunction::create):
57 (WebCore::StepsTimingFunction::setNumberOfSteps):
58 (WebCore::StepsTimingFunction::setStepAtStart):
59 * platform/graphics/ca/GraphicsLayerCA.cpp:
60 (WebCore::GraphicsLayerCA::createPlatformCAAnimation):
61 (WebCore::GraphicsLayerCA::animationCanBeAccelerated): Minor refactor so we can share
62 code with GraphicsLayerCARemote.
63 (WebCore::GraphicsLayerCA::addAnimation):
64 (WebCore::GraphicsLayerCA::createBasicAnimation):
65 (WebCore::PassRefPtr<PlatformCAAnimation>GraphicsLayerCA::createKeyframeAnimation):
66 * platform/graphics/ca/GraphicsLayerCA.h:
67 * platform/graphics/ca/PlatformCAAnimation.h:
68 (WebCore::PlatformCAAnimation::~PlatformCAAnimation):
69 (WebCore::PlatformCAAnimation::isPlatformCAAnimationMac):
70 (WebCore::PlatformCAAnimation::isPlatformCAAnimationWin):
71 (WebCore::PlatformCAAnimation::isPlatformCAAnimationRemote):
72 (WebCore::PlatformCAAnimation::PlatformCAAnimation):
73 (WebCore::PlatformCAAnimation::setType):
74 * platform/graphics/ca/PlatformCALayer.h:
75 * platform/graphics/ca/mac/PlatformCAAnimationMac.h: Added.
76 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
77 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
78 (PlatformCALayerMac::addAnimationForKey):
79 (PlatformCALayerMac::animationForKey):
80 * platform/graphics/ca/mac/TileController.mm:
81 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
82 * platform/graphics/ca/win/PlatformCAAnimationWin.h: Added.
84 2014-03-31 Benjamin Poulain <benjamin@webkit.org>
86 CSS JIT: compile the first-child pseudo class
87 https://bugs.webkit.org/show_bug.cgi?id=130954
89 Reviewed by Andreas Kling.
91 * css/ElementRuleCollector.cpp:
92 (WebCore::ElementRuleCollector::collectMatchingRules):
93 The compiler use the context's style directly when resolving style. An error introduced
94 in the rule collector would cause a crash in the compiled code which would be hard to debug.
95 Add an assertion early in the stack to catch errors where it is easier to debug them.
97 * css/StyleResolver.cpp:
98 (WebCore::StyleResolver::State::initForStyleResolve):
99 * cssjit/SelectorCompiler.cpp:
100 (WebCore::SelectorCompiler::addPseudoType):
101 (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
102 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacentElement):
103 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
104 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
105 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
106 Refactor those to be able to reuse the code getting a sibling element preceding the current element.
108 (WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
109 Extract the code checking the current mode from SelectorCodeGenerator::markParentElementIfResolvingStyle()
110 in a separate function. This will be useful for all the pseudo class with marking.
112 (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
113 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
114 (WebCore::SelectorCompiler::setFirstChildState):
115 This is the slow path for when the first-child pseudo class is on a fragment that is not
117 The reason to use a slow path is accessing renderStyle() is not trivial and this case isn't not
118 as common. We should improve this later.
120 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
121 This is just implementing the test for first-child plus the tree marking. Nothing fancy,
122 this is basically the same thing as SelectorChecker.
125 (WebCore::Element::setChildrenAffectedByFirstChildRules):
127 C++ fallback to set the flag, to be improved later with the other flags.
129 * rendering/style/RenderStyle.h:
130 I accidentaly put noninheritedFlagsMemoryOffset() as private in the RenderStyle refactoring.
132 Also update the flags accessor to make them easier to work with from the compiler. In particular,
133 setFirstChildStateFlags() sets both isUnique and firstChild. Currently the JIT does not need to access
134 the value so individual flags are made private.
136 2014-03-31 Dean Jackson <dino@apple.com>
138 Remove WEB_ANIMATIONS
139 https://bugs.webkit.org/show_bug.cgi?id=130989
141 Reviewed by Simon Fraser.
143 Remove this feature flag until we plan to implement.
145 * Configurations/FeatureDefines.xcconfig:
147 2014-03-31 Simon Fraser <simon.fraser@apple.com>
151 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
152 (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
154 2014-03-31 Pratik Solanki <psolanki@apple.com>
156 Unreviewed. iOS build fix after r166532. Add missing comma.
158 * dom/DocumentMarker.h:
160 2014-03-31 Brady Eidson <beidson@apple.com>
162 Add variant of phone number parsing that use DocumentMarker in the current selection
163 <rdar://problem/16379566> and https://bugs.webkit.org/show_bug.cgi?id=130917
165 Reviewed by Darin Adler.
167 * dom/DocumentMarker.h:
168 (WebCore::DocumentMarker::AllMarkers::AllMarkers): Add a new TelephoneNumber document marker type.
170 * editing/Editor.cpp:
171 (WebCore::Editor::respondToChangedSelection):
172 (WebCore::Editor::scanSelectionForTelephoneNumbers): TextIterate over the selected range looking for numbers.
173 (WebCore::Editor::scanRangeForTelephoneNumbers): Scan the given range for a telephone number,
174 adding the DocumentMarker to any that are found.
175 (WebCore::Editor::clearDataDetectedTelephoneNumbers):
178 * html/parser/HTMLTreeBuilder.cpp:
179 (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Only linkify on iOS.
181 * rendering/InlineTextBox.cpp:
182 (WebCore::InlineTextBox::paintTelephoneNumberMarker): Placeholder UI while the feature is developed.
183 (WebCore::InlineTextBox::paintDocumentMarkers):
184 * rendering/InlineTextBox.h:
186 * testing/Internals.cpp:
187 (WebCore::markerTypesFrom):
189 2014-03-31 Simon Fraser <simon.fraser@apple.com>
191 [iOS WK2] Hook up scroll events for accelerated overflow:scroll
192 https://bugs.webkit.org/show_bug.cgi?id=130976
194 Reviewed by Tim Horton.
196 When an accelerated overflow:scroll is scrolled in the UI process,
197 tell the WebProcess that the scroll happened to update RenderLayer
198 state and fire events.
200 In the WebProcess, RemoteScrollingCoordinator gets a message from the
201 UI process and calls AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll().
202 Fixed that function to handle scrolling nodes other than the root, which
203 required storing a map of ScrollingNodeID->RenderLayer* on RenderLayerCompositor,
204 accessible through FrameView::scrollableAreaForScrollLayerID().
207 * page/FrameView.cpp:
208 (WebCore::FrameView::scrollableAreaForScrollLayerID):
210 * page/scrolling/AsyncScrollingCoordinator.cpp:
211 (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Handle
212 overflow as well as main frame scrolling nodes.
213 * page/scrolling/ScrollingTree.cpp:
214 (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling): Use isScrollingNode().
215 (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): When an overflow
216 scroll node was scrolled externally, we have to update layers in decendant nodes,
217 and then call scrollingTreeNodeDidScroll() which tells the ScrollingCoordinator that
219 * page/scrolling/ScrollingTree.h: Try to reduce confusion between the roles played
220 by these various functions, some of which happen in the UI process with UI-side
222 * page/scrolling/ScrollingTreeScrollingNode.h:
223 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Need some functions to be
224 callable by subclasses.
225 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
226 (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
227 * rendering/RenderLayerCompositor.cpp:
228 (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Add
229 scrolling layers to the m_scrollingNodeToLayerMap
230 (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Remove
231 layer from the m_scrollingNodeToLayerMap.
232 (WebCore::RenderLayerCompositor::scrollableAreaForScrollLayerID):
233 * rendering/RenderLayerCompositor.h:
235 2014-03-31 Antti Koivisto <antti@apple.com>
237 Rename TileCache to LegacyTileCache
238 https://bugs.webkit.org/show_bug.cgi?id=130986
240 Reviewed by Simon Fraser.
242 Rename iOS WebKit1 tile cache classes to reflect its status.
243 This also frees some good type names.
245 TileCache -> LegacyTileCache
246 TileGrid -> LegacyTileGrid
247 TileGridTile -> LegacyTileGridTile
250 2014-03-31 Tim Horton <timothy_horton@apple.com>
252 Small adjustments to WebCore::IOSurface
253 https://bugs.webkit.org/show_bug.cgi?id=130981
255 Reviewed by Simon Fraser.
258 Export some more things.
260 * platform/graphics/cocoa/IOSurface.h:
261 createImage() can't be const because it calls ensurePlatformContext().
263 * platform/graphics/cocoa/IOSurface.mm:
264 (IOSurface::createImage):
265 We should be able to create an image even if the CGContext has been cleared (or never created).
267 (IOSurface::isInUse):
268 Rename inUse() to isInUse().
270 (IOSurface::clearGraphicsContext):
271 Add clearGraphicsContext().
273 2014-03-31 Tim Horton <timothy_horton@apple.com>
275 Allocate IOSurfaces with the same cache mode that CoreAnimation uses
276 https://bugs.webkit.org/show_bug.cgi?id=130982
278 Reviewed by Simon Fraser.
280 * platform/graphics/cocoa/IOSurface.mm:
281 (IOSurface::IOSurface):
282 CA uses kIOMapWriteCombineCache for IOSurfaces allocated on iOS.
284 2014-03-31 Ion Rosca <rosca@adobe.com>
286 [CSS Blending] Blend mode property is propagated to multiple GraphicLayers
287 https://bugs.webkit.org/show_bug.cgi?id=130337
289 Reviewed by Dean Jackson.
291 Resets the blend mode for graphicsLayer when it has an ancestorClippingLayer.
293 Test: css3/compositing/blend-mode-ancestor-clipping-layer.html
295 * rendering/RenderLayer.cpp:
296 (WebCore::RenderLayer::updateBlendMode):
297 (WebCore::RenderLayer::calculateClipRects):
298 * rendering/RenderLayerBacking.cpp:
299 (WebCore::RenderLayerBacking::updateBlendMode):
300 * rendering/RenderLayerBacking.h:
302 2014-03-31 Ion Rosca <rosca@adobe.com>
304 [CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
305 https://bugs.webkit.org/show_bug.cgi?id=130922
307 Reviewed by Simon Fraser.
309 This change only updates existing tests involving blending. No new test required,
310 as there is no new or changed functionality.
312 * rendering/RenderLayer.h: adding blendMode() getter.
313 * rendering/RenderTreeAsText.cpp:
315 adding blendMode property and layer's isolation status (does layer isolate blending descendants or not?).
317 2014-03-31 Benjamin Poulain <benjamin@webkit.org>
319 CSS JIT: clean up the functions ending when generating a checker with context
320 https://bugs.webkit.org/show_bug.cgi?id=130959
322 Reviewed by Andreas Kling.
324 This code got refactored over time and now both branches do the exact same action
326 This patch removes the stack split and move the stack cleanup in the common ending
327 just before restoring the callee saved registers.
329 * cssjit/SelectorCompiler.cpp:
330 (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
332 2014-03-31 Beth Dakin <bdakin@apple.com>
334 ThemeMac should use std::array instead of IntSize* for control sizes
335 https://bugs.webkit.org/show_bug.cgi?id=130985
337 Reviewed by Darin Adler.
339 Replace uses of const IntSize* with const std::array<IntSize, 3>
340 * platform/mac/ThemeMac.mm:
341 (WebCore::sizeFromNSControlSize):
342 (WebCore::sizeFromFont):
343 (WebCore::controlSizeFromPixelSize):
344 (WebCore::setControlSize):
345 (WebCore::checkboxSizes):
346 (WebCore::radioSizes):
347 (WebCore::buttonSizes):
348 (WebCore::setUpButtonCell):
349 (WebCore::stepperSizes):
351 2014-03-31 Hans Muller <hmuller@adobe.com>
353 [CSS Shapes] Simplify RasterShape implementation
354 https://bugs.webkit.org/show_bug.cgi?id=130916
356 Reviewed by Dean Jackson.
358 Since only floats can specify shape-outside, the RasterShapeIntervals
359 class only needs to track the first and last above threshold pixel column
360 (x1 and x2 in the implementation) for each row. Removed code for dealing with
361 multiple "runs" per row as well as shape-inside internals.
363 No new tests, since functionality was only removed.
365 * rendering/shapes/RasterShape.cpp:
366 (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
367 (WebCore::RasterShapeIntervals::initializeBounds):
368 (WebCore::RasterShapeIntervals::buildBoundsPath):
369 (WebCore::RasterShape::getExcludedIntervals):
370 * rendering/shapes/RasterShape.h:
371 (WebCore::RasterShapeIntervals::RasterShapeIntervals):
372 (WebCore::RasterShapeIntervals::intervalAt):
373 (WebCore::RasterShape::RasterShape):
374 * rendering/shapes/Shape.cpp:
375 (WebCore::Shape::createRasterShape):
376 * rendering/shapes/ShapeInterval.h:
377 (WebCore::ShapeInterval::unite):
379 2014-03-31 Andreas Kling <akling@apple.com>
381 Always inline toJS() for NodeList.
382 <https://webkit.org/b/130974>
384 This is a pretty cheesy optimization, but it's a 3% progression on
385 Dromaeo/dom-query.html on my MBP.
387 Reviewed by Benjamin Poulain.
390 * WebCore.xcodeproj/project.pbxproj:
391 * bindings/js/JSNodeListCustom.h: Added.
395 2014-03-31 Benjamin Poulain <bpoulain@apple.com>
397 Attempt to fix the 32bits debug builds
399 The additional debug flags in RefCounted cause the structure to have different alignment
400 with the 64bits flags.
402 * rendering/style/RenderStyle.cpp:
404 2014-03-29 Simon Fraser <simon.fraser@apple.com>
406 Clarify some scrolling tree terminology
407 https://bugs.webkit.org/show_bug.cgi?id=130929
409 Reviewed by Tim Horton.
411 Attempt to reduce some ambiguity in scrolling tree terminology.
412 When async scrolling occurs, there are two tasks we have to perform:
413 1. Layers need to be updated to reflect the scroll
414 2. WebCore state has to be updated.
415 The "updateForViewport" name didn't clearly reflect which of these
416 tasks was being performed, so rename it to updateLayersAfterViewportChange()
417 to reflect the fact that it only does the first.
419 Remove the Mac implementation of updateLayersAfterViewportChange(), since
420 it was confsued about this, and was never called anyway.
423 * page/scrolling/ScrollingTree.cpp:
424 (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
425 * page/scrolling/ScrollingTreeScrollingNode.h:
426 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
427 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
428 (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):
429 (WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport): Deleted.
430 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
431 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
432 (WebCore::ScrollingTreeScrollingNodeMac::updateLayersAfterViewportChange):
433 (WebCore::ScrollingTreeScrollingNodeMac::updateForViewport): Deleted.
435 2014-03-31 Tim Horton <timothy_horton@apple.com>
437 [iOS WebKit2] Disable tile cohort retention for now
438 https://bugs.webkit.org/show_bug.cgi?id=130926
439 <rdar://problem/16465413>
441 Reviewed by Simon Fraser.
445 (WebCore::Settings::Settings):
446 (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
447 (WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.
449 (WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.
451 Use Settings.in for these simple settings.
453 * platform/graphics/GraphicsLayerClient.h:
454 (WebCore::GraphicsLayerClient::shouldAggressivelyRetainTiles):
455 (WebCore::GraphicsLayerClient::shouldTemporarilyRetainTileCohorts):
456 * platform/graphics/TiledBacking.h:
457 * platform/graphics/ca/GraphicsLayerCA.cpp:
458 (WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
459 (WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
460 * platform/graphics/ca/GraphicsLayerCA.h:
461 * platform/graphics/ca/PlatformCALayerClient.h:
462 (WebCore::PlatformCALayerClient::platformCALayerShouldAggressivelyRetainTiles):
463 (WebCore::PlatformCALayerClient::platformCALayerShouldTemporarilyRetainTileCohorts):
464 * rendering/RenderLayerBacking.cpp:
465 (WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
466 (WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
467 * rendering/RenderLayerBacking.h:
468 Plumb the two tile-retention settings through to TileController in a pull manner
469 instead of a push manner, as there were some cases (especially on iOS) where
470 the settings weren't always getting pushed down.
472 * platform/graphics/ca/mac/TileController.h:
473 * platform/graphics/ca/mac/TileController.mm:
474 (WebCore::TileController::TileController):
475 (WebCore::TileController::tileRevalidationTimerFired):
476 (WebCore::TileController::revalidateTiles):
477 (WebCore::TileController::drawTileMapContents):
478 Aggressive tile retention wins over temporary retention. If we aren't
479 using temporary (cohort) retention, throw away the cohort as soon as it
482 2014-03-31 Beth Dakin <bdakin@apple.com>
484 Radio buttons and checkboxes should share code
485 https://bugs.webkit.org/show_bug.cgi?id=130915
487 Reviewed by Sam Weinig.
489 Radio buttons and checkboxes now share a lot of code. The common term for both is
492 Move these radio-sizing functions up in the file to be next to the checkbox sizing
494 * platform/mac/ThemeMac.mm:
495 (WebCore::radioSizes):
496 (WebCore::radioMargins):
497 (WebCore::radioSize):
499 Configures a radio button or a checkbox.
500 (WebCore::configureToggleButton):
502 Creates a radio button or a checkbox.
503 (WebCore::createToggleButtonCell):
505 Still have a shared cell for each.
506 (WebCore::sharedRadioCell):
507 (WebCore::sharedCheckboxCell):
509 Does the work of the old paintRadio() and paintCheckbox().
510 (WebCore::paintToggleButton):
512 Use sharedRadioCell() here.
513 (WebCore::ThemeMac::inflateControlPaintRect):
515 Call paintToggleButton() for radio buttons and checkboxes.
516 (WebCore::ThemeMac::paint):
519 (WebCore::configureCheckbox): Deleted.
520 (WebCore::createCheckboxCell): Deleted.
521 (WebCore::paintCheckbox): Deleted.
522 (WebCore::radio): Deleted.
523 (WebCore::paintRadio): Deleted.
525 2014-03-31 Samuel White <samuel_white@apple.com>
527 AX: Need ability to get line range for text marker.
528 https://bugs.webkit.org/show_bug.cgi?id=130906
530 Reviewed by Chris Fleizach.
532 Added ability to get line range from any marker on that line. This matches the functionality of existing
533 attributes such as AXParagraphTextMarkerRangeForTextMarker and AXSentenceTextMarkerRangeForTextMarker.
535 Test: platform/mac/accessibility/line-range-for-text-marker.html
537 * accessibility/AccessibilityObject.cpp:
538 (WebCore::AccessibilityObject::visiblePositionRangeForRange):
539 (WebCore::AccessibilityObject::lineRangeForPosition):
540 * accessibility/AccessibilityObject.h:
541 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
542 (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
543 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
545 2014-03-31 Anders Carlsson <andersca@apple.com>
549 * page/ChromeClient.h:
550 (WebCore::ChromeClient::updateViewportConstrainedLayers):
552 2014-03-31 Jer Noble <jer.noble@apple.com>
554 [MSE][Mac] Support lease-renewal.
555 https://bugs.webkit.org/show_bug.cgi?id=130919
557 Reviewed by Eric Carlson.
559 Trigger a new key request when receiving an update message containting "renew".
561 * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
562 (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8
564 (WebCore::CDMSessionMediaSourceAVFObjC::update):
566 2014-03-31 Alexey Proskuryakov <ap@apple.com>
568 Remove special handling of soft hyphens in search code
569 https://bugs.webkit.org/show_bug.cgi?id=130940
571 Reviewed by Anders Carlsson.
573 ICU knows to ignore soft hyphens, so we don't need to replace them before searching.
575 Covered by existing tests.
577 * editing/TextIterator.cpp:
578 (WebCore::foldQuoteMark):
579 (WebCore::foldQuoteMarks):
580 (WebCore::SearchBuffer::SearchBuffer):
581 (WebCore::SearchBuffer::append):
582 (WebCore::foldQuoteMarkOrSoftHyphen): Deleted.
583 (WebCore::foldQuoteMarksAndSoftHyphens): Deleted.
585 2014-03-31 Alex Christensen <achristensen@webkit.org>
587 Preparation for using Soup on Windows.
588 https://bugs.webkit.org/show_bug.cgi?id=130615
590 Reviewed by Carlos Garcia Campos.
592 * WebCore.vcxproj/WebCore.vcxproj:
593 * WebCore.vcxproj/WebCore.vcxproj.filters:
594 Added Soup source files in WinCairo build.
595 * loader/soup/CachedRawResourceSoup.cpp:
596 * loader/soup/SubresourceLoaderSoup.cpp:
597 * platform/soup/SharedBufferSoup.cpp:
598 * platform/soup/URLSoup.cpp:
599 * platform/network/NetworkStorageSessionStub.cpp:
600 Only build if USE(SOUP) to prevent building when USE(CURL) is true.
601 * platform/network/soup/ResourceHandleSoup.cpp:
602 Only include unistd.h in non-Visual Studio builds.
603 This would normally be done with a HAVE_UNISTD_H macro when compiling glib and Soup,
604 but that would need to be left undefined for Visual Studio.
606 2014-03-31 Zan Dobersek <zdobersek@igalia.com>
608 Unreviewed. Addressing reviewing comments for r166491 that I forgot
609 to address before landing.
611 * html/FormController.cpp:
612 (WebCore::SavedFormState::deserialize): No need to move the std::unique_ptr
613 object on the way out.
614 (WebCore::FormController::createSavedFormStateMap): FormKeyGenerator can be
615 allocated on the stack.
616 (WebCore::FormController::formStatesFromStateVector): Use auto.
618 2014-03-20 Carlos Garcia Campos <cgarcia@igalia.com>
620 [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
621 https://bugs.webkit.org/show_bug.cgi?id=130078
623 Reviewed by Philippe Normand.
625 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
626 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
627 * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
628 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
629 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
630 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
631 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
632 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
633 * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
634 * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
635 * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
636 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
637 * platform/gtk/GtkDragAndDropHelper.cpp:
638 * platform/gtk/SharedTimerGtk.cpp:
640 2014-03-31 Andrei Bucur <abucur@adobe.com>
642 Wrong layout while animating content in regions
643 https://bugs.webkit.org/show_bug.cgi?id=125086
645 Reviewed by David Hyatt.
647 The region to layer and regions to layer mappings should be cleared when the region chain changes.
649 Test: fast/regions/layers/region-removed-during-animation.html
651 * rendering/RenderFlowThread.cpp:
652 (WebCore::RenderFlowThread::invalidateRegions): Clear the two maps and flag them for recomputation.
653 (WebCore::RenderFlowThread::cachedRegionForCompositedLayer): Assert that the returned region exists.
655 2014-03-31 Dániel Bátyai <dbatyai.u-szeged@partner.samsung.com>
657 Remove hostThisRegister() and hostThisValue()
658 https://bugs.webkit.org/show_bug.cgi?id=130895
660 Reviewed by Geoffrey Garen.
662 Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
664 No new tests, no behavior changes.
666 * bindings/js/JSNavigatorCustom.cpp:
667 (WebCore::JSNavigator::webkitGetUserMedia):
668 * bindings/js/JSPluginElementFunctions.cpp:
669 (WebCore::callPlugin):
670 * bindings/scripts/CodeGeneratorJS.pm:
671 (GenerateImplementation):
672 * bindings/scripts/test/JS/JSFloat64Array.cpp:
673 (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
674 (WebCore::jsFloat64ArrayPrototypeFunctionSet):
675 * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
676 (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
677 (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
678 * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
679 (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
680 * bindings/scripts/test/JS/JSTestEventTarget.cpp:
681 (WebCore::jsTestEventTargetPrototypeFunctionItem):
682 (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
683 (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
684 (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
685 * bindings/scripts/test/JS/JSTestInterface.cpp:
686 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
687 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
688 (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
689 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
690 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
691 (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
692 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
693 (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
694 * bindings/scripts/test/JS/JSTestObj.cpp:
695 (WebCore::jsTestObjPrototypeFunctionVoidMethod):
696 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
697 (WebCore::jsTestObjPrototypeFunctionByteMethod):
698 (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
699 (WebCore::jsTestObjPrototypeFunctionOctetMethod):
700 (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
701 (WebCore::jsTestObjPrototypeFunctionLongMethod):
702 (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
703 (WebCore::jsTestObjPrototypeFunctionObjMethod):
704 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
705 (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
706 (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
707 (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
708 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
709 (WebCore::jsTestObjPrototypeFunctionSerializedValue):
710 (WebCore::jsTestObjPrototypeFunctionOptionsObject):
711 (WebCore::jsTestObjPrototypeFunctionMethodWithException):
712 (WebCore::jsTestObjPrototypeFunctionCustomMethod):
713 (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
714 (WebCore::jsTestObjPrototypeFunctionAddEventListener):
715 (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
716 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
717 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
718 (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
719 (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
720 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
721 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
722 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
723 (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
724 (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
725 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
726 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
727 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
728 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
729 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
730 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
731 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
732 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
733 (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
734 (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
735 (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
736 (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
737 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
738 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
739 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
740 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
741 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
742 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
743 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
744 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
745 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
746 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
747 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
748 (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
749 (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
750 (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
751 (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
752 (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
753 (WebCore::jsTestObjPrototypeFunctionConvert1):
754 (WebCore::jsTestObjPrototypeFunctionConvert2):
755 (WebCore::jsTestObjPrototypeFunctionConvert4):
756 (WebCore::jsTestObjPrototypeFunctionConvert5):
757 (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
758 (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
759 (WebCore::jsTestObjPrototypeFunctionOrange):
760 (WebCore::jsTestObjPrototypeFunctionStrictFunction):
761 (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
762 (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
763 (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
764 (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
765 (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
766 (WebCore::jsTestObjPrototypeFunctionAny):
767 * bindings/scripts/test/JS/JSTestTypedefs.cpp:
768 (WebCore::jsTestTypedefsPrototypeFunctionFunc):
769 (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
770 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
771 (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
772 (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
773 (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
774 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
775 (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
776 (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
777 (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
778 * bridge/objc/objc_runtime.mm:
779 (JSC::Bindings::callObjCFallbackObject):
780 * bridge/runtime_method.cpp:
781 (JSC::callRuntimeMethod):
783 2014-03-31 Zan Dobersek <zdobersek@igalia.com>
785 Move the rest of Source/WebCore/html/ code to std::unique_ptr
786 https://bugs.webkit.org/show_bug.cgi?id=129669
788 Reviewed by Anders Carlsson.
790 Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.
792 * html/FormController.cpp:
793 (WebCore::SavedFormState::SavedFormState):
794 (WebCore::SavedFormState::deserialize):
795 (WebCore::FormController::createSavedFormStateMap):
796 (WebCore::FormController::formElementsState):
797 (WebCore::FormController::takeStateForFormElement):
798 (WebCore::FormController::formStatesFromStateVector):
799 * html/FormController.h:
800 * html/HTMLAreaElement.cpp:
801 (WebCore::HTMLAreaElement::mapMouseEvent):
802 * html/HTMLAreaElement.h:
803 * html/HTMLCanvasElement.cpp:
804 (WebCore::HTMLCanvasElement::setSurfaceSize):
805 (WebCore::HTMLCanvasElement::createImageBuffer):
806 * html/HTMLCanvasElement.h:
807 * html/HTMLCollection.h:
808 * html/HTMLEmbedElement.cpp:
809 (WebCore::HTMLEmbedElement::parseAttribute):
810 * html/HTMLFormControlElement.cpp:
811 (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
812 * html/HTMLFormControlElement.h:
813 * html/HTMLFormElement.cpp:
814 (WebCore::HTMLFormElement::addToPastNamesMap):
815 * html/HTMLFormElement.h:
816 * html/HTMLInputElement.cpp:
817 (WebCore::HTMLInputElement::imageLoader):
818 (WebCore::HTMLInputElement::resetListAttributeTargetObserver):
819 * html/HTMLInputElement.h:
820 (WebCore::HTMLInputElement::hasImageLoader):
821 * html/HTMLObjectElement.cpp:
822 (WebCore::HTMLObjectElement::parseAttribute):
823 * html/HTMLPlugInImageElement.cpp:
824 (WebCore::HTMLPlugInImageElement::startLoadingImage):
825 * html/HTMLPlugInImageElement.h:
826 * html/HTMLVideoElement.cpp:
827 (WebCore::HTMLVideoElement::didAttachRenderers):
828 (WebCore::HTMLVideoElement::parseAttribute):
829 * html/HTMLVideoElement.h:
830 * html/ValidationMessage.cpp:
831 (WebCore::ValidationMessage::ValidationMessage):
832 (WebCore::ValidationMessage::setMessage):
833 (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
834 (WebCore::ValidationMessage::requestToHideMessage):
835 * html/ValidationMessage.h:
837 2014-03-31 Maurice van der Pot <griffon26@kfk4ever.com>
839 Fix mixed use of booleans in JPEGImageDecoder.cpp
840 https://bugs.webkit.org/show_bug.cgi?id=122412
842 Reviewed by Darin Adler.
844 Trivial fix for compilation error; no new tests.
846 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
847 (WebCore::JPEGImageReader::decode):
848 (WebCore::fill_input_buffer):
849 Use TRUE/FALSE defined by libjpeg for libjpeg booleans
851 2014-03-23 Zan Dobersek <zdobersek@igalia.com>
853 Move Source/WebCore/rendering/ code to std::unique_ptr
854 https://bugs.webkit.org/show_bug.cgi?id=129664
856 Reviewed by Anders Carlsson.
858 Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/rendering/ with std::unique_ptr.
860 * platform/graphics/FloatPolygon.cpp:
861 (WebCore::FloatPolygon::FloatPolygon):
862 * platform/graphics/FloatPolygon.h:
863 * rendering/ClipPathOperation.h:
864 * rendering/FlowThreadController.cpp:
865 (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
866 * rendering/FlowThreadController.h:
867 * rendering/HitTestLocation.h:
868 * rendering/HitTestResult.cpp:
869 (WebCore::HitTestResult::HitTestResult):
870 (WebCore::HitTestResult::operator=):
871 (WebCore::HitTestResult::rectBasedTestResult):
872 (WebCore::HitTestResult::mutableRectBasedTestResult):
873 * rendering/HitTestResult.h:
874 * rendering/HitTestingTransformState.cpp:
875 * rendering/ImageQualityController.h:
876 * rendering/RenderBlock.cpp:
877 (WebCore::removeBlockFromDescendantAndContainerMaps):
878 (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
879 (WebCore::RenderBlock::addContinuationWithOutline):
880 (WebCore::RenderBlock::paintContinuationOutlines):
881 (WebCore::RenderBlock::insertIntoTrackedRendererMaps):
882 (WebCore::RenderBlock::removeFromTrackedRendererMaps):
883 (WebCore::RenderBlock::setComputedColumnCountAndWidth):
884 * rendering/RenderBlock.h:
885 * rendering/RenderBlockFlow.cpp:
886 (WebCore::RenderBlockFlow::createFloatingObjects):
887 * rendering/RenderBlockFlow.h:
888 * rendering/RenderBoxRegionInfo.h:
889 * rendering/RenderButton.cpp:
890 (WebCore::RenderButton::styleDidChange):
891 * rendering/RenderButton.h:
892 * rendering/RenderCounter.cpp:
893 (WebCore::makeCounterNode):
894 * rendering/RenderFlowThread.cpp:
895 (WebCore::RenderFlowThread::updateAllLayerToRegionMappings):
896 (WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
897 * rendering/RenderFlowThread.h:
898 * rendering/RenderGeometryMap.cpp:
899 (WebCore::RenderGeometryMap::push):
900 (WebCore::RenderGeometryMap::pushView):
901 * rendering/RenderGeometryMap.h:
902 * rendering/RenderGrid.cpp:
903 (WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
904 (WebCore::RenderGrid::placeItemsOnGrid):
905 (WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
906 (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
907 (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
908 (WebCore::RenderGrid::resolveGridPositionsFromStyle):
909 (WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition):
910 (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
911 (WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
912 (WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
913 * rendering/RenderGrid.h:
914 * rendering/RenderImageResource.h:
915 * rendering/RenderLayer.cpp:
916 (WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder):
917 (WebCore::RenderLayer::updateTransform):
918 (WebCore::RenderLayer::setupFilters):
919 (WebCore::RenderLayer::paintLayerContents):
920 (WebCore::RenderLayer::paintChildLayerIntoColumns):
921 (WebCore::RenderLayer::hitTestChildLayerColumns):
922 (WebCore::RenderLayer::updateClipRects):
923 (WebCore::RenderLayer::calculateClipRects):
924 * rendering/RenderLayer.h:
925 (WebCore::RenderLayer::clearZOrderLists):
926 * rendering/RenderLayerCompositor.cpp:
927 (WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh):
928 (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
929 * rendering/RenderLayerCompositor.h:
930 * rendering/RenderLayerFilterInfo.cpp:
931 (WebCore::RenderLayer::FilterInfo::map):
932 (WebCore::RenderLayer::FilterInfo::get):
933 * rendering/RenderLayerFilterInfo.h:
934 * rendering/RenderRegion.cpp:
935 (WebCore::RenderRegion::setRenderBoxRegionInfo):
936 (WebCore::RenderRegion::takeRenderBoxRegionInfo):
937 * rendering/RenderRegion.h:
938 * rendering/RenderTable.cpp:
939 (WebCore::RenderTable::styleDidChange):
940 * rendering/RenderTable.h:
941 * rendering/RenderView.cpp:
942 (WebCore::RenderView::selectionBounds):
943 (WebCore::RenderView::setSelection):
944 (WebCore::RenderView::compositor):
945 (WebCore::RenderView::flowThreadController):
946 (WebCore::RenderView::imageQualityController):
947 * rendering/RenderView.h:
948 * rendering/RootInlineBox.h:
949 (WebCore::RootInlineBox::appendFloat):
950 * rendering/TextAutosizer.h:
951 * rendering/shapes/PolygonShape.cpp:
952 (WebCore::computeShapePaddingBounds):
953 (WebCore::computeShapeMarginBounds):
954 * rendering/shapes/PolygonShape.h:
955 (WebCore::PolygonShape::PolygonShape):
956 * rendering/shapes/RasterShape.cpp:
957 (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
958 * rendering/shapes/RasterShape.h:
959 (WebCore::RasterShape::RasterShape):
960 * rendering/shapes/Shape.cpp:
961 (WebCore::createInsetShape):
962 (WebCore::createRectangleShape):
963 (WebCore::createCircleShape):
964 (WebCore::createEllipseShape):
965 (WebCore::createPolygonShape):
966 (WebCore::Shape::createShape):
967 (WebCore::Shape::createRasterShape):
968 (WebCore::Shape::createLayoutBoxShape):
969 * rendering/shapes/Shape.h:
970 * rendering/shapes/ShapeInfo.h:
971 (WebCore::ShapeInfo::markShapeAsDirty):
972 (WebCore::ShapeInfo::isShapeDirty):
973 * rendering/shapes/ShapeInsideInfo.h:
974 * rendering/style/ContentData.h:
975 * rendering/style/CounterDirectives.cpp:
977 * rendering/style/CounterDirectives.h:
978 * rendering/style/GridCoordinate.h:
979 * rendering/style/RenderStyle.cpp:
980 (WebCore::RenderStyle::addCachedPseudoStyle):
981 (WebCore::RenderStyle::accessCounterDirectives):
982 (WebCore::RenderStyle::accessAnimations):
983 (WebCore::RenderStyle::accessTransitions):
984 * rendering/style/RenderStyle.h:
985 * rendering/style/StyleRareNonInheritedData.cpp:
986 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
987 * rendering/style/StyleRareNonInheritedData.h:
988 * rendering/svg/RenderSVGResourceGradient.cpp:
989 (WebCore::RenderSVGResourceGradient::applyResource):
990 * rendering/svg/RenderSVGResourceGradient.h:
991 * rendering/svg/RenderSVGResourcePattern.cpp:
992 (WebCore::RenderSVGResourcePattern::buildPattern):
993 * rendering/svg/RenderSVGResourcePattern.h:
994 * rendering/svg/RenderSVGShape.cpp:
995 (WebCore::RenderSVGShape::updateShapeFromElement):
996 * rendering/svg/RenderSVGShape.h:
997 * rendering/svg/SVGResources.cpp:
998 (WebCore::SVGResources::setClipper):
999 (WebCore::SVGResources::setFilter):
1000 (WebCore::SVGResources::setMarkerStart):
1001 (WebCore::SVGResources::setMarkerMid):
1002 (WebCore::SVGResources::setMarkerEnd):
1003 (WebCore::SVGResources::setMasker):
1004 (WebCore::SVGResources::setFill):
1005 (WebCore::SVGResources::setStroke):
1006 * rendering/svg/SVGResources.h:
1007 * rendering/svg/SVGResourcesCache.cpp:
1008 (WebCore::SVGResourcesCache::addResourcesFromRenderer):
1009 (WebCore::SVGResourcesCache::removeResourcesFromRenderer):
1010 * rendering/svg/SVGResourcesCache.h:
1011 * rendering/svg/SVGTextMetricsBuilder.cpp:
1012 (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
1013 * rendering/svg/SVGTextMetricsBuilder.h:
1015 2014-03-28 Sergio Villar Senin <svillar@igalia.com>
1017 Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
1018 https://bugs.webkit.org/show_bug.cgi?id=130893
1020 Reviewed by Darin Adler.
1022 * loader/ImageLoader.cpp:
1023 (WebCore::beforeLoadEventSender):
1024 (WebCore::loadEventSender):
1025 (WebCore::errorEventSender):
1026 * loader/appcache/ApplicationCacheStorage.cpp:
1027 (WebCore::cacheStorage):
1028 * loader/appcache/ApplicationCacheStorage.h:
1029 * loader/archive/ArchiveFactory.cpp:
1030 (WebCore::archiveMIMETypes):
1031 * loader/cache/CachedImage.cpp:
1032 (WebCore::CachedImage::brokenImage):
1033 * loader/cache/CachedRawResource.cpp:
1034 (WebCore::shouldIgnoreHeaderForCacheReuse):
1035 * loader/cache/MemoryCache.cpp:
1036 (WebCore::dummyCachedImageClient):
1038 2014-03-28 Sergio Villar Senin <svillar@igalia.com>
1040 Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
1041 https://bugs.webkit.org/show_bug.cgi?id=130409
1043 Reviewed by Darin Adler.
1045 * css/CSSComputedStyleDeclaration.cpp:
1046 (WebCore::logUnimplementedPropertyID):
1047 * css/CSSDefaultStyleSheets.cpp:
1048 (WebCore::screenEval):
1049 (WebCore::printEval):
1050 * css/CSSParser.cpp:
1051 (WebCore::strictCSSParserContext):
1052 * css/CSSPrimitiveValue.cpp:
1053 (WebCore::cssTextCache):
1054 * css/CSSProperty.cpp:
1055 (WebCore::borderDirections):
1056 * css/CSSStyleRule.cpp:
1057 (WebCore::selectorTextCache):
1058 * css/CSSValuePool.cpp:
1059 (WebCore::cssValuePool):
1060 * css/CSSValuePool.h:
1061 * css/DeprecatedStyleBuilder.cpp:
1062 (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
1063 (WebCore::DeprecatedStyleBuilder::sharedStyleBuilder):
1064 * css/DeprecatedStyleBuilder.h:
1066 2014-03-30 Xabier Rodriguez Calvar <calvaris@igalia.com>
1068 [GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
1069 https://bugs.webkit.org/show_bug.cgi?id=130665
1071 Reviewed by Martin Robinson.
1073 When we uploaded a video texture to the mapper we were not
1074 considering that some videos could be decoded into a format
1075 without alpha component. Now we check if the video has alpha and
1076 if it does not, we remove the alpha flag when retrieving the
1077 texture from the pool. For this, the method to get the texture
1078 from the pool was modified to receive the flags, that is mapped to
1079 have alpha by default in order not to break any other existing
1082 Though we have a problem with AC in WTR and that makes it
1083 currently not testable, no new tests are needed because once this
1084 is fixed the current test set suffices to detect a possible
1087 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1088 (WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Check
1089 the video format and decide if the texture shall be pulled with
1090 alpha support or not.
1091 * platform/graphics/texmap/TextureMapper.cpp:
1092 (WebCore::TextureMapper::acquireTextureFromPool): Use the flags
1093 when resetting the texture.
1094 * platform/graphics/texmap/TextureMapper.h:
1095 (WebCore::BitmapTexture::Flag::None): Added with 0x00.
1096 (WebCore::TextureMapper::acquireTextureFromPool): Added flag
1097 parameter to set up the texture with the default for including
1100 2014-03-30 Jinwoo Song <jinwoo7.song@samsung.com>
1102 Adopt range-based for loops to TextCheckerEnchant
1103 https://bugs.webkit.org/show_bug.cgi?id=130714
1105 Reviewed by Darin Adler.
1107 * platform/text/enchant/TextCheckerEnchant.cpp:
1108 (WebCore::TextCheckerEnchant::ignoreWord):
1109 (WebCore::TextCheckerEnchant::learnWord):
1110 (WebCore::TextCheckerEnchant::checkSpellingOfWord):
1111 (WebCore::TextCheckerEnchant::getGuessesForWord):
1112 (WebCore::TextCheckerEnchant::updateSpellCheckingLanguages):
1113 (WebCore::TextCheckerEnchant::loadedSpellCheckingLanguages):
1114 (WebCore::TextCheckerEnchant::availableSpellCheckingLanguages):
1115 (WebCore::TextCheckerEnchant::freeEnchantBrokerDictionaries):
1117 2014-03-30 Benjamin Poulain <benjamin@webkit.org>
1119 Second attempt to fix 32bits build after r166465
1121 * rendering/style/RenderStyle.h:
1122 The compiler probably complain about the return value, that makes more sense.
1124 2014-03-30 Benjamin Poulain <benjamin@webkit.org>
1126 Attempt to fix 32bits build after r166465
1128 * rendering/style/RenderStyle.h:
1130 2014-03-30 Benjamin Poulain <benjamin@webkit.org>
1132 Make RenderStyle's non inherited flags more JSC friendly
1133 https://bugs.webkit.org/show_bug.cgi?id=130939
1135 Reviewed by Andreas Kling.
1137 Make RenderStyle::NonInheritedFlags accessible to the JIT:
1138 -Make the struct public to give access to the offset.
1139 -Move away from a bit field to static offsets we can use
1140 with the MacroAssembler.
1141 -Reorder the field to simplify bit access of the flags we need.
1143 * css/DeprecatedStyleBuilder.cpp:
1144 (WebCore::ApplyPropertyVerticalAlign::createHandler):
1145 (WebCore::ApplyPropertyDisplay::applyInitialValue):
1146 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1147 * css/StyleResolver.cpp:
1148 (WebCore::StyleResolver::adjustRenderStyle):
1149 * rendering/style/RenderStyle.cpp:
1150 (WebCore::RenderStyle::RenderStyle):
1151 (WebCore::RenderStyle::copyNonInheritedFrom):
1152 (WebCore::RenderStyle::hashForTextAutosizing):
1153 (WebCore::RenderStyle::equalForTextAutosizing):
1154 (WebCore::RenderStyle::changeRequiresLayout):
1155 * rendering/style/RenderStyle.h:
1156 (WebCore::RenderStyle::hasAnyPublicPseudoStyles):
1157 (WebCore::RenderStyle::hasPseudoStyle):
1158 (WebCore::RenderStyle::setHasPseudoStyle):
1159 * rendering/style/StyleMultiColData.cpp:
1160 (WebCore::StyleMultiColData::StyleMultiColData):
1161 * rendering/style/StyleRareNonInheritedData.cpp:
1162 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1164 2014-03-30 David Kilzer <ddkilzer@apple.com>
1166 [iOS] Fix build of HTMLConverter.mm after r166454
1168 Fixes the following build failures:
1170 WebCore/editing/cocoa/HTMLConverter.mm:1507:13: error: value of type 'WebCore::Element' is not contextually convertible to 'bool'
1173 WebCore/editing/cocoa/HTMLConverter.mm:1508:49: error: no matching function for call to 'core'
1174 _caches->floatPropertyValueForNode(*core(element), CSSPropertyVerticalAlign, verticalAlign);
1176 In file included from WebCore/editing/cocoa/HTMLConverter.mm:41:
1177 In file included from WebCore/page/Frame.h:42:
1178 In file included from WebCore/editing/VisibleSelection.h:30:
1179 In file included from WebCore/editing/VisiblePosition.h:30:
1180 In file included from WebCore/dom/Position.h:31:
1181 WebCore/editing/TextAffinity.h:54:27: note: candidate function not viable: no known conversion from 'WebCore::Element' to 'NSSelectionAffinity' (aka '_NSSelectionAffinity') for 1st argument
1182 inline WebCore::EAffinity core(NSSelectionAffinity affinity)
1184 WebCore/editing/cocoa/HTMLConverter.mm:1509:81: error: reference to non-static member function must be called; did you mean to call it with no arguments?
1185 attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
1186 ~~~~~~~~^~~~~~~~~~~~
1188 WebCore/editing/cocoa/HTMLConverter.mm:1509:103: error: reference to non-static member function must be called; did you mean to call it with no arguments?
1189 attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
1192 WebCore/editing/cocoa/HTMLConverter.mm:1509:124: error: reference to non-static member function must be called; did you mean to call it with no arguments?
1193 attachment.get().bounds = CGRectMake(0, (verticalAlign / 100) * element.clientHeight, element.clientWidth, element.clientHeight);
1194 ~~~~~~~~^~~~~~~~~~~~
1198 * editing/cocoa/HTMLConverter.mm:
1199 (HTMLConverter::_addAttachmentForElement):
1201 2014-03-30 Andreas Kling <akling@apple.com>
1203 Make NodeList and HTMLCollection caching helpers use PassRef.
1204 <https://webkit.org/b/130943>
1206 Tweak the helpers in NodeListsNodeData to return PassRef instead of
1207 PassRefPtr. This knocks 2 branches off of some pretty hot code on
1210 Reviewed by Antti Koivisto.
1212 * dom/ChildNodeList.h:
1213 * dom/ClassNodeList.h:
1214 * dom/NameNodeList.h:
1215 * dom/NodeRareData.h:
1216 (WebCore::NodeListsNodeData::ensureChildNodeList):
1217 (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
1218 (WebCore::NodeListsNodeData::addCacheWithAtomicName):
1219 (WebCore::NodeListsNodeData::addCacheWithName):
1220 (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
1221 (WebCore::NodeListsNodeData::addCachedCollection):
1222 * dom/TagNodeList.h:
1223 * html/HTMLCollection.cpp:
1224 (WebCore::HTMLCollection::create):
1225 * html/HTMLCollection.h:
1226 * html/HTMLFormControlsCollection.cpp:
1227 (WebCore::HTMLFormControlsCollection::create):
1228 * html/HTMLFormControlsCollection.h:
1229 * html/RadioNodeList.h:
1231 2014-03-29 Antti Koivisto <antti@apple.com>
1233 LiveNodeLists should use ElementDescendantIterator
1234 https://bugs.webkit.org/show_bug.cgi?id=130931
1236 Reviewed by Andreas Kling.
1238 Make LiveNodeList traversal use the common DOM tree iterator.
1240 * dom/ChildNodeList.cpp:
1241 (WebCore::ChildNodeList::ChildNodeList):
1242 (WebCore::ChildNodeList::collectionBegin):
1243 (WebCore::ChildNodeList::collectionTraverseForward):
1244 (WebCore::ChildNodeList::collectionTraverseBackward):
1245 (WebCore::ChildNodeList::invalidateCache):
1246 (WebCore::ChildNodeList::collectionFirst): Deleted.
1248 Iterator for ChildNodeList is still just Node*.
1250 * dom/ChildNodeList.h:
1251 * dom/CollectionIndexCache.h:
1252 (WebCore::CollectionIndexCache::hasValidCache):
1253 (WebCore::Iterator>::CollectionIndexCache):
1254 (WebCore::Iterator>::nodeCount):
1255 (WebCore::Iterator>::computeNodeCountUpdatingListCache):
1256 (WebCore::Iterator>::traverseBackwardTo):
1257 (WebCore::Iterator>::traverseForwardTo):
1258 (WebCore::Iterator>::nodeAt):
1259 (WebCore::Iterator>::invalidate):
1261 Make CollectionIndexCache iterator based instead of using NodeType*. The iterator type may
1262 still be a Node* though.
1264 (WebCore::NodeType>::CollectionIndexCache): Deleted.
1265 (WebCore::NodeType>::nodeCount): Deleted.
1266 (WebCore::NodeType>::computeNodeCountUpdatingListCache): Deleted.
1267 (WebCore::NodeType>::nodeBeforeCached): Deleted.
1268 (WebCore::NodeType>::nodeAfterCached): Deleted.
1269 (WebCore::NodeType>::nodeAt): Deleted.
1270 (WebCore::NodeType>::invalidate): Deleted.
1271 * dom/ElementDescendantIterator.h:
1272 (WebCore::ElementDescendantIterator::operator--):
1274 Add backward iteration support.
1276 (WebCore::ElementDescendantIteratorAdapter::last):
1277 (WebCore::ElementDescendantConstIteratorAdapter::last):
1279 Add a way to get the last item.
1280 Provide std::iterator_traits so we can extract the type.
1282 * dom/LiveNodeList.h:
1283 (WebCore::CachedLiveNodeList::collectionEnd):
1284 (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
1285 (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
1286 (WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
1287 (WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
1288 (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
1289 (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
1290 (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
1291 (WebCore::CachedLiveNodeList<NodeListType>::collectionFirst): Deleted.
1293 Make LiveNodeList traversal use ElementDescendantIterator.
1295 (WebCore::nextMatchingElement): Deleted.
1296 (WebCore::previousMatchingElement): Deleted.
1297 * html/HTMLCollection.cpp:
1298 (WebCore::HTMLCollection::HTMLCollection):
1299 (WebCore::HTMLCollection::~HTMLCollection):
1300 (WebCore::HTMLCollection::collectionBegin):
1301 (WebCore::HTMLCollection::collectionTraverseForward):
1302 (WebCore::HTMLCollection::collectionTraverseBackward):
1303 (WebCore::HTMLCollection::invalidateCache):
1304 (WebCore::HTMLCollection::collectionFirst): Deleted.
1305 * html/HTMLCollection.h:
1306 (WebCore::HTMLCollection::collectionEnd):
1308 HTMLCollection still uses Element* as iterator for now.
1310 2014-03-29 Commit Queue <commit-queue@webkit.org>
1312 Unreviewed, rolling out r166434.
1313 https://bugs.webkit.org/show_bug.cgi?id=130938
1315 Caused crashes and other failures on cache tests (Requested by
1320 "Web Replay: add page-level setting to bypass the MemoryCache"
1321 https://bugs.webkit.org/show_bug.cgi?id=130728
1322 http://trac.webkit.org/changeset/166434
1324 2014-03-29 David Kilzer <ddkilzer@apple.com>
1326 Preserve selection end positions in directionOfSelection
1327 <http://webkit.org/b/104813>
1328 <rdar://problem/13666417>
1330 Reviewed by Brent Fulgham.
1332 Merged from Blink (patch by kenrb@chromium.org):
1333 https://src.chromium.org/viewvc/blink?revision=150621&view=revision
1334 http://crbug.com/164263
1336 VisibleSelection::visibleStart() and VisibleSelection::visibleEnd()
1337 can both cause layouts, which has the potential to invalidate any
1338 rendertree-based objects. This was causing a problem in
1339 FrameSelection::directionOfSelection(), where a reference to a
1340 lineBox was being held across a call to visibleEnd().
1342 This patch ensures that the any layout is completed before linebox
1343 references are retrieved.
1345 Test: editing/selection/layout-during-move-selection-crash.html
1347 * editing/FrameSelection.cpp:
1348 (WebCore::FrameSelection::directionOfSelection):
1350 2014-03-29 Zalan Bujtas <zalan@apple.com>
1352 Subpixel rendering: Simple line layout should not round to integral position while painting.
1353 https://bugs.webkit.org/show_bug.cgi?id=130934
1355 Reviewed by Simon Fraser.
1357 Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
1358 integral rounding produces different paint position.
1360 Test: fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html
1362 * rendering/SimpleLineLayoutFunctions.cpp:
1363 (WebCore::SimpleLineLayout::paintFlow):
1365 2014-03-29 Zalan Bujtas <zalan@apple.com>
1367 Subpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
1368 https://bugs.webkit.org/show_bug.cgi?id=130932
1370 Reviewed by Simon Fraser.
1372 This is in preparation to support device pixel based filter painting.
1373 Filter calculation is still integral based.
1375 No change in behavior.
1377 * platform/graphics/GraphicsContext.cpp:
1378 (WebCore::GraphicsContext::drawImageBuffer):
1379 * platform/graphics/GraphicsContext.h:
1380 * platform/graphics/filters/FilterEffect.cpp: This will eventually be fully float based.
1381 Right now, this IntRect->FloatRect change is only to ensure that we can call
1382 the float based drawImageBuffer().
1383 (WebCore::FilterEffect::drawingRegionOfInputImage):
1384 * platform/graphics/filters/FilterEffect.h:
1386 2014-03-27 Sam Weinig <sam@webkit.org>
1388 Convert yet more of HTMLConverter to C++
1389 https://bugs.webkit.org/show_bug.cgi?id=130850
1391 Reviewed by Anders Carlsson.
1393 * editing/cocoa/HTMLConverter.mm:
1394 (HTMLConverterCaches::isAncestorsOfStartToBeConverted):
1395 (HTMLConverter::HTMLConverter):
1396 (HTMLConverter::~HTMLConverter):
1397 (HTMLConverter::convert):
1398 (HTMLConverter::computedAttributesForElement):
1399 (HTMLConverter::attributesForElement):
1400 (HTMLConverter::_newParagraphForElement):
1401 (HTMLConverter::_newLineForElement):
1402 (HTMLConverter::_newTabForElement):
1403 (HTMLConverter::_addAttachmentForElement):
1404 (HTMLConverter::_addQuoteForElement):
1405 (HTMLConverter::_addValue):
1406 (HTMLConverter::_processHeadElement):
1407 (HTMLConverter::_enterElement):
1408 (HTMLConverter::_addTableCellForElement):
1409 (HTMLConverter::_processElement):
1410 (HTMLConverter::_addMarkersToList):
1411 (HTMLConverter::_exitElement):
1412 (HTMLConverter::_processText):
1413 (HTMLConverter::_traverseNode):
1414 (HTMLConverter::_traverseFooterNode):
1415 (WebCore::attributedStringFromRange):
1416 (_childrenForNode): Deleted.
1417 (HTMLConverter::_computedAttributesForElement): Deleted.
1418 (HTMLConverter::_attributesForElement): Deleted.
1419 (HTMLConverter::_loadFromDOMRange): Deleted.
1421 2014-03-28 Csaba Osztrogonác <ossy@webkit.org>
1423 Unreviewed buildfix after r166441 and r166443.
1425 * CMakeLists.txt: Add platform/audio/AudioHardwareListener.cpp.
1427 2014-03-28 Javier Fernandez <jfernandez@igalia.com>
1429 [CSS Grid Layout] The 'auto' height must be adapted to the item's margin.
1430 https://bugs.webkit.org/show_bug.cgi?id=130920
1432 Reviewed by Darin Adler.
1434 Adding the grid-item's marginLogicalHeight to the used breadth when computing
1435 content based grid-track sizes.
1437 Test: fast/css-grid-layout/grid-item-margin-auto-columns-rows.html
1439 * rendering/RenderGrid.cpp:
1440 (WebCore::RenderGrid::logicalContentHeightForChild):
1442 2014-03-28 James Craig <jcraig@apple.com>
1444 Web Inspector: AXI: support for live regions
1445 https://bugs.webkit.org/show_bug.cgi?id=130725
1447 Reviewed by Timothy Hatcher.
1449 Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1450 inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html
1452 Initial support for @aria-live, @aria-atomic, and @aria-busy.
1454 * inspector/InspectorDOMAgent.cpp:
1455 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1456 * inspector/protocol/DOM.json:
1458 2014-03-28 Darin Adler <darin@apple.com>
1460 Fix recently-introduced off-by-one error in centerTruncateToBuffer
1461 https://bugs.webkit.org/show_bug.cgi?id=130889
1462 <rdar://problem/16408694>
1464 Reviewed by Alexey Proskuryakov.
1466 * platform/graphics/StringTruncator.cpp:
1467 (WebCore::centerTruncateToBuffer): Simplified expression that computes truncatedLength.
1468 Removed incorrect "+ 1" from computation of where to write characters.
1470 2014-03-28 Benjamin Poulain <bpoulain@apple.com>
1472 Update the code related to SelectorPseudoTypeMap to reflect its new purpose
1473 https://bugs.webkit.org/show_bug.cgi?id=130620
1475 Reviewed by Andreas Kling.
1477 Since r166094, SelectorPseudoTypeMap only contains PseudoClass instances and the 4 compatibility PseudoElement.
1479 This patch rename SelectorPseudoTypeMap to SelectorPseudoClassAndCompatibilityElementMap and update the parsing
1480 to split PseudoClass and PseudoElement.
1483 * DerivedSources.make:
1484 * WebCore.xcodeproj/project.pbxproj:
1485 * css/CSSGrammar.y.in:
1486 * css/CSSParserValues.cpp:
1487 (WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
1488 (WebCore::CSSParserSelector::setPseudoClassValue):
1489 * css/CSSParserValues.h:
1490 * css/CSSSelector.cpp:
1491 (WebCore::appendPseudoClassFunctionTail):
1492 (WebCore::CSSSelector::selectorText):
1493 * css/SelectorPseudoClassAndCompatibilityElementMap.in: Renamed from Source/WebCore/css/SelectorPseudoTypeMap.in.
1494 * css/SelectorPseudoTypeMap.h:
1495 * css/makeSelectorPseudoClassAndCompatibilityElementMap.py: Renamed from Source/WebCore/css/makeSelectorPseudoTypeMap.py.
1496 (enumerablePseudoType):
1497 (expand_ifdef_condition):
1499 2014-03-28 Stephanie Lewis <slewis@apple.com>
1501 Unreviewed build fix.
1503 * platform/audio/AudioHardwareListener.cpp:
1504 (WebCore::AudioHardwareListener::create):
1505 (WebCore::AudioHardwareListener::audioHardwareListenerIsSupported): Deleted.
1506 * platform/audio/AudioHardwareListener.h:
1508 2014-03-28 Lukasz Bialek <l.bialek@samsung.com>
1510 Refactor cut and copy functions as suggested in FIXME line
1511 https://bugs.webkit.org/show_bug.cgi?id=129867
1513 Reviewed by Darin Adler.
1515 Cut and Copy functions in Editor.cpp use lots of common code.
1516 Those functions are merged into one to share code, several
1517 additional conditions are added to preserve Cut and Copy
1520 * editing/Editor.cpp:
1521 (WebCore::Editor::cut):
1522 (WebCore::Editor::copy):
1523 (WebCore::Editor::performCutOrCopy):
1526 2014-03-28 Stephanie Lewis <slewis@apple.com>
1528 Rename pluginDidEvaluate to better represent when it’s called.
1529 Part of <rdar://problem/16061257> PluginProcess should AppNap when no plugins on active tab.
1531 Reviewed by Anders Carlsson.
1533 No new test because it’s just a name change.
1535 * page/PageThrottler.h:
1536 (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
1538 2014-03-28 Stephanie Lewis <slewis@apple.com>
1540 Notification handler for telling if audio hardware is active.
1541 https://bugs.webkit.org/show_bug.cgi?id=130743
1543 Reviewed by Jer Noble.
1545 Not web-exposed so no easy way to test.
1547 Listen to CoreAudio to see if audio hardware is active in the current process.
1550 * WebCore.xcodeproj/project.pbxproj:
1551 * platform/audio/AudioHardwareListener.cpp: Added.
1552 (WebCore::AudioHardwareListener::create):
1553 (WebCore::AudioHardwareListener::AudioHardwareListener):
1554 * platform/audio/AudioHardwareListener.h: Added.
1555 (WebCore::AudioHardwareListener::Client::~Client):
1556 (WebCore::AudioHardwareListener::~AudioHardwareListener):
1557 (WebCore::AudioHardwareListener::isHardwareActive):
1558 * platform/audio/mac/AudioHardwareListenerMac.cpp: Added.
1559 (WebCore::isAudioHardwareProcessRunning):
1560 (WebCore::AudioHardwareListener::create):
1561 (WebCore::AudioHardwareListenerMac::create):
1562 (WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):
1563 (WebCore::AudioHardwareListenerMac::~AudioHardwareListenerMac):
1564 (WebCore::AudioHardwareListenerMac::setHardwareActive):
1565 * platform/audio/mac/AudioHardwareListenerMac.h: Added.
1567 2014-03-28 James Craig <jcraig@apple.com>
1569 Web Inspector: AXI: expose what elements get generic "clickable" status
1570 https://bugs.webkit.org/show_bug.cgi?id=130721
1572 Reviewed by Timothy Hatcher.
1574 Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
1575 Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html
1577 Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
1579 Update AccessibilityNodeObject::mouseButtonListener() to optionally return body element if
1580 requested so that Web Inspector can display body event delegate handlers.
1582 * accessibility/AccessibilityNodeObject.cpp:
1583 (WebCore::AccessibilityNodeObject::mouseButtonListener):
1584 * accessibility/AccessibilityNodeObject.h:
1585 * inspector/InspectorDOMAgent.cpp:
1586 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1587 * inspector/protocol/DOM.json:
1589 2014-03-28 Joseph Pecoraro <pecoraro@apple.com>
1591 Web Inspector: Really drop all locks in nested run loop on iOS if WebThread is enabled
1592 https://bugs.webkit.org/show_bug.cgi?id=130912
1594 Reviewed by Geoffrey Garen.
1596 Previously we were calling DropAllLocks inside of a single line if statement,
1597 so the JSLock was getting reaquired very quickly. We really want to DropAllLocks
1598 for the duration of running the nested run loop on iOS if there is a WebThread.
1600 * bindings/js/PageScriptDebugServer.h:
1601 * bindings/js/PageScriptDebugServer.cpp:
1602 (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
1603 (WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):
1605 2014-03-28 Brent Fulgham <bfulgham@apple.com>
1607 [Win] Enable Media Track testing features on Windows
1608 https://bugs.webkit.org/show_bug.cgi?id=130851
1610 Reviewed by Eric Carlson.
1612 * testing/Internals.cpp:
1613 (WebCore::Internals::resetToConsistentState): Execute code on Windows as well.
1614 (WebCore::Internals::Internals): Ditto.
1615 (WebCore::Internals::captionsStyleSheetOverride): Ditto.
1616 (WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
1617 (WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
1618 (WebCore::Internals::setCaptionDisplayMode): Ditto.
1620 2014-03-28 Brian Burg <bburg@apple.com>
1622 Web Replay: add page-level setting to bypass the MemoryCache
1623 https://bugs.webkit.org/show_bug.cgi?id=130728
1625 Reviewed by Timothy Hatcher.
1627 When replaying a specific Page we don't want to store its cached resources in the
1628 MemoryCache. This patch adds a page setting to prevent the page's resources from
1629 being saved in the MemoryCache.
1631 If Settings::usesMemoryCache() is false, page resources are given the special
1632 SessionID bypassCacheSessionID(). The cached resource loader and memory cache
1633 act as if the memory cache is disabled if the resource has this special session id.
1635 Hook up ReplayController to override the memory cache setting during capture/replay.
1637 Test: http/tests/cache/bypass-memory-cache-after-reload.html
1639 * loader/cache/CachedResourceLoader.cpp:
1640 (WebCore::CachedResourceLoader::requestResource):
1641 (WebCore::CachedResourceLoader::revalidateResource):
1642 * loader/cache/MemoryCache.cpp:
1643 (WebCore::MemoryCache::add):
1645 (WebCore::Page::sessionID):
1647 (WebCore::SessionID::bypassCacheSessionID):
1648 * page/Settings.cpp:
1649 (WebCore::Settings::Settings):
1651 (WebCore::Settings::setUsesMemoryCache):
1652 (WebCore::Settings::usesMemoryCache):
1653 * replay/ReplayController.cpp:
1654 (WebCore::ReplayController::setForceDeterministicSettings):
1655 * replay/ReplayController.h:
1656 * testing/InternalSettings.cpp:
1657 (WebCore::InternalSettings::Backup::Backup):
1658 (WebCore::InternalSettings::Backup::restoreTo):
1659 (WebCore::InternalSettings::setUsesMemoryCache):
1660 * testing/InternalSettings.h:
1661 * testing/InternalSettings.idl:
1663 2014-03-28 Radu Stavila <stavila@adobe.com>
1665 In some situations, partial layouts of floating elements produce incorrect results.
1666 https://bugs.webkit.org/show_bug.cgi?id=122668
1668 Reviewed by David Hyatt.
1670 When performing partial layout of float elements and checking if other float
1671 elements are encountered, incorrect results were obtained by not checking
1672 the size of the existing floats vector.
1674 Test: fast/block/float/floats-in-clean-line-crash.html
1676 * rendering/RenderBlockLineLayout.cpp:
1677 (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
1679 2014-03-28 Beth Dakin <bdakin@apple.com>
1683 * rendering/RenderTheme.cpp:
1684 (WebCore::RenderTheme::paint):
1686 2014-03-28 Jer Noble <jer.noble@apple.com>
1688 [MSE] Implement support for SourceBuffer.remove()
1689 https://bugs.webkit.org/show_bug.cgi?id=121562
1691 Reviewed by Eric Carlson.
1693 Test: media/media-source/media-source-remove.html
1695 Add support for SourceBuffer.remove().
1697 * Modules/mediasource/SourceBuffer.cpp:
1698 (WebCore::SourceBuffer::SourceBuffer): Initialize new member variables.
1699 (WebCore::SourceBuffer::setTimestampOffset): Update comments to match spec.
1700 (WebCore::SourceBuffer::remove): Added; start removeTimer.
1701 (WebCore::SourceBuffer::abortIfUpdating): Cancel removeTimer.
1702 (WebCore::SourceBuffer::removedFromMediaSource): Call abortIfUpdating().
1703 (WebCore::SourceBuffer::stop): Cancel removeTimer.
1704 (WebCore::SourceBuffer::removeCodedFrames): Added.
1705 (WebCore::SourceBuffer::removeTimerFired): Added.
1706 * Modules/mediasource/SourceBuffer.h:
1707 * Modules/mediasource/SourceBuffer.idl:
1709 2014-03-27 Dean Jackson <dino@apple.com>
1711 Support form controls that may need incremental redraw
1712 https://bugs.webkit.org/show_bug.cgi?id=130736
1714 Reviewed by Beth Dakin.
1716 There are some form controls that change appearance
1717 over time. Expand the ControlStates so that it can
1718 hold a little more information, including a reference
1719 to the native form control. This way the Theme implementation
1720 can repaint the existing native control if necessary. At
1721 least ThemeMac was reusing a single control for painting
1722 all instances before this change.
1724 Since ControlStates is now a class, pass it around by
1727 The other major change is keeping a timer to trigger a
1728 repaint in RenderBox, which happens if Theme/RenderTheme
1729 update the ControlState to request one.
1731 * WebCore.xcodeproj/project.pbxproj: Add ControlStates.h.
1732 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1733 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1735 (WebCore::Element::setActive): States now within ControlStates.
1736 (WebCore::Element::setHovered): Ditto.
1737 * editing/FrameSelection.cpp:
1738 (WebCore::FrameSelection::focusedOrActiveStateChanged): Ditto.
1739 * html/HTMLFormControlElement.cpp:
1740 (WebCore::HTMLFormControlElement::disabledStateChanged): Ditto.
1741 (WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
1742 * html/HTMLInputElement.cpp:
1743 (WebCore::HTMLInputElement::setChecked): Ditto.
1744 (WebCore::HTMLInputElement::setIndeterminate): Ditto.
1745 * html/HTMLOptionElement.cpp:
1746 (WebCore::HTMLOptionElement::parseAttribute): Ditto.
1747 * platform/ControlStates.h: New file. Copied the old ControlStates enum,
1748 and added accessors to hold whether or not the state is dirty, and
1749 a reference to a platform control if necessary.
1751 (WebCore::Theme::selectionColor): Pass ControlStates pointer.
1752 (WebCore::Theme::paint): Ditto.
1753 (WebCore::Theme::inflateControlPaintRect): Ditto.
1754 * platform/ThemeTypes.h: Remove ControlStates enum.
1755 * platform/efl/RenderThemeEfl.cpp:
1756 (WebCore::RenderThemeEfl::applyEdjeStateFromForm): Pass ControlStates pointer.
1757 (WebCore::RenderThemeEfl::paintThemePart): Ditto.
1758 * platform/efl/RenderThemeEfl.h: Ditto.
1759 * platform/mac/ThemeMac.h: Ditto.
1760 * platform/mac/ThemeMac.mm:
1761 (-[WebCoreThemeView addSubview:]): New method to make sure we don't add CALayer backed
1762 views to the NSView we're using for rendering.
1763 (WebCore::updateStates): Use the private animated setters if necessary.
1764 (WebCore::convertControlStatesToThemeDrawState): Namespacing.
1765 (WebCore::configureCheckbox): Pass ControlStates pointer.
1766 (WebCore::createCheckboxCell): New helper since we're creating non-static cells.
1767 (WebCore::sharedCheckboxCell): The old static provider, renamed.
1768 (WebCore::paintCheckbox): Check if this paint was triggered by a state change
1769 or an animation. Update the ControlStates if we need to be repainted.
1770 (WebCore::radio): Parameter is now ControlStates*.
1771 (WebCore::paintRadio): Ditto.
1772 (WebCore::setUpButtonCell): Ditto.
1773 (WebCore::button): Ditto.
1774 (WebCore::paintButton): Ditto.
1775 (WebCore::paintStepper): Ditto.
1776 (WebCore::ThemeMac::ensuredView): Ditto.
1777 (WebCore::ThemeMac::inflateControlPaintRect): Ditto.
1778 (WebCore::ThemeMac::paint): Ditto.
1779 (WebCore::checkbox): Deleted.
1780 * rendering/RenderBox.cpp:
1781 (WebCore::RenderBox::RenderBox): Initialize timer.
1782 (WebCore::RenderBox::~RenderBox): Stop any pending timers and delete the ControlState if necessary.
1783 (WebCore::RenderBox::paintBoxDecorations): Create a ControlStates if needed. Paint, and start the repaint
1784 timer if the ControlStates say we should.
1785 (WebCore::RenderBox::repaintTimerFired): Call repaint when the timer fires.
1786 * rendering/RenderBox.h: Add a timer for repainting.
1787 * rendering/RenderElement.cpp:
1788 (WebCore::controlStatesRendererMap): A static HashMap that associates renderers with ControlStates.
1789 (WebCore::RenderElement::hasControlStatesForRenderer):
1790 (WebCore::RenderElement::controlStatesForRenderer):
1791 (WebCore::RenderElement::removeControlStatesForRenderer):
1792 (WebCore::RenderElement::addControlStatesForRenderer):
1793 * rendering/RenderElement.h:
1794 * rendering/RenderTheme.cpp:
1795 (WebCore::RenderTheme::paint): Use a pointer to ControlStates.
1796 (WebCore::RenderTheme::adjustRepaintRect): Ditto.
1797 (WebCore::RenderTheme::stateChanged): Ditto.
1798 (WebCore::RenderTheme::updateControlStatesForRenderer): New method that just updates the states part of ControlStates.
1799 (WebCore::RenderTheme::extractControlStatesForRenderer): New method that calculates the state.
1800 (WebCore::RenderTheme::controlStatesForRenderer): Deleted.
1801 * rendering/RenderTheme.h:
1802 * rendering/RenderThemeMac.mm:
1803 (WebCore::RenderThemeMac::documentViewFor): Use a ControlStates pointer.
1805 2014-03-28 Myles C. Maxfield <mmaxfield@apple.com>
1807 Clear SVGInlineTextBox fragments when the text changes.
1808 https://bugs.webkit.org/show_bug.cgi?id=130879
1810 Reviewed by Darin Adler.
1812 Ported from Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision
1814 This patch modifies SVGInlineTextBox::dirtyLineBoxes to clear all
1815 following text boxes when invoked. Typically this method is called
1816 when the underlying text string changes, and that change needs to
1817 be propagated to all the boxes that use the text beyond the point
1818 where the text is first modified.
1820 Also cleans up final function keywords for SVGRootInlineBox.
1822 Test: svg/custom/unicode-in-tspan-multi-svg-crash.html
1824 * rendering/InlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
1825 (WebCore::InlineTextBox::dirtyOwnLineBoxes): Calls dirtyLineBoxes()
1826 * rendering/svg/SVGInlineTextBox.h: Added (non-recursive) dirtyOwnLineBoxes() function
1827 (WebCore::SVGInlineTextBox::dirtyOwnLineBoxes):
1828 * rendering/svg/SVGInlineTextBox.cpp:
1829 (WebCore::SVGInlineTextBox::dirtyOwnLineBoxes): Non-recursive part of dirtyLineBoxes()
1830 (WebCore::SVGInlineTextBox::dirtyLineBoxes): Calls dirtyOwnLineBoxes() in a loop
1831 * rendering/svg/SVGRootInlineBox.h:
1833 2014-03-28 Andreas Kling <akling@apple.com>
1835 Rebaseline bindings tests.
1837 2014-03-28 Michael Saboff <msaboff@apple.com>
1839 Unreviewed, rolling r166248 back in.
1841 Turns out r166070 didn't cause a 2% performance loss in page load times
1845 Unreviewed, rolling out r166126.
1846 Rollout r166126 in prepartion to roll out prerequisite r166070
1848 2014-03-26 Antonio Gomes <a1.gomes@sisa.samsung.com>
1850 [Bindings] constants are always typed to 'int'
1851 https://bugs.webkit.org/show_bug.cgi?id=130775
1853 Reviewed by Darin Adler.
1855 Patch fixes a bug where all constant getter generated
1856 methods were returning 'integer' values due to static_cast.
1858 Compilers should be smarth enough to properly infer which
1859 jsNumber class construtor to call given a literal value.
1861 Patch also fixes a bug where values whose representation
1862 is bigger an integer maximum were overflowing. For instance,
1863 NodeFilter.SHOW_ALL (0xFFFFFFFF).
1866 Binding tests updated.
1867 Rebaselined fast/dom/constants.html
1869 * bindings/scripts/CodeGeneratorJS.pm:
1870 (GenerateImplementation):
1871 * bindings/scripts/test/JS/JSTestInterface.cpp:
1872 (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT1):
1873 (WebCore::jsTestInterfaceIMPLEMENTSCONSTANT2):
1874 (WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT1):
1875 (WebCore::jsTestInterfaceSUPPLEMENTALCONSTANT2):
1876 * bindings/scripts/test/JS/JSTestObj.cpp:
1877 (WebCore::jsTestObjCONDITIONAL_CONST):
1878 (WebCore::jsTestObjCONST_VALUE_0):
1879 (WebCore::jsTestObjCONST_VALUE_1):
1880 (WebCore::jsTestObjCONST_VALUE_2):
1881 (WebCore::jsTestObjCONST_VALUE_4):
1882 (WebCore::jsTestObjCONST_VALUE_8):
1883 (WebCore::jsTestObjCONST_VALUE_9):
1884 (WebCore::jsTestObjCONST_VALUE_11):
1885 (WebCore::jsTestObjCONST_VALUE_12):
1886 (WebCore::jsTestObjCONST_VALUE_13):
1887 (WebCore::jsTestObjCONST_VALUE_14):
1888 (WebCore::jsTestObjCONST_JAVASCRIPT):
1889 (WebCore::jsTestObjReadonly):
1891 2014-03-28 Myles C. Maxfield <mmaxfield@apple.com>
1893 A TrailingObject's endpoint might get decremented twice
1894 https://bugs.webkit.org/show_bug.cgi?id=130874
1896 Reviewed by Darin Adler.
1898 There are two places where we might shave off a trailing space from the end
1899 of a line. We don't want to hit both codepaths for a single line.
1901 Fixes fast/block/update-midpoints-for-trailing-boxes-crash.html after r166245.
1903 * rendering/line/BreakingContextInlineHeaders.h:
1904 (WebCore::checkMidpoints):
1905 (WebCore::BreakingContext::handleEndOfLine):
1907 2014-03-28 Andreas Kling <akling@apple.com>
1909 Inline JSDOMWrapper subclasses' finishCreation().
1910 <https://webkit.org/b/130890>
1912 finishCreation() is really a no-op for JSDOMWrapper subclasses in
1913 release builds. None of the ancestor classes do anything but assert
1914 in their implementations.
1916 Generate the function inline, reducing binary size, and removing
1917 an unnecessary call from the JSFoo::create() helpers.
1919 Reviewed by Sam Weinig.
1921 * bindings/scripts/CodeGeneratorJS.pm:
1923 (GenerateImplementation):
1925 2014-03-28 Jer Noble <jer.noble@apple.com>
1927 [Mac] HLS streams will report an incorrect natural size.
1928 https://bugs.webkit.org/show_bug.cgi?id=130859
1930 Reviewed by Eric Carlson.
1932 Some HLS streams will report incorrect naturalSizes due to the asset's preferredTransform
1933 property not being available at the same time as the track's natural size. Given that
1934 AVFoundation only allows one video track to be selected at a time, simply use the asset's
1935 presentation size, cached in m_cachedPresentation size in all cases.
1937 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1938 (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
1940 2014-03-28 Antti Koivisto <antti@apple.com>
1942 Remove NodeListRootType flag
1943 https://bugs.webkit.org/show_bug.cgi?id=130896
1945 Reviewed by Anders Carlsson.
1947 This can be handled statically (except for the RadioNodeList case) removing
1948 a branch from NodeList traversal.
1950 * dom/ClassNodeList.h:
1952 (WebCore::Document::registerNodeListForInvalidation):
1953 (WebCore::Document::unregisterNodeListForInvalidation):
1954 (WebCore::Document::registerNodeList): Deleted.
1955 (WebCore::Document::unregisterNodeList): Deleted.
1957 Mark document invalidation registered lists with a bit.
1958 Renamed for clarity.
1961 * dom/LiveNodeList.cpp:
1962 (WebCore::LiveNodeList::LiveNodeList):
1963 (WebCore::LiveNodeList::rootNode):
1965 Base class version that invokes virtual isRootedAtDocument. It is needed to support
1966 LiveNodeList::namedItem.
1968 * dom/LiveNodeList.h:
1969 (WebCore::LiveNodeList::isRegisteredForInvalidationAtDocument):
1970 (WebCore::LiveNodeList::setRegisteredForInvalidationAtDocument):
1971 (WebCore::LiveNodeList::document):
1972 (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
1973 (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
1974 (WebCore::CachedLiveNodeList<NodeListType>::rootNode):
1976 Call isRootedAtDocument on the final leaf type. Except for RadioNodeList this
1977 resolves statically.
1979 (WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
1980 (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
1981 (WebCore::LiveNodeList::isRootedAtDocument): Deleted.
1982 (WebCore::LiveNodeList::rootType): Deleted.
1983 (WebCore::LiveNodeList::rootNode): Deleted.
1984 * dom/NameNodeList.h:
1985 * dom/NodeRareData.h:
1986 (WebCore::NodeListsNodeData::adoptDocument):
1987 * dom/TagNodeList.h:
1988 * html/HTMLCollection.cpp:
1989 (WebCore::rootTypeFromCollectionType):
1990 * html/HTMLCollection.h:
1991 (WebCore::HTMLCollection::isRootedAtDocument):
1992 (WebCore::HTMLCollection::rootType):
1994 HTMLCollections still needs the flag.
1996 * html/LabelsNodeList.cpp:
1997 (WebCore::LabelsNodeList::LabelsNodeList):
1998 * html/LabelsNodeList.h:
1999 * html/RadioNodeList.cpp:
2000 (WebCore::RadioNodeList::RadioNodeList):
2001 * html/RadioNodeList.h:
2003 2014-03-28 Mario Sanchez Prada <mario.prada@samsung.com>
2005 [GTK] Geoclue2 providers won't work after reloading
2006 https://bugs.webkit.org/show_bug.cgi?id=130898
2008 Reviewed by Martin Robinson.
2010 Don't reuse the Geoclue2 client proxy between different calls to
2011 startPosition(), and create a new client proxy each time instead.
2013 * platform/geoclue/GeolocationProviderGeoclue2.cpp:
2014 (GeolocationProviderGeoclue::startUpdating): Don't reuse the
2015 client proxy, by always calling geoclue_manager_call_get_client().
2016 (GeolocationProviderGeoclue::stopUpdating): Disconnect from the
2017 'location-updated' signal and dispose the client proxy.
2019 2014-03-28 Diego Pino Garcia <dpino@igalia.com>
2021 [GTK] Too many redirects visiting www.globalforestwatch.org
2022 https://bugs.webkit.org/show_bug.cgi?id=129681
2024 Reviewed by Martin Robinson.
2026 * platform/gtk/UserAgentGtk.cpp:
2027 (WebCore::standardUserAgent): Append Safari version to UserAgent
2030 2014-03-28 Michael Saboff <msaboff@apple.com>
2032 Unreviewed, rolling r166249 back in.
2034 Turns out r166070 didn't cause a 2% performance loss in page load times
2038 Unreviewed, rolling out r166070.
2039 Rollout r166070 due to 2% performance loss in page load times
2041 2014-03-28 James Craig <jcraig@apple.com>
2043 Web Inspector: Copy/paste error. EventListener block in DOM.json uses description from Node.
2044 https://bugs.webkit.org/show_bug.cgi?id=130158
2046 Reviewed by Timothy Hatcher.
2048 * inspector/protocol/DOM.json: Fixed a copy/paste annoyance.
2050 2014-03-27 James Craig <jcraig@apple.com>
2052 Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
2053 https://bugs.webkit.org/show_bug.cgi?id=130827
2055 Reviewed by Timothy Hatcher.
2057 Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
2059 Support for selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
2061 * inspector/InspectorDOMAgent.cpp:
2062 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2063 * inspector/protocol/DOM.json:
2065 2014-03-27 Brent Fulgham <bfulgham@apple.com>
2067 Specify Shadow DOM Pseudo IDs in Media Element Constructors
2068 https://bugs.webkit.org/show_bug.cgi?id=130882
2070 Reviewed by Eric Carlson.
2072 * html/shadow/MediaControlElements.cpp:
2073 (WebCore::MediaControlPanelElement::MediaControlPanelElement): Call setPseudoId in constructor.
2074 (WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement): Ditto.
2075 (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
2076 (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Ditto.
2077 (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
2078 (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Ditto.
2079 (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Ditto.
2080 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Ditto.
2081 (WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement): Ditto.
2082 (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Ditto.
2083 (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Ditto.
2084 (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
2085 (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
2086 (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
2087 (WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement): Ditto.
2088 (WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Ditto.
2089 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
2090 (WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement): Ditto.
2091 (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Ditto.
2092 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
2093 (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Ditto.
2094 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Ditto.
2095 (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Ditto.
2096 (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Ditto.
2097 (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Ditto.
2099 2014-03-27 Benjamin Poulain <bpoulain@apple.com>
2101 [iOS][WK2] Adjust the tile coverage on the scrollview's edges
2102 https://bugs.webkit.org/show_bug.cgi?id=130884
2104 Reviewed by Dan Bernstein.
2106 * platform/ios/ScrollViewIOS.mm:
2107 (WebCore::ScrollView::computeCoverageRect):
2108 Pull back the future rect inside the contentRect if it goes outside.
2109 There is no point in retiling for rubberbanding and the extra tiles should be always be
2110 on the opposite side to the edges.
2112 2014-03-27 Joseph Pecoraro <pecoraro@apple.com>
2114 Remove unused LocaleMac::create method
2115 https://bugs.webkit.org/show_bug.cgi?id=130870
2117 Reviewed by Andreas Kling.
2119 * platform/text/mac/LocaleMac.h:
2120 * platform/text/mac/LocaleMac.mm:
2121 (WebCore::LocaleMac::create): Deleted.
2122 (WebCore::LocaleMac::shortDateFormatter): Deleted.
2124 2014-03-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2126 Clean up unneeded "mutable" keyword
2127 https://bugs.webkit.org/show_bug.cgi?id=130832
2129 Reviewed by Andreas Kling.
2131 As r166350, this patch cleans up unneeded "mutable" keywords.
2132 Additionally, m_validatedSelectionCache is removed because it is not used anywhere else.
2134 * css/CSSFontFaceRule.h:
2135 * css/CSSStyleRule.h:
2136 * editing/FrameSelection.h:
2138 2014-03-27 Enrica Casucci <enrica@apple.com>
2140 Add support for AirPlay picker in WK2 for iOS.
2141 https://bugs.webkit.org/show_bug.cgi?id=130855
2142 <rdar://problem/15349859>
2144 Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.
2146 Adds support in HTMLMediaSession to display the airplay picker
2147 and to monitor presence of available wireless targets.
2149 * html/HTMLMediaSession.cpp:
2150 (WebCore::HTMLMediaSession::showPlaybackTargetPicker):
2151 (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
2152 (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
2153 * loader/EmptyClients.h:
2154 * page/ChromeClient.h:
2155 * platform/audio/MediaSessionManager.cpp:
2156 (WebCore::MediaSessionManager::wirelessRoutesAvailableChanged):
2157 * platform/audio/MediaSessionManager.h:
2158 (WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
2159 (WebCore::MediaSessionManager::startMonitoringAirPlayRoutes):
2160 (WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes):
2161 * platform/audio/ios/MediaSessionManagerIOS.h:
2162 * platform/audio/ios/MediaSessionManagerIOS.mm:
2163 (WebCore::MediaSessionManageriOS::hasWirelessTargetsAvailable):
2164 (WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes):
2165 (WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes):
2166 (-[WebMediaSessionHelper initWithCallback:]):
2167 (-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
2168 (-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
2169 (-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]):
2170 (-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):
2171 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2172 (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled):
2173 (WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
2175 2014-03-27 Bem Jones-Bey <bjonesbe@adobe.com>
2177 [CSS Shapes][css clip-path] rounded corner calculation for box shapes is wrong
2178 https://bugs.webkit.org/show_bug.cgi?id=127982
2180 Reviewed by Simon Fraser.
2182 Calculate rounded corners for box shapes as defined in the CSS Shapes
2185 Tests: css3/masking/clip-path-border-radius-border-box-000.html
2186 css3/masking/clip-path-border-radius-content-box-000.html
2187 css3/masking/clip-path-border-radius-content-box-001.html
2188 css3/masking/clip-path-border-radius-padding-box-000.html
2189 css3/masking/clip-path-border-radius-padding-box-001.html
2190 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html
2191 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html
2192 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html
2193 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html
2194 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html
2195 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html
2196 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html
2197 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html
2198 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html
2199 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html
2200 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html
2201 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html
2202 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html
2203 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html
2204 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html
2205 fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html
2207 * platform/graphics/RoundedRect.h:
2208 (WebCore::RoundedRect::Radii::transposedRadii): Transpose radii for
2209 vertical writing modes.
2210 (WebCore::RoundedRect::moveBy): Add method for use with clip path.
2211 (WebCore::RoundedRect::transposedRect): Transpose rect for vertical
2213 * rendering/RenderBox.h:
2214 (WebCore::RenderBox::marginBoxRect): Return the margin box rect for
2216 * rendering/RenderLayer.cpp:
2217 (WebCore::RenderLayer::setupClipPath): Call the new function for the
2218 rounded corner calculation.
2219 * rendering/shapes/ShapeInfo.cpp:
2220 (WebCore::ShapeInfo<RenderType>::computedShape): Call the new function
2221 for the rounded corner calculation.
2222 * rendering/shapes/BoxShape.cpp:
2223 (WebCore::adjustRadiusForMarginBoxShape): Helper function for
2224 computeRoundedRectForLayoutBoxShape.
2225 (WebCore::computeMarginBoxShapeRadius): Ditto.
2226 (WebCore::computeMarginBoxShapeRadii): Ditto.
2227 (WebCore::computeRoundedRectForBoxShape): Utility function to do the
2228 rounded corner calculation.
2229 * rendering/shapes/BoxShape.h: Add new function.
2230 * rendering/style/RenderStyle.h:
2231 (WebCore::RenderStyle::getRoundedInnerBorderFor): Add default argument
2234 2014-03-27 Commit Queue <commit-queue@webkit.org>
2236 Unreviewed, rolling out r166364.
2237 https://bugs.webkit.org/show_bug.cgi?id=130872
2239 Caused a test assertion (Requested by smfr on #webkit).
2243 "Operator stretching: expose a math data API"
2244 https://bugs.webkit.org/show_bug.cgi?id=130572
2245 http://trac.webkit.org/changeset/166364
2247 2014-03-27 Benjamin Poulain <bpoulain@apple.com>
2249 [iOS][WK2] Compute a good exposed rect when scaling WKContentView
2250 https://bugs.webkit.org/show_bug.cgi?id=130761
2252 Reviewed by Simon Fraser.
2255 * platform/ScrollView.h:
2256 * platform/ios/ScrollViewIOS.mm:
2257 (WebCore::ScrollView::setScrollVelocity):
2258 (WebCore::ScrollView::computeCoverageRect):
2259 While scaling in, do not add margins tiles. When scaling out, add 1 margin tile size
2262 2014-03-27 Commit Queue <commit-queue@webkit.org>
2264 Unreviewed, rolling out r166360.
2265 https://bugs.webkit.org/show_bug.cgi?id=130869
2267 Seems to have broken PLT (Requested by ap on #webkit).
2271 "Connection::dispatchOneMessage() can be re-entered while
2272 handling Cmd-key menu"
2273 https://bugs.webkit.org/show_bug.cgi?id=130767
2274 http://trac.webkit.org/changeset/166360
2276 2014-03-27 Antti Koivisto <antti@apple.com>
2278 Remove LiveNodeList::Type
2279 https://bugs.webkit.org/show_bug.cgi?id=130866
2281 Reviewed by Andreas Kling.
2283 We don't need dynamic type information anymore.
2285 * dom/ClassNodeList.cpp:
2286 (WebCore::ClassNodeList::ClassNodeList):
2287 * dom/ContainerNode.cpp:
2288 (WebCore::ContainerNode::getElementsByTagName):
2289 (WebCore::ContainerNode::getElementsByName):
2290 (WebCore::ContainerNode::getElementsByClassName):
2291 (WebCore::ContainerNode::radioNodeList):
2292 * dom/LiveNodeList.cpp:
2293 (WebCore::LiveNodeList::LiveNodeList):
2294 * dom/LiveNodeList.h:
2295 (WebCore::LiveNodeList::invalidationType):
2296 (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
2297 (WebCore::LiveNodeList::type): Deleted.
2298 * dom/NameNodeList.cpp:
2299 (WebCore::NameNodeList::NameNodeList):
2300 (WebCore::NameNodeList::nodeMatches): Deleted.
2301 * dom/NameNodeList.h:
2302 (WebCore::NameNodeList::nodeMatches):
2303 * dom/NodeRareData.h:
2304 (WebCore::NodeListTypeIdentifier<ClassNodeList>::value):
2305 (WebCore::NodeListTypeIdentifier<NameNodeList>::value):
2306 (WebCore::NodeListTypeIdentifier<TagNodeList>::value):
2307 (WebCore::NodeListTypeIdentifier<HTMLTagNodeList>::value):
2308 (WebCore::NodeListTypeIdentifier<RadioNodeList>::value):
2309 (WebCore::NodeListTypeIdentifier<LabelsNodeList>::value):
2311 Get unique id from type for key generation purposes only.
2313 (WebCore::NodeListsNodeData::addCacheWithAtomicName):
2314 (WebCore::NodeListsNodeData::addCacheWithName):
2315 (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
2316 (WebCore::NodeListsNodeData::removeCacheWithName):
2317 (WebCore::NodeListsNodeData::namedNodeListKey):
2318 * dom/TagNodeList.cpp:
2319 (WebCore::TagNodeList::TagNodeList):
2320 (WebCore::HTMLTagNodeList::HTMLTagNodeList):
2321 * dom/TagNodeList.h:
2322 * html/LabelableElement.cpp:
2323 (WebCore::LabelableElement::labels):
2324 * html/LabelsNodeList.cpp:
2325 (WebCore::LabelsNodeList::LabelsNodeList):
2326 * html/LabelsNodeList.h:
2327 * html/RadioNodeList.cpp:
2328 (WebCore::RadioNodeList::RadioNodeList):
2329 * html/RadioNodeList.h:
2331 2014-03-27 Simon Fraser <simon.fraser@apple.com>
2333 Fix crash when RenderView is cleared inside of frame flattening layout
2334 https://bugs.webkit.org/show_bug.cgi?id=130864
2336 Reviewed by Dan Bernstein.
2338 Navigating on http://wallstcheatsheet.com pages on iOS in WebKit1 would
2339 sometimes crash when, inside the inChildFrameLayoutWithFrameFlattening clause,
2340 our frame's RenderView would be null after doing a layout from the root frame,
2341 possibly also when WebCore was being re-entered from another thread.
2343 Add a null check to fix this.
2345 Crash was timing-dependent and hard to test.
2347 * page/FrameView.cpp:
2348 (WebCore::FrameView::layout):
2350 2014-03-27 Antti Koivisto <antti@apple.com>
2352 Remove some unnecessary branches from LiveNodeList traversal
2353 https://bugs.webkit.org/show_bug.cgi?id=130854
2355 Reviewed by Andreas Kling.
2357 Compile different traversal code paths for all NodeList subclasses.
2359 * dom/ClassNodeList.cpp:
2360 (WebCore::ClassNodeList::ClassNodeList):
2361 (WebCore::ClassNodeList::~ClassNodeList):
2362 (WebCore::ClassNodeList::nodeMatches): Deleted.
2363 * dom/ClassNodeList.h:
2364 (WebCore::ClassNodeList::nodeMatches):
2365 (WebCore::ClassNodeList::nodeMatchesInlined): Deleted.
2367 Remove separate nodeMatchesInlined functions.
2368 We now rely on exact types and marking classes final.
2370 * dom/LiveNodeList.cpp:
2371 (WebCore::LiveNodeList::LiveNodeList):
2372 (WebCore::LiveNodeList::~LiveNodeList):
2373 (WebCore::LiveNodeList::namedItem):
2374 (WebCore::LiveNodeList::rootNode): Deleted.
2375 (WebCore::isMatchingElement): Deleted.
2376 (WebCore::firstMatchingElement): Deleted.
2377 (WebCore::lastMatchingElement): Deleted.
2378 (WebCore::nextMatchingElement): Deleted.
2379 (WebCore::previousMatchingElement): Deleted.
2380 (WebCore::traverseMatchingElementsForward): Deleted.
2381 (WebCore::traverseMatchingElementsBackward): Deleted.
2382 (WebCore::LiveNodeList::collectionFirst): Deleted.
2383 (WebCore::LiveNodeList::collectionLast): Deleted.
2384 (WebCore::LiveNodeList::collectionTraverseForward): Deleted.
2385 (WebCore::LiveNodeList::collectionTraverseBackward): Deleted.
2386 (WebCore::LiveNodeList::length): Deleted.
2387 (WebCore::LiveNodeList::item): Deleted.
2388 (WebCore::LiveNodeList::memoryCost): Deleted.
2389 (WebCore::LiveNodeList::invalidateCache): Deleted.
2390 * dom/LiveNodeList.h:
2391 (WebCore::LiveNodeList::invalidateCacheForAttribute):
2392 (WebCore::CachedLiveNodeList::collectionCanTraverseBackward):
2393 (WebCore::LiveNodeList::rootNode):
2394 (WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
2396 Add CachedLiveNodeList<NodeListType> utility type that interfaces with CollectionIndexCache.
2397 It is the base class for all concrete LiveNodeLists.
2399 (WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
2400 (WebCore::CachedLiveNodeList<NodeListType>::collectionFirst):
2401 (WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
2402 (WebCore::nextMatchingElement):
2403 (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
2404 (WebCore::previousMatchingElement):
2405 (WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
2406 (WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
2407 (WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
2408 (WebCore::CachedLiveNodeList<NodeListType>::length):
2409 (WebCore::CachedLiveNodeList<NodeListType>::item):
2410 (WebCore::CachedLiveNodeList<NodeListType>::memoryCost):
2412 Templated code moves to header.
2414 (WebCore::LiveNodeList::LiveNodeList): Deleted.
2415 (WebCore::LiveNodeList::~LiveNodeList): Deleted.
2416 (WebCore::LiveNodeList::invalidateCache): Deleted.
2417 (WebCore::LiveNodeList::collectionCanTraverseBackward): Deleted.
2418 (WebCore::LiveNodeList::willValidateIndexCache): Deleted.
2419 * dom/NameNodeList.cpp:
2420 (WebCore::NameNodeList::NameNodeList):
2421 * dom/NameNodeList.h:
2423 (WebCore::Document::invalidateNodeListAndCollectionCaches):
2424 (WebCore::NodeListsNodeData::invalidateCaches):
2425 * dom/TagNodeList.cpp:
2426 (WebCore::TagNodeList::TagNodeList):
2427 (WebCore::HTMLTagNodeList::HTMLTagNodeList):
2428 (WebCore::HTMLTagNodeList::~HTMLTagNodeList):
2429 (WebCore::TagNodeList::nodeMatches): Deleted.
2430 (WebCore::HTMLTagNodeList::nodeMatches): Deleted.
2431 * dom/TagNodeList.h:
2432 (WebCore::TagNodeList::nodeMatches):
2433 (WebCore::HTMLTagNodeList::nodeMatches):
2434 (WebCore::TagNodeList::create): Deleted.
2435 (WebCore::HTMLTagNodeList::nodeMatchesInlined): Deleted.
2436 * html/LabelsNodeList.cpp:
2437 (WebCore::LabelsNodeList::LabelsNodeList):
2438 * html/LabelsNodeList.h:
2439 * html/RadioNodeList.cpp:
2440 (WebCore::RadioNodeList::RadioNodeList):
2441 * html/RadioNodeList.h:
2443 2014-03-27 Adenilson Cavalcanti <cavalcantii@gmail.com>
2445 Remove comment from Filter.h
2446 https://bugs.webkit.org/show_bug.cgi?id=130848
2448 Reviewed by Simon Fraser.
2450 Exploring the use of consts on applyScale() methods didn't yield
2453 No new tests, no change on behavior.
2455 * platform/graphics/filters/Filter.h:
2457 2014-03-27 Frédéric Wang <fred.wang@free.fr>
2459 Operator stretching: expose a math data API
2460 https://bugs.webkit.org/show_bug.cgi?id=130572
2462 Reviewed by Chris Fleizach.
2464 We expose a new SimpleFontData API to give access to the data from the
2465 OpenType MATH table using a font cache. The class OpenTypeMathData will
2466 be implemented in bug 130324. On Darwin platform, we also implement the
2467 missing FontPlatformData::openTypeTable function which will be necessary
2468 to load the OpenType MATH table. The changes are intended to be used
2469 for MathML operator stretching (bug 130322) so tests are not added yet.
2471 * CMakeLists.txt: add new OpenTypeMathData files.
2472 * WebCore.vcxproj/WebCore.vcxproj: ditto.
2473 * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
2474 * WebCore.xcodeproj/project.pbxproj: ditto.
2475 * platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.
2476 We make the math and vertical data share the same key for the cache.
2477 (WebCore::fontMathDataCacheInstance):
2478 (WebCore::FontCache::getMathData):
2479 (WebCore::fontVerticalDataCacheInstance):
2480 * platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
2481 * platform/graphics/FontPlatformData.cpp:
2482 (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
2483 * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
2484 * platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.
2485 (WebCore::SimpleFontData::SimpleFontData):
2486 * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
2487 * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
2488 (WebCore::OpenTypeMathData::OpenTypeMathData):
2489 * platform/graphics/opentype/OpenTypeMathData.h: Added.
2490 (WebCore::OpenTypeMathData::create):
2491 (WebCore::OpenTypeMathData::hasMathData):
2493 2014-03-27 Brent Fulgham <bfulgham@apple.com>
2495 Fix a crash caused by track insertion after load()
2496 https://bugs.webkit.org/show_bug.cgi?id=130777
2498 Reviewed by Eric Carlson.
2500 Test: media/track/track-insert-after-load-crash.html
2502 Based on the Blink change (patch by acolwell@chromium.org):
2503 https://codereview.chromium.org/211373009/
2505 * html/HTMLMediaElement.cpp:
2506 (WebCore::HTMLMediaElement::parseAttribute): Remove stale LoadMediaResource flag after explicit load.
2508 2014-03-27 Alexey Proskuryakov <ap@apple.com>
2510 Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
2511 equivalents, ASSERT(!_data->_keyDownEventBeingResent)
2512 https://bugs.webkit.org/show_bug.cgi?id=130767
2513 <rdar://problem/16307487>
2515 Added a wrapper for RunLoop::initializeMainThread that also adds modal run loop
2520 * WebCore.vcxproj/WebCore.vcxproj:
2521 * WebCore.vcxproj/WebCore.vcxproj.filters:
2522 * WebCore.xcodeproj/project.pbxproj:
2523 * platform/MainRunLoop.cpp: Added.
2524 (WebCore::initializeMainRunLoop):
2525 * platform/MainRunLoop.h: Added.
2526 * platform/mac/MainRunLoop.mm: Added.
2527 (WebCore::initializeMainRunLoop):
2529 2014-03-27 Krzysztof Czech <k.czech@samsung.com>
2531 AX: Returns const reference to static string.
2532 https://bugs.webkit.org/show_bug.cgi?id=130835
2534 Reviewed by Mario Sanchez Prada.
2536 Avoiding some unnecessary copies by returning const reference to static string.
2538 No new tests. No behaviour change.
2540 * accessibility/AccessibilityMediaControls.cpp:
2541 (WebCore::AccessibilityMediaControl::controlTypeName):
2542 (WebCore::AccessibilityMediaControlsContainer::elementTypeName):
2543 * accessibility/AccessibilityMediaControls.h:
2545 2014-03-27 Mihnea Ovidenie <mihnea@adobe.com>
2547 [CSSRegions] Rename inNamedFlow flag to isNamedFlowContentNode flag
2548 https://bugs.webkit.org/show_bug.cgi?id=130731
2550 Reviewed by Andrei Bucur.
2552 Currently, the inNamedFlow flag in Node class tells if a node is a content node, one that has a style with flow-into.
2553 Since it is used only for those nodes and not propagated through hierarchy, i want to renamed it to a more meaningful name.
2554 No new functionality, no new tests.
2556 * dom/ContainerNode.cpp:
2557 (WebCore::destroyRenderTreeIfNeeded):
2559 (WebCore::Element::~Element):
2560 (WebCore::Element::unregisterNamedFlowContentElement):
2562 (WebCore::Node::isNamedFlowContentNode):
2563 (WebCore::Node::setIsNamedFlowContentNode):
2564 (WebCore::Node::clearIsNamedFlowContentNode):
2565 * rendering/RenderNamedFlowThread.cpp:
2566 (WebCore::RenderNamedFlowThread::clearContentElements):
2567 (WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
2568 (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
2569 (WebCore::nextNodeInsideContentElement):
2570 * style/StyleResolveTree.cpp:
2571 (WebCore::Style::attachChildren):
2572 (WebCore::Style::resolveLocal):
2574 2014-03-27 Mihnea Ovidenie <mihnea@adobe.com>
2576 [CSSRegions] Crash when cloning a region child with a content node child
2577 https://bugs.webkit.org/show_bug.cgi?id=129811
2579 Reviewed by David Hyatt.
2581 Collecting the children of a region in another named flow will be supported
2582 again in the future and it will be revisited when we will implement the content
2583 keyword: http://dev.w3.org/csswg/css-regions-1/#the-flow-into-property.
2584 Remove the support for now as it introduces unnecessary complexity in the code
2585 and potential wrong behavior.
2587 Test: fast/regions/region-content-node-child-clone-crash.html
2590 (WebCore::Element::shouldMoveToFlowThread):
2591 (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
2593 * dom/ElementRareData.h:
2594 (WebCore::ElementRareData::ElementRareData):
2595 * rendering/FlowThreadController.cpp:
2596 * rendering/FlowThreadController.h:
2597 * style/StyleResolveTree.cpp:
2598 (WebCore::Style::moveToFlowThreadIfNeeded):
2599 (WebCore::Style::createRendererIfNeeded):
2601 2014-03-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
2603 Remove unneeded mutable keyword in some member variables
2604 https://bugs.webkit.org/show_bug.cgi?id=130813
2606 Reviewed by Andreas Kling.
2608 Some member variables have mutable keyword though they don't used by const function.
2609 This patch removes them.
2611 No new tests, no behavior changes. Just clean up.
2613 * storage/StorageAreaSync.h:
2614 * svg/animation/SVGSMILElement.h:
2616 2014-03-27 Commit Queue <commit-queue@webkit.org>
2618 Unreviewed, rolling out r166296 and r166331.
2619 https://bugs.webkit.org/show_bug.cgi?id=130822
2621 caused some crashes and frequent assertion failures, and the
2622 fix is going to take a little while (Requested by thorton on
2625 Reverted changesets:
2627 "[iOS WebKit2] Flush all surfaces after painting into all of
2628 them, instead of after painting into each one"
2629 https://bugs.webkit.org/show_bug.cgi?id=130768
2630 http://trac.webkit.org/changeset/166296
2632 "Assertion failure in RemoteLayerBackingStore::flush"
2633 https://bugs.webkit.org/show_bug.cgi?id=130810
2634 http://trac.webkit.org/changeset/166331
2636 2014-03-26 Simon Fraser <simon.fraser@apple.com>
2638 Fix failing scrolling tests by reverting to previous behavior where
2639 the scrolling geometry for the main frame scrolling node was only
2640 updated from frameViewLayoutUpdated() and no-where else.
2643 * page/scrolling/AsyncScrollingCoordinator.cpp:
2644 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
2645 * page/scrolling/AsyncScrollingCoordinator.h:
2646 * page/scrolling/ScrollingCoordinator.h:
2647 (WebCore::ScrollingCoordinator::updateScrollingNode):
2648 * rendering/RenderLayerCompositor.cpp:
2649 (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
2650 (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Deleted.
2652 2014-03-26 Ryosuke Niwa <rniwa@webkit.org>
2654 HTMLConverter::_processText is slow because it walks up ancestor elements
2655 https://bugs.webkit.org/show_bug.cgi?id=130820
2657 Reviewed by Sam Weinig.
2659 Avoid walking up the tree from each text node by caching the aggregated attributed strings for each element.
2660 Also compute the attributed strings top-down to avoid calling mutableCopy in every iteration.
2662 This reduces the runtime of Interactive/CopyAll.html from 15s to 13s (15%).
2664 * editing/cocoa/HTMLConverter.mm:
2665 (HTMLConverter::_attributesForElement):
2666 (HTMLConverter::attributesForElement):
2667 (HTMLConverter::aggregatedAttributesForAncestors):
2668 (HTMLConverter::_processText):
2670 2014-03-26 Sam Weinig <sam@webkit.org>
2674 * editing/cocoa/HTMLConverter.mm:
2677 2014-03-26 Ryosuke Niwa <rniwa@webkit.org>
2679 Make _processText and _traverseNode in HTMLConverter more efficient
2680 https://bugs.webkit.org/show_bug.cgi?id=130769
2682 Reviewed by Sam Weinig.
2684 Rewrote a bunch of code in C++ and avoided creating wrappers.
2685 This reduces the runtime of Interactive/CopyAll.html from ~16.5s to 15s.
2687 * editing/cocoa/HTMLConverter.mm:
2688 (HTMLConverterCaches::isAncestorsOfStartToBeConverted):
2689 (HTMLConverter::HTMLConverter):
2690 (HTMLConverter::~HTMLConverter):
2691 (HTMLConverter::_processElement):
2692 (HTMLConverter::_processText):
2693 (HTMLConverter::_traverseNode):
2694 (HTMLConverter::_traverseFooterNode):
2695 (HTMLConverterCaches::cacheAncestorsOfStartToBeConverted):
2696 (HTMLConverter::_loadFromDOMRange):
2698 2014-03-26 Adenilson Cavalcanti <cavalcantii@gmail.com>
2700 FEGaussianBlur: unify and const-ify calculateKernelSize
2701 https://bugs.webkit.org/show_bug.cgi?id=130779
2703 Some methods can benefit of using const refs as also make sense to
2704 unify the interface (i.e. parameters) in calculateKernelSize/Unscaled.
2706 FilterEffect::filter() will now return a reference, which helps since
2707 its descendants were accessing methods into the pointer without testing
2710 Reviewed by Simon Fraser.
2712 No new tests, no changes on behavior.
2714 * platform/graphics/filters/FEDisplacementMap.cpp:
2715 (WebCore::FEDisplacementMap::platformApplySoftware):
2716 * platform/graphics/filters/FEDropShadow.cpp:
2717 (WebCore::FEDropShadow::determineAbsolutePaintRect):
2718 (WebCore::FEDropShadow::platformApplySoftware):
2719 * platform/graphics/filters/FEGaussianBlur.cpp:
2720 (WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
2721 (WebCore::FEGaussianBlur::calculateKernelSize):
2722 (WebCore::FEGaussianBlur::determineAbsolutePaintRect):
2723 (WebCore::FEGaussianBlur::platformApplySoftware):
2724 * platform/graphics/filters/FEGaussianBlur.h:
2725 * platform/graphics/filters/FEMorphology.cpp:
2726 (WebCore::FEMorphology::determineAbsolutePaintRect):
2727 (WebCore::FEMorphology::platformApplySoftware):
2728 * platform/graphics/filters/FEOffset.cpp:
2729 (WebCore::FEOffset::determineAbsolutePaintRect):
2730 (WebCore::FEOffset::platformApplySoftware):
2731 * platform/graphics/filters/FETile.cpp:
2732 (WebCore::FETile::platformApplySoftware):
2733 * platform/graphics/filters/FETurbulence.cpp:
2734 (WebCore::FETurbulence::fillRegion):
2735 * platform/graphics/filters/Filter.h:
2736 (WebCore::Filter::applyHorizontalScale):
2737 (WebCore::Filter::applyVerticalScale):
2738 * platform/graphics/filters/FilterEffect.h:
2739 (WebCore::FilterEffect::filter):
2740 * platform/graphics/filters/SourceAlpha.cpp:
2741 (WebCore::SourceAlpha::determineAbsolutePaintRect):
2742 (WebCore::SourceAlpha::platformApplySoftware):
2743 * platform/graphics/filters/SourceGraphic.cpp:
2744 (WebCore::SourceGraphic::determineAbsolutePaintRect):
2745 (WebCore::SourceGraphic::platformApplySoftware):
2746 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2747 (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
2748 * svg/graphics/filters/SVGFEImage.cpp:
2749 (WebCore::FEImage::determineAbsolutePaintRect):
2750 (WebCore::FEImage::platformApplySoftware):
2752 2014-03-26 Simon Fraser <simon.fraser@apple.com>
2754 Make sure childContainmentLayer is parented
2755 https://bugs.webkit.org/show_bug.cgi?id=130808
2757 Reviewed by Tim Horton.
2759 m_childContainmentLayer was never parented if the page
2760 created no other compositing layers, which left a dangling
2761 GraphicsLayer which in turn confused UI-side compositing a little.
2762 Fix by always parenting this layer.
2764 * rendering/RenderLayerBacking.cpp:
2765 (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2767 2014-03-26 Brian Burg <bburg@apple.com>
2769 Web Replay: disable page cache during capture/replay
2770 https://bugs.webkit.org/show_bug.cgi?id=130672
2772 Reviewed by Timothy Hatcher.
2774 Save, set, and restore page cache settings at the correct times.
2776 No new tests. If this code fails, then the tests for network replay will fail.
2778 * replay/ReplayController.cpp:
2779 (WebCore::ReplayController::setForceDeterministicSettings): Added.
2780 (WebCore::ReplayController::startCapturing):
2781 (WebCore::ReplayController::stopCapturing):
2782 (WebCore::ReplayController::cancelPlayback):
2783 (WebCore::ReplayController::replayToPosition):
2784 * replay/ReplayController.h:
2786 2014-03-26 Sam Weinig <sam@webkit.org>
2788 Convert more of HTMLConverter to C++
2789 https://bugs.webkit.org/show_bug.cgi?id=130811
2791 Reviewed by Anders Carlsson.
2793 * editing/cocoa/HTMLConverter.mm:
2794 (HTMLConverter::HTMLConverter):
2795 (HTMLConverter::~HTMLConverter):
2796 (HTMLConverter::_blockLevelElementForNode):
2797 (HTMLConverter::_colorForElement):
2798 (HTMLConverter::_computedAttributesForElement):
2799 (HTMLConverter::_attributesForElement):
2800 (HTMLConverter::_fillInBlock):
2801 (HTMLConverter::_enterElement):
2802 (HTMLConverter::_addTableForElement):
2803 (HTMLConverter::_addTableCellForElement):
2804 (HTMLConverter::_processElement):
2805 (HTMLConverter::_exitElement):
2806 (HTMLConverter::_getFloat): Deleted.
2807 (HTMLConverter::_elementIsBlockLevel): Deleted.
2808 (HTMLConverter::_elementHasOwnBackgroundColor): Deleted.
2809 (HTMLConverter::_colorForNode): Deleted.
2811 2014-03-26 Simon Fraser <simon.fraser@apple.com>
2813 Hook up -webkit-overflow-scrolling:touch for iOS WK2
2814 https://bugs.webkit.org/show_bug.cgi?id=130809
2816 Reviewed by Tim Horton.
2818 Get -webkit-overflow-scrolling: touch working for iOS WK2.
2821 * page/scrolling/AsyncScrollingCoordinator.cpp:
2822 (WebCore::AsyncScrollingCoordinator::updateScrollingNode):
2823 Send in ScrollingGeometry when we update scrolling nodes.
2824 * page/scrolling/AsyncScrollingCoordinator.h:
2825 * page/scrolling/ScrollingCoordinator.h:
2826 (WebCore::ScrollingCoordinator::updateScrollingNode):
2827 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
2828 Need to get to the scrolling layer in a subclass.
2829 (WebCore::ScrollingTreeScrollingNodeIOS::scrollLayer):
2830 * rendering/RenderLayer.cpp:
2831 (WebCore::RenderLayer::hasAcceleratedTouchScrolling): Remove code
2832 that temporarily disabled touch-scrolling.
2833 * rendering/RenderLayerCompositor.cpp:
2834 (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): When we
2835 update scrolling nodes, send in the right scrolling geometry.
2837 2014-03-26 Timothy Hatcher <timothy@apple.com>
2839 Modernize the loops in InspectorPageAgent.cpp.
2841 Also moves the check for hiddenFromInspector to a lower level.
2842 This hides hidden resources from more places.
2844 https://bugs.webkit.org/show_bug.cgi?id=130803
2846 Reviewed by Joseph Pecoraro.
2848 * inspector/InspectorPageAgent.cpp:
2849 (WebCore::buildArrayForCookies):
2850 (WebCore::cachedResourcesForFrame):
2851 (WebCore::allResourcesURLsForFrame):
2852 (WebCore::InspectorPageAgent::getCookies):
2853 (WebCore::InspectorPageAgent::searchInResources):
2854 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
2855 (WebCore::InspectorPageAgent::loaderDetachedFromFrame):
2856 (WebCore::InspectorPageAgent::buildObjectForFrameTree):
2858 2014-03-26 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org>
2860 Add platform implementation for RTCOfferAnswerOptions and RTCOfferOptions
2861 https://bugs.webkit.org/show_bug.cgi?id=130689
2863 Reviewed by Eric Carlson.
2865 RTCOfferAnswerOptions and RTCOfferOptions objects were being passed to platform class, causing a layer
2868 * Modules/mediastream/RTCOfferAnswerOptions.cpp:
2869 (WebCore::RTCOfferAnswerOptions::initialize):
2870 (WebCore::RTCOfferOptions::initialize):
2871 * Modules/mediastream/RTCOfferAnswerOptions.h:
2872 (WebCore::RTCOfferAnswerOptions::requestIdentity):
2873 (WebCore::RTCOfferAnswerOptions::privateOfferAnswerOptions):
2874 (WebCore::RTCOfferAnswerOptions::RTCOfferAnswerOptions):
2875 (WebCore::RTCOfferOptions::offerToReceiveVideo):
2876 (WebCore::RTCOfferOptions::offerToReceiveAudio):
2877 (WebCore::RTCOfferOptions::voiceActivityDetection):
2878 (WebCore::RTCOfferOptions::iceRestart):
2879 (WebCore::RTCOfferOptions::privateOfferOptions):
2880 (WebCore::RTCOfferOptions::RTCOfferOptions):
2881 * Modules/mediastream/RTCPeerConnection.cpp:
2882 (WebCore::RTCPeerConnection::createOffer):
2883 (WebCore::RTCPeerConnection::createAnswer):
2884 * platform/mediastream/RTCOfferAnswerOptionsPrivate.h: Added.
2885 * platform/mediastream/RTCPeerConnectionHandler.h:
2886 * platform/mock/RTCPeerConnectionHandlerMock.cpp:
2887 (WebCore::RTCPeerConnectionHandlerMock::createOffer):
2888 (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
2889 * platform/mock/RTCPeerConnectionHandlerMock.h:
2891 2014-03-26 Zalan Bujtas <zalan@apple.com>
2893 Device scale factor should always be greater than 0.
2894 https://bugs.webkit.org/show_bug.cgi?id=130798
2896 Reviewed by David Kilzer.
2898 Rendering context requires a device scale factor > 0 so that we can map CSS pixels
2899 to device pixels properly. Neither 0 nor a negative device pixel ratio are considered to be valid.
2902 (WebCore::Page::setDeviceScaleFactor):
2904 2014-03-26 Myles C. Maxfield <mmaxfield@apple.com>
2906 Skipping underlines disregard points completely inside the underline rect
2907 https://bugs.webkit.org/show_bug.cgi?id=130800
2909 Reviewed by Dean Jackson.
2911 When determining bounds for underline skipping, endpoints of glyph contours
2912 that lie entirely within the rect of the underline are ignored. This patch
2913 makes these points affect the skipping regions the same way that intersections
2916 Test: fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html
2918 * platform/graphics/mac/FontMac.mm:
2919 (WebCore::updateX): Refactored common code into a function
2920 (WebCore::findPathIntersections): Test for endpoints which lie entirely within
2921 the underline bounds
2923 2014-03-26 Pratik Solanki <psolanki@apple.com>
2925 Unreviewed. iOS build fix after r166312. Soft link CMTimeRangeGetEnd.
2927 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2929 2014-03-26 Timothy Hatcher <timothy@apple.com>
2931 Propagate the hiddenFromInspector flag on ResourceRequest in
2932 places when a new request a made or passed between processes.
2934 https://bugs.webkit.org/show_bug.cgi?id=130741
2936 Reviewed by Joseph Pecoraro.
2938 * WebCore.exp.in: Updated symbols for updateFromDelegatePreservingOldProperties.
2939 * platform/network/cf/ResourceRequest.h:
2940 * platform/network/cf/ResourceRequestCFNet.cpp:
2941 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
2942 (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
2943 * platform/network/curl/ResourceRequest.h:
2944 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
2945 (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
2946 * platform/network/mac/ResourceRequestMac.mm:
2947 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
2948 (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
2949 * platform/network/soup/ResourceRequest.h:
2950 (WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
2951 (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
2953 2014-03-26 Zoltan Horvath <zoltan@webkit.org>
2955 [CSS Shapes] Remove no-longer-used shape-inside geometry code
2956 https://bugs.webkit.org/show_bug.cgi?id=130740
2958 Reviewed by David Hyatt.
2960 This patch removes shape-padding support, since it can be used only with shape-inside.
2961 Shape-inside support has been removed in r166301.
2963 No new tests needed, existing tests have been removed by r166301.
2965 * rendering/shapes/BoxShape.cpp:
2966 (WebCore::BoxShape::shapePaddingLogicalBoundingBox): Deleted.
2967 (WebCore::BoxShape::shapePaddingBounds): Deleted.
2968 (WebCore::BoxShape::getIncludedIntervals): Deleted.
2969 (WebCore::BoxShape::firstIncludedIntervalLogicalTop): Deleted.
2970 * rendering/shapes/BoxShape.h:
2971 * rendering/shapes/PolygonShape.cpp:
2972 (WebCore::leftSide): Deleted.
2973 (WebCore::isReflexVertex): Deleted.
2974 (WebCore::computeShapePaddingBounds): Deleted.
2975 (WebCore::PolygonShape::shapePaddingBounds): Deleted.
2976 (WebCore::PolygonShape::getIncludedIntervals): Deleted.
2977 (WebCore::firstFitRectInPolygon): Deleted.
2978 (WebCore::aboveOrToTheLeft): Deleted.
2979 (WebCore::PolygonShape::firstIncludedIntervalLogicalTop): Deleted.
2980 * rendering/shapes/PolygonShape.h:
2981 (WebCore::PolygonShape::PolygonShape):
2982 * rendering/shapes/RasterShape.cpp:
2983 (WebCore::RasterShapeIntervals::firstIncludedIntervalY): Deleted.
2984 (WebCore::RasterShapeIntervals::getIncludedIntervals): Deleted.
2985 (WebCore::RasterShape::paddingIntervals): Deleted.
2986 (WebCore::RasterShape::getIncludedIntervals): Deleted.
2987 (WebCore::RasterShape::firstIncludedIntervalLogicalTop): Deleted.
2988 * rendering/shapes/RasterShape.h:
2989 * rendering/shapes/RectangleShape.cpp:
2990 (WebCore::ellipseYIntercept): Deleted.
2991 (WebCore::RectangleShape::shapePaddingBounds): Deleted.
2992 (WebCore::RectangleShape::getIncludedIntervals): Deleted.
2993 (WebCore::cornerInterceptForWidth): Deleted.
2994 (WebCore::RectangleShape::firstIncludedIntervalLogicalTop): Deleted.
2995 * rendering/shapes/RectangleShape.h:
2996 * rendering/shapes/Shape.cpp:
2997 (WebCore::Shape::createShape):
2998 (WebCore::Shape::createRasterShape):
2999 (WebCore::Shape::createBoxShape):
3000 * rendering/shapes/Shape.h:
3001 (WebCore::Shape::lineOverlapsShapePaddingBounds): Deleted.
3002 (WebCore::Shape::shapePadding): Deleted.
3003 * rendering/shapes/ShapeInfo.cpp:
3004 (WebCore::ShapeInfo<RenderType>::computedShape):
3005 * rendering/style/RenderStyle.cpp:
3006 (WebCore::RenderStyle::changeRequiresLayout):
3007 * rendering/style/RenderStyle.h:
3008 * rendering/style/StyleRareNonInheritedData.cpp:
3009 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3010 (WebCore::StyleRareNonInheritedData::operator==):
3011 * rendering/style/StyleRareNonInheritedData.h:
3013 2014-03-26 Jeremy Jones <jeremyj@apple.com>
3015 Implement hasLiveStreamingContent property in WebAVPlayerController
3016 https://bugs.webkit.org/show_bug.cgi?id=128684
3018 Reviewed by Simon Fraser.
3021 Add export for WebVideoFullscreenInterfaceAVKit::setSeekableRanges().
3023 * platform/ios/WebVideoFullscreenInterface.h:
3024 Add setSeekableRanges()
3026 * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3027 Add setSeekableRanges()
3029 * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3030 Remove vestigial playerLayer property. Add seekableTimeRanges property.
3032 (-[WebAVPlayerController dealloc]):
3033 Release _seekableTimeRanges.
3034 Remove references to _playerLayer.
3036 (-[WebAVPlayerController hasLiveStreamingContent]):
3037 Implement based on duration. Live stream has an infinite duration.
3039 (+[WebAVPlayerController keyPathsForValuesAffectingHasLiveStreamingContent]):
3040 Describe dependent keys for computed property hasLiveStreamingContent.
3042 (-[WebAVPlayerController skipBackwardThirtySeconds:]):
3043 Seek back 30 seconds if that time is in the seekable ranges.
3045 (-[WebAVPlayerController gotoEndOfSeekableRanges:]):
3046 Jump to live by going to the of the seekable ranges.
3048 (WebVideoFullscreenInterfaceAVKit::setSeekableRanges):
3049 Convert TimeRange to CMTimeRange.
3051 * platform/ios/WebVideoFullscreenModelMediaElement.mm:
3052 (WebVideoFullscreenModelMediaElement::setMediaElement):
3053 Set initial seekable ranges.
3055 (WebVideoFullscreenModelMediaElement::handleEvent):
3056 Update seekable ranges when time changes.
3058 2014-03-26 Brent Fulgham <bfulgham@apple.com>
3062 * WebCore.exp.in: Add missing export symbol.
3064 2014-03-26 Simon Fraser <simon.fraser@apple.com>
3066 Fix the Windows build. Add a no-op impl for Mac non-UI-side.
3068 * platform/graphics/ca/mac/PlatformCALayerMac.h:
3069 * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3070 (PlatformCALayerWin::PlatformCALayerWin):
3071 * platform/graphics/ca/win/PlatformCALayerWin.h:
3073 2014-03-26 Simon Fraser <simon.fraser@apple.com>
3075 REGRESSION (r155977): matrix animations no longer animate
3076 https://bugs.webkit.org/show_bug.cgi?id=130789
3077 <rdar://problem/15650946>
3079 Reviewed by Dean Jackson.
3081 r155977 erroneously removed two lines that set the end points for
3082 matrix animations (used when transform lists don't match), so
3085 Also don't repaint when updateContentsScale()
3086 is called and doesn't change the contents scale.
3088 Test: compositing/animation/matrix-animation.html
3090 * platform/graphics/ca/GraphicsLayerCA.cpp:
3091 (WebCore::GraphicsLayerCA::updateRootRelativeScale):
3092 (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
3093 (WebCore::GraphicsLayerCA::updateContentsScale):
3095 2014-03-26 Simon Fraser <simon.fraser@apple.com>
3097 Add a custom behavior flag to GraphicsLayer, piped down to PlatformCALayer, for scrolling layers
3098 https://bugs.webkit.org/show_bug.cgi?id=130778
3100 Reviewed by Tim Horton.
3102 Make it possible to put a "custom behavior" flag on a layer so that,
3103 with UI-side compositing, we know to create a specific type of
3104 layer or view for that GraphicsLayer.
3107 * platform/graphics/GraphicsLayer.cpp:
3108 (WebCore::GraphicsLayer::GraphicsLayer):
3109 * platform/graphics/GraphicsLayer.h:
3110 (WebCore::GraphicsLayer::setCustomBehavior):
3111 (WebCore::GraphicsLayer::customBehavior):
3112 * platform/graphics/ca/GraphicsLayerCA.cpp:
3113 (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
3114 (WebCore::GraphicsLayerCA::updateCustomBehavior):
3115 (WebCore::GraphicsLayerCA::setCustomBehavior):
3116 * platform/graphics/ca/GraphicsLayerCA.h:
3117 * platform/graphics/ca/PlatformCALayer.h:
3118 * platform/graphics/ca/mac/PlatformCALayerMac.h:
3119 * platform/graphics/ca/mac/PlatformCALayerMac.mm:
3120 (PlatformCALayerMac::PlatformCALayerMac):
3121 * rendering/RenderLayerBacking.cpp:
3122 (WebCore::RenderLayerBacking::updateScrollingLayers):
3124 2014-03-26 Brent Fulgham <bfulgham@apple.com>
3126 Unreviewed test correction.
3128 Because of the way DRT on Windows links to WebCore, having the implementaion of the update
3129 method in the header caused a runtime failure due to duplicate symbols being bound to the
3132 * accessibility/AXObjectCache.cpp:
3133 (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Moved from header.
3134 * accessibility/AXObjectCache.h:
3135 (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Deleted.
3137 2014-03-26 Jer Noble <jer.noble@apple.com>
3139 REGRESSION(r162679): Poster image visible under the video
3140 https://bugs.webkit.org/show_bug.cgi?id=130783
3142 Reviewed by Simon Fraser.
3144 In the listed revision, we started checking for isRenderImage()
3145 instead of isImage(). RenderMedias return 'true' for the first
3146 but 'false' for the second. Change the if() statement to check
3147 for isRenderMedia() in addition to !isRenderImage().
3149 * rendering/RenderLayerBacking.cpp:
3150 (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
3152 2014-03-26 Antti Koivisto <antti@apple.com>
3154 Render tree construction is O(N^2) in number of siblings
3155 https://bugs.webkit.org/show_bug.cgi?id=129065
3157 Reviewed by Darin Adler.
3159 When adding a new renderer to the tree we would search for the correct render tree
3160 position by traversing DOM children forward to find something that already has a renderer.
3161 In common case there is no such renderer. This would be repeated for each inserted renderer
3162 leading to O(n^2) in respect to child node count.
3164 This patch caches the computed render tree insertion position and passes it to siblings.
3165 Until the cached position is reached it can be used for all new renderers.
3167 Test: perf/sibling-renderer-On2.html
3169 * style/StyleResolveTree.cpp:
3170 (WebCore::Style::RenderTreePosition::parent):
3171 (WebCore::Style::RenderTreePosition::RenderTreePosition):
3172 (WebCore::Style::RenderTreePosition::canInsert):
3173 (WebCore::Style::RenderTreePosition::insert):
3174 (WebCore::Style::RenderTreePosition::computeNextSibling):
3175 (WebCore::Style::RenderTreePosition::invalidateNextSibling):
3176 (WebCore::Style::styleForElement):
3177 (WebCore::Style::elementInsideRegionNeedsRenderer):
3178 (WebCore::Style::createRendererIfNeeded):
3179 (WebCore::Style::createTextRendererIfNeeded):
3180 (WebCore::Style::attachTextRenderer):
3181 (WebCore::Style::updateTextRendererAfterContentChange):
3182 (WebCore::Style::attachChildren):
3183 (WebCore::Style::attachDistributedChildren):
3184 (WebCore::Style::attachShadowRoot):
3185 (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
3186 (WebCore::Style::attachRenderTree):
3187 (WebCore::Style::resolveLocal):
3188 (WebCore::Style::resolveTextNode):
3189 (WebCore::Style::resolveShadowTree):
3190 (WebCore::Style::updateBeforeOrAfterPseudoElement):
3191 (WebCore::Style::resolveTree):
3193 2014-03-26 Commit Queue <commit-queue@webkit.org>
3195 Unreviewed, rolling out r166264.
3196 https://bugs.webkit.org/show_bug.cgi?id=130785
3198 Broke some window.opener tests for WK2 Mavericks (Requested by
3199 brrian__ on #webkit).
3203 "Web Replay: resource unique identifiers should be unique-per-
3204 frame, not globally"
3205 https://bugs.webkit.org/show_bug.cgi?id=130632
3206 http://trac.webkit.org/changeset/166264
3208 2014-03-26 Zoltan Horvath <zoltan@webkit.org>
3210 [CSS Shapes] Remove shape-inside support
3211 https://bugs.webkit.org/show_bug.cgi?id=130698
3213 Reviewed by David Hyatt.
3215 CSS Shapes Level 1 (CR) only contains shape-outside. We are focusing our efforts on finalizing
3216 the implementation of shape-outside, it's worth to remove shape-inside code at this point for now.
3218 A list of reasons for the removal:
3219 - Shape-inside is only part of Shapes Level 2, which needs to be improved on some topics.
3220 - Shape-inside is lack of new shapes support (e.g. inset).
3221 - Deprecated shapes (r165472) are removed from the code (e.g. rectangle), which affects shape-inside.
3222 - The current shape-inside code spreads across the layout code.
3223 - The current shape-inside implementation is experimental in some areas,
3224 and the partially implemented code can have security implications.
3225 - Removal of shape-inside opens possibilities for code complexity and performance
3226 optimizations for shape-outside. (e.g. simpler geometry code)
3228 No new tests are needed.
3231 * Configurations/FeatureDefines.xcconfig:
3232 * GNUmakefile.list.am:
3233 * WebCore.xcodeproj/project.pbxproj:
3234 * css/CSSComputedStyleDeclaration.cpp:
3235 (WebCore::ComputedStyleExtractor::propertyValue):
3236 * css/CSSParser.cpp:
3237 (WebCore::isSimpleLengthPropertyID):
3238 (WebCore::CSSParser::parseValue):
3239 (WebCore::CSSParser::parseShapeProperty):
3240 * css/CSSPropertyNames.in:
3241 * css/DeprecatedStyleBuilder.cpp:
3242 (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3243 * css/StyleResolver.cpp:
3244 (WebCore::StyleResolver::applyProperty):
3245 (WebCore::StyleResolver::loadPendingImages):
3246 * page/animation/CSSPropertyAnimation.cpp:
3247 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
3248 * rendering/LayoutState.cpp:
3249 (WebCore::LayoutState::LayoutState):
3250 * rendering/LayoutState.h:
3251 (WebCore::LayoutState::LayoutState):
3252 (WebCore::LayoutState::shapeInsideInfo): Deleted.
3253 * rendering/RenderBlock.cpp:
3254 (WebCore::RenderBlock::styleDidChange):
3255 (WebCore::RenderBlock::imageChanged):
3256 (WebCore::RenderBlock::preparePaginationBeforeBlockLayout):
3257 (WebCore::RenderBlock::relayoutShapeDescendantIfMoved): Deleted.
3258 (WebCore::RenderBlock::logicalOffsetFromShapeAncestorContainer): Deleted.
3259 (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange): Deleted.
3260 (WebCore::RenderBlock::ensureShapeInsideInfo): Deleted.
3261 (WebCore::RenderBlock::shapeInsideInfo): Deleted.
3262 (WebCore::RenderBlock::setShapeInsideInfo): Deleted.
3263 (WebCore::RenderBlock::markShapeInsideDescendantsForLayout): Deleted.
3264 (WebCore::RenderBlock::layoutShapeInsideInfo): Deleted.
3265 (WebCore::shapeInfoRequiresRelayout): Deleted.
3266 (WebCore::RenderBlock::computeShapeSize): Deleted.
3267 (WebCore::RenderBlock::updateShapesBeforeBlockLayout): Deleted.
3268 (WebCore::RenderBlock::updateShapesAfterBlockLayout): Deleted.
3269 (WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout): Deleted.
3270 * rendering/RenderBlock.h:
3271 (WebCore::RenderBlock::allowsShapeInsideInfoSharing): Deleted.
3272 * rendering/RenderBlockFlow.cpp:
3273 (WebCore::RenderBlockFlow::layoutBlock):
3274 (WebCore::RenderBlockFlow::layoutBlockChild):
3275 (WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
3276 * rendering/RenderBlockFlow.h:
3277 * rendering/RenderBlockLineLayout.cpp:
3278 (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
3279 (WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
3280 (WebCore::constructBidiRunsForLine): Deleted.
3281 (WebCore::pushShapeContentOverflowBelowTheContentBox): Deleted.
3282 (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLine): Deleted.
3283 (WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Deleted.
3284 (WebCore::adjustLogicalLineTop): Deleted.
3285 (WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded): Deleted.
3286 * rendering/RenderDeprecatedFlexibleBox.cpp:
3287 (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
3288 * rendering/RenderElement.cpp:
3289 (WebCore::RenderElement::~RenderElement):
3290 (WebCore::RenderElement::initializeStyle):
3291 (WebCore::RenderElement::setStyle):
3292 * rendering/RenderFlexibleBox.cpp:
3293 (WebCore::RenderFlexibleBox::layoutBlock):
3294 * rendering/RenderGrid.cpp:
3295 (WebCore::RenderGrid::layoutBlock):
3296 * rendering/RenderNamedFlowFragment.cpp:
3297 (WebCore::RenderNamedFlowFragment::createStyle):
3298 * rendering/RenderView.h:
3299 * rendering/SimpleLineLayout.cpp:
3300 (WebCore::SimpleLineLayout::canUseFor):
3301 * rendering/line/BreakingContextInlineHeaders.h:
3302 (WebCore::BreakingContext::handleText):
3303 (WebCore::BreakingContext::handleEndOfLine):
3304 (WebCore::updateSegmentsForShapes): Deleted.
3305 * rendering/line/LineBreaker.cpp:
3306 (WebCore::LineBreaker::nextLineBreak):
3307 * rendering/line/LineWidth.cpp:
3308 (WebCore::LineWidth::LineWidth):
3309 (WebCore::LineWidth::updateAvailableWidth):
3310 (WebCore::LineWidth::wrapNextToShapeOutside):
3311 (WebCore::LineWidth::fitBelowFloats):
3312 (WebCore::LineWidth::updateLineSegment): Deleted.
3313 (WebCore::LineWidth::updateCurrentShapeSegment): Deleted.
3314 * rendering/line/LineWidth.h:
3315 * rendering/shapes/ShapeInsideInfo.cpp: Removed.
3316 * rendering/shapes/ShapeInsideInfo.h: Removed.
3317 * rendering/style/RenderStyle.cpp:
3318 (WebCore::RenderStyle::changeRequiresLayout):
3319 * rendering/style/RenderStyle.h:
3320 * rendering/style/StyleRareNonInheritedData.cpp:
3321 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3322 (WebCore::StyleRareNonInheritedData::operator==):
3323 * rendering/style/StyleRareNonInheritedData.h:
3325 2014-03-25 Brent Fulgham <bfulgham@apple.com>
3327 Avoid duplicate size checks when creating empty image
3328 https://bugs.webkit.org/show_bug.cgi?id=130730
3330 Reviewed by Dean Jackson.
3332 Merged from Blink (patch by ch.dumez@samsung.com):
3333 https://chromium.googlesource.com/chromium/blink/+/4861a71bc1f284fc97417f405ab7d08dc6947b88
3334 http://crbug.com/190633011
3336 * html/canvas/CanvasRenderingContext2D.cpp:
3337 (WebCore::createEmptyImageData): Don't perform overflow calculation twice.
3339 2014-03-26 Sergio Villar Senin <svillar@igalia.com>
3341 [CSS Grid Layout] getComputedStyle() must return the specified value for positioning properties
3342 https://bugs.webkit.org/show_bug.cgi?id=130010
3344 Reviewed by Darin Adler.
3346 According to the specs
3347 http://dev.w3.org/csswg/css-grid/#property-index and also to
3348 http://lists.w3.org/Archives/Public/www-style/2014Mar/0162.html
3349 the function getComputedStyle() must return the specified values
3350 for positioning properties, i.e, grid-{columns|rows}-{start|end}.
3352 We were in some cases, adjusting the style in the StyleResolver
3353 (for example with two opposing spans) something that is now done
3354 in the RenderGrid because we cannot alter the original style.
3356 The code moved to the renderer became more self explanatory and it
3357 now supports named grid areas with names ending in "-start" and
3360 Test: fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html
3362 * css/StyleResolver.cpp:
3363 (WebCore::StyleResolver::adjustRenderStyle):
3364 (WebCore::gridLineDefinedBeforeGridArea): Deleted.
3365 (WebCore::StyleResolver::adjustNamedGridItemPosition): Deleted.
3366 (WebCore::StyleResolver::adjustGridItemPosition): Deleted.
3367 * css/StyleResolver.h:
3368 * rendering/RenderGrid.cpp:
3369 (WebCore::isColumnSide):
3370 (WebCore::RenderGrid::explicitGridSizeForSide):
3371 (WebCore::gridLineDefinedBeforeGridArea):
3372 (WebCore::setNamedLinePositionIfDefinedBeforeArea):
3373 (WebCore::RenderGrid::adjustNamedGridItemPosition):
3374 (WebCore::RenderGrid::adjustGridPositionsFromStyle):
3375 (WebCore::RenderGrid::resolveGridPositionsFromStyle):
3376 (WebCore::RenderGrid::resolveNamedGridLinePositionFromStyle):
3377 (WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition):
3378 * rendering/RenderGrid.h:
3379 * rendering/style/GridPosition.h:
3380 (WebCore::GridPosition::setAutoPosition): New helper function.
3382 2014-03-26 Simon Fraser <simon.fraser@apple.com>
3388 2014-03-26 Tim Horton <timothy_horton@apple.com>
3390 [iOS WebKit2] Flush all surfaces after painting into all of them, instead of after painting into each one
3391 https://bugs.webkit.org/show_bug.cgi?id=130768
3392 <rdar://problem/16421471>
3394 Reviewed by Simon Fraser.
3396 * platform/graphics/cocoa/IOSurface.h:
3397 Add a non-ensuring platformContext() getter.
3399 2014-03-26 James Craig <jcraig@apple.com>
3401 Web Inspector: AXI: crash when inspecting "bar" text node in getAccessibilityPropertiesForNode layout test
3402 https://bugs.webkit.org/show_bug.cgi?id=130290
3404 Reviewed by Timothy Hatcher.
3406 Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3408 Fixing regression from r165590. http://webkit.org/b/129779
3409 Verify isElementNode to avoid calling toElement on document or text nodes.
3411 * inspector/InspectorDOMAgent.cpp:
3412 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3414 2014-03-25 Sergio Villar Senin <svillar@igalia.com>
3416 Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in editing/
3417 https://bugs.webkit.org/show_bug.cgi?id=130722
3419 Reviewed by Antti Koivisto.
3421 * editing/AlternativeTextController.cpp:
3422 (WebCore::markerTypesForAutocorrection):
3423 (WebCore::markerTypesForReplacement):
3424 (WebCore::markerTypesForAppliedDictationAlternative):
3425 * editing/EditingStyle.cpp:
3426 (WebCore::htmlElementEquivalents):
3427 (WebCore::htmlAttributeEquivalents):
3428 * editing/FormatBlockCommand.cpp:
3429 (WebCore::isElementForFormatBlock):
3430 * editing/RemoveFormatCommand.cpp:
3431 (WebCore::isElementForRemoveFormatCommand):
3432 * editing/ReplaceSelectionCommand.cpp:
3433 (WebCore::isProhibitedParagraphChild):
3434 * editing/atk/FrameSelectionAtk.cpp:
3435 (WebCore::maybeEmitTextFocusChange):
3437 2014-03-25 Simon Fraser <simon.fraser@apple.com>
3439 Add a new type of scrolling tree node for overflow scrolling
3440 https://bugs.webkit.org/show_bug.cgi?id=130763
3442 Reviewed by Tim Horton.
3444 Prepare for overflow scrolling via the scrolling tree by adding
3445 a new scrolling node type for overflow:scroll nodes. Mostly
3446 this is a new ScrollingNodeType that gets mapped to the same
3447 scrolling state nodes and scrolling nodes, but iOS creates
3448 state and scrolling nodes specific to overflow:scroll.
3450 Change the type checking on nodes to use virtual functions instead
3451 of just checking the node type, to allow the macros to work with
3452 the new scrolling node type.
3455 * page/scrolling/AsyncScrollingCoordinator.cpp:
3456 (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
3457 * page/scrolling/ScrollingCoordinator.h:
3458 * page/scrolling/ScrollingStateFixedNode.h:
3459 * page/scrolling/ScrollingStateNode.h:
3460 (WebCore::ScrollingStateNode::isFixedNode):
3461 (WebCore::ScrollingStateNode::isStickyNode):
3462 (WebCore::ScrollingStateNode::isScrollingNode):
3463 * page/scrolling/ScrollingStateScrollingNode.cpp:
3464 (WebCore::ScrollingStateScrollingNode::create):
3465 (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
3466 * page/scrolling/ScrollingStateScrollingNode.h:
3467 * page/scrolling/ScrollingStateStickyNode.h:
3468 * page/scrolling/ScrollingStateTree.cpp:
3469 (WebCore::ScrollingStateTree::attachNode):
3470 * page/scrolling/ScrollingTree.cpp:
3471 (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
3472 (WebCore::ScrollingTree::updateTreeFromStateNode):
3473 * page/scrolling/ScrollingTreeNode.h:
3474 (WebCore::ScrollingTreeNode::isFixedNode):
3475 (WebCore::ScrollingTreeNode::isStickyNode):
3476 (WebCore::ScrollingTreeNode::isScrollingNode):
3477 * page/scrolling/ScrollingTreeScrollingNode.cpp:
3478 (WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
3479 * page/scrolling/ScrollingTreeScrollingNode.h:
3480 * page/scrolling/ios/ScrollingCoordinatorIOS.mm:
3481 (WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode):
3482 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
3483 * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
3484 (WebCore::ScrollingTreeScrollingNodeIOS::create):
3485 (WebCore::ScrollingTreeScrollingNodeIOS::ScrollingTreeScrollingNodeIOS):
3486 * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3487 (WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):
3488 * page/scrolling/mac/ScrollingTreeFixedNode.h:
3489 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
3490 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3491 (WebCore::ScrollingTreeScrollingNodeMac::create):
3492 (WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
3493 * page/scrolling/mac/ScrollingTreeStickyNode.h:
3494 * rendering/RenderLayerCompositor.cpp:
3495 (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
3497 2014-03-26 Krzysztof Czech <k.czech@samsung.com>
3499 [ATK] Utilize new AtkValue interface coming in ATK 2.11.92
3500 https://bugs.webkit.org/show_bug.cgi?id=130575
3502 Reviewed by Mario Sanchez Prada.
3504 ATK 2.11.92 introduces some new API and deprecates an old one.
3505 Adjust current implementation to meet requirements of the new API.
3507 No new tests. Covered by existing ones.
3509 * accessibility/atk/AXObjectCacheAtk.cpp:
3510 (WebCore::AXObjectCache::postPlatformNotification):
3511 * accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
3512 (webkitAccessibleSetNewValue):
3513 (webkitAccessibleGetIncrementValue):
3514 (webkitAccessibleGetValueAndText):
3515 (webkitAccessibleGetIncrement):
3516 (webkitAccessibleSetValue):
3517 (webkitAccessibleGetRange):
3518 (webkitAccessibleValueSetCurrentValue):
3519 (webkitAccessibleValueGetMinimumIncrement):
3520 (webkitAccessibleValueInterfaceInit):
3522 2014-03-26 Zan Dobersek <zdobersek@igalia.com>
3524 Unreviewed. Removing the remaining Automake cruft.
3526 * GNUmakefile.list.am: Removed.
3528 2014-03-25 Pratik Solanki <psolanki@apple.com>
3530 iOS build fix. Add missing semicolon.
3532 * editing/cocoa/HTMLConverter.mm:
3533 (HTMLConverter::_addAttachmentForElement):
3535 2014-03-25 Sam Weinig <sam@webkit.org>
3537 Speculative iOS build fix.
3539 * editing/cocoa/HTMLConverter.mm:
3540 (HTMLConverter::_addAttachmentForElement):
3542 2014-03-25 Jer Noble <jer.noble@apple.com>
3544 [MSE] Duplicate 'seeked' events.
3545 https://bugs.webkit.org/show_bug.cgi?id=130754
3547 Reviewed by Eric Carlson.
3549 Test: media/media-source/media-source-duplicate-seeked.html
3551 During certain seek operations, HTMLMediaElement::finishSeek() can be called re-entrantly due to
3552 the ready state changing as a result of MediaSource::monitorSourceBuffers(). Move this call to the
3553 end of finishSeek() after m_seeking has been cleared.
3555 * html/HTMLMediaElement.cpp:
3556 (WebCore::HTMLMediaElement::parseAttribute):
3558 2014-03-25 James Craig <jcraig@apple.com>
3560 Web Inspector: AXI: add support for aria-activedescendant and reconcile UI/testing with parentNode
3561 https://bugs.webkit.org/show_bug.cgi?id=130712
3563 Reviewed by Timothy Hatcher.
3565 Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3567 Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.
3569 * inspector/InspectorDOMAgent.cpp:
3570 (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3571 * inspector/protocol/DOM.json:
3573 2014-03-25 Sanghyup Lee <sh53.lee@samsung.com>
3575 When the mouse is upped after dragged out of shadowDOM, it should lose :active.
3576 https://bugs.webkit.org/show_bug.cgi?id=130660
3578 Reviewed by Darin Adler.
3580 This caused a regression after r165037.
3581 When we have to clear :active style of shadow DOM, we should clear host's style.
3582 This patch replaces parentElement() by parentOrShadowHostElement().
3585 (WebCore::Document::updateHoverActiveState):
3587 2014-03-25 Eric Carlson <eric.carlson@apple.com>
3589 [Mac] Always retry a failed MediaDocument as a PluginDocument
3590 https://bugs.webkit.org/show_bug.cgi?id=130742
3592 Reviewed by Jer Noble.
3594 * html/HTMLMediaElement.cpp:
3595 (WebCore::HTMLMediaElement::mediaLoadingFailedFatally): If the element is in a media document,
3596 tell it that loading failed so it can retry as a plug-in.
3598 2014-03-25 Ryosuke Niwa <rniwa@webkit.org>
3600 Replace HTMLConverter::_stringForNode by propertyValueForNode
3601 https://bugs.webkit.org/show_bug.cgi?id=130711
3603 Reviewed by Sam Weinig.
3605 Replaced all calls to HTMLConverter::_stringForNode by that to propertyValueForNode.
3607 * editing/cocoa/HTMLConverter.mm:
3608 (HTMLConverter::_computedAttributesForElement):
3609 (HTMLConverter::_addAttachmentForElement):
3610 (HTMLConverter::_enterElement):
3611 (HTMLConverter::_addTableForElement):
3612 (HTMLConverter::_addTableCellForElement):
3613 (HTMLConverter::_processElement):
3614 (HTMLConverter::_exitElement):
3615 (HTMLConverter::_processText):
3616 (HTMLConverter::_traverseNode):
3617 (HTMLConverter::_traverseFooterNode):
3618 (HTMLConverter::_stringForNode): Deleted.
3620 2014-03-25 Pratik Solanki <psolanki@apple.com>
3622 Attempt to fix iOS build after r166261.
3624 * WebCore.xcodeproj/project.pbxproj: Make SystemSleepListener.h a private header.
3626 2014-03-21 Jer Noble <jer.noble@apple.com>
3628 [iOS] Enable caption support in full screen.
3629 https://bugs.webkit.org/show_bug.cgi?id=130603
3631 Reviewed by Eric Carlson.
3633 Add TextTrackRepresentation support to MediaPlayerPrivateAVFoundationObjC.
3635 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3636 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3637 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Add the m_textTrackRepresenationLayer if present.
3638 (WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Ditto.
3639 (WebCore::MediaPlayerPrivateAVFoundationObjC::requiresTextTrackRepresentation): True, if a m_videoFullscreenLayer is present.
3640 (WebCore::MediaPlayerPrivateAVFoundationObjC::setTextTrackRepresentation): Remove the old, and add the new m_textTrackRepresenationLayer.
3642 Make the text track container a stacking context for painting purposes.
3643 * Modules/mediacontrols/mediaControlsiOS.css:
3644 (video::-webkit-media-text-track-container):
3646 2014-03-25 Brian Burg <bburg@apple.com>
3648 Web Replay: resource unique identifiers should be unique-per-frame, not globally
3649 https://bugs.webkit.org/show_bug.cgi?id=130632
3651 Reviewed by Timothy Hatcher.
3653 For replay purposes, we want to deterministically assign resource load identifiers
3654 to resource loaders, provided that the resource loaders are created in the same
3657 To do this, we convert unique identifiers from being globally-unique to being
3658 frame-unique. When a new frame is being loaded, unique identifiers for
3659 subresources of that frame begin counting from 1.
3661 No new tests. Identifier invariants are exercised by existing assertions and tests.
3663 * loader/ProgressTracker.cpp:
3664 (WebCore::ProgressTracker::ProgressTracker):
3665 (WebCore::ProgressTracker::reset):
3666 (WebCore::ProgressTracker::createUniqueIdentifier):
3667 * loader/ProgressTracker.h:
3669 2014-03-25 Jer Noble <jer.noble@apple.com>
3671 [Mac] Pause the media element during system sleep.
3672 https://bugs.webkit.org/show_bug.cgi?id=130718
3674 Reviewed by Eric Carlson.
3676 Test: media/video-system-sleep.html
3678 Relying on the platform media system to pause and restart playback during
3679 system sleep can cause problems on some platforms, especially where hardware
3680 decoders are concerned. Rather than implicitly pausing the media during
3681 system sleep, explicitly pause the media before sleeping and resume (if
3682 appropriate) upon waking.
3684 Add a new class to be used for system sleep notifications:
3685 * platform/SystemSleepListener.cpp: Added.
3686 (WebCore::SystemSleepListener::create):
3687 (WebCore::SystemSleepListener::SystemSleepListener):
3688 * platform/SystemSleepListener.h: Added.
3689 (WebCore::SystemSleepListener::Client::~Client):
3690 (WebCore::SystemSleepListener::~SystemSleepListener):
3691 (WebCore::SystemSleepListener::client):
3693 Add a Mac-specific implementation:
3694 * platform/mac/SystemSleepListenerMac.h: Added.
3695 * platform/mac/SystemSleepListenerMac.mm: Added.
3696 (WebCore::SystemSleepListener::create):
3697 (WebCore::SystemSleepListenerMac::SystemSleepListenerMac):
3698 (WebCore::SystemSleepListenerMac::~SystemSleepListenerMac):
3700 Listen for system sleep notifications in MediaSessionManager:
3701 * platform/audio/MediaSessionManager.cpp:
3702 (WebCore::MediaSessionManager::MediaSessionManager):
3703 (WebCore::MediaSessionManager::systemWillSleep):
3704 (WebCore::MediaSessionManager::systemDidWake):
3705 * platform/audio/MediaSessionManager.h:
3707 Drive-by fix; notify the MediaSession that playback will begin
3708 due to autoplay, but do not begin autoplaying if the session
3709 is already interrupted:
3710 * html/HTMLMediaElement.cpp:
3711 (WebCore::HTMLMediaElement::parseAttribute):
3713 Add new files to project:
3714 * WebCore.vcxproj/WebCore.vcxproj:
3715 * WebCore.xcodeproj/project.pbxproj:
3717 * GNUmakefile.list.am:
3719 2014-03-25 Radu Stavila <stavila@adobe.com>
3721 [CSS Regions] The background of children of scrollable elements flowed into regions is not properly scrolled
3722 https://bugs.webkit.org/show_bug.cgi?id=130574
3724 Reviewed by David Hyatt.
3726 When computing the clip rect for painting the box decorations, the scrolled content offset
3727 must be computed by going up the containing block tree, up to the region.
3729 Tests: fast/regions/scrollable-region-scrollable-absolute-content-background.html
3730 fast/regions/scrollable-region-scrollable-content-background.html
3732 * rendering/RenderNamedFlowThread.cpp:
3733 (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
3735 2014-03-25 Joseph Pecoraro <pecoraro@apple.com>
3737 [iOS] Inspector View Indication Support
3738 https://bugs.webkit.org/show_bug.cgi?id=130709
3740 Reviewed by Simon Fraser.
3742 * inspector/InspectorClient.h:
3743 (WebCore::InspectorClient::showInspectorIndication):
3744 (WebCore::InspectorClient::hideInspectorIndication):
3745 * inspector/InspectorController.cpp:
3746 (WebCore::InspectorController::setIndicating):
3747 Rename indicate/hideIndication to show/hide names.
3749 2014-03-25 Brent Fulgham <bfulgham@apple.com>
3751 Unreviewed build fix. Typo on checkin.
3753 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3754 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Left an unmatched open bracket.
3756 2014-03-25 Jer Noble <jer.noble@apple.com>
3758 Even further unreviewed build fix after r166247. Unprotect the implementation of HTMLMediaElement::shouldDisableSleep().
3760 * html/HTMLMediaElement.cpp:
3761 (WebCore::HTMLMediaElement::parseAttribute):
3763 2014-03-25 Jer Noble <jer.noble@apple.com>
3765 Further unreviewed build fix after r166247. Add DisplaySleepDisabler to the windows project file and
3766 move the definition of DisplaySleepDisabler's constructor and destructor into the cpp file.
3768 * WebCore.vcxproj/WebCore.vcxproj:
3769 * platform/DisplaySleepDisabler.cpp:
3770 (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
3771 (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
3772 * platform/DisplaySleepDisabler.h:
3774 2014-03-25 Jer Noble <jer.noble@apple.com>
3776 Unreviewed build fix after r166247. Un-platform-protect the declaration of HTMLMediaElement::shouldDisableSleep()
3777 and make WebVideoFullscreenController's _displaySleepDisabler a std::unique_ptr.
3779 * html/HTMLMediaElement.h:
3780 * platform/mac/WebVideoFullscreenController.h:
3782 2014-03-25 Brent Fulgham <bfulgham@apple.com>
3784 [iOS] Pass additional options to AVFoundation during playback.
3785 https://bugs.webkit.org/show_bug.cgi?id=130624
3787 Reviewed by Eric Carlson.
3789 * html/HTMLMediaElement.cpp:
3790 (WebCore::HTMLMediaElement::doesHaveAttribute): Return attribute value if the user
3791 passes a pointer to fill in.
3792 * html/HTMLMediaElement.h:
3793 * platform/graphics/MediaPlayer.cpp:
3794 (WebCore::MediaPlayer::doesHaveAttribute):
3795 * platform/graphics/MediaPlayer.h:
3796 (WebCore::MediaPlayerClient::doesHaveAttribute):
3797 * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3798 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Pass additional
3799 option if supplied by user.
3801 2014-03-25 Michael Saboff <msaboff@apple.com>
3803 Unreviewed, rolling out r166070.
3805 Rollout r166070 due to 2% performance loss in page load times
3809 "Change CodeGeneratorJS.pm special cases for "DOMWindow" to be
3811 https://bugs.webkit.org/show_bug.cgi?id=130553
3812 http://trac.webkit.org/changeset/166070
3814 2014-03-25 Michael Saboff <msaboff@apple.com>
3816 Unreviewed, rolling out r166126.
3818 Rollout r166126 in prepartion to roll out prerequisite r166070
3822 "toThis() on a JSWorkerGlobalScope should return a JSProxy and
3824 https://bugs.webkit.org/show_bug.cgi?id=130554
3825 http://trac.webkit.org/changeset/166126
3827 2014-03-25 Jer Noble <jer.noble@apple.com>
3829 [iOS] Playing video does not disable display sleep.
3830 https://bugs.webkit.org/show_bug.cgi?id=130729
3832 Reviewed by Eric Carlson.
3834 DisplaySleepDisabler was broken by r161589, which replaced the iOS implementation with
3835 an empty one. Make a platform independent version with a Cocoa-platform subclass. Update
3836 the APIs to non-deprecated ones.
3838 * platform/DisplaySleepDisabler.cpp: Added.
3839 (WebCore::DisplaySleepDisabler::create):
3840 * platform/DisplaySleepDisabler.h: Added.
3841 (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
3842 (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
3843 * platform/cocoa/DisplaySleepDisablerCocoa.cpp: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.cpp.
3844 (WebCore::DisplaySleepDisabler::create):
3845 (WebCore::DisplaySleepDisablerCocoa::DisplaySleepDisablerCocoa):
3846 (WebCore::DisplaySleepDisablerCocoa::~DisplaySleepDisablerCocoa):
3847 * platform/cocoa/DisplaySleepDisablerCocoa.h: Renamed from Source/WebCore/platform/mac/DisplaySleepDisabler.h.
3849 Update m_sleepDisabler to be a std::unique_ptr, and unprotect the definition of methods which use it.
3850 * html/HTMLMediaElement.cpp:
3851 (WebCore::HTMLMediaElement::updateSleepDisabling):
3852 (WebCore::HTMLMediaElement::shouldDisableSleep):
3853 * html/HTMLMediaElement.h:
3855 Add the new and renamed files to the project:
3857 * GNUmakefile.list.am:
3858 * WebCore.xcodeproj/project.pbxproj:
3860 2014-03-25 Dirk Schulze <krit@webkit.org>
3862 Implement ImageData constructors and WebWorkers exposure
3863 https://bugs.webkit.org/show_bug.cgi?id=130668
3865 Reviewed by Dean Jackson.
3867 Add new constructors for ImageData.
3869 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
3871 Test: fast/canvas/canvas-imageData.html
3873 * html/ImageData.cpp:
3874 (WebCore::ImageData::create):
3876 * html/ImageData.idl:
3878 2014-03-25 Myles C. Maxfield <mmaxfield@apple.com>
3880 InlineIterator position (unsigned int) variable can wrap around
3881 https://bugs.webkit.org/show_bug.cgi?id=130540
3883 Reviewed by Simon Fraser.
3885 We trigger an ASSERT that occurs when we are ignoring spaces (to collapse them
3886 into a single whitespace mark) but then encounter a line break. Because we don't ignore
3887 the first space (but do ignore subsequent spaces), when we hit a newline in an RTL context
3888 we want to ignore that first space as well (so as not to push the text away from the right
3889 edge). We do this by decrementing the InlineIterator pointing to this first space, so all
3890 the spaces get ignored. However, if that space is the first character in a Text node, the
3891 decrement will try to go past the beginning of the node, and trigger an ASSERT.
3893 This design is not great. At some point we should rework it to more elegantly handle
3894 collapsing whitespace in both RTL and LTR writing modes.
3896 This patch adds an ASSERT earlier in this codepath to catch potential problems earlier.
3897 It also pulls our sentinel value out into a separate boolean to make it more clear what is
3900 Test: fast/text/whitespace-only-text-in-rtl.html
3902 * rendering/InlineIterator.h:
3903 (WebCore::InlineIterator::moveTo): Use the set***() calls
3904 (WebCore::InlineIterator::setOffset): ASSERT early that our math hasn't wrapped
3905 * rendering/RenderBlockLineLayout.cpp:
3906 (WebCore::RenderBlockFlow::appendRunsForObject): Use new boolean value
3907 * rendering/line/BreakingContextInlineHeaders.h:
3908 (WebCore::BreakingContext::handleText): Guard against wraps
3909 (WebCore::checkMidpoints): Use new boolean value
3910 * rendering/line/TrailingObjects.cpp:
3911 (WebCore::TrailingObjects::updateMidpointsForTrailingBoxes): Use new boolean value
3913 2014-03-25 Martin Robinson <mrobinson@igalia.com>
3915 [GTK] Remove the autotools build
3916 https://bugs.webkit.org/show_bug.cgi?id=130717
3918 Reviewed by Anders Carlsson.
3920 * GNUmakefile.am: Removed.
3921 * bindings/gobject/GNUmakefile.am: Removed.
3922 * config.h: Removed references to autotools configure file.
3924 2014-03-24 Brent Fulgham <bfulgham@apple.com>
3926 Prevent 'removetrack' events from firing when all inband text tracks are removed.
3927 https://bugs.webkit.org/show_bug.cgi?id=130704
3929 Reviewed by Eric Carlson.
3931 Test: media/track/track-remove-track.html
3933 Based on the Blink change (patch by acolwell@chromium.org):
3934 https://codereview.chromium.org/177243018/
3936 * html/HTMLMediaElement.cpp:
3937 (WebCore::HTMLMediaElement::prepareForLoad): Reorder steps to match W3C specification.
3938 (WebCore::HTMLMediaElement::noneSupported): Forget tracks as required by specification.
3939 (WebCore::HTMLMediaElement::mediaLoadingFailed): Forget tracks as required by specification.
3940 (WebCore::HTMLMediaElement::removeTextTrack): Only request the 'removetracks' event if
3941 requested by caller.
3942 (WebCore::HTMLMediaElement::removeAllInbandTracks): Renamed to 'forgetResourceSpecificTracks'
3943 (WebCore::HTMLMediaElement::noneSupported): Specify that we want the 'removetracks' event
3944 fired for this use case.
3945 (WebCore::HTMLMediaElement::prepareForLoad): Switch to new 'forgetResourceSpecificTracks' name.
3946 * html/HTMLMediaElement.h:
3947 * html/track/TextTrackList.cpp:
3948 (TextTrackList::remove): Only fire the 'removetrack' event if the caller requests it.
3949 * html/track/TextTrackList.h: Add default argument to fire the 'removetrack' event
3950 when removing a track.
3951 * html/track/TrackListBase.cpp:
3952 (TrackListBase::remove): Only fire the 'removetrack' event if the caller requests it.
3953 * html/track/TrackListBase.h: Add default argument to fire the 'removetrack' event.
3955 2014-03-25 David Kilzer <ddkilzer@apple.com>
3957 Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
3958 <http://webkit.org/b/130713>
3959 <rdar://problem/15661876>
3961 Reviewed by Darin Adler.
3963 Merged from Blink (patch by Ian Beer):
3964 http://crbug.com/303657
3965 https://src.chromium.org/viewvc/blink?view=rev&revision=158938
3967 Test: fast/forms/form-submission-crash-successful-submit-button.html
3969 * html/HTMLFormElement.cpp:
3970 (WebCore::HTMLFormElement::submit):
3972 2014-03-25 Gabor Rapcsanyi <rgabor@webkit.org>
3974 [ARM64] GNU assembler fails in TransformationMatrix::multiply
3975 https://bugs.webkit.org/show_bug.cgi?id=130454
3977 Reviewed by Zoltan Herczeg.
3979 Change the NEON intstructions to the proper style.
3981 * platform/graphics/transforms/TransformationMatrix.cpp:
3982 (WebCore::TransformationMatrix::multiply):
3984 2014-03-20 Sergio Villar Senin <svillar@igalia.com>
3986 [CSS Grid Layout] Vertical rectangles not considered as valid grid areas
3987 https://bugs.webkit.org/show_bug.cgi?id=130513
3989 Reviewed by Andreas Kling.
3991 Grid areas sized as vertical rectangles were incorrectly
3992 considered as invalid by the parser. That's because the condition
3993 checking that each new row was adjacent to the previous one was
3994 using the first row of the currently parsed grid area instead of
3997 Test: fast/css-grid-layout/grid-template-areas-get-set.html
3999 * css/CSSParser.cpp:
4000 (WebCore::CSSParser::parseGridTemplateAreas):
4002 2014-03-25 Xabier Rodriguez Calvar <calvaris@igalia.com>
4004 [GTK] Volume slider shows below the panel with videos in certain cases
4005 https://bugs.webkit.org/show_bug.cgi?id=130608
4007 Reviewed by Jer Noble.
4009 We need to delay the moment we check if the volume slider shows up
4010 or down. If the video was not visible, the offsets were 0 and it
4011 was forced to be shown below the panel.
4013 Test: media/video-initially-hidden-volume-slider-up.html
4015 * Modules/mediacontrols/mediaControlsApple.js:
4016 (Controller.prototype.createControls): Moved volumebox pseudo from
4017 the subclass. The test checks for it and it would fail in Mac.
4018 * Modules/mediacontrols/mediaControlsGtk.js:
4019 (ControllerGtk.prototype.createControls): Moved volumebox pseudo
4021 (ControllerGtk.prototype.handleMuteButtonMouseOver): Check if
4022 volume slider should show up or down.
4023 (ControllerGtk.prototype.updateReadyState): Removed check for
4024 volume slider direction.
4026 2014-03-24 Brent Fulgham <bfulgham@apple.com>
4028 [Win] Enable WebVTT Regions on Windows.
4029 https://bugs.webkit.org/show_bug.cgi?id=130680
4031 Reviewed by Eric Carlson.
4033 * DerivedSources.cpp: Add new build components.
4034 * WebCore.vcxproj/WebCore.vcxproj: Ditto.
4035 * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
4037 2014-03-24 Simon Fraser <simon.fraser@apple.com>
4039 Remove some unnecessary includes from PlatformCALayerClient.h
4040 https://bugs.webkit.org/show_bug.cgi?id=130703
4042 Reviewed by Andreas Kling.
4044 No need for all these #includes.
4046 * platform/graphics/ca/PlatformCALayerClient.h: