Devirtualize isHTMLUnknownElement().
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-04-05  Andreas Kling  <akling@apple.com>
2
3         Devirtualize isHTMLUnknownElement().
4         <https://webkit.org/b/131269>
5
6         We were hitting isHTMLUnknownElement() pretty hard when marking
7         out-of-document Nodes. (The check is part of isHTMLAudioElement()
8         which is called by JSNodeOwner::isReachableFromOpaqueRoots().)
9
10         This patch uses a Node flag for the unknown element instead.
11         I'm also adding HTMLUnknownElement.{h,idl} to the Xcode project
12         since they were suspiciously missing.
13
14         Reviewed by Benjamin Poulain.
15
16         * WebCore.xcodeproj/project.pbxproj:
17         * dom/Node.h:
18         * html/HTMLElement.h:
19         (WebCore::HTMLElement::isHTMLUnknownElement):
20         * html/HTMLUnknownElement.h:
21         (WebCore::toHTMLUnknownElement): Deleted.
22
23 2014-04-05  Dirk Schulze  <krit@webkit.org>
24
25         Canvas stroke and strokeRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
26         https://bugs.webkit.org/show_bug.cgi?id=66762
27
28         Reviewed by Andreas Kling.
29
30         For fill operations we create a new ImageBuffer to ensure that the results are composited
31         correctly according to the Canvas spec. This patch creates a new transparency layer
32         for stroking on certain compositing operators to archive the same. This makes WebKit's
33         behavior interoperable with Firefox and IE as well. 
34
35         Test: fast/fast/canvas/canvas-composite-stroke-alpha.html
36
37         * html/canvas/CanvasRenderingContext2D.cpp:
38         (WebCore::CanvasRenderingContext2D::strokeInternal):
39         (WebCore::CanvasRenderingContext2D::strokeRect):
40
41 2014-04-05  Yusuke Suzuki  <utatane.tea@gmail.com>
42
43         Use preallocated stack reference to store adjacentBacktrackingStart
44         https://bugs.webkit.org/show_bug.cgi?id=131237
45
46         Reviewed by Benjamin Poulain.
47
48         * cssjit/SelectorCompiler.cpp:
49         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
50         (WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
51         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
52         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
53         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
54         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
55         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent): Deleted.
56         (WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures): Deleted.
57         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail): Deleted.
58         * cssjit/StackAllocator.h:
59         (WebCore::StackAllocator::allocateUninitialized):
60
61 2014-04-05  Jeongeun Kim  <je_julie.kim@samsung.com>
62
63         bad values from HTMLImageElement x and y attributes (CSSOM-View)
64         https://bugs.webkit.org/show_bug.cgi?id=130308
65         
66         Reviewed by Simon Fraser.
67
68         According to CSSOM-View, interface HTMLImageElement,
69         The x attribute must return the x-coordinate.
70         If style is not updated when x() is called, it can’t return anything.
71         Style and layout should be done before getting value for x() and y(). 
72
73         Test: cssom/cssom-view-img-attributes-001.html
74
75         * html/HTMLImageElement.cpp:
76         (WebCore::HTMLImageElement::x):
77         (WebCore::HTMLImageElement::y):
78
79 2014-04-05  Zoltan Horvath  <zoltan@webkit.org>
80
81         [CSS Shapes] Remove CSSBoxType member from BasicShape and CSSBasicShape
82         https://bugs.webkit.org/show_bug.cgi?id=129706
83
84         Reviewed by Andreas Kling.
85
86         The CSSBoxType has been moved up to ShapeValue and is no longer needed in the BasicShape classes.
87
88         No new tests, no behavior change.
89
90         * css/BasicShapeFunctions.cpp:
91         (WebCore::valueForBasicShape):
92         (WebCore::basicShapeForValue):
93         * rendering/style/BasicShapes.cpp:
94         (WebCore::BasicShape::canBlend):
95         * rendering/style/BasicShapes.h:
96         (WebCore::BasicShape::referenceBox): Deleted.
97         (WebCore::BasicShape::setReferenceBox): Deleted.
98         (WebCore::BasicShape::BasicShape): Deleted.
99
100 2014-04-05  Mark Rowe  <mrowe@apple.com>
101
102         Fix the 32-bit build after r166818.
103
104         * WebCore.exp.in:
105
106 2014-04-03  Brian J. Burg  <burg@cs.washington.edu>
107
108         Web Inspector: hook up probe samples to TimelineAgent's records
109         https://bugs.webkit.org/show_bug.cgi?id=131127
110
111         Reviewed by Timothy Hatcher.
112
113         Hook up probe callbacks from ScriptDebugListener so that timeline records are
114         created for probe samples. The record includes the probe identifier and hit count.
115         The actual probe evaluation result is sent separately by DebuggerAgent, and
116         can be looked up in frontend models using the identifier and hit count.
117
118         * inspector/InspectorTimelineAgent.cpp: Only listen to the debug server when recording.
119         (WebCore::InspectorTimelineAgent::start):
120         (WebCore::InspectorTimelineAgent::stop):
121         (WebCore::InspectorTimelineAgent::breakpointActionProbe):
122         (WebCore::toProtocol):
123         * inspector/InspectorTimelineAgent.h:
124         * inspector/TimelineRecordFactory.cpp:
125         (WebCore::TimelineRecordFactory::createProbeSampleData):
126         * inspector/TimelineRecordFactory.h:
127         * inspector/protocol/Timeline.json: Add new enum value.
128
129 2014-04-04  Andreas Kling  <akling@apple.com>
130
131         Streamline cached wrapper lookup for Nodes in the normal world.
132         <https://webkit.org/b/131249>
133
134         Inline the hot path for toJS(..., Node*) for cached wrapper lookups
135         in the normal world. (Or really, out-of-line the cold path, since
136         that was preventing the compiler from inlining this function.)
137
138         Also have JSDOMGlobalObject cache the "is normal world" flag from
139         the DOMWrapperWorld so we can avoid the extra load.
140
141         Reviewed by Benjamin Poulain.
142
143         * WebCore.exp.in:
144         * bindings/js/JSDOMGlobalObject.cpp:
145         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
146         * bindings/js/JSDOMGlobalObject.h:
147         (WebCore::JSDOMGlobalObject::worldIsNormal):
148         * bindings/js/JSNodeCustom.cpp:
149         (WebCore::getOutOfLineCachedWrapper):
150         * bindings/js/JSNodeCustom.h:
151         (WebCore::toJS):
152
153 2014-04-04  Brady Eidson  <beidson@apple.com>
154
155         Show DataDetector UI on scanned phone numbers.
156         <rdar://problem/16379588> and https://bugs.webkit.org/show_bug.cgi?id=131247
157
158         Reviewed by Tim Horton.
159
160         Gather the ranges of the scanned telephone numbers and send them up to WK2:
161         * editing/Editor.cpp:
162         (WebCore::Editor::respondToChangedSelection):
163         (WebCore::Editor::scanSelectionForTelephoneNumbers):
164         (WebCore::Editor::scanRangeForTelephoneNumbers):
165         * editing/Editor.h:
166
167         Add client method to receive scanned telephone number ranges:
168         * page/EditorClient.h:
169         (WebCore::EditorClient::selectedTelephoneNumberRangesChanged):
170
171         Remove unneeded placeholder UI:
172         * rendering/InlineTextBox.cpp:
173         (WebCore::InlineTextBox::paintDocumentMarkers):
174         (WebCore::InlineTextBox::computeRectForReplacementMarker): Deleted.
175         (WebCore::InlineTextBox::paintCompositionUnderline): Deleted.
176         * rendering/InlineTextBox.h:
177         (WebCore::InlineTextBox::expansionBehavior): Deleted.
178
179 2014-04-04  James Craig  <jcraig@apple.com>
180
181         AX: supportsARIAExpanded should always return true for a few roles: combobox, disclosure.
182         https://bugs.webkit.org/show_bug.cgi?id=129787
183
184         Reviewed by Chris Fleizach.
185
186         Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
187
188         * accessibility/AccessibilityObject.cpp:
189         (WebCore::AccessibilityObject::supportsARIAExpanded):
190
191 2014-04-04  Andreas Kling  <akling@apple.com>
192
193         JSGenerateToNativeObject should use fast JSNode/JSElement casts.
194         <https://webkit.org/b/131245>
195
196         Make JSGenerateToNativeObject spit out code using the fast new wrapper
197         casts for JSNode and JSElement.
198
199         This avoids walking the ClassInfo chain in many core functions, e.g:
200
201             - Node.insertBefore()
202             - Node.replaceChild()
203             - Node.removeChild()
204             - Node.appendChild()
205             - window.getComputedStyle()
206
207         Reviewed by Geoff Garen.
208
209         * bindings/scripts/CodeGeneratorJS.pm:
210         (GenerateImplementation):
211
212 2014-04-04  Zoltan Horvath  <zoltan@webkit.org>
213
214         [CSS Shapes] polygon y-value calc() args serialize incorrectly
215         https://bugs.webkit.org/show_bug.cgi?id=129842
216
217         Reviewed by Bem Jones-Bey.
218
219         The code hit ASSERT(isCalculation(value)) in CSSParser::createPrimitiveNumbericValue, because
220         CSSParser::validUnit had been called on both coordinates, which set the value for m_parsedCalculation,
221         but only one of the coordinates was calculation value. I reordered calling valudUnit and
222         createPrimitiveNumbericValue to be called in the correct order on the coordinates.
223
224         I added the new test case to parsing-test-utils.js.
225
226         * css/CSSParser.cpp:
227         (WebCore::CSSParser::parseBasicShapePolygon):
228
229 2014-04-04  Brian J. Burg  <burg@cs.washington.edu>
230
231         Web Replay: capture and replay wheel events and scroll commands
232         https://bugs.webkit.org/show_bug.cgi?id=129402
233
234         Reviewed by Timothy Hatcher and Simon Fraser.
235
236         To capture and replay scrolling, the scrolling coordinator will force synchronous 
237         scrolling during capture and replay. If the page is capturing or replaying,
238         ForceOnMainThread will be added to the coordinator's SynchronousScrollingReasons.
239
240         A callback was added to signal that replay session state have changed,
241         and thus the synchronous scrolling reasons should be recomputed.
242
243         Automated replay reftests for scrolling are not included, because they will be
244         too flaky until more nondeterminism is handled. Specifically, resource loading,
245         initial focus/active state, and parsing are known blocking issues.
246
247         Test: ManualTests/inspector/replay-wheel-events.html
248
249         * page/scrolling/ScrollingCoordinator.cpp: Add a new callback for replay state
250         session changes. Add ForceOnMainThread if the page's active input cursor is
251         capturing or replaying.
252
253         (WebCore::ScrollingCoordinator::synchronousScrollingReasons):
254         (WebCore::ScrollingCoordinator::replaySessionStateDidChange): Added.
255         * page/scrolling/ScrollingCoordinator.h:
256
257         * platform/PlatformWheelEvent.h:
258         * platform/ScrollTypes.h: Add explicit enum storage types so these enums can
259         be forward-declared. This is necessary to generate enum encode/decode implementations.
260
261         * replay/ReplayController.cpp:
262         (WebCore::ReplayController::setForceDeterministicSettings): If async scrolling
263         support is available, tell the scrolling tree to behave deterministically.
264
265         * replay/ReplayInputDispatchMethods.cpp:
266         (WebCore::HandleWheelEvent::dispatch): Added.
267         (WebCore::LogicalScrollPage::dispatch): Added.
268         (WebCore::ScrollPage::dispatch): Added.
269         * replay/SerializationMethods.cpp: Introduce more specific macros for values
270         deserialized to arbitraray lvalues, scalars, RefPtr, and unique_ptr. Fix existing
271         uses of decode macros.
272
273         (JSC::EncodingTraits<NondeterministicInputBase>::encodeValue): Fix macro name.
274         (JSC::EncodingTraits<KeypressCommand>::encodeValue): Fix macro name.
275         (JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue): Fix macro name.
276         (JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Fix macro name.
277         (JSC::PlatformWheelEventCocoa::PlatformWheelEventCocoa): Added. Encapsulate
278         and initialize data members specific to PLATFORM(COCOA).
279
280         (JSC::EncodingTraits<PlatformWheelEvent>::encodeValue): Added.
281         (JSC::EncodingTraits<PlatformWheelEvent>::decodeValue): Added.
282         * replay/SerializationMethods.h:
283         * replay/UserInputBridge.cpp: Fill in bridge methods to capture inputs.
284         (WebCore::UserInputBridge::handleWheelEvent):
285         (WebCore::UserInputBridge::scrollRecursively):
286         (WebCore::UserInputBridge::logicalScrollRecursively):
287         * replay/WebInputs.json: Add inputs and new enum types.
288
289 2014-04-04  Yusuke Suzuki  <utatane.tea@gmail.com>
290
291         Upgrade to SelectorFailsAllSiblings when Child selector is failed.
292         https://bugs.webkit.org/show_bug.cgi?id=130961
293
294         Reviewed by Benjamin Poulain.
295
296         When Child selector fails, we should resume matching from the closest
297         Descendant selector.
298         So upgrading SelectorFailsLocally to SelectorFailsAllSibling at least
299         to prevent unnecessary direct/indirect adjacent selectors matching.
300
301         * css/SelectorChecker.cpp:
302         (WebCore::SelectorChecker::matchRecursively):
303
304 2014-04-04  Roger Fong  <roger_fong@apple.com>
305
306         Keep track of filtered active attribute/uniform indices per shader program.
307         https://bugs.webkit.org/show_bug.cgi?id=131235.
308
309         Reviewed by Dean Jackson.
310
311         Tests: Covered by existing Khronos Conformance tests. 
312         Will create a test to use multiple shader programs in a follow-up patch.
313
314         * html/canvas/WebGLProgram.cpp:
315         (WebCore::WebGLProgram::cacheActiveAttribLocations): Use getActiveAttribImpl. We do not need to use the filtered list of attributes here.
316         * html/canvas/WebGLRenderingContext.cpp:
317         (WebCore::WebGLRenderingContext::getUniformLocation): Use filtered list of uniforms for uniform count.
318         * platform/graphics/GraphicsContext3D.h: Create a map of shader programs to ActiveShaderSymbolCounts.
319         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
320         (WebCore::GraphicsContext3D::attachShader): 
321         When attaching or detaching a shader the shader program's active symbols list will change. Clear it so that it will be updated later.
322         (WebCore::GraphicsContext3D::detachShader): Ditto.
323         (WebCore::GraphicsContext3D::compileShader): No need to clear symbol counts here.
324         (WebCore::GraphicsContext3D::getActiveAttrib): getActiveAttrib should only be able to query for attributes in the filtered list.
325         (WebCore::GraphicsContext3D::getActiveUniform): getActiveUniform should only be able to query for uniforms in the filtered list.
326         (WebCore::GraphicsContext3D::getNonBuiltInActiveSymbolCount): Return the filtered symbol count for a shader program.
327
328 2014-04-04  Ion Rosca  <rosca@adobe.com>
329
330         [CSS Blending] Add compositing reason for isolation.
331         https://bugs.webkit.org/show_bug.cgi?id=131153
332
333         Reviewed by Joseph Pecoraro.
334
335         There are 2 reasons involving blend modes for a layer to be composited:
336         1) the layer has blend mode and has composited descendants: CompositingReasonBlendingWithCompositedDescendants.
337         2) the layer has to isolate composited blending descendants: CompositingReasonIsolatesCompositedBlendingDescendants
338
339         Test: inspector-protocol/layers/layers-blending-compositing-reasons.html
340
341         * inspector/InspectorLayerTreeAgent.cpp:
342         (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
343         * inspector/protocol/LayerTree.json:
344         * rendering/RenderLayerCompositor.cpp:
345         (WebCore::RenderLayerCompositor::reasonsForCompositing):
346         (WebCore::RenderLayerCompositor::logReasonsForCompositing):
347         * rendering/RenderLayerCompositor.h: adding CompositingReasonIsolatesCompositedBlendingDescendants.
348
349 2014-04-04  Bem Jones-Bey  <bjonesbe@adobe.com>
350
351         Use more const refs in ShapeOutsideInfo and some misc cleanup
352         https://bugs.webkit.org/show_bug.cgi?id=131192
353
354         Reviewed by Dirk Schulze.
355
356         Use const refs for pretty much everything that can't be null. Also
357         cleanup some code that got a bit messy when ShapeInfo was merged into
358         ShapeOutsideInfo.
359
360         No new tests, no behavior change.
361
362         * rendering/shapes/ShapeOutsideInfo.cpp:
363         (WebCore::ShapeOutsideInfo::shapeToRendererPoint):
364         (WebCore::ShapeOutsideInfo::shapeToRendererSize):
365         (WebCore::referenceBox):
366         (WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
367         (WebCore::getShapeImageAndRect):
368         (WebCore::ShapeOutsideInfo::computedShape):
369         (WebCore::ShapeOutsideInfo::logicalTopOffset):
370         (WebCore::ShapeOutsideInfo::logicalLeftOffset):
371         * rendering/shapes/ShapeOutsideInfo.h:
372
373 2014-04-04  Alexey Proskuryakov  <ap@apple.com>
374
375         REGRESSION (r166615): Pressing return doesn’t submit search term at bing.com
376         https://bugs.webkit.org/show_bug.cgi?id=131212
377         <rdar://problem/16521788>
378
379         Reviewed by Dan Bernstein.
380
381         Test: fast/forms/submit-while-you-submit.html
382
383         Turns out that m_shouldSubmit can actually be modified in a code path where we can't
384         directly return the result. I'm not sure if the current behavior is entirely correct
385         (we have open bugs about submitting forms multiple times), but let's restore it to
386         pre-r166615 state.
387
388         * html/HTMLFormElement.cpp:
389         (WebCore::HTMLFormElement::HTMLFormElement):
390         (WebCore::HTMLFormElement::prepareForSubmission):
391         (WebCore::HTMLFormElement::submit):
392         * html/HTMLFormElement.h:
393
394 2014-04-04  Martin Hock  <mhock@apple.com>
395
396         [Mac] Change operation queue width to NSOperationQueueDefaultMaxConcurrentOperationCount.
397         https://bugs.webkit.org/show_bug.cgi?id=131231
398
399         <rdar://problem/13913483>
400
401         Reviewed by Brady Eidson.
402
403         No new tests, no behavior change.
404
405         * platform/network/mac/ResourceHandleMac.mm:
406         (WebCore::operationQueueForAsyncClients):
407
408 2014-04-04  Hans Muller  <hmuller@adobe.com>
409
410         [CSS Shapes] Simplify Polygon implementation
411         https://bugs.webkit.org/show_bug.cgi?id=130975
412
413         Reviewed by Andreas Kling.
414
415         Only floats can specify shape-outside. For polygon shape-outside values, the problem
416         of finding the left and right exclusion edges reduces to finding the X axis
417         limits of the polygon edges that overlap a particular layout line. This is a much
418         simpler version of the problem that PolygonShape was originally designed for, and so
419         the implementation can also be simplified. There's more about the new algorithm in
420         http://hansmuller-webkit.blogspot.com/2014/03/a-simpler-algorithm-for-css-shapes.html.
421
422         No new tests, since functionality was only removed.
423
424         * platform/graphics/FloatRect.h:
425         (WebCore::FloatRect::overlapsYRange):
426         (WebCore::FloatRect::overlapsXRange):
427         * rendering/shapes/PolygonShape.cpp:
428         (WebCore::OffsetPolygonEdge::xIntercept):
429         (WebCore::circleXIntercept):
430         (WebCore::OffsetPolygonEdge::clippedEdgeXRange): X axis extent of the edge clipped to a vertical interval.
431         (WebCore::clippedCircleXRange): X axis extent of a circle clipped to a vertical interval.
432         (WebCore::PolygonShape::shapeMarginLogicalBoundingBox):
433         (WebCore::PolygonShape::getExcludedIntervals):
434         (WebCore::PolygonShape::buildDisplayPaths):
435         * rendering/shapes/PolygonShape.h:
436         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
437         (WebCore::OffsetPolygonEdge::isWithinYRange):
438         (WebCore::OffsetPolygonEdge::overlapsYRange):
439         (WebCore::PolygonShape::PolygonShape):
440         * rendering/shapes/ShapeInterval.h:
441         (WebCore::ShapeInterval::isEmpty):
442         (WebCore::ShapeInterval::unite):
443
444 2014-04-04  Bem Jones-Bey  <bjonesbe@adobe.com>
445
446         [CSS Shapes] shape-margin in percentage units always computes to 0px
447         https://bugs.webkit.org/show_bug.cgi?id=130369
448
449         Reviewed by Andreas Kling.
450
451         Make shape-margin parsing accept percentages and properly compute the
452         length once the percentage is accepted.
453
454         Test: fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html
455
456         * css/CSSParser.cpp:
457         (WebCore::CSSParser::parseValue):
458         * rendering/shapes/Shape.cpp:
459         (WebCore::Shape::createShape):
460         (WebCore::Shape::createRasterShape):
461         (WebCore::Shape::createBoxShape):
462         * rendering/shapes/Shape.h:
463         * rendering/shapes/ShapeOutsideInfo.cpp:
464         (WebCore::ShapeOutsideInfo::computedShape):
465
466 2014-04-04  Zoltan Horvath  <zoltan@webkit.org>
467
468         [CSS Shapes] Remove outside-shape CSS value
469         https://bugs.webkit.org/show_bug.cgi?id=131201
470
471         Reviewed by Bem Jones-Bey.
472
473         Outside-shape is not a valid CSS value anymore. This patch removes it.
474
475         No new tests, existing tests are removed.
476
477         * css/CSSComputedStyleDeclaration.cpp:
478         (WebCore::shapePropertyValue):
479         * css/CSSValueKeywords.in:
480         * css/DeprecatedStyleBuilder.cpp:
481         (WebCore::ApplyPropertyShape::applyValue):
482         * rendering/shapes/ShapeOutsideInfo.cpp:
483         (WebCore::ShapeOutsideInfo::computedShape):
484         (WebCore::ShapeOutsideInfo::isEnabledFor):
485         * rendering/style/ShapeValue.h:
486         (WebCore::ShapeValue::createOutsideValue): Deleted.
487
488 2014-04-04  Dirk Schulze  <krit@webkit.org>
489
490         Gradient offsets are off if compositing operator != source-over
491         https://bugs.webkit.org/show_bug.cgi?id=129791
492
493         Reviewed by Andreas Kling.
494
495         Instead of transforming the path before drawing it on the context,
496         the whole context should be transformed. This will make the gradient
497         map correctly to the context space.
498
499         Test: fast/canvas/canvas-gradient-on-compositing.html
500
501         * html/canvas/CanvasRenderingContext2D.cpp:
502         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
503
504 2014-04-04  Zalan Bujtas  <zalan@apple.com>
505
506         Subpixel rendering: Move background images to device pixel boundaries.
507         https://bugs.webkit.org/show_bug.cgi?id=131144
508
509         Reviewed by Simon Fraser.
510
511         Replace integral snapping with device pixel snapping.
512         Background image geometry calculation uses LayoutUnits and we snap to device pixels right before painting.
513
514         Tests: fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html
515                fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html
516                fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position.html
517                fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position.html
518
519         * platform/graphics/GraphicsLayer.h:
520         (WebCore::GraphicsLayer::setContentsTilePhase):
521         (WebCore::GraphicsLayer::contentsTilePhase):
522         (WebCore::GraphicsLayer::setContentsTileSize):
523         (WebCore::GraphicsLayer::contentsTileSize):
524         * platform/graphics/texmap/TextureMapperLayer.cpp:
525         (WebCore::TextureMapperLayer::setContentsTileSize):
526         (WebCore::TextureMapperLayer::setContentsTilePhase):
527         * platform/graphics/texmap/TextureMapperLayer.h:
528         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
529         (WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
530         (WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
531         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
532         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
533         * rendering/RenderBox.cpp:
534         (WebCore::RenderBox::repaintLayerRectsForImage):
535         * rendering/RenderBoxModelObject.cpp:
536         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
537         (WebCore::resolveWidthForRatio):
538         (WebCore::resolveHeightForRatio):
539         (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
540         (WebCore::resolveAgainstIntrinsicRatio):
541         (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
542         (WebCore::RenderBoxModelObject::calculateFillTileSize):
543         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
544         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
545         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
546         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
547         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
548         (WebCore::getSpace):
549         (WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
550         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
551         (WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
552         (WebCore::RenderBoxModelObject::paintNinePieceImage):
553         (WebCore::applySubPixelHeuristicForTileSize): Deleted.
554         * rendering/RenderBoxModelObject.h:
555         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
556         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
557         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
558         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
559         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
560         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
561         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
562         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
563         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize):
564         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize):
565         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
566         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
567         * rendering/RenderLayerBacking.cpp:
568         (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
569         * rendering/shapes/ShapeOutsideInfo.cpp:
570         (WebCore::getShapeImageAndRect):
571
572 2014-04-04  Brent Fulgham  <bfulgham@apple.com>
573
574         [Win] Unreviewed test fix (crash in debug build).
575
576         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
577         (WebCore::AVFWrapper::legibleOutputCallback): Correct assertion. This
578         callback is scheduled for the caption queue, not the main queue.
579
580 2014-04-03  Brent Fulgham  <bfulgham@apple.com>
581
582         [Win] Load Media Controls js/css from bundle
583         https://bugs.webkit.org/show_bug.cgi?id=131194
584
585         Reviewed by Dean Jackson.
586
587         * DerivedSources.cpp: Remove no-longer generated file.
588         * DerivedSources.make: Don't generate unneeded files.
589         * WebCore.vcxproj/WebCore.vcxproj: Don't compile unneeded files.
590         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
591         * WebCore.vcxproj/copyWebCoreResourceFiles.cmd: Copy css/js to resource
592         * rendering/RenderThemeSafari.cpp:
593         * rendering/RenderThemeSafari.h:
594         * rendering/RenderThemeWin.cpp:
595         * rendering/RenderThemeWin.h:
596
597 2014-04-04  Mihnea Ovidenie  <mihnea@adobe.com>
598
599         [CSSRegions] Region's behaviour not updated when becoming valid from invalid
600         https://bugs.webkit.org/show_bug.cgi?id=131211
601
602         Reviewed by Andrei Bucur.
603
604         When a region becomes valid again from invalid, it was part of a dependency cycle and the dependency cycle was broken,
605         it needs to behave like a valid region again: if it has autoheight then it should compute its height based on the
606         named flow content, if it has region styling then it should apply the additional style to the flowed content.
607
608         Added a new method, updateRegionFlags, that is used to ensure that auto-height and region-styling flags
609         are properly set in several situations. Checking the behaviour, autoheight or styling, is done only
610         if the region is valid.
611
612         Tests: fast/regions/auto-size/autoheight-region-valid-from-invalid.html
613                fast/regions/region-styling/region-withstyling-valid-from-invalid.html
614
615         * rendering/RenderNamedFlowFragment.cpp:
616         (WebCore::RenderNamedFlowFragment::updateRegionFlags):
617         (WebCore::RenderNamedFlowFragment::styleDidChange):
618         (WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
619         (WebCore::RenderNamedFlowFragment::checkRegionStyle):
620         (WebCore::RenderNamedFlowFragment::attachRegion):
621         (WebCore::RenderNamedFlowFragment::detachRegion):
622         * rendering/RenderNamedFlowFragment.h:
623         * rendering/RenderNamedFlowThread.cpp:
624         (WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread):
625
626 2014-04-04  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
627
628         [GTK][CMake] Remove FindXt.cmake.
629         https://bugs.webkit.org/show_bug.cgi?id=131227
630
631         Reviewed by Anders Carlsson.
632
633         * PlatformGTK.cmake: Use FindX11.cmake's Xt variables instead of our own FindXt.cmake's ones.
634
635 2014-04-03  Andreas Kling  <akling@apple.com>
636
637         Fast-path for casting JS wrappers to JSElement.
638         <https://webkit.org/b/131210>
639
640         Add an extended JSType for Element wrappers so we can avoid walking
641         the ClassInfo chain in those bindings as well.
642
643         Generalized the code to select a casting helper in the bindings
644         generator into a function (GetCastingHelperForThisObject.)
645         Updated all the jsDynamicCast call sites to go through this, in case
646         there's an optimized cast available for the desired type.
647
648         Reviewed by Benjamin Poulain.
649
650         * WebCore.xcodeproj/project.pbxproj:
651         * bindings/js/JSDOMWrapper.h:
652         * bindings/js/JSElementCustom.h: Added.
653         (WebCore::jsElementCast):
654         * bindings/js/JSNodeCustom.h:
655         (WebCore::jsNodeCast):
656         * bindings/scripts/CodeGeneratorJS.pm:
657         (GenerateHeader):
658         (GetCastingHelperForThisObject):
659         (GenerateImplementation):
660         * dom/Element.idl:
661
662 2014-04-03  Andreas Kling  <akling@apple.com>
663
664         Rebaseline a bindings test.
665
666         * bindings/scripts/test/JS/JSTestNode.h:
667         (WebCore::JSTestNode::createStructure):
668
669 2014-04-03  Andreas Kling  <akling@apple.com>
670
671         Fast-path for casting JS wrappers to JSNode.
672         <https://webkit.org/b/131196>
673
674         Add a way to quickly determine that a given JSObject is a JSNode.
675         This lets us avoid walking the ClassInfo chain in the DOM bindings
676         for WebCore::Node.
677
678         Reviewed by Mark Hahnenberg and Geoff Garen.
679
680         * bindings/js/JSDOMWrapper.h:
681
682             Added a JSNodeType constant that extends beyond JSC::JSType.
683
684         * bindings/js/JSNodeCustom.h:
685         (WebCore::jsNodeCast):
686
687             Added. Fast cast from JSValue to JSNode.
688
689         * bindings/scripts/CodeGeneratorJS.pm:
690         (GenerateHeader):
691         (GenerateImplementation):
692
693             Generate code that uses jsNodeCast in Node interfaces.
694
695 2014-04-03  Bem Jones-Bey  <bjonesbe@adobe.com>
696
697         Merge ShapeInfo & ShapeOutsideInfo now that ShapeInsideInfo is no more
698         https://bugs.webkit.org/show_bug.cgi?id=131180
699
700         Reviewed by Andreas Kling.
701
702         Now that ShapeInsideInfo is gone, having a class hiearachy and
703         templates doesn't make any sense. As a first step to cleaning up the
704         code, this remove ShapeInfo and puts all of its functionality into
705         ShapeOutsideInfo.
706
707         No new tests, no behavior change.
708
709         * CMakeLists.txt:
710         * WebCore.vcxproj/WebCore.vcxproj:
711         * WebCore.vcxproj/WebCore.vcxproj.filters:
712         * WebCore.xcodeproj/project.pbxproj:
713         * rendering/shapes/ShapeInfo.cpp: Removed.
714         * rendering/shapes/ShapeInfo.h: Removed.
715         * rendering/shapes/ShapeOutsideInfo.cpp:
716         (WebCore::ShapeOutsideInfo::computedShapePhysicalBoundingBox):
717         (WebCore::ShapeOutsideInfo::shapeToRendererPoint):
718         (WebCore::ShapeOutsideInfo::shapeToRendererSize):
719         (WebCore::referenceBox):
720         (WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
721         (WebCore::checkShapeImageOrigin):
722         (WebCore::getShapeImageAndRect):
723         (WebCore::getShapeImageMarginRect):
724         (WebCore::ShapeOutsideInfo::computedShape):
725         (WebCore::borderBeforeInWritingMode):
726         (WebCore::borderAndPaddingBeforeInWritingMode):
727         (WebCore::ShapeOutsideInfo::logicalTopOffset):
728         (WebCore::borderStartWithStyleForWritingMode):
729         (WebCore::borderAndPaddingStartWithStyleForWritingMode):
730         (WebCore::ShapeOutsideInfo::logicalLeftOffset):
731         (WebCore::ShapeOutsideInfo::computeSegmentsForLine):
732         (WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
733         (WebCore::ShapeOutsideInfo::shapeValue): Deleted.
734         (WebCore::ShapeOutsideInfo::styleForWritingMode): Deleted.
735         * rendering/shapes/ShapeOutsideInfo.h:
736
737 2014-04-03  Andreas Kling  <akling@apple.com>
738
739         Fix over-retain in SharedBufferCF's createCFData().
740         <https://webkit.org/b/131139>
741
742         Constructing the return type (RetainPtr<CFDataRef>) will also retain
743         the pointee, so this would end up leaking.
744
745         Reviewed by Anders Carlsson.
746
747         * platform/cf/SharedBufferCF.cpp:
748         (WebCore::SharedBuffer::createCFData):
749
750 2014-04-03  Brent Fulgham  <bfulgham@apple.com>
751
752         [Win] Turn on ENABLE_CSS_GRID_LAYOUT
753         https://bugs.webkit.org/show_bug.cgi?id=131147
754
755         Reviewed by Simon Fraser.
756
757         Covered by existing fast/css/getComputedStyle tests.
758
759         * css/CSSAllInOne.cpp: Add CSSGridLineNamesValue.cpp when building
760         with ENABLE(CSS_GRID_LAYOUT)
761
762 2014-04-03  Simon Fraser  <simon.fraser@apple.com>
763
764         Pixelated WebView when display is changed from hiDPI to regularDPI
765         https://bugs.webkit.org/show_bug.cgi?id=131185
766
767         Reviewed by Tim Horton.
768
769         r166309 added a short circuit in GraphicsLayerCA::updateContentsScale()
770         when the scale didn't change. This broke layers which expected to
771         unconditionally receive a setContentsScale(), namely the WebTiledBackingLayer
772         which owns the TileController. WebTiledBackingLayer overrode -setContentsScale:
773         to pass the scale down to the TileController; however, it didn't override
774         -contentsScale, and it mucked with the scale passed in.
775         
776         Fix by having setting and fetching contentsScale on a WebTiledBackingLayer
777         work as expected. Also rename the TileController functions to mirror the
778         CALayer functions better.
779
780         * WebCore.exp.in:
781         * platform/graphics/ca/GraphicsLayerCA.cpp:
782         (WebCore::GraphicsLayerCA::updateContentsScale):
783         * platform/graphics/ca/mac/TileController.h:
784         * platform/graphics/ca/mac/TileController.mm:
785         (WebCore::TileController::TileController):
786         (WebCore::TileController::contentsScale):
787         (WebCore::TileController::setContentsScale):
788         (WebCore::TileController::scale): Deleted.
789         (WebCore::TileController::setScale): Deleted.
790         * platform/graphics/ca/mac/WebTiledBackingLayer.mm:
791         (-[WebTiledBackingLayer setContentsScale:]):
792         (-[WebTiledBackingLayer contentsScale]):
793
794 2014-04-03  Zoltan Horvath  <zoltan@webkit.org>
795
796         [CSS Shapes] LineSegment logicalLeft and logicalRight members should be floats
797         https://bugs.webkit.org/show_bug.cgi?id=116160
798
799         Reviewed by Andreas Kling. 
800
801         LineSegment edges should not have been changed to LayoutUnit. These are
802         used only as floats. I modified them back to floats. 
803
804         No new tests are needed, no behavior change.
805
806         * rendering/shapes/Shape.h:
807
808 2014-04-03  Dirk Schulze  <krit@webkit.org>
809
810         [CG] Canvas lineDashOffset does not handle negative numbers correctly
811         https://bugs.webkit.org/show_bug.cgi?id=80560
812
813         Reviewed by Dean Jackson.
814
815         CG ignores negative dash array offsets. Check if we have a negative offset, if yes
816         then calculate the length of the dash array and modulo the dash array offset with
817         the dash array length.
818
819         Test: fast/canvas/canvas-negative-lineDashOffset.html
820
821         * platform/graphics/cg/GraphicsContextCG.cpp:
822         (WebCore::GraphicsContext::setLineDash):
823
824 2014-04-03  David Hyatt  <hyatt@apple.com>
825
826         REGRESSION: fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html broken
827         https://bugs.webkit.org/show_bug.cgi?id=131183
828
829         Reviewed by Simon Fraser.
830
831         Revert the loop to continue rather than breaking when an invalid block is encountered.
832         This is what it used to do if it encountered a non-continuation block.
833
834         * rendering/RenderInline.cpp:
835         (WebCore::updateStyleOfAnonymousBlockContinuations):
836
837 2014-04-02  Simon Fraser  <simon.fraser@apple.com>
838
839         Harden FilterOperation type casting
840         https://bugs.webkit.org/show_bug.cgi?id=131142
841
842         Reviewed by Sam Weinig.
843
844         DefaultFilterOperation had an error-prone behavior where it set the base class
845         OperationType to the type of some other filter class, but overrode isDefault(). 
846         This made it very easy to write incorrect code that casted incorrectly based on type().
847         
848         Fix by making adding a DEFAULT filter operation type, and storing the represented
849         type on DefaultFilterOperation().
850         
851         Also remove the OperationType argument for constructors of FilterOperations that
852         can only be of one type, to avoid possible mistakes.
853         
854         Make the type cast macros a bit more normal, and use them in a few places.
855         
856         Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.
857
858         * WebCore.exp.in:
859         * css/CSSComputedStyleDeclaration.cpp:
860         (WebCore::ComputedStyleExtractor::valueForFilter):
861         * css/StyleResolver.cpp:
862         (WebCore::StyleResolver::createFilterOperations):
863         * platform/graphics/ca/PlatformCAFilters.h:
864         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
865         (PlatformCAFilters::filterValueForOperation):
866         (PlatformCAFilters::colorMatrixValueForFilter):
867         * platform/graphics/filters/FilterOperation.cpp:
868         (WebCore::DefaultFilterOperation::operator==):
869         (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
870         (WebCore::ReferenceFilterOperation::operator==):
871         (WebCore::BlurFilterOperation::operator==):
872         (WebCore::BlurFilterOperation::blend):
873         (WebCore::DropShadowFilterOperation::operator==):
874         (WebCore::DropShadowFilterOperation::blend):
875         * platform/graphics/filters/FilterOperation.h:
876         (WebCore::FilterOperation::blend):
877         (WebCore::FilterOperation::type):
878         (WebCore::FilterOperation::isBasicColorMatrixFilterOperation):
879         (WebCore::FilterOperation::isBasicComponentTransferFilterOperation):
880         (WebCore::FilterOperation::isSameType):
881         (WebCore::DefaultFilterOperation::create):
882         (WebCore::DefaultFilterOperation::representedType):
883         (WebCore::DefaultFilterOperation::DefaultFilterOperation):
884         (WebCore::ReferenceFilterOperation::create):
885         (WebCore::BlurFilterOperation::create):
886         (WebCore::BlurFilterOperation::BlurFilterOperation):
887         (WebCore::DropShadowFilterOperation::create):
888         (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
889         (WebCore::FilterOperation::isDefault): Deleted.
890         * platform/graphics/filters/FilterOperations.cpp:
891         (WebCore::FilterOperations::outsets):
892         * rendering/FilterEffectRenderer.cpp:
893         (WebCore::FilterEffectRenderer::build):
894         * rendering/RenderLayerFilterInfo.cpp:
895         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
896
897 2014-04-03  Andreas Kling  <akling@apple.com>
898
899         Stop throwing away the Document's StyleResolver on a timer.
900         <https://webkit.org/b/131168>
901         <rdar://problem/15227045>
902
903         This was causing some unfortunate pauses when returning to idle pages
904         after a long-ish time. There's already a mechanism in place that will
905         throw these away if the system comes under memory pressure.
906
907         Reviewed by Sam Weinig.
908
909         * css/StyleResolver.cpp:
910         (WebCore::StyleResolver::styleForElement):
911         (WebCore::StyleResolver::styleForKeyframe):
912         (WebCore::StyleResolver::pseudoStyleForElement):
913         (WebCore::StyleResolver::styleForPage):
914         * dom/Document.cpp:
915         (WebCore::Document::Document):
916         (WebCore::Document::didAccessStyleResolver): Deleted.
917         (WebCore::Document::styleResolverThrowawayTimerFired): Deleted.
918         * dom/Document.h:
919
920 2014-04-02  Simon Fraser  <simon.fraser@apple.com>
921
922         Assertion under RenderLayerCompositor::updateScrollCoordinatedLayer on time.com on iOS
923         https://bugs.webkit.org/show_bug.cgi?id=131150
924
925         Reviewed by Beth Dakin.
926
927         When calling updateScrollCoordinatedLayer() under styleChanged, we haven't done
928         layout yet so our composting layers haven't been hooked together. Don't try
929         to add a zero nodeID to the map in this case.
930
931         * rendering/RenderLayerCompositor.cpp:
932         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
933
934 2014-04-03  David Hyatt  <hyatt@apple.com>
935
936         Continuations casting issue.
937         https://bugs.webkit.org/show_bug.cgi?id=130057
938         <rdar://problem/16283406>
939
940         Reviewed by Simon Fraser.
941
942         The code to update relative positioned anonymous block continuations should not
943         have assumed that all siblings were RenderBlocks. Make the code smarter and
944         make it bail when it hits something that isn't part of the block continuation
945         chain.
946
947         Added fast/block/continuation-crash.html
948
949         * rendering/RenderInline.cpp:
950         (WebCore::updateStyleOfAnonymousBlockContinuations):
951
952 2014-04-03  Bem Jones-Bey  <bjonesbe@adobe.com>
953
954         [CSS Shapes] CRASH with calc() value args in inset round
955         https://bugs.webkit.org/show_bug.cgi?id=129816
956
957         Reviewed by Andreas Kling.
958
959         The code to parse the inset rounded corners was adding the parser
960         value arguments to a temporary CSSParserValueList. Unfortunately,
961         CSSParserValueList expects to own the values it contains, and it frees
962         the values it contains when the list is destroyed. This was a problem
963         because the values are owned by the CSSParserValueList passed in to
964         parseInsetRoundedCorners, and thus the calc's argument list would get
965         double freed, resulting in a crash. This patch fixes this by using a
966         Vector to hold the pointers instead.
967
968         Test: fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash.html
969
970         * css/CSSParser.cpp:
971         (WebCore::CSSParser::parseInsetRoundedCorners):
972
973 2014-04-03  Jer Noble  <jer.noble@apple.com>
974
975         Leaving a streaming movie by going "Back" keeps playing the audio
976         https://bugs.webkit.org/show_bug.cgi?id=131149
977
978         Reviewed by Eric Carlson.
979
980         When stopping a HTMLMediaElement, call userCancelledLoad() (which clears the
981         MediaPlayer) only after calling setPausedInternal() (which pauses the MediaPlayer).
982         Previously, and in the reverse order, the MediaPlayer would never get a chance to pause
983         before being cleared. There is an underlying error with the QTKit media engine which
984         is causing it to continue playing even after its last reference is released, but this
985         does fix the symptom of playback continuing even after stopping.
986
987         * html/HTMLMediaElement.cpp:
988         (WebCore::HTMLMediaElement::stop):
989
990 2014-04-03  Jer Noble  <jer.noble@apple.com>
991
992         [EME] Crash when passing a NULL initData to MediaKeys.createSession()
993         https://bugs.webkit.org/show_bug.cgi?id=131156
994
995         Reviewed by Eric Carlson.
996
997         Update the checks at the start of createSession() to match the current spec, notably
998         bailing early if the initData parameter is NULL or empty.
999
1000         * Modules/encryptedmedia/MediaKeys.cpp:
1001         (WebCore::MediaKeys::createSession):
1002
1003 2014-04-03  Eric Carlson  <eric.carlson@apple.com>
1004
1005         [iOS] add missing QuickTime plug-in replacement API
1006         https://bugs.webkit.org/show_bug.cgi?id=131042
1007
1008         Reviewed by Dean Jackson.
1009
1010         Rename QuickTimePluginReplacement.cpp to QuickTimePluginReplacement.mm to make it possible
1011         to use the ObjC JSC API.
1012         * Modules/plugins/QuickTimePluginReplacement.cpp:
1013         * Modules/plugins/QuickTimePluginReplacement.h:
1014         (WebCore::QuickTimePluginReplacement::parentElement):
1015         * Modules/plugins/QuickTimePluginReplacement.idl:
1016
1017         * Modules/plugins/QuickTimePluginReplacement.js:
1018         (Replacement.prototype.timedMetadataUpdates): Implement.
1019         (Replacement.prototype.accessLog): Ditto.
1020         (Replacement.prototype.errorLog): Ditto.
1021
1022         Use the JSC ObjC API to create a JavaScript object from an array of AVMetadataItems. The
1023         JSC ObjC API supports basic NSTypes, but an AVMetadataItem can also contain NSData which 
1024         the existing plug-in returns as base-64 encoded data, so create wrappers for NSDictionary
1025         and NSArray.
1026         * Modules/plugins/QuickTimePluginReplacement.mm: Copied from Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp.
1027         (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): Disambiguate with "JSC::"
1028         (WebCore::QuickTimePluginReplacement::installReplacement): Ditto.
1029         (WebCore::jsValueWithDataInContext): Create JSValue* from NSData.
1030         (WebCore::jsValueWithArrayInContext): Create JSValue* from NSArray.
1031         (WebCore::jsValueWithDictionaryInContext): Create JSValue* from NSDictionary.
1032         (WebCore::jsValueWithValueInContext): Create JSValue* from basic NSTypes plus AVMetadataItem
1033             and NSData.
1034         (WebCore::jsValueWithAVMetadataItemInContext): Create JSValue* from AVMetadataItem.
1035         (WebCore::JSQuickTimePluginReplacement::timedMetaData): Script interface.
1036         (WebCore::JSQuickTimePluginReplacement::accessLog): Ditto.
1037         (WebCore::JSQuickTimePluginReplacement::errorLog): Ditto.
1038
1039         * WebCore.xcodeproj/project.pbxproj: QuickTimePluginReplacement.cpp -> QuickTimePluginReplacement.mm.
1040
1041         * platform/graphics/MediaPlayer.cpp:
1042         (WebCore::MediaPlayer::timedMetadata): iOS only accessor.
1043         (WebCore::MediaPlayer::accessLog): Ditto.
1044         (WebCore::MediaPlayer::errorLog): Ditto.
1045         * platform/graphics/MediaPlayer.h:
1046         * platform/graphics/MediaPlayerPrivate.h:
1047
1048         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1049         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1050         (WebCore::MediaPlayerPrivateAVFoundationObjC::timedMetadata):
1051         (WebCore::MediaPlayerPrivateAVFoundationObjC::accessLog):
1052         (WebCore::MediaPlayerPrivateAVFoundationObjC::errorLog):
1053         (WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
1054         (WebCore::itemKVOProperties):
1055         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
1056
1057 2014-04-03  Andrei Bucur  <abucur@adobe.com>
1058
1059         [CSS Regions] Include region range information when printing the render tree
1060         https://bugs.webkit.org/show_bug.cgi?id=131159
1061
1062         Reviewed by Mihnea Ovidenie.
1063
1064         With this change showRenderObject() will print the region range for objects inside
1065         a flow thread. The format is:
1066         Rs: <startRegion> Re: <endRegion>
1067
1068         Because this can be called anytime during debugging, it's necessary to disable the
1069         current flow thread caching to prevent using the wrong flow thread for an object.
1070
1071         Tests: No new tests, no functional change.
1072
1073         * rendering/RenderFlowThread.cpp:
1074         (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
1075         (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
1076         * rendering/RenderFlowThread.h:
1077         * rendering/RenderObject.cpp:
1078         (WebCore::RenderObject::showRegionsInformation): Added.
1079         (WebCore::RenderObject::showRenderObject):
1080         * rendering/RenderObject.h:
1081
1082 2014-04-03  Antti Koivisto  <antti@apple.com>
1083
1084         RenderSnapshottedPlugIn::paint should use iterator for traversal.
1085         https://bugs.webkit.org/show_bug.cgi?id=131158
1086
1087         Reviewed by Dean Jackson.
1088
1089         * rendering/RenderSnapshottedPlugIn.cpp:
1090         (WebCore::RenderSnapshottedPlugIn::paint):
1091
1092 2014-03-27  Sergio Villar Senin  <svillar@igalia.com>
1093
1094         [CSS Grid Layout] <string> not allowed in grid-{area | row | column} syntax
1095         https://bugs.webkit.org/show_bug.cgi?id=129713
1096
1097         Reviewed by Darin Adler.
1098
1099         Grid positioning properties no longer accept <string> values for
1100         named grid lines as they did in previous versions of the specs. They
1101         were first replaced by <ident> and since the beginning of 2014 they
1102         should only accept <custom-ident>.
1103
1104         Updated the parser and the style resolver to this new syntax. Also
1105         updated the tests accordingly.
1106
1107         Test: fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html
1108
1109         * css/CSSParser.cpp:
1110         (WebCore::isValidCustomIdent): New function that checks that the
1111         <custom-ident> is valid.
1112         (WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition):
1113         (WebCore::CSSParser::parseGridPosition):
1114         (WebCore::CSSParser::parseIntegerOrStringFromGridPosition):
1115         Replaced by WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition.
1116         * css/CSSParser.h:
1117         * css/StyleResolver.cpp:
1118         (WebCore::createGridPosition):
1119
1120 2014-04-03  Antti Koivisto  <antti@apple.com>
1121
1122         Crash after mutating after pseudo style
1123         https://bugs.webkit.org/show_bug.cgi?id=130881
1124
1125         Reviewed by Andreas Kling.
1126
1127         Test: fast/css/pseudo-after-crash.html
1128
1129         * style/StyleResolveTree.cpp:
1130         (WebCore::Style::updateBeforeOrAfterPseudoElement):
1131         
1132             Invalidate the cached renderer for pseudo elements too.
1133     
1134         (WebCore::Style::needsPseudeElement): Deleted.
1135         
1136             Fix spelling.
1137
1138 2014-04-02  Chris Fleizach  <cfleizach@apple.com>
1139
1140         AX: AccessibilityObject::children() returns invalid results sometimes
1141         https://bugs.webkit.org/show_bug.cgi?id=130563
1142
1143         Reviewed by Joseph Pecoraro.
1144
1145         Allow the DOM inspector to handle AX objects that do not have Node equivalents
1146         (e.g. anonymous renderers).
1147
1148         * inspector/InspectorDOMAgent.cpp:
1149         (WebCore::InspectorDOMAgent::processAccessibilityChildren):
1150         (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
1151         * inspector/InspectorDOMAgent.h:
1152
1153 2014-04-02  Alexey Proskuryakov  <ap@apple.com>
1154
1155         Sandbox violation in NetworkProcess when uploading a bundle
1156         https://bugs.webkit.org/show_bug.cgi?id=131133
1157
1158         Reviewed by Brady Eidson.
1159
1160         Track generated file ownership explicitly, so that each copy of FormData would know
1161         whether to delete the file.
1162
1163         This part is needed to prevent asserting in FormData destructor in NetworkProcess,
1164         because it doesn't delete the files. Also, some cleanup.
1165
1166         * WebCore.exp.in: Don't export FormData::removeGeneratedFilesIfNeeded(), WebKit2
1167         doesn't need it any more.
1168         * platform/network/FormData.cpp: Removed m_hasGeneratedFiles. There is no problem
1169         iterating over FormDataElements to compute it, and that's more robust when FormDatas
1170         are passed or stored on disk permanently.
1171         Updated touched functions to use C++ iteration, and renamed "e" to "element".
1172         (WebCore::FormData::encode): Keep encoding a boolean for hasGeneratedFiles, because
1173         the encoded FormData can be stored persitently, and we can't change the format.
1174
1175         * platform/network/FormData.h: (WebCore::FormDataElement::FormDataElement):
1176         Added m_ownsGeneratedFile. FormData will only delete files it owns. Since files
1177         are generated immediately before form submission, it's always the FormData being
1178         submitted that owns the generated files.
1179
1180 2014-04-02  Mihnea Ovidenie  <mihnea@adobe.com>
1181
1182         [CSSRegions] Use RenderStyle::hasFlowInto when needed
1183         https://bugs.webkit.org/show_bug.cgi?id=131092
1184
1185         Reviewed by Andrei Bucur.
1186
1187         Add hasFlowInto() helper method on RenderStyle to be used
1188         instead of directly checking the presence or absence of flowThread value.
1189         No new functionality, no new tests.
1190
1191         * css/CSSComputedStyleDeclaration.cpp:
1192         (WebCore::ComputedStyleExtractor::propertyValue):
1193         * dom/Element.cpp:
1194         (WebCore::Element::shouldMoveToFlowThread):
1195         * rendering/style/RenderStyle.h:
1196         * style/StyleResolveTree.cpp:
1197         (WebCore::Style::isRendererReparented):
1198
1199 2014-04-02  Benjamin Poulain  <benjamin@webkit.org>
1200
1201         CSS JIT: the adjacent position is never reset
1202         https://bugs.webkit.org/show_bug.cgi?id=131145
1203
1204         Reviewed by Andreas Kling.
1205
1206         Corresponding radar: <rdar://problem/16440036>. The backtracking action would use a tail
1207         when not needed.
1208
1209         Test: fast/selectors/multiple-adjacent-chain-without-adjacent-tail.html
1210
1211         * cssjit/SelectorCompiler.cpp:
1212         (WebCore::SelectorCompiler::updateChainStates):
1213
1214 2014-04-02  Brent Fulgham  <bfulgham@apple.com>
1215
1216         Speculative build fix for Windows.
1217
1218         * DerivedSources.make: Make sure we generate our media control
1219         scripts for Apple Windows (but not WinCairo)
1220
1221 2014-04-02  Tim Horton  <timothy_horton@apple.com>
1222
1223         Fix the !USE(IOSURFACE) iOS build.
1224
1225         * platform/ios/MemoryPressureHandlerIOS.mm:
1226         (WebCore::MemoryPressureHandler::platformReleaseMemory):
1227
1228 2014-04-02  Mark Rowe  <mrowe@apple.com>
1229
1230         <https://webkit.org/b/131136> Remove FrameLoadRequest's m_lockHistory member since it's always false.
1231
1232         Reviewed by Andreas Kling.
1233
1234         * loader/FrameLoadRequest.cpp:
1235         (WebCore::FrameLoadRequest::FrameLoadRequest):
1236         * loader/FrameLoadRequest.h:
1237         (WebCore::FrameLoadRequest::FrameLoadRequest):
1238         (WebCore::FrameLoadRequest::lockHistory): Deleted.
1239         (WebCore::FrameLoadRequest::setLockHistory): Deleted.
1240         * loader/FrameLoader.cpp:
1241         (WebCore::FrameLoader::load): Remove an if whose body was never executed.
1242
1243 2014-04-02  Mark Rowe  <mrowe@apple.com>
1244
1245         <https://webkit.org/b/131135> Introduce LockHistory and LockBackForwardList enums to use in place of bools.
1246
1247         These arguments are often passed using literals at the call site, where the use of bools severely hinders
1248         the readability of the code.
1249
1250         Reviewed by Andreas Kling.
1251
1252         * WebCore.exp.in:
1253         * html/HTMLAnchorElement.cpp:
1254         (WebCore::HTMLAnchorElement::handleClick):
1255         * html/HTMLFormElement.cpp:
1256         (WebCore::HTMLFormElement::submit):
1257         * html/HTMLFrameElementBase.cpp:
1258         (WebCore::HTMLFrameElementBase::openURL):
1259         (WebCore::HTMLFrameElementBase::setLocation):
1260         * html/HTMLFrameElementBase.h:
1261         * inspector/InspectorFrontendClientLocal.cpp:
1262         (WebCore::InspectorFrontendClientLocal::openInNewTab):
1263         * inspector/InspectorPageAgent.cpp:
1264         (WebCore::InspectorPageAgent::navigate):
1265         * loader/FormSubmission.cpp:
1266         (WebCore::FormSubmission::FormSubmission):
1267         (WebCore::FormSubmission::create):
1268         * loader/FormSubmission.h:
1269         (WebCore::FormSubmission::lockHistory):
1270         * loader/FrameLoader.cpp:
1271         (WebCore::FrameLoader::changeLocation):
1272         (WebCore::FrameLoader::urlSelected):
1273         (WebCore::FrameLoader::loadURLIntoChildFrame):
1274         (WebCore::FrameLoader::loadFrameRequest):
1275         (WebCore::FrameLoader::loadURL):
1276         (WebCore::FrameLoader::loadWithNavigationAction):
1277         (WebCore::FrameLoader::clientRedirected):
1278         (WebCore::FrameLoader::loadPostRequest):
1279         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1280         (WebCore::FrameLoader::loadDifferentDocumentItem):
1281         * loader/FrameLoader.h:
1282         * loader/FrameLoaderTypes.h:
1283         * loader/NavigationScheduler.cpp:
1284         (WebCore::ScheduledNavigation::ScheduledNavigation):
1285         (WebCore::ScheduledNavigation::lockHistory):
1286         (WebCore::ScheduledNavigation::lockBackForwardList):
1287         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
1288         (WebCore::ScheduledRedirect::ScheduledRedirect):
1289         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
1290         (WebCore::ScheduledRefresh::ScheduledRefresh):
1291         (WebCore::ScheduledHistoryNavigation::ScheduledHistoryNavigation):
1292         (WebCore::ScheduledFormSubmission::ScheduledFormSubmission):
1293         (WebCore::NavigationScheduler::scheduleRedirect):
1294         (WebCore::NavigationScheduler::mustLockBackForwardList):
1295         (WebCore::NavigationScheduler::scheduleLocationChange):
1296         (WebCore::NavigationScheduler::scheduleFormSubmission):
1297         * loader/NavigationScheduler.h:
1298         * loader/SubframeLoader.cpp:
1299         (WebCore::SubframeLoader::requestFrame):
1300         (WebCore::SubframeLoader::requestObject):
1301         (WebCore::SubframeLoader::loadOrRedirectSubframe):
1302         * loader/SubframeLoader.h:
1303         * page/ContextMenuController.cpp:
1304         (WebCore::openNewWindow):
1305         (WebCore::ContextMenuController::contextMenuItemSelected):
1306         * page/DOMWindow.cpp:
1307         (WebCore::DOMWindow::setLocation):
1308         (WebCore::DOMWindow::createWindow):
1309         (WebCore::DOMWindow::open):
1310         * svg/SVGAElement.cpp:
1311         (WebCore::SVGAElement::defaultEventHandler):
1312
1313 2014-04-02  Tim Horton  <timothy_horton@apple.com>
1314
1315         Pool IOSurfaces to help with allocation cost
1316         https://bugs.webkit.org/show_bug.cgi?id=131096
1317         <rdar://problem/15373942>
1318
1319         Reviewed by Simon Fraser.
1320
1321         * WebCore.exp.in:
1322         * WebCore.xcodeproj/project.pbxproj:
1323         
1324         * platform/Timer.h:
1325         (WebCore::TimerBase::startRepeating): Add a std::chrono startRepeating.
1326
1327         * platform/graphics/cg/IOSurfacePool.h: Added.
1328         (WebCore::IOSurfacePool::CachedSurfaceDetails::CachedSurfaceDetails):
1329         (WebCore::IOSurfacePool::CachedSurfaceDetails::resetLastUseTime):
1330         * platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Removed.
1331         * platform/graphics/cg/ImageBufferBackingStoreCache.h: Removed.
1332         * platform/graphics/cg/IOSurfacePool.cpp: Added.
1333         (WebCore::IOSurfacePool::IOSurfacePool):
1334         (WebCore::IOSurfacePool::sharedPool):
1335         (WebCore::surfaceMatchesParameters):
1336         (WebCore::IOSurfacePool::willAddSurface):
1337         (WebCore::IOSurfacePool::didRemoveSurface):
1338         (WebCore::IOSurfacePool::didUseSurfaceOfSize):
1339         (WebCore::IOSurfacePool::takeSurface):
1340         (WebCore::IOSurfacePool::addSurface):
1341         (WebCore::IOSurfacePool::insertSurfaceIntoPool):
1342         (WebCore::IOSurfacePool::setPoolSize):
1343         (WebCore::IOSurfacePool::tryEvictInUseSurface):
1344         (WebCore::IOSurfacePool::tryEvictOldestCachedSurface):
1345         (WebCore::IOSurfacePool::evict):
1346         (WebCore::IOSurfacePool::collectInUseSurfaces):
1347         (WebCore::IOSurfacePool::markOlderSurfacesPurgeable):
1348         (WebCore::IOSurfacePool::collectionTimerFired):
1349         (WebCore::IOSurfacePool::scheduleCollectionTimer):
1350         (WebCore::IOSurfacePool::discardAllSurfaces):
1351         (WebCore::IOSurfacePool::showPoolStatistics):
1352         Add a pool of IOSurfaces. It behaves as such:
1353
1354             - Keeps up to 64MB of surfaces.
1355             - Keeps unused and in-use surfaces (but never gets more than 1/2 full with the latter)
1356             - Marks surfaces purgeable after they've been unused for 2 seconds.
1357             - Tries to move surfaces from the in-use pool to the unused pool every 500ms.
1358             - Evicts in an LRU-ish fashion, interleaving eviction of the oldest
1359               surfaces and the in-use surfaces (since in-use surfaces are not immediately
1360               useful for the pool, but they are desirous because they were recently used).
1361             - Throws everything away under memory pressure.
1362
1363         * platform/graphics/cocoa/IOSurface.mm:
1364         (IOSurface::create):
1365         Try to grab a surface from the IOSurfacePool.
1366
1367         * platform/ios/MemoryPressureHandlerIOS.mm:
1368         (WebCore::MemoryPressureHandler::platformReleaseMemory):
1369         * platform/mac/MemoryPressureHandlerMac.mm:
1370         (WebCore::MemoryPressureHandler::install):
1371         (WebCore::MemoryPressureHandler::platformReleaseMemory):
1372         * platform/MemoryPressureHandler.cpp:
1373         (WebCore::MemoryPressureHandler::platformReleaseMemory):
1374         Fix some includes, and throw away all surfaces when we're under memory pressure.
1375
1376 2014-04-02  Stephanie Lewis  <slewis@apple.com>
1377
1378         Roll out http://trac.webkit.org/changeset/166144
1379         <rdar://problem/16481284> PLT stops loading on news.google.com
1380
1381         Unreviewed rollout.
1382
1383         Rollout 166144 since it prevents the PLT from completing.
1384
1385         * dom/ContainerNode.cpp:
1386         (WebCore::ContainerNode::suspendPostAttachCallbacks):
1387         (WebCore::ContainerNode::resumePostAttachCallbacks):
1388         (WebCore::ContainerNode::queuePostAttachCallback):
1389         (WebCore::ContainerNode::postAttachCallbacksAreSuspended):
1390         (WebCore::ContainerNode::dispatchPostAttachCallbacks):
1391         * dom/ContainerNode.h:
1392         * dom/Document.cpp:
1393         (WebCore::Document::recalcStyle):
1394         * dom/Element.h:
1395         (WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
1396         (WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):
1397         * html/HTMLEmbedElement.cpp:
1398         (WebCore::HTMLEmbedElement::parseAttribute):
1399         * html/HTMLFormControlElement.cpp:
1400         (WebCore::focusPostAttach):
1401         (WebCore::HTMLFormControlElement::didAttachRenderers):
1402         (WebCore::updateFromElementCallback):
1403         (WebCore::HTMLFormControlElement::didRecalcStyle):
1404         * html/HTMLFrameOwnerElement.cpp:
1405         (WebCore::needsStyleRecalcCallback):
1406         (WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc):
1407         * html/HTMLObjectElement.cpp:
1408         (WebCore::HTMLObjectElement::parseAttribute):
1409         (WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
1410         (WebCore::HTMLObjectElement::hasValidClassId):
1411         (WebCore::HTMLObjectElement::renderFallbackContent):
1412         * html/HTMLObjectElement.h:
1413         * html/HTMLPlugInImageElement.cpp:
1414         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
1415         (WebCore::HTMLPlugInImageElement::createElementRenderer):
1416         (WebCore::HTMLPlugInImageElement::didAttachRenderers):
1417         (WebCore::HTMLPlugInImageElement::willDetachRenderers):
1418         (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
1419         (WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
1420         (WebCore::HTMLPlugInImageElement::updateWidgetCallback):
1421         (WebCore::HTMLPlugInImageElement::startLoadingImage):
1422         (WebCore::HTMLPlugInImageElement::startLoadingImageCallback):
1423         (WebCore::HTMLPlugInImageElement::createShadowIFrameSubtree):
1424         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):
1425         (WebCore::HTMLPlugInImageElement::didRecalcStyle): Deleted.
1426         (WebCore::HTMLPlugInImageElement::scheduleUpdateForAfterStyleResolution): Deleted.
1427         (WebCore::HTMLPlugInImageElement::updateAfterStyleResolution): Deleted.
1428         (WebCore::HTMLPlugInImageElement::removedFrom): Deleted.
1429         (WebCore::is100Percent): Deleted.
1430         (WebCore::HTMLPlugInImageElement::setNeedsImageReload): Deleted.
1431         * html/HTMLPlugInImageElement.h:
1432         (WebCore::HTMLPlugInImageElement::imageLoader): Deleted.
1433         (WebCore::HTMLPlugInImageElement::updateImageLoaderWithNewURLSoon): Deleted.
1434         * style/StyleResolveTree.cpp:
1435         (WebCore::Style::needsPseudeElement):
1436         (WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
1437         (WebCore::Style::attachRenderTree):
1438         (WebCore::Style::updateBeforeOrAfterPseudoElement):
1439         (WebCore::Style::needsPseudoElement): Deleted.
1440         (WebCore::Style::postResolutionCallbackQueue): Deleted.
1441         (WebCore::Style::queuePostResolutionCallback): Deleted.
1442         (WebCore::Style::suspendMemoryCacheClientCalls): Deleted.
1443         (WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Deleted.
1444         (WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Deleted.
1445         (WebCore::Style::postResolutionCallbacksAreSuspended): Deleted.
1446         * style/StyleResolveTree.h:
1447
1448 2014-04-02  Jinwoo Song  <jinwoo7.song@samsung.com>
1449
1450         Page should use std::unique_ptr for PointerLockController
1451         https://bugs.webkit.org/show_bug.cgi?id=131098
1452
1453         Reviewed by Anders Carlsson.
1454
1455         Make Page keep a std::unique_ptr to PointerLockController. Store page 
1456         references and return controller references where possible.
1457
1458         * dom/Document.cpp:
1459         (WebCore::Document::prepareForDestruction):
1460         (WebCore::Document::webkitExitPointerLock):
1461         (WebCore::Document::webkitPointerLockElement):
1462         * dom/Element.cpp:
1463         (WebCore::Element::removedFrom):
1464         (WebCore::Element::webkitRequestPointerLock):
1465         * page/Page.cpp:
1466         (WebCore::Page::Page):
1467         * page/Page.h:
1468         (WebCore::Page::pointerLockController):
1469         * page/PointerLockController.cpp:
1470         (WebCore::PointerLockController::PointerLockController):
1471         (WebCore::PointerLockController::requestPointerLock):
1472         (WebCore::PointerLockController::requestPointerUnlock):
1473         (WebCore::PointerLockController::create): Deleted.
1474         * page/PointerLockController.h:
1475
1476 2014-04-02  Dean Jackson  <dino@apple.com>
1477
1478         Load Media Controls js/css from bundle
1479         https://bugs.webkit.org/show_bug.cgi?id=131086
1480
1481         Followup comments from Eric Carlson.
1482
1483         Remove the booleans that were guarding loading the resources.
1484
1485         * rendering/RenderThemeIOS.h:
1486         * rendering/RenderThemeIOS.mm:
1487         (WebCore::RenderThemeIOS::mediaControlsStyleSheet):
1488         (WebCore::RenderThemeIOS::mediaControlsScript):
1489         (WebCore::RenderThemeIOS::RenderThemeIOS):
1490         * rendering/RenderThemeMac.h:
1491         * rendering/RenderThemeMac.mm:
1492         (WebCore::RenderThemeMac::RenderThemeMac):
1493         (WebCore::RenderThemeMac::mediaControlsStyleSheet):
1494         (WebCore::RenderThemeMac::mediaControlsScript):
1495
1496 2014-04-01  Dean Jackson  <dino@apple.com>
1497
1498         Load Media Controls js/css from bundle
1499         https://bugs.webkit.org/show_bug.cgi?id=131086
1500
1501         Reviewed by Eric Carlson.
1502
1503         Rather than embed encoded versions of the JS and CSS files
1504         into C++ source, just load the files directly from the bundle.
1505
1506         * DerivedSources.make: Removed now unnecessary rules.
1507         * WebCore.xcodeproj/project.pbxproj: Copy mediaControls files to the bundle.
1508         * rendering/RenderThemeIOS.h:
1509         * rendering/RenderThemeIOS.mm:
1510         (WebCore::RenderThemeIOS::RenderThemeIOS):
1511         (WebCore::RenderThemeIOS::mediaControlsStyleSheet): Load from the bundle.
1512         (WebCore::RenderThemeIOS::mediaControlsScript): Ditto.
1513         * rendering/RenderThemeMac.h:
1514         * rendering/RenderThemeMac.mm:
1515         (WebCore::RenderThemeMac::RenderThemeMac):
1516         (WebCore::RenderThemeMac::mediaControlsStyleSheet):
1517         (WebCore::RenderThemeMac::mediaControlsScript):
1518
1519 2014-04-02  Daniel Bates  <dabates@apple.com>
1520
1521         Move focus management API from HTMLDocument to Document
1522         https://bugs.webkit.org/show_bug.cgi?id=131079
1523         <rdar://problem/16220103>
1524
1525         Reviewed by Timothy Hatcher.
1526
1527         Merged from Blink (patch by Christophe Dumez):
1528         https://src.chromium.org/viewvc/blink?view=rev&revision=165515
1529
1530         Move hasFocus() and attribute activeElement from interface HTMLDocument
1531         to DOMDocument as per section Focus management APIs of the HTML5 standard:
1532         <http://www.whatwg.org/specs/web-apps/current-work/#focus-management-apis> (1 April 2014).
1533
1534         Test: fast/dom/Document/xml-document-focus.xml
1535
1536         * bindings/objc/PublicDOMInterfaces.h: Moved hasFocus() and property activeElement from
1537         interface DOMHTMLDocument to DOMDocument.
1538         * dom/Document.cpp:
1539         (WebCore::Document::activeElement): Added.
1540         (WebCore::Document::hasFocus): Added.
1541         * dom/Document.h:
1542         * dom/Document.idl:
1543         * html/HTMLDocument.cpp:
1544         (WebCore::HTMLDocument::activeElement): Deleted.
1545         (WebCore::HTMLDocument::hasFocus): Deleted.
1546         * html/HTMLDocument.h:
1547         * html/HTMLDocument.idl:
1548
1549 2014-04-02  Benjamin Poulain  <benjamin@webkit.org>
1550
1551         Refactor the function call generator to take the arguments by value
1552         https://bugs.webkit.org/show_bug.cgi?id=131129
1553
1554         Reviewed by Andreas Kling.
1555
1556         Nothing forces the pointed address to stay alive between setOneArgument/setTwoArguments
1557         and prepareAndCall.
1558
1559         This patch changes FunctionCall to:
1560         -Keep the register by value instead of using pointers.
1561         -Crash at compile time if a register is invalid.
1562
1563         * cssjit/FunctionCall.h:
1564         (WebCore::FunctionCall::FunctionCall):
1565         (WebCore::FunctionCall::setOneArgument):
1566         (WebCore::FunctionCall::setTwoArguments):
1567         (WebCore::FunctionCall::swapArguments):
1568         (WebCore::FunctionCall::prepareAndCall):
1569         * cssjit/RegisterAllocator.h:
1570         (WebCore::RegisterAllocator::isValidRegister):
1571
1572 2014-04-02  Daniel Bates  <dabates@apple.com>
1573
1574         Remove Settings::maximumDecodedImageSize()
1575         https://bugs.webkit.org/show_bug.cgi?id=131057
1576         <rdar://problem/15626368>
1577
1578         Reviewed by Darin Adler.
1579
1580         The setting Settings::maximumDecodedImageSize() and its related logic have various
1581         shortcomings, including the inability to cancel an image load when the estimated
1582         decoded image size exceeds the maximum decoded image size. In the iOS port, this
1583         setting is less useful given image subsampling support. For now, we remove this
1584         setting and its related logic. Should it turn out that such a setting is useful
1585         then we can implement it again taking care to address the shortcomings in the
1586         original design.
1587
1588         * html/HTMLCanvasElement.cpp: For the iOS port, define MaxCanvasArea to be 4580 * 1145
1589         pixels such that the maximum size of the image buffer is 20 MB (assumes 4 bytes per pixel).
1590         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1591         (WebCore::HTMLCanvasElement::createImageBuffer):
1592         * html/HTMLCanvasElement.h:
1593         * html/canvas/CanvasRenderingContext2D.cpp:
1594         (WebCore::CanvasRenderingContext2D::createImageData):
1595         (WebCore::CanvasRenderingContext2D::getImageData):
1596         * loader/cache/CachedImage.cpp:
1597         (WebCore::CachedImage::addIncrementalDataBuffer):
1598         (WebCore::CachedImage::finishLoading):
1599         * loader/cache/CachedImage.h:
1600         * page/Settings.in:
1601
1602 2014-04-02  Martin Hock  <mhock@apple.com>
1603
1604         Unify private browsing with sessions.
1605         https://bugs.webkit.org/show_bug.cgi?id=130099
1606
1607         Reviewed by Alexey Proskuryakov.
1608
1609         Unless otherwise noted, the following consists solely of mechanical changes to replace querying WebCore::Settings::privateBrowsingEnabled() with Page::usesEphemeralSession().
1610
1611         * Modules/webdatabase/DatabaseContext.cpp:
1612         (WebCore::DatabaseContext::allowDatabaseAccess):
1613         * WebCore.exp.in: Remove Settings::setPrivateBrowsingEnabled, add Page::legacyPrivateBrowsingEnabled.
1614         * html/HTMLMediaElement.cpp:
1615         (WebCore::HTMLMediaElement::parseAttribute):
1616         * loader/HistoryController.cpp:
1617         (WebCore::HistoryController::updateForStandardLoad):
1618         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
1619         (WebCore::HistoryController::updateForClientRedirect):
1620         (WebCore::HistoryController::updateForSameDocumentNavigation):
1621         (WebCore::HistoryController::pushState):
1622         (WebCore::HistoryController::replaceState):
1623         * loader/appcache/ApplicationCacheGroup.cpp:
1624         (WebCore::ApplicationCacheGroup::cacheForMainRequest):
1625         (WebCore::ApplicationCacheGroup::selectCache):
1626         (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
1627         (WebCore::ApplicationCacheGroup::update):
1628         * loader/appcache/ApplicationCacheHost.cpp:
1629         (WebCore::ApplicationCacheHost::isApplicationCacheEnabled):
1630         * loader/icon/IconController.cpp:
1631         (WebCore::IconController::continueLoadWithDecision):
1632         * page/Page.cpp:
1633         (WebCore::Page::Page): Initialize with defaultSessionID.
1634         (WebCore::Page::legacyPrivateBrowsingEnabled): Legacy setting for private browsing.
1635         (WebCore::Page::privateBrowsingStateChanged): Move implementation to setSessionID.
1636         (WebCore::Page::sessionID): Simplify to just return m_sessionID.
1637         (WebCore::Page::setSessionID): Also perform privateBrowsingStateChanged action.a
1638         (WebCore::Page::privateBrowsingStateChanged): Deleted.
1639         (WebCore::Page::checkSubframeCountConsistency): Deleted.
1640         * page/Page.h:
1641         * page/PageConsole.cpp:
1642         (WebCore::PageConsole::addMessage):
1643         (WebCore::PageConsole::messageWithTypeAndLevel):
1644         * page/Settings.cpp: Remove privateBrowsingEnabled setting.
1645         (WebCore::Settings::Settings):
1646         (WebCore::Settings::setPrivateBrowsingEnabled): Page reflects setting using session.
1647         * page/Settings.h:
1648         * plugins/PluginView.cpp:
1649         (WebCore::PluginView::getValue):
1650         * rendering/RenderSearchField.cpp:
1651         (WebCore::RenderSearchField::addSearchResult):
1652         * storage/Storage.cpp:
1653         (WebCore::Storage::isDisabledByPrivateBrowsing):
1654
1655 2014-04-02  Antti Koivisto  <antti@apple.com>
1656
1657         Try to fix test failures.
1658
1659         * platform/graphics/ca/mac/TileGrid.mm:
1660         (WebCore::TileGrid::TileGrid):  Initialize a field.
1661
1662 2014-04-02  Timothy Hatcher  <timothy@apple.com>
1663
1664         Remove Input domain from the Web Inspector protocol.
1665
1666         https://bugs.webkit.org/show_bug.cgi?id=131073
1667
1668         Reviewed by Joseph Pecoraro.
1669
1670         * CMakeLists.txt:
1671         * DerivedSources.make:
1672         * WebCore.vcxproj/WebCore.vcxproj:
1673         * WebCore.vcxproj/WebCore.vcxproj.filters:
1674         * WebCore.xcodeproj/project.pbxproj:
1675         * inspector/InspectorAllInOne.cpp:
1676         * inspector/InspectorController.cpp:
1677         (WebCore::InspectorController::InspectorController):
1678         * inspector/InspectorInputAgent.cpp: Removed.
1679         * inspector/InspectorInputAgent.h: Removed.
1680         * inspector/protocol/Input.json: Removed.
1681
1682 2014-04-02  Antti Koivisto  <antti@apple.com>
1683
1684         Split tile grid out from TileController
1685         https://bugs.webkit.org/show_bug.cgi?id=131102
1686
1687         Reviewed by Simon Fraser.
1688
1689         Add a TileGrid class that encapsulates tiles, zoom level and the related metadata.
1690         This will make it possible to have multiple grids per TileController later.
1691
1692 2014-03-31  Brent Fulgham  <bfulgham@apple.com>
1693
1694         [Win] Correct media controls for test harness
1695         https://bugs.webkit.org/show_bug.cgi?id=131008 
1696
1697         Reviewed by Eric Carlson.
1698
1699         * rendering/RenderThemeSafari.cpp: Revise to match RenderThemeWin logic.
1700         (WebCore::RenderThemeSafari::systemFont):
1701         (WebCore::RenderThemeSafari::paintMenuList):
1702         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
1703         (WebCore::RenderThemeSafari::mediaControlsStyleSheet):
1704         (WebCore::RenderThemeSafari::mediaControlsScript):
1705         (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Deleted.
1706         (WebCore::RenderThemeSafari::paintMediaMuteButton): Deleted.
1707         (WebCore::RenderThemeSafari::paintMediaPlayButton): Deleted.
1708         (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Deleted.
1709         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Deleted.
1710         (WebCore::RenderThemeSafari::paintMediaSliderTrack): Deleted.
1711         (WebCore::RenderThemeSafari::paintMediaSliderThumb): Deleted.
1712         * rendering/RenderThemeSafari.h:
1713
1714 2014-04-02  peavo@outlook.com  <peavo@outlook.com>
1715
1716         [WinCairo] Compile error.
1717         https://bugs.webkit.org/show_bug.cgi?id=131110
1718
1719         Reviewed by Simon Fraser.
1720
1721         Image::size() now returns a FloatSize instead of an IntSize.
1722
1723         * platform/win/DragImageCairoWin.cpp:
1724         (WebCore::createDragImageFromImage):
1725
1726 2014-04-02  David Kilzer  <ddkilzer@apple.com>
1727
1728         Use outermost containing isolate when constructing bidi runs
1729         <http://webkit.org/b/131107>
1730         <rdar://problem/15690021>
1731
1732         Reviewed by Darin Adler.
1733
1734         Merged from Blink (patch by jww@chromium.org):
1735         https://src.chromium.org/viewvc/blink?revision=157268&view=revision
1736         http://crbug.com/279277
1737
1738             Update containingIsolate to go back all the way to top
1739             isolate from current root, rather than stopping at the first
1740             isolate it finds. This works because the current root is
1741             always updated with each isolate run.
1742
1743         Tests: fast/text/international/unicode-bidi-isolate-nested-with-removes-not-adjacent.html
1744                fast/text/international/unicode-bidi-isolate-nested-with-removes.html
1745
1746         * rendering/InlineIterator.h:
1747         (WebCore::highestContainingIsolateWithinRoot):
1748         * rendering/RenderBlockLineLayout.cpp:
1749         (WebCore::constructBidiRunsForSegment):
1750
1751 2014-04-02  Chris Fleizach  <cfleizach@apple.com>
1752
1753         AX: Improve ARIA live region reliability by sending notifications when live regions are created/shown and hidden/destroyed
1754         https://bugs.webkit.org/show_bug.cgi?id=124381
1755
1756         Reviewed by Mario Sanchez Prada.
1757
1758         Re-organize some code so that when we detect a new node has been created, we can safely determine its live region status.
1759         If it is a live region, we fire off a live region created notification.
1760
1761         Test: platform/mac/accessibility/live-region-creation-notification.html
1762
1763         * accessibility/AXObjectCache.cpp:
1764         (WebCore::AXObjectCache::handleLiveRegionCreated):
1765         (WebCore::AXObjectCache::childrenChanged):
1766         (WebCore::AXObjectCache::handleAttributeChanged):
1767         * accessibility/AXObjectCache.h:
1768         (WebCore::AXObjectCache::childrenChanged):
1769         * accessibility/AccessibilityObject.cpp:
1770         (WebCore::AccessibilityObject::defaultLiveRegionStatusForRole):
1771         (WebCore::AccessibilityObject::liveRegionStatusIsEnabled):
1772         (WebCore::AccessibilityObject::supportsARIALiveRegion):
1773         * accessibility/AccessibilityObject.h:
1774         (WebCore::AccessibilityObject::ariaLiveRegionStatus):
1775         * accessibility/AccessibilityRenderObject.cpp:
1776         (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
1777         * accessibility/AccessibilityRenderObject.h:
1778         * accessibility/ios/AXObjectCacheIOS.mm:
1779         (WebCore::AXObjectCache::postPlatformNotification):
1780         * accessibility/ios/WebAccessibilityObjectWrapperIOS.h:
1781         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1782         (-[WebAccessibilityObjectWrapper postLiveRegionCreatedNotification]):
1783         * accessibility/mac/AXObjectCacheMac.mm:
1784         (WebCore::AXObjectCache::postPlatformNotification):
1785
1786 2014-04-02  Martin Robinson  <mrobinson@igalia.com>
1787
1788         REGRESSION(r165704): [GTK] Inspector resources not correctly generated
1789         https://bugs.webkit.org/show_bug.cgi?id=130343
1790
1791         Reviewed by Gustavo Noronha Silva.
1792
1793         * CMakeLists.txt: Generate the web inspector JS file into the new WebInspectorUI derived sources
1794         directory.
1795
1796 2014-04-02  Zalan Bujtas  <zalan@apple.com>
1797
1798         Unreviewed build fix after r166642.
1799         (WinCairo should really turn subpixel layout on.)
1800
1801         * platform/graphics/LayoutSize.h:
1802         (WebCore::flooredForPainting):
1803
1804 2014-04-02  Zalan Bujtas  <zalan@apple.com>
1805
1806         Subpixel rendering: Make GraphicsContext::drawTiledImage* functions float based.
1807         https://bugs.webkit.org/show_bug.cgi?id=131062
1808
1809         Reviewed by Simon Fraser.
1810
1811         This is in preparation to support subpixel positioned/sized background images. Generated images
1812         need to be able to sized on device pixels.
1813
1814         No change in behavior.
1815
1816         * platform/graphics/GraphicsContext.cpp:
1817         (WebCore::GraphicsContext::drawImage):
1818         (WebCore::GraphicsContext::drawTiledImage):
1819         * platform/graphics/GraphicsContext.h:
1820
1821 2014-04-02  Alex Christensen  <achristensen@webkit.org>
1822
1823         [WinCairo] Build fix after r166496.
1824         https://bugs.webkit.org/show_bug.cgi?id=131006
1825
1826         Reviewed by Carlos Garcia Campos.
1827
1828         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
1829         (WebCore::InbandTextTrackPrivateGStreamer::handleSample):
1830         (WebCore::InbandTextTrackPrivateGStreamer::streamChanged):
1831         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1832         (WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
1833         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
1834         (WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
1835         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
1836         (WebCore::MediaPlayerPrivateGStreamer::textChanged):
1837         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
1838         (WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
1839         (WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):
1840         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
1841         (WebCore::TrackPrivateBaseGStreamer::activeChanged):
1842         (WebCore::TrackPrivateBaseGStreamer::tagsChanged):
1843         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
1844         (webkitVideoSinkRender):
1845         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1846         (webKitWebSrcChangeState):
1847         (webKitWebSrcNeedDataCb):
1848         (webKitWebSrcEnoughDataCb):
1849         (webKitWebSrcSeekDataCb):
1850         Added std::function<void()> constructors to help Visual Studio decide which version of 
1851         GMainLoopSource::schedule or GMainLoopSource::scheduleAfterDelay to use.
1852
1853 2014-04-02  Zalan Bujtas  <zalan@apple.com>
1854
1855         Subpixel rendering: Transition class CSSImageGeneratorValue/class StyleImage (and its dependencies) from 
1856         IntSize to FloatSize to enable subpixel sized (generated)images.
1857         https://bugs.webkit.org/show_bug.cgi?id=130659
1858
1859         Reviewed by Simon Fraser and Andreas Kling.
1860
1861         This is in preparation to support subpixel positioned/sized background images. Generated images
1862         needs to be able to sized on device pixels.
1863
1864         No change in behavior.
1865
1866         * WebCore.vcxproj/WebCore.vcxproj:
1867         * WebCore.vcxproj/WebCore.vcxproj.filters:
1868         * WebCore.xcodeproj/project.pbxproj:
1869         * css/CSSCanvasValue.cpp:
1870         (WebCore::CSSCanvasValue::fixedSize):
1871         (WebCore::CSSCanvasValue::image):
1872         * css/CSSCanvasValue.h:
1873         * css/CSSCrossfadeValue.cpp:
1874         (WebCore::CSSCrossfadeValue::fixedSize):
1875         (WebCore::CSSCrossfadeValue::image):
1876         * css/CSSCrossfadeValue.h:
1877         * css/CSSFilterImageValue.cpp:
1878         (WebCore::CSSFilterImageValue::fixedSize):
1879         (WebCore::CSSFilterImageValue::image):
1880         * css/CSSFilterImageValue.h:
1881         * css/CSSGradientValue.cpp:
1882         (WebCore::CSSGradientValue::image):
1883         (WebCore::positionFromValue):
1884         (WebCore::CSSGradientValue::computeEndPoint):
1885         (WebCore::endPointsFromAngle):
1886         (WebCore::CSSLinearGradientValue::createGradient):
1887         (WebCore::CSSRadialGradientValue::createGradient):
1888         * css/CSSGradientValue.h:
1889         (WebCore::CSSGradientValue::fixedSize):
1890         * css/CSSImageGeneratorValue.cpp:
1891         (WebCore::CSSImageGeneratorValue::cachedImageForSize):
1892         (WebCore::CSSImageGeneratorValue::saveCachedImageForSize):
1893         (WebCore::CSSImageGeneratorValue::evictCachedGeneratedImage):
1894         (WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
1895         (WebCore::CSSImageGeneratorValue::image):
1896         (WebCore::CSSImageGeneratorValue::fixedSize):
1897         * css/CSSImageGeneratorValue.h:
1898         * loader/cache/CachedImage.cpp:
1899         (WebCore::CachedImage::setContainerSizeForRenderer):
1900         * loader/cache/CachedImage.h:
1901         * platform/graphics/FloatSizeHash.h: Added.
1902         (WTF::FloatHash<WebCore::FloatSize>::hash):
1903         (WTF::FloatHash<WebCore::FloatSize>::equal):
1904         (WTF::HashTraits<WebCore::FloatSize>::constructDeletedValue):
1905         (WTF::HashTraits<WebCore::FloatSize>::isDeletedValue):
1906         * platform/graphics/LayoutSize.h:
1907         (WebCore::flooredForPainting):
1908         * rendering/RenderImageResourceStyleImage.h:
1909         * rendering/RenderListMarker.cpp:
1910         (WebCore::RenderListMarker::computePreferredLogicalWidths):
1911         * rendering/style/StyleCachedImage.cpp:
1912         (WebCore::StyleCachedImage::imageSize):
1913         (WebCore::StyleCachedImage::setContainerSizeForRenderer):
1914         (WebCore::StyleCachedImage::image):
1915         * rendering/style/StyleCachedImage.h:
1916         * rendering/style/StyleCachedImageSet.cpp:
1917         (WebCore::StyleCachedImageSet::imageSize):
1918         (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
1919         (WebCore::StyleCachedImageSet::image):
1920         * rendering/style/StyleCachedImageSet.h:
1921         * rendering/style/StyleGeneratedImage.cpp:
1922         (WebCore::StyleGeneratedImage::imageSize):
1923         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
1924         (WebCore::StyleGeneratedImage::image):
1925         * rendering/style/StyleGeneratedImage.h:
1926         * rendering/style/StyleImage.h:
1927         * rendering/style/StylePendingImage.h:
1928         * svg/graphics/SVGImageCache.cpp:
1929         (WebCore::SVGImageCache::setContainerSizeForRenderer):
1930         * svg/graphics/SVGImageCache.h:
1931
1932 2014-04-02  Gergo Balogh  <gbalogh.u-szeged@partner.samsung.com>
1933
1934         Warning fix for RenderLayer.
1935         https://bugs.webkit.org/show_bug.cgi?id=131090
1936
1937         Reviewed by Csaba Osztrogonác.
1938
1939         * rendering/RenderLayer.cpp:
1940         (WebCore::RenderLayer::updateDescendantDependentFlags):
1941
1942 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
1943
1944         Operator stretching: read the Open Type MATH table
1945         https://bugs.webkit.org/show_bug.cgi?id=130324
1946
1947         Reviewed by Chris Fleizach.
1948
1949         We parse and expose some data from the OpenType MATH table that will be
1950         be relevant for at least the MathML operator stretching (bug 130322):
1951         math constants, italic corrections and size variants / glyph assembly.
1952         This will be tested when the MathML code uses the data.
1953
1954         * WebCore.xcodeproj/project.pbxproj: Add OpenTypeTypes.h to the Mac build.
1955         * platform/graphics/opentype/OpenTypeMathData.cpp: We implement the low-level parsing of the MATH table.
1956         (WebCore::OpenType::MathItalicsCorrectionInfo::getItalicCorrection):
1957         (WebCore::OpenType::MathGlyphInfo::mathItalicsCorrectionInfo):
1958         (WebCore::OpenType::GlyphAssembly::getAssemblyParts):
1959         (WebCore::OpenType::MathGlyphConstruction::getSizeVariants):
1960         (WebCore::OpenType::MathGlyphConstruction::getAssemblyParts):
1961         (WebCore::OpenType::MathVariants::mathGlyphConstruction):
1962         (WebCore::OpenType::MATHTable::mathConstants):
1963         (WebCore::OpenType::MATHTable::mathGlyphInfo):
1964         (WebCore::OpenType::MATHTable::mathVariants):
1965         (WebCore::OpenTypeMathData::OpenTypeMathData): We load the MATH table.
1966         (WebCore::OpenTypeMathData::getMathConstant): We add a function to get values from the MathConstant subtable.
1967         (WebCore::OpenTypeMathData::getItalicCorrection): We add a function to get italic correction from the MathGlyphInfo subtable.
1968         (WebCore::OpenTypeMathData::getMathVariants): We add a function to get size variants / glyph assembly from the MathVariants subtable.
1969         * platform/graphics/opentype/OpenTypeMathData.h: We expose three new functions to get math data.
1970         * platform/graphics/opentype/OpenTypeTypes.h: We share the coverage tables that are common to vertical and math data.
1971         (WebCore::OpenType::TableWithCoverage::getCoverageIndex): We add a function to get the coverage index from a given glyph.
1972         * platform/graphics/opentype/OpenTypeVerticalData.cpp: We move the coverage tables to OpenTypeTypes.h.
1973
1974 2014-04-02  Ion Rosca  <rosca@adobe.com>
1975
1976         [CSS Blending] Compositing requirements for blending are not computed correctly
1977         https://bugs.webkit.org/show_bug.cgi?id=130664
1978
1979         Reviewed by Dean Jackson.
1980
1981         Tests: css3/compositing/blend-mode-accelerated-with-multiple-stacking-contexts.html
1982                css3/compositing/blend-mode-with-accelerated-sibling.html
1983
1984         Compositing requirements for blending: if a layer having blend mode
1985         other than normal is composited for any reason, its closest stacking
1986         context ancestor should be composited as well.
1987
1988         * rendering/RenderLayer.cpp:
1989         (WebCore::RenderLayer::RenderLayer):
1990         * rendering/RenderLayer.h: added a new field,
1991         m_hasUnisolatedCompositedBlendingDescendants, which is true if the layer
1992         has composited blending descendants not isolated by any stacking context child;
1993         added a new method: isolatesCompositedBlending(), which is true if we should
1994         accelerate that layer in order to perform isolation correctly.
1995
1996         * rendering/RenderLayerCompositor.cpp:
1997         (WebCore::CompositingState::CompositingState): m_subtreeHasBlending was renamed
1998         m_hasUnisolatedCompositedBlendingDescendants in order to be more self-explanatory.
1999         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
2000         computes the isolation requirements for composited blending by
2001         (re)setting RenderLayer::m_hasUnisolatedCompositedBlendingDescendants flag.
2002
2003         (WebCore::RenderLayerCompositor::reasonsForCompositing):
2004         fixed the reason of compositing: isolation instead of blending.
2005
2006         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
2007         * rendering/RenderLayerCompositor.h:
2008
2009 2014-04-02  Frédéric Wang  <fred.wang@free.fr>
2010
2011         Operator stretching: expose a math data API
2012         https://bugs.webkit.org/show_bug.cgi?id=130572
2013
2014         Reviewed by Chris Fleizach.
2015
2016         We expose a new SimpleFontData API to give access to the data from the
2017         OpenType MATH table. The class OpenTypeMathData will
2018         be implemented in bug 130324. On Darwin platform, we also implement the
2019         missing FontPlatformData::openTypeTable function which will be necessary
2020         to load the OpenType MATH table. The changes are intended to be used
2021         for MathML operator stretching (bug 130322) so tests are not added yet.
2022
2023         * CMakeLists.txt: add new OpenTypeMathData files.
2024         * WebCore.vcxproj/WebCore.vcxproj: ditto.
2025         * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
2026         * WebCore.xcodeproj/project.pbxproj: ditto.
2027         * platform/graphics/FontPlatformData.cpp:
2028         (WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
2029         * platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
2030         * platform/graphics/SimpleFontData.cpp:
2031         (WebCore::SimpleFontData::SimpleFontData):
2032         (WebCore::SimpleFontData::mathData): Initialize and return the math data.
2033         * platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
2034         * platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
2035         (WebCore::OpenTypeMathData::OpenTypeMathData):
2036         * platform/graphics/opentype/OpenTypeMathData.h: Added.
2037         (WebCore::OpenTypeMathData::create):
2038         (WebCore::OpenTypeMathData::hasMathData):
2039
2040 2014-04-01  Mihnea Ovidenie  <mihnea@adobe.com>
2041
2042         [CSSRegions] Displaying region's children in another region not supported
2043         https://bugs.webkit.org/show_bug.cgi?id=130735
2044
2045         Reviewed by David Hyatt.
2046
2047         With http://trac.webkit.org/changeset/166353, we disabled the possibility
2048         of collecting the region's children into another flow and displaying them
2049         in another region.
2050         I added a new test for this and also changed the plain ASSERT in Element dtor
2051         to ASSERT_WITH_SECURITY_IMPLICATION to better reflect the meaning of the assertion.
2052
2053         Test: fast/regions/region-child-not-flowed.html
2054
2055         * dom/Element.cpp:
2056         (WebCore::Element::~Element):
2057
2058 2014-04-01  Andrei Bucur  <abucur@adobe.com>
2059
2060         [CSS Regions] Simplify the RenderFlowThread state pusher
2061         https://bugs.webkit.org/show_bug.cgi?id=131035
2062
2063         Reviewed by David Hyatt.
2064
2065         The RenderFlowThread state pusher is desynchronized from the RenderView layout state pusher
2066         by one renderer. This patch fixes the anomaly by correctly ordering the push and pop operations
2067         between the two systems.
2068
2069         Tests: no functional change, no new tests.
2070
2071         * rendering/RenderFlowThread.cpp:
2072         (WebCore::RenderFlowThread::pushFlowThreadLayoutState):
2073         (WebCore::RenderFlowThread::popFlowThreadLayoutState):
2074         (WebCore::RenderFlowThread::offsetFromLogicalTopOfFirstRegion):
2075         * rendering/RenderView.cpp:
2076         (WebCore::RenderView::pushLayoutState):
2077         * rendering/RenderView.h:
2078
2079 2014-04-01  Beth Dakin  <bdakin@apple.com>
2080
2081         willReveal edge events should be hooked up for overflow:scroll
2082         https://bugs.webkit.org/show_bug.cgi?id=131071
2083         -and corresponding-
2084         <rdar://problem/16190392>
2085
2086         Reviewed by Sam Weinig.
2087
2088         This patch moves the will reveal logic from FrameView to Document so that it can 
2089         be shared for RenderLayers.
2090
2091         This is mostly just a moved function, but now the function takes an Element* that 
2092         represents the target of the event if the target is not the window.
2093         * dom/Document.cpp:
2094         (WebCore::Document::sendWillRevealEdgeEventsIfNeeded):
2095         * dom/Document.h:
2096
2097         No longer implement sendWillRevealEdgeEventsIfNeeded() on FrameView or 
2098         ScrollableArea at all. Call into Document instead.
2099         * page/FrameView.cpp:
2100         (WebCore::FrameView::scrollPositionChanged):
2101         (WebCore::FrameView::sendWillRevealEdgeEventsIfNeeded): Deleted.
2102         * page/FrameView.h:
2103         * platform/ScrollableArea.h:
2104         (WebCore::ScrollableArea::sendWillRevealEdgeEventsIfNeeded): Deleted.
2105
2106         Call sendWillRevealEdgeEventsIfNeeded() after sending scroll events. 
2107         * rendering/RenderLayer.cpp:
2108         (WebCore::RenderLayer::scrollTo):
2109
2110 2014-04-01  Jon Honeycutt  <jhoneycutt@apple.com>
2111
2112         Crash in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients
2113
2114         <https://bugs.webkit.org/show_bug.cgi?id=121887>
2115         <rdar://problem/15073043>
2116
2117         Reviewed by Dean Jackson.
2118
2119         Test: svg/filters/first-letter-crash.html
2120
2121         * rendering/FilterEffectRenderer.cpp:
2122         (WebCore::FilterEffectRenderer::buildReferenceFilter):
2123         Added a null check to prevent crashes for anonymous RenderObjects.
2124
2125         * rendering/RenderLayer.cpp:
2126         (WebCore::RenderLayer::filterNeedsRepaint):
2127         Get the enclosing element, if there is one, and recalculate its style.
2128         We use the enclosing element so that we recalculate style for the
2129         ancestor of an anonymous RenderElement.
2130         (WebCore::RenderLayer::enclosingElement):
2131         Remove an assertion; we may now reach this condition if loading a
2132         cached SVG document results in RenderLayer::filterNeedsRepaint() being
2133         called before the object has been inserted into the render tree.
2134
2135         * rendering/RenderLayerFilterInfo.cpp:
2136         (WebCore::RenderLayer::FilterInfo::notifyFinished):
2137         Tell the RenderLayer that the filter needs repainting.
2138         (WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
2139         Get the Element from the renderer rather than asking the renderer's
2140         Element, which will be null for anonymous RenderObjects.
2141
2142         * rendering/RenderLayerFilterInfo.h:
2143         Removed declaration for the old workaround function, layerElement().
2144
2145 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
2146
2147         Build break when disabled VIDEO since r166261
2148         https://bugs.webkit.org/show_bug.cgi?id=131087
2149
2150         Reviewed by Gyuyoung Kim.
2151
2152         * testing/Internals.cpp: Added ENABLE(VIDEO) guards
2153         (WebCore::Internals::simulateSystemSleep):
2154         (WebCore::Internals::simulateSystemWake):
2155
2156 2014-04-01  Timothy Hatcher  <timothy@apple.com>
2157
2158         Remove HeapProfiler from the Web Inspector protocol.
2159
2160         https://bugs.webkit.org/show_bug.cgi?id=131070
2161
2162         Reviewed by Joseph Pecoraro.
2163
2164         * CMakeLists.txt:
2165         * DerivedSources.make:
2166         * WebCore.vcxproj/WebCore.vcxproj:
2167         * WebCore.vcxproj/WebCore.vcxproj.filters:
2168         * WebCore.xcodeproj/project.pbxproj:
2169         * bindings/js/ScriptHeapSnapshot.h: Removed.
2170         * bindings/js/ScriptProfiler.h:
2171         (WebCore::ScriptProfiler::takeHeapSnapshot): Deleted.
2172         (WebCore::ScriptProfiler::isSampling): Deleted.
2173         (WebCore::ScriptProfiler::hasHeapProfiler): Deleted.
2174         * inspector/InspectorAllInOne.cpp:
2175         * inspector/InspectorController.cpp:
2176         (WebCore::InspectorController::InspectorController):
2177         * inspector/InspectorHeapProfilerAgent.cpp: Removed.
2178         * inspector/InspectorHeapProfilerAgent.h: Removed.
2179         * inspector/InspectorInstrumentation.cpp:
2180         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2181         * inspector/InspectorProfilerAgent.cpp:
2182         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2183         (WebCore::InspectorProfilerAgent::getProfileHeaders):
2184         (WebCore::InspectorProfilerAgent::removeProfile):
2185         (WebCore::InspectorProfilerAgent::resetState): The CommandLineAPIHost call to
2186         clear inspected objects should have not been here. It was only needed by the
2187         HeapProfilerAgent.
2188         (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
2189         (WebCore::InspectorProfilerAgent::collectGarbage): Deleted.
2190         (WebCore::InspectorProfilerAgent::createSnapshotHeader): Deleted.
2191         (WebCore::InspectorProfilerAgent::isSampling): Deleted.
2192         (WebCore::InspectorProfilerAgent::hasHeapProfiler): Deleted.
2193         (WebCore::InspectorProfilerAgent::getHeapSnapshot): Deleted.
2194         (WebCore::InspectorProfilerAgent::takeHeapSnapshot): Deleted.
2195         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId): Deleted.
2196         (WebCore::InspectorProfilerAgent::getHeapObjectId): Deleted.
2197         * inspector/InspectorProfilerAgent.h:
2198         * inspector/InstrumentingAgents.h:
2199         (WebCore::InstrumentingAgents::inspectorHeapProfilerAgent): Deleted.
2200         (WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent): Deleted.
2201         * inspector/WebConsoleAgent.cpp:
2202         (WebCore::WebConsoleAgent::addInspectedHeapObject): Deleted.
2203         * inspector/WebConsoleAgent.h:
2204         * inspector/WorkerInspectorController.cpp:
2205         (WebCore::WorkerInspectorController::WorkerInspectorController):
2206         * inspector/protocol/HeapProfiler.json: Removed.
2207         * inspector/protocol/Profiler.json:
2208
2209 2014-04-01  Zoltan Horvath  <zoltan@webkit.org>
2210
2211         [CSS Exclusions] Remove exclusions parsing support
2212         https://bugs.webkit.org/show_bug.cgi?id=131046
2213
2214         Reviewed by David Hyatt.
2215
2216         CSS Exclusions specification [1] needs some evolution before the actual implementation happens.
2217         We have only the parsing code in WebKit for -webkit-wrap-flow and -webkit-wrap-through.
2218         This patch removes the code from the trunk for now, it doesn't make sense to keep it around.
2219
2220         [1] http://www.w3.org/TR/css3-exclusions/
2221
2222         Removed existing parsing tests.
2223
2224         * css/CSSComputedStyleDeclaration.cpp:
2225         (WebCore::ComputedStyleExtractor::propertyValue):
2226         * css/CSSParser.cpp:
2227         (WebCore::isValidKeywordPropertyAndValue):
2228         (WebCore::isKeywordPropertyID):
2229         (WebCore::CSSParser::parseValue):
2230         * css/CSSPrimitiveValueMappings.h:
2231         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Deleted.
2232         (WebCore::CSSPrimitiveValue::operator WrapFlow): Deleted.
2233         (WebCore::CSSPrimitiveValue::operator WrapThrough): Deleted.
2234         * css/CSSPropertyNames.in:
2235         * css/CSSValueKeywords.in:
2236         * css/DeprecatedStyleBuilder.cpp:
2237         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2238         * css/StyleResolver.cpp:
2239         (WebCore::StyleResolver::applyProperty):
2240         * rendering/style/RenderStyle.cpp:
2241         (WebCore::RenderStyle::changeRequiresLayout):
2242         * rendering/style/RenderStyle.h:
2243         * rendering/style/RenderStyleConstants.h:
2244         * rendering/style/StyleRareNonInheritedData.cpp:
2245         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2246         (WebCore::StyleRareNonInheritedData::operator==):
2247         * rendering/style/StyleRareNonInheritedData.h:
2248
2249 2014-04-01  Timothy Hatcher  <timothy@apple.com>
2250
2251         Remove the rest of the old Canvas inspection support.
2252
2253         https://bugs.webkit.org/show_bug.cgi?id=131066
2254
2255         Reviewed by Joseph Pecoraro.
2256
2257         * CMakeLists.txt: Removed Canvas.json.
2258         * DerivedSources.make: Ditto.
2259         * inspector/InjectedScriptCanvasModuleSource.js: Removed.
2260         * inspector/protocol/Canvas.json: Removed.
2261
2262 2014-04-01  Alexey Proskuryakov  <ap@apple.com>
2263
2264         Eliminate HTMLFormElement::m_shouldSubmit
2265         https://bugs.webkit.org/show_bug.cgi?id=131055
2266
2267         Reviewed by Tim Horton.
2268
2269         m_shouldSubmit was used for two purposes:
2270         - as a return value in a function whose return value is ignored by all callers;
2271         - to make a decision that's local to a function.
2272
2273         There is no need for it to be an instance variable.
2274
2275         * html/HTMLFormElement.cpp:
2276         (WebCore::HTMLFormElement::HTMLFormElement):
2277         (WebCore::HTMLFormElement::prepareForSubmission):
2278         (WebCore::HTMLFormElement::submit):
2279         * html/HTMLFormElement.h:
2280
2281 2014-04-01  Benjamin Poulain  <bpoulain@apple.com>
2282
2283         Remove a couple of useless static strings
2284         https://bugs.webkit.org/show_bug.cgi?id=131003
2285
2286         Reviewed by David Kilzer.
2287
2288         There is zero value in keeping those strings alive.
2289
2290         * css/StyleProperties.cpp:
2291         (WebCore::isInitialOrInherit):
2292
2293 2014-04-01  Myles C. Maxfield  <mmaxfield@apple.com>
2294
2295         svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html and svg/css/font-face-crash.html frequently assert in ComplexTextController::offsetForPosition
2296         https://bugs.webkit.org/show_bug.cgi?id=119747
2297
2298         Reviewed by Simon Fraser.
2299
2300         Even though kerning and ligatures currently don't work with the
2301         simple text path, messing those up is better than creating null
2302         CTRun and CTLine objects.
2303
2304         Rather than calling the badly-named renderingContext() function on TextRun objects
2305         to determine if they are drawn with an SVG font, this patch creates a wrapper function
2306         with a better name and uses that instead.
2307
2308         Test: svg/text/svg-font-hittest.html
2309
2310         * platform/graphics/Font.cpp:
2311         (WebCore::isDrawnWithSVGFont): Wrapper around renderingContext()
2312         (WebCore::Font::drawText): Use wrapper function
2313         (WebCore::Font::drawEmphasisMarks): Use wrapper function
2314         (WebCore::Font::width): Use wrapper function
2315         (WebCore::Font::selectionRectForText): Use wrapper function
2316         (WebCore::Font::offsetForPosition): If we are using an SVG font, use the simple path
2317         instead of the complex one
2318         (WebCore::Font::codePath): Use wrapper function
2319         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2320         (WebCore::FontPlatformData::ctFont):
2321
2322 2014-04-01  Daniel Bates  <dabates@apple.com>
2323
2324         RenderQuote must destroy remaining text renderer before first letter renderer
2325         https://bugs.webkit.org/show_bug.cgi?id=78023
2326         <rdar://problem/10830009>
2327
2328         Reviewed by Brent Fulgham.
2329
2330         Merged from Blink (patch by Abhishek Arya):
2331         https://src.chromium.org/viewvc/blink?view=rev&revision=151270
2332
2333         Following the fix for <https://bugs.webkit.org/show_bug.cgi?id=114586>, a
2334         RenderQuote may have child render objects for the first letter of its text
2335         and everything following the first letter so as to support the CSS first-
2336         letter property. The latter renderer is responsible for destroying the former
2337         on destruction. It's sufficient to reverse the destruction of the children of
2338         RenderQuote to ensure that we destroy the remaining text renderer before we
2339         destroy the first letter renderer.
2340
2341         Test: fast/css-generated-content/quote-first-letter-crash.html
2342
2343         * rendering/RenderQuote.cpp:
2344         (WebCore::RenderQuote::updateText):
2345
2346 2014-04-01  David Kilzer  <ddkilzer@apple.com>
2347
2348         Do not allow HTTP refresh headers to refresh to javascript: URLs
2349         <http://webkit.org/b/119051>
2350         <rdar://problem/14536453>
2351
2352         Reviewed by Alexey Proskuryakov.
2353
2354         Merged from Blink (patch by tsepez@chromium.org):
2355         https://src.chromium.org/viewvc/blink?revision=153912&view=revision
2356         http://crbug.com/258151
2357
2358             This behaviour has been standard in IE since IE7.  This makes us both
2359             more compatible and less vulnerable to XSS.
2360
2361         Tests: http/tests/security/no-javascript-location-percent-escaped.html
2362                http/tests/security/no-javascript-location.html
2363                http/tests/security/no-javascript-refresh-percent-escaped.php
2364                http/tests/security/no-javascript-refresh-spaces.php
2365                http/tests/security/no-javascript-refresh-static-percent-escaped.html
2366                http/tests/security/no-javascript-refresh-static-spaces.html
2367                http/tests/security/no-javascript-refresh-static.html
2368                http/tests/security/no-javascript-refresh.php
2369
2370         * dom/Document.cpp:
2371         (WebCore::Document::processHttpEquiv):
2372         * loader/FrameLoader.cpp:
2373         (WebCore::FrameLoader::receivedFirstData):
2374         - Do not fire meta http refresh for a javascript: URL protocol.
2375
2376 2014-04-01  Pratik Solanki  <psolanki@apple.com>
2377
2378         Unreviewed build fix. Remove duplicate file entries.
2379
2380         * WebCore.xcodeproj/project.pbxproj:
2381
2382 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
2383
2384         Enable WEB_TIMING on Mac and iOS
2385         https://bugs.webkit.org/show_bug.cgi?id=128064
2386
2387         Reviewed by Sam Weinig, Brent Fulgham.
2388
2389         Enable WEB_TIMING. Add PerformanceTiming.cpp and JSPerformanceTiming.cpp
2390         to the project.
2391         
2392         * Configurations/FeatureDefines.xcconfig:
2393         * WebCore.xcodeproj/project.pbxproj:
2394
2395 2014-04-01  James Craig  <jcraig@apple.com>
2396
2397         AX: AccessibilityRenderObject::ariaLiveRegionAtomic() should default to true if
2398         roleValue is ApplicationAlertRole || ApplicationStatusRole
2399         https://bugs.webkit.org/show_bug.cgi?id=130907
2400
2401         Reviewed by Chris Fleizach.
2402
2403         Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode_liveRegion.html:
2404                platform/mac/accessibility/aria-liveregions-attributes.html:
2405
2406         Updated AccessibilityRenderObject::ariaLiveRegionAtomic() to match ARIA spec.
2407
2408         * accessibility/AccessibilityRenderObject.cpp:
2409         (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
2410
2411 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
2412
2413         Unreviewed. Fixing debug builds after r166586.
2414
2415         * svg/SVGElement.cpp:
2416         (WebCore::SVGElement::addEventListener): Fix the ASSERT.
2417         (WebCore::SVGElement::removeEventListener): Ditto.
2418
2419 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
2420
2421         Prevent unnecessary copies in compareEqual template
2422         https://bugs.webkit.org/show_bug.cgi?id=131014
2423
2424         Reviewed by Antti Koivisto.
2425
2426         * rendering/style/RenderStyle.h:
2427         (compareEqual): Casting the second parameter to a non-const, non-reference type
2428         causes an extra copy of that object. Casting to the const reference type of the
2429         first parameter avoids that.
2430
2431 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
2432
2433         Avoid unnecessary HashSet copies when calling collectInstancesForSVGElement
2434         https://bugs.webkit.org/show_bug.cgi?id=131020
2435
2436         Reviewed by Andreas Kling.
2437
2438         Remove collectInstancesForSVGElement() to avoid HashSet copies when assigning a const
2439         HashSet reference to a non-const HashSet reference. Instead, range-based for-loops are
2440         deployed to iterate directly over the const reference to HashSet that's returned by
2441         SVGElement::instancesForElement(). SVGElement::containingShadowRoot() return value
2442         is checked to see if the iteration should be performed in the first place, preserving
2443         the behavior of collectInstancesForSVGElement().
2444
2445         * svg/SVGElement.cpp:
2446         (WebCore::SVGElement::addEventListener):
2447         (WebCore::SVGElement::removeEventListener):
2448         (WebCore::collectInstancesForSVGElement): Deleted.
2449
2450 2014-04-01  Zan Dobersek  <zdobersek@igalia.com>
2451
2452         Move the attributes HashMap out of the parseAttributes function
2453         https://bugs.webkit.org/show_bug.cgi?id=131019
2454
2455         Reviewed by Andreas Kling.
2456
2457         * xml/parser/XMLDocumentParserLibxml2.cpp:
2458         (WebCore::parseAttributes): Avoid copying the HashMap object that's being returned by
2459         converting it to an xvalue through using std::move() in the return statement.
2460
2461 2014-04-01  Zalan Bujtas  <zalan@apple.com>
2462
2463         Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
2464         https://bugs.webkit.org/show_bug.cgi?id=130643
2465
2466         Reviewed by Simon Fraser.
2467
2468         This is in preparation to support subpixel positioned/sized background images. While 1x bitmap images can't take
2469         subpixel sizing on hidpi resolutions, both generated and hidpi images can.
2470         This patch does not change Image behavior in general as both position and size are still snapped to integral values.  
2471
2472         No change in behavior.
2473
2474         * WebCore.exp.in:
2475         * css/CSSCrossfadeValue.cpp:
2476         (WebCore::CSSCrossfadeValue::fixedSize):
2477         * css/CSSFilterImageValue.cpp:
2478         (WebCore::CSSFilterImageValue::fixedSize):
2479         * html/canvas/WebGLRenderingContext.cpp:
2480         (WebCore::WebGLRenderingContext::drawImageIntoBuffer):
2481         * loader/cache/CachedImage.cpp:
2482         (WebCore::CachedImage::imageSizeForRenderer):
2483         * page/EventHandler.cpp:
2484         (WebCore::EventHandler::selectCursor):
2485         * platform/Cursor.cpp:
2486         (WebCore::determineHotSpot):
2487         * platform/graphics/BitmapImage.cpp:
2488         (WebCore::BitmapImage::size):
2489         (WebCore::BitmapImage::currentFrameSize):
2490         * platform/graphics/BitmapImage.h:
2491         * platform/graphics/CrossfadeGeneratedImage.cpp:
2492         (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
2493         (WebCore::drawCrossfadeSubimage):
2494         (WebCore::CrossfadeGeneratedImage::drawCrossfade):
2495         * platform/graphics/CrossfadeGeneratedImage.h:
2496         * platform/graphics/GeneratedImage.h:
2497         * platform/graphics/Gradient.cpp:
2498         (WebCore::Gradient::adjustParametersForTiledDrawing):
2499         * platform/graphics/Gradient.h:
2500         * platform/graphics/GradientImage.cpp:
2501         (WebCore::GradientImage::drawPattern):
2502         * platform/graphics/GradientImage.h:
2503         * platform/graphics/GraphicsContext.cpp:
2504         (WebCore::GraphicsContext::createCompatibleBuffer):
2505         * platform/graphics/GraphicsContext.h:
2506         * platform/graphics/Image.cpp:
2507         (WebCore::Image::adjustSourceRectForDownSampling):
2508         * platform/graphics/Image.h:
2509         (WebCore::Image::setContainerSize):
2510         (WebCore::Image::rect):
2511         (WebCore::Image::width):
2512         (WebCore::Image::height):
2513         * platform/graphics/ImageBuffer.cpp:
2514         (WebCore::ImageBuffer::createCompatibleBuffer):
2515         * platform/graphics/ImageBuffer.h:
2516         (WebCore::ImageBuffer::create):
2517         * platform/graphics/IntPoint.cpp:
2518         (WebCore::IntPoint::IntPoint):
2519         * platform/graphics/IntPoint.h:
2520         * platform/graphics/IntSize.cpp:
2521         (WebCore::IntSize::IntSize):
2522         * platform/graphics/IntSize.h:
2523         * platform/graphics/cairo/ImageBufferCairo.cpp:
2524         (WebCore::ImageBuffer::ImageBuffer):
2525         * platform/graphics/cairo/ImageCairo.cpp:
2526         (WebCore::Image::drawPattern):
2527         * platform/graphics/cg/ImageBufferCG.cpp:
2528         (WebCore::ImageBuffer::ImageBuffer):
2529         * platform/graphics/cg/ImageBufferDataCG.cpp:
2530         * platform/graphics/cg/PDFDocumentImage.cpp:
2531         (WebCore::PDFDocumentImage::size):
2532         (WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
2533         (WebCore::applyRotationForPainting):
2534         * platform/graphics/cg/PDFDocumentImage.h:
2535         * platform/graphics/cg/PatternCG.cpp:
2536         (WebCore::Pattern::createPlatformPattern):
2537         * platform/graphics/mac/GraphicsContextMac.mm:
2538         * platform/graphics/mac/IconMac.mm:
2539         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
2540         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
2541         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
2542         (WebCore::CoordinatedImageBacking::update):
2543         * platform/graphics/win/ImageCGWin.cpp:
2544         (WebCore::BitmapImage::getHBITMAPOfSize):
2545         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
2546         * platform/graphics/win/ImageCairoWin.cpp:
2547         (WebCore::BitmapImage::getHBITMAPOfSize):
2548         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
2549         * platform/mac/DragImageMac.mm:
2550         (WebCore::createDragImageFromImage):
2551         * platform/win/DragImageCGWin.cpp:
2552         (WebCore::createDragImageFromImage):
2553         * platform/win/PasteboardWin.cpp:
2554         (WebCore::Pasteboard::writeImage):
2555         * rendering/RenderImage.cpp:
2556         (WebCore::RenderImage::imageSizeForError):
2557         (WebCore::RenderImage::paintReplaced):
2558         * rendering/RenderLayer.cpp:
2559         (WebCore::RenderLayer::drawPlatformResizerImage):
2560         * svg/graphics/SVGImage.cpp:
2561         (WebCore::SVGImage::setContainerSize):
2562         * svg/graphics/SVGImage.h:
2563         * svg/graphics/SVGImageCache.cpp:
2564         (WebCore::SVGImageCache::imageSizeForRenderer):
2565         * svg/graphics/SVGImageCache.h:
2566         * svg/graphics/SVGImageForContainer.cpp:
2567         (WebCore::SVGImageForContainer::size):
2568         * svg/graphics/SVGImageForContainer.h:
2569         * svg/graphics/filters/SVGFEImage.cpp:
2570         (WebCore::FEImage::externalRepresentation):
2571         * testing/Internals.cpp:
2572         (WebCore::Internals::getCurrentCursorInfo):
2573
2574 2014-04-01  Ryuan Choi  <ryuan.choi@samsung.com>
2575
2576         Unreviewed build fix when disabled ACCESSIBILITY
2577
2578         * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:
2579         Separated macros not to check ATK version when disabled ACCESSIBILITY
2580
2581 2014-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2582
2583         [CMake][EFL] Enable CSS JIT
2584         https://bugs.webkit.org/show_bug.cgi?id=131010
2585
2586         Reviewed by Benjamin Poulain.
2587
2588         Add an inclusion path for enabling CSS JIT on EFL and GTK ports.
2589         This patch only enables it for EFL port.
2590
2591         * CMakeLists.txt:
2592
2593 2014-04-01  Martin Robinson  <mrobinson@igalia.com>
2594
2595         [GTK] Readonly attributes installed as readwrite in GObject DOM bindings
2596         https://bugs.webkit.org/show_bug.cgi?id=130978
2597
2598         Reviewed by Carlos Garcia Campos.
2599
2600         Unify how we decide if an attribute is readable or writeable and improve the code.
2601         This results in some attributes now being marked as read-only which didn't have
2602         corresponding case statements in the set_property switch statements and also correctly
2603         installs set_property support for some more POD types.
2604
2605         * bindings/scripts/CodeGeneratorGObject.pm:
2606         (IsPropertyReadable): Added this helper to simplify deciding if an attribute is readable.
2607         (IsPropertyWriteable): Added this helper to simplify deciding if an attribute is writeable. Also
2608         update the list of types to reflect the full list of types we can generate setters for.
2609         (GenerateProperty): Use the IsPropertyWriteable helper instead of checking whether the attribute is read-only.
2610         Also fix generation of the blurb by using $mutableString instead of $mutableStringconst which isn't used.
2611         (GenerateProperties): Use grep and the new helpers to simplify the code.
2612         (GetReadableProperties): Deleted.
2613         (GetWriteableProperties): Deleted.
2614         * bindings/scripts/test/GObject: Update results
2615
2616 2014-03-31  Ryuan Choi  <ryuan.choi@samsung.com>
2617
2618         [EFL][WK2] Extract the control of page background out of color_set
2619         https://bugs.webkit.org/show_bug.cgi?id=127539
2620
2621         Reviewed by Gyuyoung Kim.
2622
2623         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2624         Added m_viewBackgroundColor to clear when m_setDrawsBackground is false.
2625         (WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
2626         (WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext):
2627         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
2628         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2629         (WebCore::CoordinatedGraphicsScene::setViewBackgroundColor):
2630         (WebCore::CoordinatedGraphicsScene::viewBackgroundColor):
2631         * rendering/RenderLayerBacking.cpp:
2632         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2633         Added EFL guard not to set opaque as a default for MainFrameRenderViewLayer.
2634         * rendering/RenderLayerCompositor.cpp:
2635         (WebCore::RenderLayerCompositor::ensureRootLayer):
2636         Added EFL guard to apply page scale on RenderView like IOS.
2637
2638 2014-03-31  Byungseon Shin  <sun.shin@lge.com>
2639
2640         [WebGL][OpenGLES] Enable MSAA support for WebGL Canvas
2641         https://bugs.webkit.org/show_bug.cgi?id=130955
2642
2643         Reviewed by Dean Jackson.
2644
2645         To avoid aliasing issues when we render content to WebGL canvas,
2646          we need to implement MSAA support.
2647         - Imagination OpenGLES GPU Driver already support MSAA, so we
2648          need a separate code path to enable it.
2649
2650         * platform/graphics/Extensions3D.h:
2651         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2652         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon):
2653         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
2654         (WebCore::Extensions3DOpenGLCommon::isImagination):
2655         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2656         (WebCore::GraphicsContext3D::reshapeFBOs):
2657
2658 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
2659
2660         Crashes in PageConsole::addMessage
2661         https://bugs.webkit.org/show_bug.cgi?id=130991
2662         <rdar://problem/14795232>
2663
2664         Reviewed by Geoffrey Garen.
2665
2666         Test: http/tests/misc/detached-frame-console.html
2667
2668         * page/DOMWindow.cpp: (WebCore::DOMWindow::printErrorMessage): Added a null check.
2669         It's legitimate for this to be called for a window that is not currently displayed
2670         in a frame.
2671
2672 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
2673
2674         [UI-side compositing] Proxy animations to the UI process
2675         https://bugs.webkit.org/show_bug.cgi?id=130946
2676
2677         Reviewed by Tim Horton.
2678         
2679         To proxy CA animations, make PlatformCAAnimation a pure virtual base class
2680         and subclass for Mac, Windows, and Remote (just like PlatformCALayer).
2681         
2682         Add coding support for TimingFunctions.
2683         
2684         Do some minor #include tidyup.
2685         
2686         Minor refactor in GraphicsLayerCA to share some animations code.
2687
2688         * WebCore.exp.in:
2689         * WebCore.xcodeproj/project.pbxproj:
2690         * platform/animation/TimingFunction.h: Add setters need for encode/decode.
2691         (WebCore::CubicBezierTimingFunction::setValues):
2692         (WebCore::CubicBezierTimingFunction::setTimingFunctionPreset):
2693         (WebCore::StepsTimingFunction::create):
2694         (WebCore::StepsTimingFunction::setNumberOfSteps):
2695         (WebCore::StepsTimingFunction::setStepAtStart):
2696         * platform/graphics/ca/GraphicsLayerCA.cpp:
2697         (WebCore::GraphicsLayerCA::createPlatformCAAnimation):
2698         (WebCore::GraphicsLayerCA::animationCanBeAccelerated): Minor refactor so we can share
2699         code with GraphicsLayerCARemote.
2700         (WebCore::GraphicsLayerCA::addAnimation):
2701         (WebCore::GraphicsLayerCA::createBasicAnimation):
2702         (WebCore::PassRefPtr<PlatformCAAnimation>GraphicsLayerCA::createKeyframeAnimation):
2703         * platform/graphics/ca/GraphicsLayerCA.h:
2704         * platform/graphics/ca/PlatformCAAnimation.h:
2705         (WebCore::PlatformCAAnimation::~PlatformCAAnimation):
2706         (WebCore::PlatformCAAnimation::isPlatformCAAnimationMac):
2707         (WebCore::PlatformCAAnimation::isPlatformCAAnimationWin):
2708         (WebCore::PlatformCAAnimation::isPlatformCAAnimationRemote):
2709         (WebCore::PlatformCAAnimation::PlatformCAAnimation):
2710         (WebCore::PlatformCAAnimation::setType):
2711         * platform/graphics/ca/PlatformCALayer.h:
2712         * platform/graphics/ca/mac/PlatformCAAnimationMac.h: Added.
2713         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2714         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2715         (PlatformCALayerMac::addAnimationForKey):
2716         (PlatformCALayerMac::animationForKey):
2717         * platform/graphics/ca/mac/TileController.mm:
2718         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2719         * platform/graphics/ca/win/PlatformCAAnimationWin.h: Added.
2720
2721 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
2722
2723         CSS JIT: compile the first-child pseudo class
2724         https://bugs.webkit.org/show_bug.cgi?id=130954
2725
2726         Reviewed by Andreas Kling.
2727
2728         * css/ElementRuleCollector.cpp:
2729         (WebCore::ElementRuleCollector::collectMatchingRules):
2730         The compiler use the context's style directly when resolving style. An error introduced
2731         in the rule collector would cause a crash in the compiled code which would be hard to debug.
2732         Add an assertion early in the stack to catch errors where it is easier to debug them.
2733
2734         * css/StyleResolver.cpp:
2735         (WebCore::StyleResolver::State::initForStyleResolve):
2736         * cssjit/SelectorCompiler.cpp:
2737         (WebCore::SelectorCompiler::addPseudoType):
2738         (WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
2739         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacentElement):
2740         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent):
2741         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
2742         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
2743         Refactor those to be able to reuse the code getting a sibling element preceding the current element.
2744
2745         (WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNotResolvingStyle):
2746         Extract the code checking the current mode from SelectorCodeGenerator::markParentElementIfResolvingStyle()
2747         in a separate function. This will be useful for all the pseudo class with marking.
2748
2749         (WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
2750         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
2751         (WebCore::SelectorCompiler::setFirstChildState):
2752         This is the slow path for when the first-child pseudo class is on a fragment that is not
2753         the rightmost.
2754         The reason to use a slow path is accessing renderStyle() is not trivial and this case isn't not
2755         as common. We should improve this later.
2756
2757         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
2758         This is just implementing the test for first-child plus the tree marking. Nothing fancy,
2759         this is basically the same thing as SelectorChecker.
2760
2761         * dom/Element.cpp:
2762         (WebCore::Element::setChildrenAffectedByFirstChildRules):
2763         * dom/Element.h:
2764         C++ fallback to set the flag, to be improved later with the other flags.
2765
2766         * rendering/style/RenderStyle.h:
2767         I accidentaly put noninheritedFlagsMemoryOffset() as private in the RenderStyle refactoring.
2768
2769         Also update the flags accessor to make them easier to work with from the compiler. In particular,
2770         setFirstChildStateFlags() sets both isUnique and firstChild. Currently the JIT does not need to access
2771         the value so individual flags are made private.
2772
2773 2014-03-31  Dean Jackson  <dino@apple.com>
2774
2775         Remove WEB_ANIMATIONS
2776         https://bugs.webkit.org/show_bug.cgi?id=130989
2777
2778         Reviewed by Simon Fraser.
2779
2780         Remove this feature flag until we plan to implement.
2781
2782         * Configurations/FeatureDefines.xcconfig:
2783
2784 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
2785
2786         Fix iOS build.
2787
2788         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2789         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
2790
2791 2014-03-31  Pratik Solanki  <psolanki@apple.com>
2792
2793         Unreviewed. iOS build fix after r166532. Add missing comma.
2794
2795         * dom/DocumentMarker.h:
2796
2797 2014-03-31  Brady Eidson  <beidson@apple.com>
2798
2799         Add variant of phone number parsing that use DocumentMarker in the current selection
2800         <rdar://problem/16379566> and https://bugs.webkit.org/show_bug.cgi?id=130917
2801
2802         Reviewed by Darin Adler.
2803
2804         * dom/DocumentMarker.h:
2805         (WebCore::DocumentMarker::AllMarkers::AllMarkers): Add a new TelephoneNumber document marker type.
2806
2807         * editing/Editor.cpp:
2808         (WebCore::Editor::respondToChangedSelection):
2809         (WebCore::Editor::scanSelectionForTelephoneNumbers): TextIterate over the selected range looking for numbers.
2810         (WebCore::Editor::scanRangeForTelephoneNumbers): Scan the given range for a telephone number,
2811           adding the DocumentMarker to any that are found.
2812         (WebCore::Editor::clearDataDetectedTelephoneNumbers):
2813         * editing/Editor.h:
2814
2815         * html/parser/HTMLTreeBuilder.cpp:
2816         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody): Only linkify on iOS.
2817
2818         * rendering/InlineTextBox.cpp:
2819         (WebCore::InlineTextBox::paintTelephoneNumberMarker): Placeholder UI while the feature is developed.
2820         (WebCore::InlineTextBox::paintDocumentMarkers):
2821         * rendering/InlineTextBox.h:
2822
2823         * testing/Internals.cpp:
2824         (WebCore::markerTypesFrom):
2825
2826 2014-03-31  Simon Fraser  <simon.fraser@apple.com>
2827
2828         [iOS WK2] Hook up scroll events for accelerated overflow:scroll
2829         https://bugs.webkit.org/show_bug.cgi?id=130976
2830
2831         Reviewed by Tim Horton.
2832
2833         When an accelerated overflow:scroll is scrolled in the UI process,
2834         tell the WebProcess that the scroll happened to update RenderLayer
2835         state and fire events.
2836         
2837         In the WebProcess, RemoteScrollingCoordinator gets a message from the
2838         UI process and calls AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll().
2839         Fixed that function to handle scrolling nodes other than the root, which
2840         required storing a map of ScrollingNodeID->RenderLayer* on RenderLayerCompositor,
2841         accessible through FrameView::scrollableAreaForScrollLayerID().
2842
2843         * WebCore.exp.in:
2844         * page/FrameView.cpp:
2845         (WebCore::FrameView::scrollableAreaForScrollLayerID):
2846         * page/FrameView.h:
2847         * page/scrolling/AsyncScrollingCoordinator.cpp:
2848         (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): Handle
2849         overflow as well as main frame scrolling nodes.
2850         * page/scrolling/ScrollingTree.cpp:
2851         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling): Use isScrollingNode().
2852         (WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): When an overflow
2853         scroll node was scrolled externally, we have to update layers in decendant nodes,
2854         and then call scrollingTreeNodeDidScroll() which tells the ScrollingCoordinator that
2855         we scrolled.
2856         * page/scrolling/ScrollingTree.h: Try to reduce confusion between the roles played
2857         by these various functions, some of which happen in the UI process with UI-side
2858         compositing.
2859         * page/scrolling/ScrollingTreeScrollingNode.h:
2860         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h: Need some functions to be
2861         callable by subclasses.
2862         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
2863         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterDelegatedScroll):
2864         * rendering/RenderLayerCompositor.cpp:
2865         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Add
2866         scrolling layers to the m_scrollingNodeToLayerMap
2867         (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Remove
2868         layer from the m_scrollingNodeToLayerMap.
2869         (WebCore::RenderLayerCompositor::scrollableAreaForScrollLayerID):
2870         * rendering/RenderLayerCompositor.h:
2871
2872 2014-03-31  Antti Koivisto  <antti@apple.com>
2873
2874         Rename TileCache to LegacyTileCache
2875         https://bugs.webkit.org/show_bug.cgi?id=130986
2876
2877         Reviewed by Simon Fraser.
2878
2879         Rename iOS WebKit1 tile cache classes to reflect its status.
2880         This also frees some good type names.
2881
2882         TileCache -> LegacyTileCache
2883         TileGrid -> LegacyTileGrid
2884         TileGridTile -> LegacyTileGridTile
2885         etc.
2886
2887 2014-03-31  Tim Horton  <timothy_horton@apple.com>
2888
2889         Small adjustments to WebCore::IOSurface
2890         https://bugs.webkit.org/show_bug.cgi?id=130981
2891
2892         Reviewed by Simon Fraser.
2893
2894         * WebCore.exp.in:
2895         Export some more things.
2896
2897         * platform/graphics/cocoa/IOSurface.h:
2898         createImage() can't be const because it calls ensurePlatformContext().
2899
2900         * platform/graphics/cocoa/IOSurface.mm:
2901         (IOSurface::createImage):
2902         We should be able to create an image even if the CGContext has been cleared (or never created).
2903
2904         (IOSurface::isInUse):
2905         Rename inUse() to isInUse().
2906
2907         (IOSurface::clearGraphicsContext):
2908         Add clearGraphicsContext().
2909
2910 2014-03-31  Tim Horton  <timothy_horton@apple.com>
2911
2912         Allocate IOSurfaces with the same cache mode that CoreAnimation uses
2913         https://bugs.webkit.org/show_bug.cgi?id=130982
2914
2915         Reviewed by Simon Fraser.
2916
2917         * platform/graphics/cocoa/IOSurface.mm:
2918         (IOSurface::IOSurface):
2919         CA uses kIOMapWriteCombineCache for IOSurfaces allocated on iOS.
2920
2921 2014-03-31  Ion Rosca  <rosca@adobe.com>
2922
2923         [CSS Blending] Blend mode property is propagated to multiple GraphicLayers
2924         https://bugs.webkit.org/show_bug.cgi?id=130337
2925
2926         Reviewed by Dean Jackson.
2927
2928         Resets the blend mode for graphicsLayer when it has an ancestorClippingLayer.
2929
2930         Test: css3/compositing/blend-mode-ancestor-clipping-layer.html
2931
2932         * rendering/RenderLayer.cpp:
2933         (WebCore::RenderLayer::updateBlendMode):
2934         (WebCore::RenderLayer::calculateClipRects):
2935         * rendering/RenderLayerBacking.cpp:
2936         (WebCore::RenderLayerBacking::updateBlendMode):
2937         * rendering/RenderLayerBacking.h:
2938
2939 2014-03-31  Ion Rosca  <rosca@adobe.com>
2940
2941         [CSS Blending] showLayerTree should dump layer's blend mode and isolation properties
2942         https://bugs.webkit.org/show_bug.cgi?id=130922
2943
2944         Reviewed by Simon Fraser.
2945
2946         This change only updates existing tests involving blending. No new test required,
2947         as there is no new or changed functionality.
2948
2949         * rendering/RenderLayer.h: adding blendMode() getter.
2950         * rendering/RenderTreeAsText.cpp:
2951         (WebCore::write):
2952         adding blendMode property and layer's isolation status (does layer isolate blending descendants or not?).
2953
2954 2014-03-31  Benjamin Poulain  <benjamin@webkit.org>
2955
2956         CSS JIT: clean up the functions ending when generating a checker with context
2957         https://bugs.webkit.org/show_bug.cgi?id=130959
2958
2959         Reviewed by Andreas Kling.
2960
2961         This code got refactored over time and now both branches do the exact same action
2962         on the stack.
2963         This patch removes the stack split and move the stack cleanup in the common ending
2964         just before restoring the callee saved registers.
2965
2966         * cssjit/SelectorCompiler.cpp:
2967         (WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
2968
2969 2014-03-31  Beth Dakin  <bdakin@apple.com>
2970
2971         ThemeMac should use std::array instead of IntSize* for control sizes
2972         https://bugs.webkit.org/show_bug.cgi?id=130985
2973
2974         Reviewed by Darin Adler.
2975
2976         Replace uses of const IntSize* with const std::array<IntSize, 3>
2977         * platform/mac/ThemeMac.mm:
2978         (WebCore::sizeFromNSControlSize):
2979         (WebCore::sizeFromFont):
2980         (WebCore::controlSizeFromPixelSize):
2981         (WebCore::setControlSize):
2982         (WebCore::checkboxSizes):
2983         (WebCore::radioSizes):
2984         (WebCore::buttonSizes):
2985         (WebCore::setUpButtonCell):
2986         (WebCore::stepperSizes):
2987
2988 2014-03-31  Hans Muller  <hmuller@adobe.com>
2989
2990         [CSS Shapes] Simplify RasterShape implementation
2991         https://bugs.webkit.org/show_bug.cgi?id=130916
2992
2993         Reviewed by Dean Jackson.
2994
2995         Since only floats can specify shape-outside, the RasterShapeIntervals
2996         class only needs to track the first and last above threshold pixel column
2997         (x1 and x2 in the implementation) for each row. Removed code for dealing with
2998         multiple "runs" per row as well as shape-inside internals.
2999
3000         No new tests, since functionality was only removed.
3001
3002         * rendering/shapes/RasterShape.cpp:
3003         (WebCore::RasterShapeIntervals::computeShapeMarginIntervals):
3004         (WebCore::RasterShapeIntervals::initializeBounds):
3005         (WebCore::RasterShapeIntervals::buildBoundsPath):
3006         (WebCore::RasterShape::getExcludedIntervals):
3007         * rendering/shapes/RasterShape.h:
3008         (WebCore::RasterShapeIntervals::RasterShapeIntervals):
3009         (WebCore::RasterShapeIntervals::intervalAt):
3010         (WebCore::RasterShape::RasterShape):
3011         * rendering/shapes/Shape.cpp:
3012         (WebCore::Shape::createRasterShape):
3013         * rendering/shapes/ShapeInterval.h:
3014         (WebCore::ShapeInterval::unite):
3015
3016 2014-03-31  Andreas Kling  <akling@apple.com>
3017
3018         Always inline toJS() for NodeList.
3019         <https://webkit.org/b/130974>
3020
3021         This is a pretty cheesy optimization, but it's a 3% progression on
3022         Dromaeo/dom-query.html on my MBP.
3023
3024         Reviewed by Benjamin Poulain.
3025
3026         * WebCore.exp.in:
3027         * WebCore.xcodeproj/project.pbxproj:
3028         * bindings/js/JSNodeListCustom.h: Added.
3029         (WebCore::toJS):
3030         * dom/NodeList.idl:
3031
3032 2014-03-31  Benjamin Poulain  <bpoulain@apple.com>
3033
3034         Attempt to fix the 32bits debug builds
3035
3036         The additional debug flags in RefCounted cause the structure to have different alignment
3037         with the 64bits flags.
3038
3039         * rendering/style/RenderStyle.cpp:
3040
3041 2014-03-29  Simon Fraser  <simon.fraser@apple.com>
3042
3043         Clarify some scrolling tree terminology
3044         https://bugs.webkit.org/show_bug.cgi?id=130929
3045
3046         Reviewed by Tim Horton.
3047
3048         Attempt to reduce some ambiguity in scrolling tree terminology.
3049         When async scrolling occurs, there are two tasks we have to perform:
3050         1. Layers need to be updated to reflect the scroll
3051         2. WebCore state has to be updated.
3052         The "updateForViewport" name didn't clearly reflect which of these
3053         tasks was being performed, so rename it to updateLayersAfterViewportChange()
3054         to reflect the fact that it only does the first.
3055         
3056         Remove the Mac implementation of updateLayersAfterViewportChange(), since
3057         it was confsued about this, and was never called anyway.
3058
3059         * WebCore.exp.in:
3060         * page/scrolling/ScrollingTree.cpp:
3061         (WebCore::ScrollingTree::viewportChangedViaDelegatedScrolling):
3062         * page/scrolling/ScrollingTreeScrollingNode.h:
3063         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
3064         * page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:
3065         (WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):
3066         (WebCore::ScrollingTreeScrollingNodeIOS::updateForViewport): Deleted.
3067         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
3068         * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
3069         (WebCore::ScrollingTreeScrollingNodeMac::updateLayersAfterViewportChange):
3070         (WebCore::ScrollingTreeScrollingNodeMac::updateForViewport): Deleted.
3071
3072 2014-03-31  Tim Horton  <timothy_horton@apple.com>
3073
3074         [iOS WebKit2] Disable tile cohort retention for now
3075         https://bugs.webkit.org/show_bug.cgi?id=130926
3076         <rdar://problem/16465413>
3077
3078         Reviewed by Simon Fraser.
3079
3080         * WebCore.exp.in:
3081         * page/Settings.cpp:
3082         (WebCore::Settings::Settings):
3083         (WebCore::Settings::setScrollingPerformanceLoggingEnabled):
3084         (WebCore::Settings::setAggressiveTileRetentionEnabled): Deleted.
3085         * page/Settings.h:
3086         (WebCore::Settings::aggressiveTileRetentionEnabled): Deleted.
3087         * page/Settings.in:
3088         Use Settings.in for these simple settings.
3089
3090         * platform/graphics/GraphicsLayerClient.h:
3091         (WebCore::GraphicsLayerClient::shouldAggressivelyRetainTiles):
3092         (WebCore::GraphicsLayerClient::shouldTemporarilyRetainTileCohorts):
3093         * platform/graphics/TiledBacking.h:
3094         * platform/graphics/ca/GraphicsLayerCA.cpp:
3095         (WebCore::GraphicsLayerCA::platformCALayerShouldAggressivelyRetainTiles):
3096         (WebCore::GraphicsLayerCA::platformCALayerShouldTemporarilyRetainTileCohorts):
3097         * platform/graphics/ca/GraphicsLayerCA.h:
3098         * platform/graphics/ca/PlatformCALayerClient.h:
3099         (WebCore::PlatformCALayerClient::platformCALayerShouldAggressivelyRetainTiles):
3100         (WebCore::PlatformCALayerClient::platformCALayerShouldTemporarilyRetainTileCohorts):
3101         * rendering/RenderLayerBacking.cpp:
3102         (WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
3103         (WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
3104         * rendering/RenderLayerBacking.h:
3105         Plumb the two tile-retention settings through to TileController in a pull manner
3106         instead of a push manner, as there were some cases (especially on iOS) where
3107         the settings weren't always getting pushed down.
3108
3109         * platform/graphics/ca/mac/TileController.h:
3110         * platform/graphics/ca/mac/TileController.mm:
3111         (WebCore::TileController::TileController):
3112         (WebCore::TileController::tileRevalidationTimerFired):
3113         (WebCore::TileController::revalidateTiles):
3114         (WebCore::TileController::drawTileMapContents):
3115         Aggressive tile retention wins over temporary retention. If we aren't
3116         using temporary (cohort) retention, throw away the cohort as soon as it
3117         is created.
3118
3119 2014-03-31  Beth Dakin  <bdakin@apple.com>
3120
3121         Radio buttons and checkboxes should share code
3122         https://bugs.webkit.org/show_bug.cgi?id=130915
3123
3124         Reviewed by Sam Weinig.
3125
3126         Radio buttons and checkboxes now share a lot of code. The common term for both is 
3127         toggle buttons.
3128
3129         Move these radio-sizing functions up in the file to be next to the checkbox sizing 
3130         functions.
3131         * platform/mac/ThemeMac.mm:
3132         (WebCore::radioSizes):
3133         (WebCore::radioMargins):
3134         (WebCore::radioSize):
3135
3136         Configures a radio button or a checkbox.
3137         (WebCore::configureToggleButton):
3138
3139         Creates a radio button or a checkbox.
3140         (WebCore::createToggleButtonCell):
3141
3142         Still have a shared cell for each.
3143         (WebCore::sharedRadioCell):
3144         (WebCore::sharedCheckboxCell):
3145
3146         Does the work of the old paintRadio() and paintCheckbox().
3147         (WebCore::paintToggleButton):
3148
3149         Use sharedRadioCell() here.
3150         (WebCore::ThemeMac::inflateControlPaintRect):
3151
3152         Call paintToggleButton() for radio buttons and checkboxes.
3153         (WebCore::ThemeMac::paint):
3154
3155         All gone.
3156         (WebCore::configureCheckbox): Deleted.
3157         (WebCore::createCheckboxCell): Deleted.
3158         (WebCore::paintCheckbox): Deleted.
3159         (WebCore::radio): Deleted.
3160         (WebCore::paintRadio): Deleted.
3161
3162 2014-03-31  Samuel White  <samuel_white@apple.com>
3163
3164         AX: Need ability to get line range for text marker.
3165         https://bugs.webkit.org/show_bug.cgi?id=130906
3166
3167         Reviewed by Chris Fleizach.
3168
3169         Added ability to get line range from any marker on that line. This matches the functionality of existing
3170         attributes such as AXParagraphTextMarkerRangeForTextMarker and AXSentenceTextMarkerRangeForTextMarker.
3171
3172         Test: platform/mac/accessibility/line-range-for-text-marker.html
3173
3174         * accessibility/AccessibilityObject.cpp:
3175         (WebCore::AccessibilityObject::visiblePositionRangeForRange):
3176         (WebCore::AccessibilityObject::lineRangeForPosition):
3177         * accessibility/AccessibilityObject.h:
3178         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
3179         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3180         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3181
3182 2014-03-31  Anders Carlsson  <andersca@apple.com>
3183
3184         Fix iOS build.
3185
3186         * page/ChromeClient.h:
3187         (WebCore::ChromeClient::updateViewportConstrainedLayers):
3188
3189 2014-03-31  Jer Noble  <jer.noble@apple.com>
3190
3191         [MSE][Mac] Support lease-renewal.
3192         https://bugs.webkit.org/show_bug.cgi?id=130919
3193
3194         Reviewed by Eric Carlson.
3195
3196         Trigger a new key request when receiving an update message containting "renew".
3197
3198         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
3199         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Drive-by fix; generate a UTF-8
3200             based array.
3201         (WebCore::CDMSessionMediaSourceAVFObjC::update):
3202
3203 2014-03-31  Alexey Proskuryakov  <ap@apple.com>
3204
3205         Remove special handling of soft hyphens in search code
3206         https://bugs.webkit.org/show_bug.cgi?id=130940
3207
3208         Reviewed by Anders Carlsson.
3209
3210         ICU knows to ignore soft hyphens, so we don't need to replace them before searching.
3211
3212         Covered by existing tests.
3213
3214         * editing/TextIterator.cpp:
3215         (WebCore::foldQuoteMark):
3216         (WebCore::foldQuoteMarks):
3217         (WebCore::SearchBuffer::SearchBuffer):
3218         (WebCore::SearchBuffer::append):
3219         (WebCore::foldQuoteMarkOrSoftHyphen): Deleted.
3220         (WebCore::foldQuoteMarksAndSoftHyphens): Deleted.
3221
3222 2014-03-31  Alex Christensen  <achristensen@webkit.org>
3223
3224         Preparation for using Soup on Windows.
3225         https://bugs.webkit.org/show_bug.cgi?id=130615
3226
3227         Reviewed by Carlos Garcia Campos.
3228
3229         * WebCore.vcxproj/WebCore.vcxproj:
3230         * WebCore.vcxproj/WebCore.vcxproj.filters:
3231         Added Soup source files in WinCairo build.
3232         * loader/soup/CachedRawResourceSoup.cpp:
3233         * loader/soup/SubresourceLoaderSoup.cpp:
3234         * platform/soup/SharedBufferSoup.cpp:
3235         * platform/soup/URLSoup.cpp:
3236         * platform/network/NetworkStorageSessionStub.cpp:
3237         Only build if USE(SOUP) to prevent building when USE(CURL) is true.
3238         * platform/network/soup/ResourceHandleSoup.cpp:
3239         Only include unistd.h in non-Visual Studio builds.
3240         This would normally be done with a HAVE_UNISTD_H macro when compiling glib and Soup,
3241         but that would need to be left undefined for Visual Studio.
3242
3243 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
3244
3245         Unreviewed. Addressing reviewing comments for r166491 that I forgot
3246         to address before landing.
3247
3248         * html/FormController.cpp:
3249         (WebCore::SavedFormState::deserialize): No need to move the std::unique_ptr
3250         object on the way out.
3251         (WebCore::FormController::createSavedFormStateMap): FormKeyGenerator can be
3252         allocated on the stack.
3253         (WebCore::FormController::formStatesFromStateVector): Use auto.
3254
3255 2014-03-20  Carlos Garcia Campos  <cgarcia@igalia.com>
3256
3257         [GTK] Use GMainLoopSource for idle and timeout sources in WebCore
3258         https://bugs.webkit.org/show_bug.cgi?id=130078
3259
3260         Reviewed by Philippe Normand.
3261
3262         * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
3263         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
3264         * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.h:
3265         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3266         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3267         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
3268         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
3269         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
3270         * platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
3271         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
3272         * platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:
3273         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3274         * platform/gtk/GtkDragAndDropHelper.cpp:
3275         * platform/gtk/SharedTimerGtk.cpp:
3276
3277 2014-03-31  Andrei Bucur  <abucur@adobe.com>
3278
3279         Wrong layout while animating content in regions
3280         https://bugs.webkit.org/show_bug.cgi?id=125086
3281
3282         Reviewed by David Hyatt.
3283
3284         The region to layer and regions to layer mappings should be cleared when the region chain changes.
3285
3286         Test: fast/regions/layers/region-removed-during-animation.html
3287
3288         * rendering/RenderFlowThread.cpp:
3289         (WebCore::RenderFlowThread::invalidateRegions): Clear the two maps and flag them for recomputation.
3290         (WebCore::RenderFlowThread::cachedRegionForCompositedLayer): Assert that the returned region exists.
3291
3292 2014-03-31  Dániel Bátyai  <dbatyai.u-szeged@partner.samsung.com>
3293
3294         Remove hostThisRegister() and hostThisValue()
3295         https://bugs.webkit.org/show_bug.cgi?id=130895
3296
3297         Reviewed by Geoffrey Garen.
3298
3299         Removed hostThisRegister() and hostThisValue() and instead use thisArgumentOffset() and thisValue() respectively.
3300
3301         No new tests, no behavior changes.
3302
3303         * bindings/js/JSNavigatorCustom.cpp:
3304         (WebCore::JSNavigator::webkitGetUserMedia):
3305         * bindings/js/JSPluginElementFunctions.cpp:
3306         (WebCore::callPlugin):
3307         * bindings/scripts/CodeGeneratorJS.pm:
3308         (GenerateImplementation):
3309         * bindings/scripts/test/JS/JSFloat64Array.cpp:
3310         (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
3311         (WebCore::jsFloat64ArrayPrototypeFunctionSet):
3312         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
3313         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
3314         (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
3315         * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
3316         (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
3317         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3318         (WebCore::jsTestEventTargetPrototypeFunctionItem):
3319         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
3320         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
3321         (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
3322         * bindings/scripts/test/JS/JSTestInterface.cpp:
3323         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
3324         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
3325         (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
3326         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
3327         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
3328         (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
3329         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3330         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3331         * bindings/scripts/test/JS/JSTestObj.cpp:
3332         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
3333         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3334         (WebCore::jsTestObjPrototypeFunctionByteMethod):
3335         (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
3336         (WebCore::jsTestObjPrototypeFunctionOctetMethod):
3337         (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
3338         (WebCore::jsTestObjPrototypeFunctionLongMethod):
3339         (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
3340         (WebCore::jsTestObjPrototypeFunctionObjMethod):
3341         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3342         (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
3343         (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
3344         (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
3345         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
3346         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3347         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
3348         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
3349         (WebCore::jsTestObjPrototypeFunctionCustomMethod):
3350         (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
3351         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3352         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3353         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
3354         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
3355         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
3356         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
3357         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
3358         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
3359         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
3360         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
3361         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
3362         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3363         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3364         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3365         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
3366         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
3367         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
3368         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
3369         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
3370         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
3371         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
3372         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
3373         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
3374         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
3375         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
3376         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
3377         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
3378         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
3379         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
3380         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
3381         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
3382         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
3383         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
3384         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
3385         (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
3386         (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
3387         (WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
3388         (WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
3389         (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
3390         (WebCore::jsTestObjPrototypeFunctionConvert1):
3391         (WebCore::jsTestObjPrototypeFunctionConvert2):
3392         (WebCore::jsTestObjPrototypeFunctionConvert4):
3393         (WebCore::jsTestObjPrototypeFunctionConvert5):
3394         (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
3395         (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
3396         (WebCore::jsTestObjPrototypeFunctionOrange):
3397         (WebCore::jsTestObjPrototypeFunctionStrictFunction):
3398         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
3399         (WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
3400         (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
3401         (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
3402         (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
3403         (WebCore::jsTestObjPrototypeFunctionAny):
3404         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
3405         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
3406         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
3407         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
3408         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
3409         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
3410         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
3411         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
3412         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
3413         (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
3414         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
3415         * bridge/objc/objc_runtime.mm:
3416         (JSC::Bindings::callObjCFallbackObject):
3417         * bridge/runtime_method.cpp:
3418         (JSC::callRuntimeMethod):
3419
3420 2014-03-31  Zan Dobersek  <zdobersek@igalia.com>
3421
3422         Move the rest of Source/WebCore/html/ code to std::unique_ptr
3423         https://bugs.webkit.org/show_bug.cgi?id=129669
3424
3425         Reviewed by Anders Carlsson.
3426
3427         Replace the remaining uses of OwnPtr, PassOwnPtr under Source/WebCore/html/ with std::unique_ptr.
3428
3429         * html/FormController.cpp:
3430         (WebCore::SavedFormState::SavedFormState):
3431         (WebCore::SavedFormState::deserialize):
3432         (WebCore::FormController::createSavedFormStateMap):
3433         (WebCore::FormController::formElementsState):
3434         (WebCore::FormController::takeStateForFormElement):
3435         (WebCore::FormController::formStatesFromStateVector):
3436         * html/FormController.h:
3437         * html/HTMLAreaElement.cpp:
3438         (WebCore::HTMLAreaElement::mapMouseEvent):
3439         * html/HTMLAreaElement.h:
3440         * html/HTMLCanvasElement.cpp:
3441         (WebCore::HTMLCanvasElement::setSurfaceSize):
3442         (WebCore::HTMLCanvasElement::createImageBuffer):
3443         * html/HTMLCanvasElement.h:
3444         * html/HTMLCollection.h:
3445         * html/HTMLEmbedElement.cpp:
3446         (WebCore::HTMLEmbedElement::parseAttribute):
3447         * html/HTMLFormControlElement.cpp:
3448         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
3449         * html/HTMLFormControlElement.h:
3450         * html/HTMLFormElement.cpp:
3451         (WebCore::HTMLFormElement::addToPastNamesMap):
3452         * html/HTMLFormElement.h:
3453         * html/HTMLInputElement.cpp:
3454         (WebCore::HTMLInputElement::imageLoader):