267fcebfacb879472f5860f4f707e4562880f61a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-03-31  Byungseon Shin  <sun.shin@lge.com>
2
3         [WebGL][OpenGLES] Enable MSAA support for WebGL Canvas
4         https://bugs.webkit.org/show_bug.cgi?id=130955
5
6         Reviewed by Dean Jackson.
7
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.
12
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):
20
21 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
22
23         Crashes in PageConsole::addMessage
24         https://bugs.webkit.org/show_bug.cgi?id=130991
25         <rdar://problem/14795232>
26
27         Reviewed by Geoffrey Garen.
28
29         Test: http/tests/misc/detached-frame-console.html
30
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
33         in a frame.
34
35 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
36
37         [UI-side compositing] Proxy animations to the UI process
38         https://bugs.webkit.org/show_bug.cgi?id=130946
39
40         Reviewed by Tim Horton.
41         
42         To proxy CA animations, make PlatformCAAnimation a pure virtual base class
43         and subclass for Mac, Windows, and Remote (just like PlatformCALayer).
44         
45         Add coding support for TimingFunctions.
46         
47         Do some minor #include tidyup.
48         
49         Minor refactor in GraphicsLayerCA to share some animations code.
50
51         * WebCore.exp.in:
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.
83
84 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
85
86         CSS JIT: compile the first-child pseudo class
87         https://bugs.webkit.org/show_bug.cgi?id=130954
88
89         Reviewed by Andreas Kling.
90
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.
96
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.
107
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.
111
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
116         the rightmost.
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.
119
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.
123
124         * dom/Element.cpp:
125         (WebCore::Element::setChildrenAffectedByFirstChildRules):
126         * dom/Element.h:
127         C++ fallback to set the flag, to be improved later with the other flags.
128
129         * rendering/style/RenderStyle.h:
130         I accidentaly put noninheritedFlagsMemoryOffset() as private in the RenderStyle refactoring.
131
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.
135
136 2014-03-31  Dean Jackson  <dino@apple.com>
137
138         Remove WEB_ANIMATIONS
139         https://bugs.webkit.org/show_bug.cgi?id=130989
140
141         Reviewed by Simon Fraser.
142
143         Remove this feature flag until we plan to implement.
144
145         * Configurations/FeatureDefines.xcconfig:
146
147 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
148
149         Fix iOS build.
150
151         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
152         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
153
154 2014-03-31  Pratik Solanki  <psolanki@apple.com>
155
156         Unreviewed. iOS build fix after r166532. Add missing comma.
157
158         * dom/DocumentMarker.h:
159
160 2014-03-31  Brady Eidson  <beidson@apple.com>
161
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
164
165         Reviewed by Darin Adler.
166
167         * dom/DocumentMarker.h:
168         (WebCore::DocumentMarker::AllMarkers::AllMarkers): Add a new TelephoneNumber document marker type.
169
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):
176         * editing/Editor.h:
177
178         * html/parser/HTMLTreeBuilder.cpp:
179         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Only linkify on iOS.
180
181         * rendering/InlineTextBox.cpp:
182         (WebCore::InlineTextBox::paintTelephoneNumberMarker): Placeholder UI while the feature is developed.
183         (WebCore::InlineTextBox::paintDocumentMarkers):
184         * rendering/InlineTextBox.h:
185
186         * testing/Internals.cpp:
187         (WebCore::markerTypesFrom):
188
189 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
190
191         [iOS WK2] Hook up scroll events for accelerated overflow:scroll
192         https://bugs.webkit.org/show_bug.cgi?id=130976
193
194         Reviewed by Tim Horton.
195
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.
199         
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().
205
206         * WebCore.exp.in:
207         * page/FrameView.cpp:
208         (WebCore::FrameView::scrollableAreaForScrollLayerID):
209         * page/FrameView.h:
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
218         we scrolled.
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
221         compositing.
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:
234
235 2014-03-31  Antti Koivisto  <antti@apple.com>
236
237         Rename TileCache to LegacyTileCache
238         https://bugs.webkit.org/show_bug.cgi?id=130986
239
240         Reviewed by Simon Fraser.
241
242         Rename iOS WebKit1 tile cache classes to reflect its status.
243         This also frees some good type names.
244
245         TileCache -> LegacyTileCache
246         TileGrid -> LegacyTileGrid
247         TileGridTile -> LegacyTileGridTile
248         etc.
249
250 2014-03-31  Tim Horton  <timothy_horton@apple.com>
251
252         Small adjustments to WebCore::IOSurface
253         https://bugs.webkit.org/show_bug.cgi?id=130981
254
255         Reviewed by Simon Fraser.
256
257         * WebCore.exp.in:
258         Export some more things.
259
260         * platform/graphics/cocoa/IOSurface.h:
261         createImage() can't be const because it calls ensurePlatformContext().
262
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).
266
267         (IOSurface::isInUse):
268         Rename inUse() to isInUse().
269
270         (IOSurface::clearGraphicsContext):
271         Add clearGraphicsContext().
272
273 2014-03-31  Tim Horton  <timothy_horton@apple.com>
274
275         Allocate IOSurfaces with the same cache mode that CoreAnimation uses
276         https://bugs.webkit.org/show_bug.cgi?id=130982
277
278         Reviewed by Simon Fraser.
279
280         * platform/graphics/cocoa/IOSurface.mm:
281         (IOSurface::IOSurface):
282         CA uses kIOMapWriteCombineCache for IOSurfaces allocated on iOS.
283
284 2014-03-31  Ion Rosca  <rosca@adobe.com>
285
286         [CSS Blending] Blend mode property is propagated to multiple GraphicLayers
287         https://bugs.webkit.org/show_bug.cgi?id=130337
288
289         Reviewed by Dean Jackson.
290
291         Resets the blend mode for graphicsLayer when it has an ancestorClippingLayer.
292
293         Test: css3/compositing/blend-mode-ancestor-clipping-layer.html
294
295         * rendering/RenderLayer.cpp:
296         (WebCore::RenderLayer::updateBlendMode):
297         (WebCore::RenderLayer::calculateClipRects):
298         * rendering/RenderLayerBacking.cpp:
299         (WebCore::RenderLayerBacking::updateBlendMode):
300         * rendering/RenderLayerBacking.h:
301
302 2014-03-31  Ion Rosca  <rosca@adobe.com>
303
304         [CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
305         https://bugs.webkit.org/show_bug.cgi?id=130922
306
307         Reviewed by Simon Fraser.
308
309         This change only updates existing tests involving blending. No new test required,
310         as there is no new or changed functionality.
311
312         * rendering/RenderLayer.h: adding blendMode() getter.
313         * rendering/RenderTreeAsText.cpp:
314         (WebCore::write):
315         adding blendMode property and layer's isolation status (does layer isolate blending descendants or not?).
316
317 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
318
319         CSS JIT: clean up the functions ending when generating a checker with context
320         https://bugs.webkit.org/show_bug.cgi?id=130959
321
322         Reviewed by Andreas Kling.
323
324         This code got refactored over time and now both branches do the exact same action
325         on the stack.
326         This patch removes the stack split and move the stack cleanup in the common ending
327         just before restoring the callee saved registers.
328
329         * cssjit/SelectorCompiler.cpp:
330         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
331
332 2014-03-31  Beth Dakin  <bdakin@apple.com>
333
334         ThemeMac should use std::array instead of IntSize* for control sizes
335         https://bugs.webkit.org/show_bug.cgi?id=130985
336
337         Reviewed by Darin Adler.
338
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):
350
351 2014-03-31  Hans Muller  <hmuller@adobe.com>
352
353         [CSS Shapes] Simplify RasterShape implementation
354         https://bugs.webkit.org/show_bug.cgi?id=130916
355
356         Reviewed by Dean Jackson.
357
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.
362
363         No new tests, since functionality was only removed.
364
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):
378
379 2014-03-31  Andreas Kling  <akling@apple.com>
380
381         Always inline toJS() for NodeList.
382         <https://webkit.org/b/130974>
383
384         This is a pretty cheesy optimization, but it's a 3% progression on
385         Dromaeo/dom-query.html on my MBP.
386
387         Reviewed by Benjamin Poulain.
388
389         * WebCore.exp.in:
390         * WebCore.xcodeproj/project.pbxproj:
391         * bindings/js/JSNodeListCustom.h: Added.
392         (WebCore::toJS):
393         * dom/NodeList.idl:
394
395 2014-03-31  Benjamin Poulain  <bpoulain@apple.com>
396
397         Attempt to fix the 32bits debug builds
398
399         The additional debug flags in RefCounted cause the structure to have different alignment
400         with the 64bits flags.
401
402         * rendering/style/RenderStyle.cpp:
403
404 2014-03-29  Simon Fraser  <simon.fraser@apple.com>
405
406         Clarify some scrolling tree terminology
407         https://bugs.webkit.org/show_bug.cgi?id=130929
408
409         Reviewed by Tim Horton.
410
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.
418         
419         Remove the Mac implementation of updateLayersAfterViewportChange(), since
420         it was confsued about this, and was never called anyway.
421
422         * WebCore.exp.in:
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.
434
435 2014-03-31  Tim Horton  <timothy_horton@apple.com>
436
437         [iOS WebKit2] Disable tile cohort retention for now
438         https://bugs.webkit.org/show_bug.cgi?id=130926
439         <rdar://problem/16465413>
440
441         Reviewed by Simon Fraser.
442
443         * WebCore.exp.in:
444         * page/Settings.cpp:
445         (WebCore::Settings::Settings):
446         (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
447         (WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.
448         * page/Settings.h:
449         (WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.
450         * page/Settings.in:
451         Use Settings.in for these simple settings.
452
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.
471
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
480         is created.
481
482 2014-03-31  Beth Dakin  <bdakin@apple.com>
483
484         Radio buttons and checkboxes should share code
485         https://bugs.webkit.org/show_bug.cgi?id=130915
486
487         Reviewed by Sam Weinig.
488
489         Radio buttons and checkboxes now share a lot of code. The common term for both is 
490         toggle buttons.
491
492         Move these radio-sizing functions up in the file to be next to the checkbox sizing 
493         functions.
494         * platform/mac/ThemeMac.mm:
495         (WebCore::radioSizes):
496         (WebCore::radioMargins):
497         (WebCore::radioSize):
498
499         Configures a radio button or a checkbox.
500         (WebCore::configureToggleButton):
501
502         Creates a radio button or a checkbox.
503         (WebCore::createToggleButtonCell):
504
505         Still have a shared cell for each.
506         (WebCore::sharedRadioCell):
507         (WebCore::sharedCheckboxCell):
508
509         Does the work of the old paintRadio() and paintCheckbox().
510         (WebCore::paintToggleButton):
511
512         Use sharedRadioCell() here.
513         (WebCore::ThemeMac::inflateControlPaintRect):
514
515         Call paintToggleButton() for radio buttons and checkboxes.
516         (WebCore::ThemeMac::paint):
517
518         All gone.
519         (WebCore::configureCheckbox): Deleted.
520         (WebCore::createCheckboxCell): Deleted.
521         (WebCore::paintCheckbox): Deleted.
522         (WebCore::radio): Deleted.
523         (WebCore::paintRadio): Deleted.
524
525 2014-03-31  Samuel White  <samuel_white@apple.com>
526
527         AX: Need ability to get line range for text marker.
528         https://bugs.webkit.org/show_bug.cgi?id=130906
529
530         Reviewed by Chris Fleizach.
531
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.
534
535         Test: platform/mac/accessibility/line-range-for-text-marker.html
536
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:]):
544
545 2014-03-31  Anders Carlsson  <andersca@apple.com>
546
547         Fix iOS build.
548
549         * page/ChromeClient.h:
550         (WebCore::ChromeClient::updateViewportConstrainedLayers):
551
552 2014-03-31  Jer Noble  <jer.noble@apple.com>
553
554         [MSE][Mac] Support lease-renewal.
555         https://bugs.webkit.org/show_bug.cgi?id=130919
556
557         Reviewed by Eric Carlson.
558
559         Trigger a new key request when receiving an update message containting "renew".
560
561         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
562         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8
563             based array.
564         (WebCore::CDMSessionMediaSourceAVFObjC::update):
565
566 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
567
568         Remove special handling of soft hyphens in search code
569         https://bugs.webkit.org/show_bug.cgi?id=130940
570
571         Reviewed by Anders Carlsson.
572
573         ICU knows to ignore soft hyphens, so we don't need to replace them before searching.
574
575         Covered by existing tests.
576
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.
584
585 2014-03-31  Alex Christensen  <achristensen@webkit.org>
586
587         Preparation for using Soup on Windows.
588         https://bugs.webkit.org/show_bug.cgi?id=130615
589
590         Reviewed by Carlos Garcia Campos.
591
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.
605
606 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
607
608         Unreviewed. Addressing reviewing comments for r166491 that I forgot
609         to address before landing.
610
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.
617
618 2014-03-20  Carlos Garcia Campos  <cgarcia@igalia.com>
619
620         [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
621         https://bugs.webkit.org/show_bug.cgi?id=130078
622
623         Reviewed by Philippe Normand.
624
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:
639
640 2014-03-31  Andrei Bucur  <abucur@adobe.com>
641
642         Wrong layout while animating content in regions
643         https://bugs.webkit.org/show_bug.cgi?id=125086
644
645         Reviewed by David Hyatt.
646
647         The region to layer and regions to layer mappings should be cleared when the region chain changes.
648
649         Test: fast/regions/layers/region-removed-during-animation.html
650
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.
654
655 2014-03-31  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
656
657         Remove hostThisRegister() and hostThisValue()
658         https://bugs.webkit.org/show_bug.cgi?id=130895
659
660         Reviewed by Geoffrey Garen.
661
662         Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
663
664         No new tests, no behavior changes.
665
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):
782
783 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
784
785         Move the rest of Source/WebCore/html/ code to std::unique_ptr
786         https://bugs.webkit.org/show_bug.cgi?id=129669
787
788         Reviewed by Anders Carlsson.
789
790         Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.
791
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:
836
837 2014-03-31  Maurice van der Pot  <griffon26@kfk4ever.com>
838
839         Fix mixed use of booleans in JPEGImageDecoder.cpp
840         https://bugs.webkit.org/show_bug.cgi?id=122412
841
842         Reviewed by Darin Adler.
843
844         Trivial fix for compilation error; no new tests.
845
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
850
851 2014-03-23  Zan Dobersek  <zdobersek@igalia.com>
852
853         Move Source/WebCore/rendering/ code to std::unique_ptr
854         https://bugs.webkit.org/show_bug.cgi?id=129664
855
856         Reviewed by Anders Carlsson.
857
858         Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/rendering/ with std::unique_ptr.
859
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:
976         (WebCore::clone):
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:
1014
1015 2014-03-28  Sergio Villar Senin  <svillar@igalia.com>
1016
1017         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in loader
1018         https://bugs.webkit.org/show_bug.cgi?id=130893
1019
1020         Reviewed by Darin Adler.
1021
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):
1037
1038 2014-03-28  Sergio Villar Senin  <svillar@igalia.com>
1039
1040         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in css
1041         https://bugs.webkit.org/show_bug.cgi?id=130409
1042
1043         Reviewed by Darin Adler.
1044
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:
1065
1066 2014-03-30  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1067
1068         [GTK] [TextureMapper] Weird brightness with some videos with acceletared compositing
1069         https://bugs.webkit.org/show_bug.cgi?id=130665
1070
1071         Reviewed by Martin Robinson.
1072
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
1080         code.
1081
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
1085         regression in this.
1086
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
1098         alpha channel.
1099
1100 2014-03-30  Jinwoo Song  <jinwoo7.song@samsung.com>
1101
1102         Adopt range-based for loops to TextCheckerEnchant
1103         https://bugs.webkit.org/show_bug.cgi?id=130714
1104
1105         Reviewed by Darin Adler.
1106
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):
1116
1117 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
1118
1119         Second attempt to fix 32bits build after r166465
1120
1121         * rendering/style/RenderStyle.h:
1122         The compiler probably complain about the return value, that makes more sense.
1123
1124 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
1125
1126         Attempt to fix 32bits build after r166465
1127
1128         * rendering/style/RenderStyle.h:
1129
1130 2014-03-30  Benjamin Poulain  <benjamin@webkit.org>
1131
1132         Make RenderStyle's non inherited flags more JSC friendly
1133         https://bugs.webkit.org/show_bug.cgi?id=130939
1134
1135         Reviewed by Andreas Kling.
1136
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.
1142
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):
1163
1164 2014-03-30  David Kilzer  <ddkilzer@apple.com>
1165
1166         [iOS] Fix build of HTMLConverter.mm after r166454
1167
1168         Fixes the following build failures:
1169
1170             WebCore/editing/cocoa/HTMLConverter.mm:1507:13: error: value of type 'WebCore::Element' is not contextually convertible to 'bool'
1171                     if (element)
1172                         ^~~~~~~
1173             WebCore/editing/cocoa/HTMLConverter.mm:1508:49: error: no matching function for call to 'core'
1174                         _caches->floatPropertyValueForNode(*core(element), CSSPropertyVerticalAlign, verticalAlign);
1175                                                             ^~~~
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)
1183                                       ^
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                                                                                     ~~~~~~~~^~~~~~~~~~~~
1187                                                                                                         ()
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);
1190                                                                                                           ~~~~~~~~^~~~~~~~~~~
1191                                                                                                                              ()
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                                                                                                                                ~~~~~~~~^~~~~~~~~~~~
1195                                                                                                                                                    ()
1196             5 errors generated.
1197
1198         * editing/cocoa/HTMLConverter.mm:
1199         (HTMLConverter::_addAttachmentForElement):
1200
1201 2014-03-30  Andreas Kling  <akling@apple.com>
1202
1203         Make NodeList and HTMLCollection caching helpers use PassRef.
1204         <https://webkit.org/b/130943>
1205
1206         Tweak the helpers in NodeListsNodeData to return PassRef instead of
1207         PassRefPtr. This knocks 2 branches off of some pretty hot code on
1208         Dromaeo/dom-query.
1209
1210         Reviewed by Antti Koivisto.
1211
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:
1230
1231 2014-03-29  Antti Koivisto  <antti@apple.com>
1232
1233         LiveNodeLists should use ElementDescendantIterator
1234         https://bugs.webkit.org/show_bug.cgi?id=130931
1235
1236         Reviewed by Andreas Kling.
1237         
1238         Make LiveNodeList traversal use the common DOM tree iterator.
1239
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.
1247         
1248             Iterator for ChildNodeList is still just Node*.
1249
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):
1260         
1261             Make CollectionIndexCache iterator based instead of using NodeType*. The iterator type may
1262             still be a Node* though.
1263
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--):
1273         
1274             Add backward iteration support.
1275
1276         (WebCore::ElementDescendantIteratorAdapter::last):
1277         (WebCore::ElementDescendantConstIteratorAdapter::last):
1278         
1279             Add a way to get the last item.
1280             Provide std::iterator_traits so we can extract the type.
1281
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.
1292         
1293             Make LiveNodeList traversal use ElementDescendantIterator.
1294
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):
1307         
1308             HTMLCollection still uses Element* as iterator for now.
1309
1310 2014-03-29  Commit Queue  <commit-queue@webkit.org>
1311
1312         Unreviewed, rolling out r166434.
1313         https://bugs.webkit.org/show_bug.cgi?id=130938
1314
1315         Caused crashes and other failures on cache tests (Requested by
1316         ap on #webkit).
1317
1318         Reverted changeset:
1319
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
1323
1324 2014-03-29  David Kilzer  <ddkilzer@apple.com>
1325
1326         Preserve selection end positions in directionOfSelection
1327         <http://webkit.org/b/104813>
1328         <rdar://problem/13666417>
1329
1330         Reviewed by Brent Fulgham.
1331
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
1335
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().
1341
1342             This patch ensures that the any layout is completed before linebox
1343             references are retrieved.
1344
1345         Test: editing/selection/layout-during-move-selection-crash.html
1346
1347         * editing/FrameSelection.cpp:
1348         (WebCore::FrameSelection::directionOfSelection):
1349
1350 2014-03-29  Zalan Bujtas  <zalan@apple.com>
1351
1352         Subpixel rendering: Simple line layout should not round to integral position while painting.
1353         https://bugs.webkit.org/show_bug.cgi?id=130934
1354
1355         Reviewed by Simon Fraser.
1356
1357         Remove rounding to integral position. When RenderLayer is injected and hides subpixel positions,
1358         integral rounding produces different paint position.
1359
1360         Test: fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html
1361
1362         * rendering/SimpleLineLayoutFunctions.cpp:
1363         (WebCore::SimpleLineLayout::paintFlow):
1364
1365 2014-03-29  Zalan Bujtas  <zalan@apple.com>
1366
1367         Subpixel rendering: Make GraphicsContext::drawImageBuffer* functions float based.
1368         https://bugs.webkit.org/show_bug.cgi?id=130932
1369
1370         Reviewed by Simon Fraser.
1371         
1372         This is in preparation to support device pixel based filter painting.
1373         Filter calculation is still integral based.
1374
1375         No change in behavior.
1376
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:
1385
1386 2014-03-27  Sam Weinig  <sam@webkit.org>
1387
1388         Convert yet more of HTMLConverter to C++
1389         https://bugs.webkit.org/show_bug.cgi?id=130850
1390
1391         Reviewed by Anders Carlsson.
1392
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.
1420
1421 2014-03-28  Csaba Osztrogonác  <ossy@webkit.org>
1422
1423         Unreviewed buildfix after r166441 and r166443.
1424
1425         * CMakeLists.txt: Add platform/audio/AudioHardwareListener.cpp.
1426
1427 2014-03-28  Javier Fernandez  <jfernandez@igalia.com>
1428
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
1431
1432         Reviewed by Darin Adler.
1433
1434         Adding the grid-item's marginLogicalHeight to the used breadth when computing
1435         content based grid-track sizes.
1436
1437         Test: fast/css-grid-layout/grid-item-margin-auto-columns-rows.html
1438
1439         * rendering/RenderGrid.cpp:
1440         (WebCore::RenderGrid::logicalContentHeightForChild):
1441
1442 2014-03-28  James Craig  <jcraig@apple.com>
1443
1444         Web Inspector: AXI: support for live regions
1445         https://bugs.webkit.org/show_bug.cgi?id=130725
1446
1447         Reviewed by Timothy Hatcher.
1448
1449         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
1450                inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html
1451
1452         Initial support for @aria-live, @aria-atomic, and @aria-busy.
1453
1454         * inspector/InspectorDOMAgent.cpp:
1455         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1456         * inspector/protocol/DOM.json:
1457
1458 2014-03-28  Darin Adler  <darin@apple.com>
1459
1460         Fix recently-introduced off-by-one error in centerTruncateToBuffer
1461         https://bugs.webkit.org/show_bug.cgi?id=130889
1462         <rdar://problem/16408694>
1463
1464         Reviewed by Alexey Proskuryakov.
1465
1466         * platform/graphics/StringTruncator.cpp:
1467         (WebCore::centerTruncateToBuffer): Simplified expression that computes truncatedLength.
1468         Removed incorrect "+ 1" from computation of where to write characters.
1469
1470 2014-03-28  Benjamin Poulain  <bpoulain@apple.com>
1471
1472         Update the code related to SelectorPseudoTypeMap to reflect its new purpose
1473         https://bugs.webkit.org/show_bug.cgi?id=130620
1474
1475         Reviewed by Andreas Kling.
1476
1477         Since r166094, SelectorPseudoTypeMap only contains PseudoClass instances and the 4 compatibility PseudoElement.
1478
1479         This patch rename SelectorPseudoTypeMap to SelectorPseudoClassAndCompatibilityElementMap and update the parsing
1480         to split PseudoClass and PseudoElement.
1481
1482         * CMakeLists.txt:
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):
1498
1499 2014-03-28  Stephanie Lewis  <slewis@apple.com>
1500
1501         Unreviewed build fix.
1502
1503         * platform/audio/AudioHardwareListener.cpp:
1504         (WebCore::AudioHardwareListener::create):
1505         (WebCore::AudioHardwareListener::audioHardwareListenerIsSupported): Deleted.
1506         * platform/audio/AudioHardwareListener.h:
1507
1508 2014-03-28  Lukasz Bialek  <l.bialek@samsung.com>
1509
1510         Refactor cut and copy functions as suggested in FIXME line
1511         https://bugs.webkit.org/show_bug.cgi?id=129867
1512
1513         Reviewed by Darin Adler.
1514
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
1518         functionality.
1519
1520         * editing/Editor.cpp:
1521         (WebCore::Editor::cut):
1522         (WebCore::Editor::copy):
1523         (WebCore::Editor::performCutOrCopy):
1524         * editing/Editor.h:
1525
1526 2014-03-28  Stephanie Lewis  <slewis@apple.com>
1527
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.
1530
1531         Reviewed by Anders Carlsson.
1532
1533         No new test because it’s just a name change.
1534
1535         * page/PageThrottler.h:
1536         (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
1537
1538 2014-03-28  Stephanie Lewis  <slewis@apple.com>
1539
1540         Notification handler for telling if audio hardware is active.
1541         https://bugs.webkit.org/show_bug.cgi?id=130743
1542
1543         Reviewed by Jer Noble.
1544
1545         Not web-exposed so no easy way to test.
1546
1547         Listen to CoreAudio to see if audio hardware is active in the current process.
1548
1549         * WebCore.exp.in:
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.
1566
1567 2014-03-28  James Craig  <jcraig@apple.com>
1568
1569         Web Inspector: AXI: expose what elements get generic "clickable" status
1570         https://bugs.webkit.org/show_bug.cgi?id=130721
1571
1572         Reviewed by Timothy Hatcher.
1573
1574         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
1575         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode_mouseEventNodeId.html
1576
1577         Expose ancestor element link to "Click Listener" or generic "Clickable: Yes" if current node has mouse handler.
1578
1579         Update AccessibilityNodeObject::mouseButtonListener() to optionally return body element if 
1580             requested so that Web Inspector can display body event delegate handlers.
1581
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:
1588
1589 2014-03-28  Joseph Pecoraro  <pecoraro@apple.com>
1590
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
1593
1594         Reviewed by Geoffrey Garen.
1595
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.
1599
1600         * bindings/js/PageScriptDebugServer.h:
1601         * bindings/js/PageScriptDebugServer.cpp:
1602         (WebCore::PageScriptDebugServer::runEventLoopWhilePaused):
1603         (WebCore::PageScriptDebugServer::runEventLoopWhilePausedInternal):
1604
1605 2014-03-28  Brent Fulgham  <bfulgham@apple.com>
1606
1607         [Win] Enable Media Track testing features on Windows
1608         https://bugs.webkit.org/show_bug.cgi?id=130851
1609
1610         Reviewed by Eric Carlson.
1611
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.
1619
1620 2014-03-28  Brian Burg  <bburg@apple.com>
1621
1622         Web Replay: add page-level setting to bypass the MemoryCache
1623         https://bugs.webkit.org/show_bug.cgi?id=130728
1624
1625         Reviewed by Timothy Hatcher.
1626
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.
1630
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.
1634
1635         Hook up ReplayController to override the memory cache setting during capture/replay.
1636
1637         Test: http/tests/cache/bypass-memory-cache-after-reload.html
1638
1639         * loader/cache/CachedResourceLoader.cpp:
1640         (WebCore::CachedResourceLoader::requestResource):
1641         (WebCore::CachedResourceLoader::revalidateResource):
1642         * loader/cache/MemoryCache.cpp:
1643         (WebCore::MemoryCache::add):
1644         * page/Page.cpp:
1645         (WebCore::Page::sessionID):
1646         * page/SessionID.h:
1647         (WebCore::SessionID::bypassCacheSessionID):
1648         * page/Settings.cpp:
1649         (WebCore::Settings::Settings):
1650         * page/Settings.h:
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:
1662
1663 2014-03-28  Radu Stavila  <stavila@adobe.com>
1664
1665         In some situations, partial layouts of floating elements produce incorrect results.
1666         https://bugs.webkit.org/show_bug.cgi?id=122668
1667
1668         Reviewed by David Hyatt.
1669
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.
1673
1674         Test: fast/block/float/floats-in-clean-line-crash.html
1675
1676         * rendering/RenderBlockLineLayout.cpp:
1677         (WebCore::RenderBlockFlow::checkFloatsInCleanLine):
1678
1679 2014-03-28  Beth Dakin  <bdakin@apple.com>
1680
1681         Build fix.
1682
1683         * rendering/RenderTheme.cpp:
1684         (WebCore::RenderTheme::paint):
1685
1686 2014-03-28  Jer Noble  <jer.noble@apple.com>
1687
1688         [MSE] Implement support for SourceBuffer.remove()
1689         https://bugs.webkit.org/show_bug.cgi?id=121562
1690
1691         Reviewed by Eric Carlson.
1692
1693         Test: media/media-source/media-source-remove.html
1694
1695         Add support for SourceBuffer.remove().
1696
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:
1708
1709 2014-03-27  Dean Jackson  <dino@apple.com>
1710
1711         Support form controls that may need incremental redraw
1712         https://bugs.webkit.org/show_bug.cgi?id=130736
1713
1714         Reviewed by Beth Dakin.
1715
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.
1723
1724         Since ControlStates is now a class, pass it around by
1725         reference.
1726
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.
1730
1731         * WebCore.xcodeproj/project.pbxproj: Add ControlStates.h.
1732         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
1733         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
1734         * dom/Element.cpp:
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.
1750         * platform/Theme.h:
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.
1804
1805 2014-03-28  Myles C. Maxfield  <mmaxfield@apple.com>
1806
1807         Clear SVGInlineTextBox fragments when the text changes.
1808         https://bugs.webkit.org/show_bug.cgi?id=130879
1809
1810         Reviewed by Darin Adler.
1811
1812         Ported from Blink: https://src.chromium.org/viewvc/blink?revision=150456&view=revision
1813
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.
1819         
1820         Also cleans up final function keywords for SVGRootInlineBox.
1821
1822         Test: svg/custom/unicode-in-tspan-multi-svg-crash.html
1823
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:
1832
1833 2014-03-28  Andreas Kling  <akling@apple.com>
1834
1835         Rebaseline bindings tests.
1836
1837 2014-03-28  Michael Saboff  <msaboff@apple.com>
1838
1839         Unreviewed, rolling r166248 back in.
1840
1841         Turns out r166070 didn't cause a 2% performance loss in page load times
1842
1843         Reverted changeset:
1844
1845         Unreviewed, rolling out r166126.
1846         Rollout r166126 in prepartion to roll out prerequisite r166070
1847
1848 2014-03-26  Antonio Gomes  <a1.gomes@sisa.samsung.com>
1849
1850         [Bindings] constants are always typed to 'int'
1851         https://bugs.webkit.org/show_bug.cgi?id=130775
1852
1853         Reviewed by Darin Adler.
1854
1855         Patch fixes a bug where all constant getter generated
1856         methods were returning 'integer' values due to static_cast.
1857
1858         Compilers should be smarth enough to properly infer which
1859         jsNumber class construtor to call given a literal value.
1860
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).
1864
1865         Tests:
1866         Binding tests updated.
1867         Rebaselined fast/dom/constants.html
1868
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):
1890
1891 2014-03-28  Myles C. Maxfield  <mmaxfield@apple.com>
1892
1893         A TrailingObject's endpoint might get decremented twice
1894         https://bugs.webkit.org/show_bug.cgi?id=130874
1895
1896         Reviewed by Darin Adler.
1897
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.
1900
1901         Fixes fast/block/update-midpoints-for-trailing-boxes-crash.html after r166245.
1902
1903         * rendering/line/BreakingContextInlineHeaders.h:
1904         (WebCore::checkMidpoints):
1905         (WebCore::BreakingContext::handleEndOfLine):
1906
1907 2014-03-28  Andreas Kling  <akling@apple.com>
1908
1909         Inline JSDOMWrapper subclasses' finishCreation().
1910         <https://webkit.org/b/130890>
1911
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.
1915
1916         Generate the function inline, reducing binary size, and removing
1917         an unnecessary call from the JSFoo::create() helpers.
1918
1919         Reviewed by Sam Weinig.
1920
1921         * bindings/scripts/CodeGeneratorJS.pm:
1922         (GenerateHeader):
1923         (GenerateImplementation):
1924
1925 2014-03-28  Jer Noble  <jer.noble@apple.com>
1926
1927         [Mac] HLS streams will report an incorrect natural size.
1928         https://bugs.webkit.org/show_bug.cgi?id=130859
1929
1930         Reviewed by Eric Carlson.
1931
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.
1936
1937         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1938         (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
1939
1940 2014-03-28  Antti Koivisto  <antti@apple.com>
1941
1942         Remove NodeListRootType flag
1943         https://bugs.webkit.org/show_bug.cgi?id=130896
1944
1945         Reviewed by Anders Carlsson.
1946
1947         This can be handled statically (except for the RadioNodeList case) removing
1948         a branch from NodeList traversal.
1949
1950         * dom/ClassNodeList.h:
1951         * dom/Document.cpp:
1952         (WebCore::Document::registerNodeListForInvalidation):
1953         (WebCore::Document::unregisterNodeListForInvalidation):
1954         (WebCore::Document::registerNodeList): Deleted.
1955         (WebCore::Document::unregisterNodeList): Deleted.
1956         
1957             Mark document invalidation registered lists with a bit.
1958             Renamed for clarity.
1959
1960         * dom/Document.h:
1961         * dom/LiveNodeList.cpp:
1962         (WebCore::LiveNodeList::LiveNodeList):
1963         (WebCore::LiveNodeList::rootNode):
1964         
1965             Base class version that invokes virtual isRootedAtDocument. It is needed to support 
1966             LiveNodeList::namedItem.
1967
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):
1975         
1976             Call isRootedAtDocument on the final leaf type. Except for RadioNodeList this
1977             resolves statically.
1978
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):
1993         
1994             HTMLCollections still needs the flag.
1995
1996         * html/LabelsNodeList.cpp:
1997         (WebCore::LabelsNodeList::LabelsNodeList):
1998         * html/LabelsNodeList.h:
1999         * html/RadioNodeList.cpp:
2000         (WebCore::RadioNodeList::RadioNodeList):
2001         * html/RadioNodeList.h:
2002
2003 2014-03-28  Mario Sanchez Prada  <mario.prada@samsung.com>
2004
2005         [GTK] Geoclue2 providers won't work after reloading
2006         https://bugs.webkit.org/show_bug.cgi?id=130898
2007
2008         Reviewed by Martin Robinson.
2009
2010         Don't reuse the Geoclue2 client proxy between different calls to
2011         startPosition(), and create a new client proxy each time instead.
2012
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.
2018
2019 2014-03-28  Diego Pino Garcia  <dpino@igalia.com>
2020
2021         [GTK] Too many redirects visiting www.globalforestwatch.org
2022         https://bugs.webkit.org/show_bug.cgi?id=129681
2023
2024         Reviewed by Martin Robinson.
2025
2026         * platform/gtk/UserAgentGtk.cpp:
2027         (WebCore::standardUserAgent): Append Safari version to UserAgent
2028         string.
2029
2030 2014-03-28  Michael Saboff  <msaboff@apple.com>
2031
2032         Unreviewed, rolling r166249 back in.
2033
2034         Turns out r166070 didn't cause a 2% performance loss in page load times
2035
2036         Reverted changeset:
2037
2038         Unreviewed, rolling out r166070.
2039         Rollout r166070 due to 2% performance loss in page load times
2040
2041 2014-03-28  James Craig  <jcraig@apple.com>
2042
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
2045
2046         Reviewed by Timothy Hatcher.
2047
2048         * inspector/protocol/DOM.json: Fixed a copy/paste annoyance.
2049
2050 2014-03-27  James Craig  <jcraig@apple.com>
2051
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
2054
2055         Reviewed by Timothy Hatcher.
2056
2057         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
2058
2059         Support for selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
2060
2061         * inspector/InspectorDOMAgent.cpp:
2062         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
2063         * inspector/protocol/DOM.json:
2064
2065 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
2066
2067         Specify Shadow DOM Pseudo IDs in Media Element Constructors
2068         https://bugs.webkit.org/show_bug.cgi?id=130882
2069
2070         Reviewed by Eric Carlson.
2071
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.
2098
2099 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
2100
2101         [iOS][WK2] Adjust the tile coverage on the scrollview's edges
2102         https://bugs.webkit.org/show_bug.cgi?id=130884
2103
2104         Reviewed by Dan Bernstein.
2105
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.
2111
2112 2014-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2113
2114         Remove unused LocaleMac::create method
2115         https://bugs.webkit.org/show_bug.cgi?id=130870
2116
2117         Reviewed by Andreas Kling.
2118
2119         * platform/text/mac/LocaleMac.h:
2120         * platform/text/mac/LocaleMac.mm:
2121         (WebCore::LocaleMac::create): Deleted.
2122         (WebCore::LocaleMac::shortDateFormatter): Deleted.
2123
2124 2014-03-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2125
2126         Clean up unneeded "mutable" keyword
2127         https://bugs.webkit.org/show_bug.cgi?id=130832
2128
2129         Reviewed by Andreas Kling.
2130
2131         As r166350, this patch cleans up unneeded "mutable" keywords.
2132         Additionally, m_validatedSelectionCache is removed because it is not used anywhere else.
2133
2134         * css/CSSFontFaceRule.h:
2135         * css/CSSStyleRule.h:
2136         * editing/FrameSelection.h:
2137
2138 2014-03-27  Enrica Casucci  <enrica@apple.com>
2139
2140         Add support for AirPlay picker in WK2 for iOS.
2141         https://bugs.webkit.org/show_bug.cgi?id=130855
2142         <rdar://problem/15349859>
2143
2144         Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.
2145
2146         Adds support in HTMLMediaSession to display the airplay picker
2147         and to monitor presence of available wireless targets.
2148
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):
2174
2175 2014-03-27  Bem Jones-Bey  <bjonesbe@adobe.com>
2176
2177         [CSS Shapes][css clip-path] rounded corner calculation for box shapes is wrong
2178         https://bugs.webkit.org/show_bug.cgi?id=127982
2179
2180         Reviewed by Simon Fraser.
2181
2182         Calculate rounded corners for box shapes as defined in the CSS Shapes
2183         spec.
2184
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
2206
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
2212             writing modes.
2213         * rendering/RenderBox.h:
2214         (WebCore::RenderBox::marginBoxRect): Return the margin box rect for
2215             the RenderBox.
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
2232             values.
2233
2234 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2235
2236         Unreviewed, rolling out r166364.
2237         https://bugs.webkit.org/show_bug.cgi?id=130872
2238
2239         Caused a test assertion (Requested by smfr on #webkit).
2240
2241         Reverted changeset:
2242
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
2246
2247 2014-03-27  Benjamin Poulain  <bpoulain@apple.com>
2248
2249         [iOS][WK2] Compute a good exposed rect when scaling WKContentView
2250         https://bugs.webkit.org/show_bug.cgi?id=130761
2251
2252         Reviewed by Simon Fraser.
2253
2254         * WebCore.exp.in:
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
2260         all around.
2261
2262 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2263
2264         Unreviewed, rolling out r166360.
2265         https://bugs.webkit.org/show_bug.cgi?id=130869
2266
2267         Seems to have broken PLT (Requested by ap on #webkit).
2268
2269         Reverted changeset:
2270
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
2275
2276 2014-03-27  Antti Koivisto  <antti@apple.com>
2277
2278         Remove LiveNodeList::Type
2279         https://bugs.webkit.org/show_bug.cgi?id=130866
2280
2281         Reviewed by Andreas Kling.
2282
2283         We don't need dynamic type information anymore.
2284
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):
2310         
2311             Get unique id from type for key generation purposes only.
2312
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:
2330
2331 2014-03-27  Simon Fraser  <simon.fraser@apple.com>
2332
2333         Fix crash when RenderView is cleared inside of frame flattening layout
2334         https://bugs.webkit.org/show_bug.cgi?id=130864
2335
2336         Reviewed by Dan Bernstein.
2337         
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.
2342         
2343         Add a null check to fix this.
2344         
2345         Crash was timing-dependent and hard to test.
2346
2347         * page/FrameView.cpp:
2348         (WebCore::FrameView::layout):
2349
2350 2014-03-27  Antti Koivisto  <antti@apple.com>
2351
2352         Remove some unnecessary branches from LiveNodeList traversal
2353         https://bugs.webkit.org/show_bug.cgi?id=130854
2354
2355         Reviewed by Andreas Kling.
2356
2357         Compile different traversal code paths for all NodeList subclasses.
2358
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.
2366         
2367             Remove separate nodeMatchesInlined functions. 
2368             We now rely on exact types and marking classes final.
2369
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):
2395         
2396             Add CachedLiveNodeList<NodeListType> utility type that interfaces with CollectionIndexCache.
2397             It is the base class for all concrete LiveNodeLists.
2398
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):
2411         
2412             Templated code moves to header.
2413
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:
2422         * dom/Node.cpp:
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:
2442
2443 2014-03-27  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2444
2445         Remove comment from Filter.h
2446         https://bugs.webkit.org/show_bug.cgi?id=130848
2447
2448         Reviewed by Simon Fraser.
2449
2450         Exploring the use of consts on applyScale() methods didn't yield
2451         good results.
2452
2453         No new tests, no change on behavior.
2454
2455         * platform/graphics/filters/Filter.h:
2456
2457 2014-03-27  Frédéric Wang  <fred.wang@free.fr>
2458
2459         Operator stretching: expose a math data API
2460         https://bugs.webkit.org/show_bug.cgi?id=130572
2461
2462         Reviewed by Chris Fleizach.
2463
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.
2470
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):
2492
2493 2014-03-27  Brent Fulgham  <bfulgham@apple.com>
2494
2495         Fix a crash caused by track insertion after load()
2496         https://bugs.webkit.org/show_bug.cgi?id=130777
2497
2498         Reviewed by Eric Carlson.
2499
2500         Test: media/track/track-insert-after-load-crash.html
2501
2502         Based on the Blink change (patch by acolwell@chromium.org):
2503         https://codereview.chromium.org/211373009/
2504
2505         * html/HTMLMediaElement.cpp:
2506         (WebCore::HTMLMediaElement::parseAttribute): Remove stale LoadMediaResource flag after explicit load.
2507
2508 2014-03-27  Alexey Proskuryakov  <ap@apple.com>
2509
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>
2514
2515         Added a wrapper for RunLoop::initializeMainThread that also adds modal run loop
2516         mode to it on Mac.
2517
2518         * CMakeLists.txt:
2519         * WebCore.exp.in:
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):
2528
2529 2014-03-27  Krzysztof Czech  <k.czech@samsung.com>
2530
2531         AX: Returns const reference to static string.
2532         https://bugs.webkit.org/show_bug.cgi?id=130835
2533
2534         Reviewed by Mario Sanchez Prada.
2535
2536         Avoiding some unnecessary copies by returning const reference to static string.
2537
2538         No new tests. No behaviour change.
2539
2540         * accessibility/AccessibilityMediaControls.cpp:
2541         (WebCore::AccessibilityMediaControl::controlTypeName):
2542         (WebCore::AccessibilityMediaControlsContainer::elementTypeName):
2543         * accessibility/AccessibilityMediaControls.h:
2544
2545 2014-03-27  Mihnea Ovidenie  <mihnea@adobe.com>
2546
2547         [CSSRegions] Rename inNamedFlow flag to isNamedFlowContentNode flag
2548         https://bugs.webkit.org/show_bug.cgi?id=130731
2549
2550         Reviewed by Andrei Bucur.
2551
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.
2555
2556         * dom/ContainerNode.cpp:
2557         (WebCore::destroyRenderTreeIfNeeded):
2558         * dom/Element.cpp:
2559         (WebCore::Element::~Element):
2560         (WebCore::Element::unregisterNamedFlowContentElement):
2561         * dom/Node.h:
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):
2573
2574 2014-03-27  Mihnea Ovidenie  <mihnea@adobe.com>
2575
2576         [CSSRegions] Crash when cloning a region child with a content node child
2577         https://bugs.webkit.org/show_bug.cgi?id=129811
2578
2579         Reviewed by David Hyatt.
2580
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.
2586
2587         Test: fast/regions/region-content-node-child-clone-crash.html
2588
2589         * dom/Element.cpp:
2590         (WebCore::Element::shouldMoveToFlowThread):
2591         (WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
2592         * dom/Element.h:
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):
2600
2601 2014-03-27  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2602
2603         Remove unneeded mutable keyword in some member variables 
2604         https://bugs.webkit.org/show_bug.cgi?id=130813
2605
2606         Reviewed by Andreas Kling.
2607
2608         Some member variables have mutable keyword though they don't used by const function.
2609         This patch removes them. 
2610
2611         No new tests, no behavior changes. Just clean up.
2612
2613         * storage/StorageAreaSync.h:
2614         * svg/animation/SVGSMILElement.h:
2615
2616 2014-03-27  Commit Queue  <commit-queue@webkit.org>
2617
2618         Unreviewed, rolling out r166296 and r166331.
2619         https://bugs.webkit.org/show_bug.cgi?id=130822
2620
2621         caused some crashes and frequent assertion failures, and the
2622         fix is going to take a little while (Requested by thorton on
2623         #webkit).
2624
2625         Reverted changesets:
2626
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
2631
2632         "Assertion failure in RemoteLayerBackingStore::flush"
2633         https://bugs.webkit.org/show_bug.cgi?id=130810
2634         http://trac.webkit.org/changeset/166331
2635
2636 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2637
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.
2641
2642         * WebCore.exp.in:
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.
2651
2652 2014-03-26  Ryosuke Niwa  <rniwa@webkit.org>
2653
2654         HTMLConverter::_processText is slow because it walks up ancestor elements
2655         https://bugs.webkit.org/show_bug.cgi?id=130820
2656
2657         Reviewed by Sam Weinig.
2658
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. 
2661
2662         This reduces the runtime of Interactive/CopyAll.html from 15s to 13s (15%).
2663
2664         * editing/cocoa/HTMLConverter.mm:
2665         (HTMLConverter::_attributesForElement):
2666         (HTMLConverter::attributesForElement):
2667         (HTMLConverter::aggregatedAttributesForAncestors):
2668         (HTMLConverter::_processText):
2669
2670 2014-03-26  Sam Weinig  <sam@webkit.org>
2671
2672         Fix iOS build.
2673
2674         * editing/cocoa/HTMLConverter.mm:
2675         (_font):
2676
2677 2014-03-26  Ryosuke Niwa  <rniwa@webkit.org>
2678
2679         Make _processText and _traverseNode in HTMLConverter more efficient
2680         https://bugs.webkit.org/show_bug.cgi?id=130769
2681
2682         Reviewed by Sam Weinig.
2683
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.
2686
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):
2697
2698 2014-03-26  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2699
2700         FEGaussianBlur: unify and const-ify calculateKernelSize
2701         https://bugs.webkit.org/show_bug.cgi?id=130779
2702
2703         Some methods can benefit of using const refs as also make sense to
2704         unify the interface (i.e. parameters) in calculateKernelSize/Unscaled.
2705
2706         FilterEffect::filter() will now return a reference, which helps since
2707         its descendants were accessing methods into the pointer without testing
2708         for it.
2709
2710         Reviewed by Simon Fraser.
2711
2712         No new tests, no changes on behavior.
2713
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):
2751
2752 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2753
2754         Make sure childContainmentLayer is parented
2755         https://bugs.webkit.org/show_bug.cgi?id=130808
2756
2757         Reviewed by Tim Horton.
2758
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.
2763
2764         * rendering/RenderLayerBacking.cpp:
2765         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2766
2767 2014-03-26  Brian Burg  <bburg@apple.com>
2768
2769         Web Replay: disable page cache during capture/replay
2770         https://bugs.webkit.org/show_bug.cgi?id=130672
2771
2772         Reviewed by Timothy Hatcher.
2773
2774         Save, set, and restore page cache settings at the correct times.
2775
2776         No new tests. If this code fails, then the tests for network replay will fail.
2777
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:
2785
2786 2014-03-26  Sam Weinig  <sam@webkit.org>
2787
2788         Convert more of HTMLConverter to C++
2789         https://bugs.webkit.org/show_bug.cgi?id=130811
2790
2791         Reviewed by Anders Carlsson.
2792
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.
2810
2811 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
2812
2813         Hook up -webkit-overflow-scrolling:touch for iOS WK2
2814         https://bugs.webkit.org/show_bug.cgi?id=130809
2815
2816         Reviewed by Tim Horton.
2817
2818         Get -webkit-overflow-scrolling: touch working for iOS WK2.
2819         
2820         * WebCore.exp.in:
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.
2836
2837 2014-03-26  Timothy Hatcher  <timothy@apple.com>
2838
2839         Modernize the loops in InspectorPageAgent.cpp.
2840
2841         Also moves the check for hiddenFromInspector to a lower level.
2842         This hides hidden resources from more places.
2843
2844         https://bugs.webkit.org/show_bug.cgi?id=130803
2845
2846         Reviewed by Joseph Pecoraro.
2847
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):
2857
2858 2014-03-26  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2859
2860         Add platform implementation for RTCOfferAnswerOptions and RTCOfferOptions
2861         https://bugs.webkit.org/show_bug.cgi?id=130689
2862
2863         Reviewed by Eric Carlson.
2864
2865         RTCOfferAnswerOptions and RTCOfferOptions objects were being passed to platform class, causing a layer
2866         violation.
2867
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:
2890
2891 2014-03-26  Zalan Bujtas  <zalan@apple.com>
2892
2893         Device scale factor should always be greater than 0.
2894         https://bugs.webkit.org/show_bug.cgi?id=130798
2895
2896         Reviewed by David Kilzer.
2897
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.
2900
2901         * page/Page.cpp:
2902         (WebCore::Page::setDeviceScaleFactor):
2903
2904 2014-03-26  Myles C. Maxfield  <mmaxfield@apple.com>
2905
2906         Skipping underlines disregard points completely inside the underline rect
2907         https://bugs.webkit.org/show_bug.cgi?id=130800
2908
2909         Reviewed by Dean Jackson.
2910
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
2914         do.
2915
2916         Test: fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html
2917
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
2922
2923 2014-03-26  Pratik Solanki  <psolanki@apple.com>
2924
2925         Unreviewed. iOS build fix after r166312. Soft link CMTimeRangeGetEnd.
2926
2927         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
2928
2929 2014-03-26  Timothy Hatcher  <timothy@apple.com>
2930
2931         Propagate the hiddenFromInspector flag on ResourceRequest in
2932         places when a new request a made or passed between processes.
2933
2934         https://bugs.webkit.org/show_bug.cgi?id=130741
2935
2936         Reviewed by Joseph Pecoraro.
2937
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.
2952
2953 2014-03-26  Zoltan Horvath  <zoltan@webkit.org>
2954
2955         [CSS Shapes] Remove no-longer-used shape-inside geometry code
2956         https://bugs.webkit.org/show_bug.cgi?id=130740
2957
2958         Reviewed by David Hyatt.
2959
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.
2962
2963         No new tests needed, existing tests have been removed by r166301.
2964
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:
3012
3013 2014-03-26  Jeremy Jones  <jeremyj@apple.com>
3014
3015         Implement hasLiveStreamingContent property in WebAVPlayerController
3016         https://bugs.webkit.org/show_bug.cgi?id=128684
3017
3018         Reviewed by Simon Fraser.
3019
3020         * WebCore.exp.in:
3021         Add export for WebVideoFullscreenInterfaceAVKit::setSeekableRanges().
3022
3023         * platform/ios/WebVideoFullscreenInterface.h:
3024         Add setSeekableRanges()
3025
3026         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
3027         Add setSeekableRanges()
3028
3029         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3030         Remove vestigial playerLayer property. Add seekableTimeRanges property.
3031
3032         (-[WebAVPlayerController dealloc]):
3033         Release _seekableTimeRanges.
3034         Remove references to _playerLayer.
3035
3036         (-[WebAVPlayerController hasLiveStreamingContent]):
3037         Implement based on duration. Live stream has an infinite duration.
3038
3039         (+[WebAVPlayerController keyPathsForValuesAffectingHasLiveStreamingContent]):
3040         Describe dependent keys for computed property hasLiveStreamingContent.
3041
3042         (-[WebAVPlayerController skipBackwardThirtySeconds:]):
3043         Seek back 30 seconds if that time is in the seekable ranges.
3044
3045         (-[WebAVPlayerController gotoEndOfSeekableRanges:]):
3046         Jump to live by going to the of the seekable ranges.
3047
3048         (WebVideoFullscreenInterfaceAVKit::setSeekableRanges):
3049         Convert TimeRange to CMTimeRange.
3050
3051         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
3052         (WebVideoFullscreenModelMediaElement::setMediaElement):
3053         Set initial seekable ranges.
3054
3055         (WebVideoFullscreenModelMediaElement::handleEvent):
3056         Update seekable ranges when time changes.
3057
3058 2014-03-26  Brent Fulgham  <bfulgham@apple.com>
3059
3060         Fix OS X build.
3061
3062         * WebCore.exp.in: Add missing export symbol.
3063
3064 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
3065
3066         Fix the Windows build. Add a no-op impl for Mac non-UI-side.
3067
3068         * platform/graphics/ca/mac/PlatformCALayerMac.h:
3069         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
3070         (PlatformCALayerWin::PlatformCALayerWin):
3071         * platform/graphics/ca/win/PlatformCALayerWin.h:
3072
3073 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
3074
3075         REGRESSION (r155977): matrix animations no longer animate
3076         https://bugs.webkit.org/show_bug.cgi?id=130789
3077         <rdar://problem/15650946>
3078
3079         Reviewed by Dean Jackson.
3080         
3081         r155977 erroneously removed two lines that set the end points for
3082         matrix animations (used when transform lists don't match), so
3083         put them back.
3084         
3085         Also don't repaint when updateContentsScale()
3086         is called and doesn't change the contents scale.
3087
3088         Test: compositing/animation/matrix-animation.html
3089
3090         * platform/graphics/ca/GraphicsLayerCA.cpp:
3091         (WebCore::GraphicsLayerCA::updateRootRelativeScale):
3092         (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
3093         (WebCore::GraphicsLayerCA::updateContentsScale):
3094
3095 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
3096
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
3099
3100         Reviewed by Tim Horton.
3101
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.
3105
3106         * WebCore.exp.in:
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):
3123
3124 2014-03-26  Brent Fulgham  <bfulgham@apple.com>
3125
3126         Unreviewed test correction.
3127
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
3130         compilation unit.
3131
3132         * accessibility/AXObjectCache.cpp:
3133         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Moved from header.
3134         * accessibility/AXObjectCache.h:
3135         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Deleted.
3136
3137 2014-03-26  Jer Noble  <jer.noble@apple.com>
3138
3139         REGRESSION(r162679): Poster image visible under the video
3140         https://bugs.webkit.org/show_bug.cgi?id=130783
3141
3142         Reviewed by Simon Fraser.
3143
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().
3148
3149         * rendering/RenderLayerBacking.cpp:
3150         (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
3151
3152 2014-03-26  Antti Koivisto  <antti@apple.com>
3153
3154         Render tree construction is O(N^2) in number of siblings
3155         https://bugs.webkit.org/show_bug.cgi?id=129065
3156
3157         Reviewed by Darin Adler.
3158         
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.
3163         
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.
3166
3167         Test: perf/sibling-renderer-On2.html
3168
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):
3192
3193 2014-03-26  Commit Queue  <commit-queue@webkit.org>
3194
3195         Unreviewed, rolling out r166264.
3196         https://bugs.webkit.org/show_bug.cgi?id=130785
3197
3198         Broke some window.opener tests for WK2 Mavericks (Requested by
3199         brrian__ on #webkit).
3200
3201         Reverted changeset:
3202
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
3207
3208 2014-03-26  Zoltan Horvath  <zoltan@webkit.org>
3209
3210         [CSS Shapes] Remove shape-inside support
3211         https://bugs.webkit.org/show_bug.cgi?id=130698
3212
3213         Reviewed by David Hyatt.
3214
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.
3217
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)
3227
3228         No new tests are needed.
3229
3230         * CMakeLists.txt:
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:
3324
3325 2014-03-25  Brent Fulgham  <bfulgham@apple.com>
3326
3327         Avoid duplicate size checks when creating empty image
3328         https://bugs.webkit.org/show_bug.cgi?id=130730
3329
3330         Reviewed by Dean Jackson.
3331
3332         Merged from Blink (patch by ch.dumez@samsung.com):
3333         https://chromium.googlesource.com/chromium/blink/+/4861a71bc1f284fc97417f405ab7d08dc6947b88
3334         http://crbug.com/190633011
3335
3336         * html/canvas/CanvasRenderingContext2D.cpp:
3337         (WebCore::createEmptyImageData): Don't perform overflow calculation twice.
3338
3339 2014-03-26  Sergio Villar Senin  <svillar@igalia.com>
3340
3341         [CSS Grid Layout] getComputedStyle() must return the specified value for positioning properties
3342         https://bugs.webkit.org/show_bug.cgi?id=130010
3343
3344         Reviewed by Darin Adler.
3345
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}.
3351
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.
3355
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
3358         "-end".
3359
3360         Test: fast/css-grid-layout/named-grid-lines-with-named-grid-areas-get-set.html
3361
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.
3381
3382 2014-03-26  Simon Fraser  <simon.fraser@apple.com>
3383
3384         Fix the iOS build.
3385
3386         * WebCore.exp.in:
3387
3388 2014-03-26  Tim Horton  <timothy_horton@apple.com>
3389
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>
3393
3394         Reviewed by Simon Fraser.
3395
3396         * platform/graphics/cocoa/IOSurface.h:
3397         Add a non-ensuring platformContext() getter.
3398
3399 2014-03-26  James Craig  <jcraig@apple.com>
3400
3401         Web Inspector: AXI: crash when inspecting "bar" text node in getAccessibilityPropertiesForNode layout test
3402         https://bugs.webkit.org/show_bug.cgi?id=130290
3403
3404         Reviewed by Timothy Hatcher.
3405
3406         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3407
3408         Fixing regression from r165590. http://webkit.org/b/129779
3409         Verify isElementNode to avoid calling toElement on document or text nodes.
3410
3411         * inspector/InspectorDOMAgent.cpp:
3412         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3413
3414 2014-03-25  Sergio Villar Senin  <svillar@igalia.com>
3415
3416         Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in editing/
3417         https://bugs.webkit.org/show_bug.cgi?id=130722
3418
3419         Reviewed by Antti Koivisto.
3420
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):
3436
3437 2014-03-25  Simon Fraser  <simon.fraser@apple.com>
3438
3439         Add a new type of scrolling tree node for overflow scrolling
3440         https://bugs.webkit.org/show_bug.cgi?id=130763
3441
3442         Reviewed by Tim Horton.
3443
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.
3449         
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.
3453
3454         * WebCore.exp.in:
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):
3496
3497 2014-03-26  Krzysztof Czech  <k.czech@samsung.com>
3498
3499         [ATK] Utilize new AtkValue interface coming in ATK 2.11.92
3500         https://bugs.webkit.org/show_bug.cgi?id=130575
3501
3502         Reviewed by Mario Sanchez Prada.
3503
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.
3506
3507         No new tests. Covered by existing ones.
3508
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):
3521
3522 2014-03-26  Zan Dobersek  <zdobersek@igalia.com>
3523
3524         Unreviewed. Removing the remaining Automake cruft.
3525
3526         * GNUmakefile.list.am: Removed.
3527
3528 2014-03-25  Pratik Solanki  <psolanki@apple.com>
3529
3530         iOS build fix. Add missing semicolon.
3531
3532         * editing/cocoa/HTMLConverter.mm:
3533         (HTMLConverter::_addAttachmentForElement):
3534
3535 2014-03-25  Sam Weinig  <sam@webkit.org>
3536
3537         Speculative iOS build fix.
3538
3539         * editing/cocoa/HTMLConverter.mm:
3540         (HTMLConverter::_addAttachmentForElement):
3541
3542 2014-03-25  Jer Noble  <jer.noble@apple.com>
3543
3544         [MSE] Duplicate 'seeked' events.
3545         https://bugs.webkit.org/show_bug.cgi?id=130754
3546
3547         Reviewed by Eric Carlson.
3548
3549         Test: media/media-source/media-source-duplicate-seeked.html
3550
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.
3554
3555         * html/HTMLMediaElement.cpp:
3556         (WebCore::HTMLMediaElement::parseAttribute):
3557
3558 2014-03-25  James Craig  <jcraig@apple.com>
3559
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
3562
3563         Reviewed by Timothy Hatcher.
3564
3565         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
3566
3567         Support for @aria-activedescendant; code reuse changes w/ parentNode and activeDescendantNode.
3568
3569         * inspector/InspectorDOMAgent.cpp:
3570         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
3571         * inspector/protocol/DOM.json:
3572
3573 2014-03-25  Sanghyup Lee  <sh53.lee@samsung.com>
3574
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
3577
3578         Reviewed by Darin Adler.
3579
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().
3583
3584         * dom/Document.cpp:
3585         (WebCore::Document::updateHoverActiveState):
3586
3587 2014-03-25  Eric Carlson  <eric.carlson@apple.com>
3588
3589         [Mac] Always retry a failed MediaDocument as a PluginDocument
3590         https://bugs.webkit.org/show_bug.cgi?id=130742
3591
3592         Reviewed by Jer Noble.
3593
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.
3597
3598 2014-03-25  Ryosuke Niwa  <rniwa@webkit.org>
3599
3600         Replace HTMLConverter::_stringForNode by propertyValueForNode
3601         https://bugs.webkit.org/show_bug.cgi?id=130711
3602
3603         Reviewed by Sam Weinig.
3604
3605         Replaced all calls to HTMLConverter::_stringForNode by that to propertyValueForNode.
3606
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.
3619
3620 2014-03-25  Pratik Solanki  <psolanki@apple.com>
3621
3622         Attempt to fix iOS build after r166261.
3623
3624         * WebCore.xcodeproj/project.pbxproj: Make SystemSleepListener.h a private header.
3625
3626 2014-03-21  Jer Noble  <jer.noble@apple.com>
3627
3628         [iOS] Enable caption support in full screen.
3629         https://bugs.webkit.org/show_bug.cgi?id=130603
3630
3631         Reviewed by Eric Carlson.
3632
3633         Add TextTrackRepresentation support to MediaPlayerPrivateAVFoundationObjC.
3634
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.
3641
3642         Make the text track container a stacking context for painting purposes.
3643         * Modules/mediacontrols/mediaControlsiOS.css:
3644         (video::-webkit-media-text-track-container):
3645
3646 2014-03-25  Brian Burg  <bburg@apple.com>
3647
3648         Web Replay: resource unique identifiers should be unique-per-frame, not globally
3649         https://bugs.webkit.org/show_bug.cgi?id=130632
3650
3651         Reviewed by Timothy Hatcher.
3652
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
3655         order.
3656
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.
3660
3661         No new tests. Identifier invariants are exercised by existing assertions and tests.
3662
3663         * loader/ProgressTracker.cpp:
3664         (WebCore::ProgressTracker::ProgressTracker):
3665         (WebCore::ProgressTracker::reset):
3666         (WebCore::ProgressTracker::createUniqueIdentifier):
3667         * loader/ProgressTracker.h:
3668
3669 2014-03-25  Jer Noble  <jer.noble@apple.com>
3670
3671         [Mac] Pause the media element during system sleep.
3672         https://bugs.webkit.org/show_bug.cgi?id=130718
3673
3674         Reviewed by Eric Carlson.
3675
3676         Test: media/video-system-sleep.html
3677
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.
3683
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):
3692
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):
3699
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:
3706
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):
3712
3713         Add new files to project:
3714         * WebCore.vcxproj/WebCore.vcxproj:
3715         * WebCore.xcodeproj/project.pbxproj:
3716         * CMakeLists.txt:
3717         * GNUmakefile.list.am:
3718
3719 2014-03-25  Radu Stavila  <stavila@adobe.com>
3720
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
3723
3724         Reviewed by David Hyatt.
3725
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.
3728
3729         Tests: fast/regions/scrollable-region-scrollable-absolute-content-background.html
3730                fast/regions/scrollable-region-scrollable-content-background.html
3731
3732         * rendering/RenderNamedFlowThread.cpp:
3733         (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
3734
3735 2014-03-25  Joseph Pecoraro  <pecoraro@apple.com>
3736
3737         [iOS] Inspector View Indication Support
3738         https://bugs.webkit.org/show_bug.cgi?id=130709
3739
3740         Reviewed by Simon Fraser.
3741
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.
3748
3749 2014-03-25  Brent Fulgham  <bfulgham@apple.com>
3750
3751         Unreviewed build fix. Typo on checkin.
3752
3753         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3754         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Left an unmatched open bracket.
3755
3756 2014-03-25  Jer Noble  <jer.noble@apple.com>
3757
3758         Even further unreviewed build fix after r166247. Unprotect the implementation of HTMLMediaElement::shouldDisableSleep().
3759
3760         * html/HTMLMediaElement.cpp:
3761         (WebCore::HTMLMediaElement::parseAttribute):
3762
3763 2014-03-25  Jer Noble  <jer.noble@apple.com>
3764
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.
3767
3768         * WebCore.vcxproj/WebCore.vcxproj:
3769         * platform/DisplaySleepDisabler.cpp:
3770         (WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
3771         (WebCore::DisplaySleepDisabler::~DisplaySleepDisabler):
3772         * platform/DisplaySleepDisabler.h:
3773
3774 2014-03-25  Jer Noble  <jer.noble@apple.com>
3775
3776         Unreviewed build fix after r166247. Un-platform-protect the declaration of HTMLMediaElement::shouldDisableSleep()
3777         and make WebVideoFullscreenController's _displaySleepDisabler a std::unique_ptr.
3778
3779         * html/HTMLMediaElement.h:
3780         * platform/mac/WebVideoFullscreenController.h:
3781
3782 2014-03-25  Brent Fulgham  <bfulgham@apple.com>
3783
3784         [iOS] Pass additional options to AVFoundation during playback.
3785         https://bugs.webkit.org/show_bug.cgi?id=130624
3786
3787         Reviewed by Eric Carlson.
3788
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.
3800
3801 2014-03-25  Michael Saboff  <msaboff@apple.com>
3802
3803         Unreviewed, rolling out r166070.
3804
3805         Rollout r166070 due to 2% performance loss in page load times
3806
3807         Reverted changeset:
3808
3809         "Change CodeGeneratorJS.pm special cases for "DOMWindow" to be
3810         general purpose"
3811         https://bugs.webkit.org/show_bug.cgi?id=130553
3812         http://trac.webkit.org/changeset/166070
3813
3814 2014-03-25  Michael Saboff  <msaboff@apple.com>
3815
3816         Unreviewed, rolling out r166126.
3817
3818         Rollout r166126 in prepartion to roll out prerequisite r166070
3819
3820         Reverted changeset:
3821
3822         "toThis() on a JSWorkerGlobalScope should return a JSProxy and
3823         not undefined"
3824         https://bugs.webkit.org/show_bug.cgi?id=130554
3825         http://trac.webkit.org/changeset/166126
3826
3827 2014-03-25  Jer Noble  <jer.noble@apple.com>
3828
3829         [iOS] Playing video does not disable display sleep.
3830         https://bugs.webkit.org/show_bug.cgi?id=130729
3831
3832         Reviewed by Eric Carlson.
3833
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.
3837
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.
3848
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:
3854
3855         Add the new and renamed files to the project:
3856         * CMakeLists.txt:
3857         * GNUmakefile.list.am:
3858         * WebCore.xcodeproj/project.pbxproj:
3859
3860 2014-03-25  Dirk Schulze  <krit@webkit.org>
3861
3862         Implement ImageData constructors and WebWorkers exposure
3863         https://bugs.webkit.org/show_bug.cgi?id=130668
3864
3865         Reviewed by Dean Jackson.
3866
3867         Add new constructors for ImageData.
3868
3869         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#pixel-manipulation
3870
3871         Test: fast/canvas/canvas-imageData.html
3872
3873         * html/ImageData.cpp: 
3874         (WebCore::ImageData::create):
3875         * html/ImageData.h:
3876         * html/ImageData.idl:
3877
3878 2014-03-25  Myles C. Maxfield  <mmaxfield@apple.com>
3879
3880         InlineIterator position (unsigned int) variable can wrap around
3881         https://bugs.webkit.org/show_bug.cgi?id=130540
3882
3883         Reviewed by Simon Fraser.
3884
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.
3892
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.
3895
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
3898         going on.
3899
3900         Test: fast/text/whitespace-only-text-in-rtl.html
3901
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
3912
3913 2014-03-25  Martin Robinson  <mrobinson@igalia.com>
3914
3915         [GTK] Remove the autotools build
3916         https://bugs.webkit.org/show_bug.cgi?id=130717
3917
3918         Reviewed by Anders Carlsson.
3919
3920         * GNUmakefile.am: Removed.
3921         * bindings/gobject/GNUmakefile.am: Removed.
3922         * config.h: Removed references to autotools configure file.
3923
3924 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
3925
3926         Prevent 'removetrack' events from firing when all inband text tracks are removed.
3927         https://bugs.webkit.org/show_bug.cgi?id=130704
3928
3929         Reviewed by Eric Carlson.
3930
3931         Test: media/track/track-remove-track.html
3932
3933         Based on the Blink change (patch by acolwell@chromium.org):
3934         https://codereview.chromium.org/177243018/
3935
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.
3954
3955 2014-03-25  David Kilzer  <ddkilzer@apple.com>
3956
3957         Hold a reference to firstSuccessfulSubmitButton in HTMLFormElement::submit
3958         <http://webkit.org/b/130713>
3959         <rdar://problem/15661876>
3960
3961         Reviewed by Darin Adler.
3962
3963         Merged from Blink (patch by Ian Beer):
3964         http://crbug.com/303657
3965         https://src.chromium.org/viewvc/blink?view=rev&revision=158938
3966
3967         Test: fast/forms/form-submission-crash-successful-submit-button.html
3968
3969         * html/HTMLFormElement.cpp:
3970         (WebCore::HTMLFormElement::submit):
3971
3972 2014-03-25  Gabor Rapcsanyi  <rgabor@webkit.org>
3973
3974         [ARM64] GNU assembler fails in TransformationMatrix::multiply
3975         https://bugs.webkit.org/show_bug.cgi?id=130454
3976
3977         Reviewed by Zoltan Herczeg.
3978
3979         Change the NEON intstructions to the proper style.
3980
3981         * platform/graphics/transforms/TransformationMatrix.cpp:
3982         (WebCore::TransformationMatrix::multiply):
3983
3984 2014-03-20  Sergio Villar Senin  <svillar@igalia.com>
3985
3986         [CSS Grid Layout] Vertical rectangles not considered as valid grid areas
3987         https://bugs.webkit.org/show_bug.cgi?id=130513
3988
3989         Reviewed by Andreas Kling.
3990
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
3995         the last one.
3996
3997         Test: fast/css-grid-layout/grid-template-areas-get-set.html
3998
3999         * css/CSSParser.cpp:
4000         (WebCore::CSSParser::parseGridTemplateAreas):
4001
4002 2014-03-25  Xabier Rodriguez Calvar  <calvaris@igalia.com>
4003
4004         [GTK] Volume slider shows below the panel with videos in certain cases
4005         https://bugs.webkit.org/show_bug.cgi?id=130608
4006
4007         Reviewed by Jer Noble.
4008
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.
4012
4013         Test: media/video-initially-hidden-volume-slider-up.html
4014
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
4020         to the superclass.
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.
4025
4026 2014-03-24  Brent Fulgham  <bfulgham@apple.com>
4027
4028         [Win] Enable WebVTT Regions on Windows.
4029         https://bugs.webkit.org/show_bug.cgi?id=130680
4030
4031         Reviewed by Eric Carlson.
4032
4033         * DerivedSources.cpp: Add new build components.
4034         * WebCore.vcxproj/WebCore.vcxproj: Ditto.
4035         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
4036
4037 2014-03-24  Simon Fraser  <simon.fraser@apple.com>
4038
4039         Remove some unnecessary includes from PlatformCALayerClient.h
4040         https://bugs.webkit.org/show_bug.cgi?id=130703
4041
4042         Reviewed by Andreas Kling.
4043         
4044         No need for all these #includes.
4045
4046         * platform/graphics/ca/PlatformCALayerClient.h:
4047