2202ad50e45ee5ba314bc5607016cf292cee1e20
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-06-10  Ryosuke Niwa  <rniwa@webkit.org>
2
3         Make more functions const
4         https://bugs.webkit.org/show_bug.cgi?id=117455
5
6         Reviewed by Benjamin Poulain.
7
8         Merge https://chromium.googlesource.com/chromium/blink/+/886866f5034d7f30f8aa607b909313f99db1f3b4.
9
10         * editing/VisibleUnits.cpp:
11         (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
12         * html/canvas/WebGLRenderingContext.cpp:
13         * page/ContentSecurityPolicy.cpp:
14         (WebCore::CSPDirectiveList::evalDisabledErrorMessage):
15         * rendering/RenderBlockLineLayout.cpp:
16         (WebCore::LineWidth::shouldIndentText):
17
18 2013-06-10  Jer Noble  <jer.noble@apple.com>
19
20         REGRESSION(r151302): Many broken webaudio/ tests on Mac port.
21         https://bugs.webkit.org/show_bug.cgi?id=117446
22
23         Reviewed by Chris Rogers.
24
25         The new "pageConsentRequiredForAudioStart()" restriction was blocking playback event
26         even when page consent was given. Remvoe the restriction immediately in that case.
27
28         * Modules/webaudio/AudioContext.cpp:
29         (WebCore::AudioContext::startRendering):
30
31 2013-06-10  Andreas Kling  <akling@apple.com>
32
33         REGRESSION(r150633): Find on page non-focused text highlight color is bright yellow.
34         <rdar://problem/14098882>
35         <http://webkit.org/b/117371>
36
37         Reviewed by Anders Carlsson.
38
39         There was a mistake in the parameter ordering which still compiled because of
40         implicit bool/unsigned conversion.
41         Changed the interface of Page::findMatchesForText() to use enums instead of bools.
42
43         No test because the color of the highlighted matches is not available through APIs.
44
45         * page/Page.h:
46         * page/Page.cpp:
47         (WebCore::Page::findMatchesForText):
48         (WebCore::Page::markAllMatchesForText):
49         (WebCore::Page::countFindMatches):
50
51 2013-06-10  Bear Travis  <betravis@adobe.com>
52
53         [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
54         https://bugs.webkit.org/show_bug.cgi?id=117162
55
56         Reviewed by Alexandru Chiculita.
57
58         With the split between the CSS Exclusions and CSS Shapes specifications,
59         some renaming is necessary. In general, this patch removes 'Exclusion' from
60         any Shapes code, while organizing the rendering shapes code into a 'shapes'
61         folder.
62
63         Renames:
64         ExclusionShape -> Shape
65         Exclusion[Rectangle|Polygon] -> [Rectangle|Polygon]Shape
66         Exclusion -> Shape
67
68         Refactoring, no new tests.
69
70         * CMakeLists.txt:
71         * GNUmakefile.am:
72         * GNUmakefile.list.am:
73         * Target.pri:
74         * WebCore.pri:
75         * WebCore.vcxproj/WebCore.vcxproj:
76         * WebCore.vcxproj/WebCore.vcxproj.filters:
77         * WebCore.xcodeproj/project.pbxproj:
78         * css/CSSComputedStyleDeclaration.cpp:
79         (WebCore::ComputedStyleExtractor::propertyValue):
80         * css/CSSPrimitiveValue.h:
81         * css/DeprecatedStyleBuilder.cpp:
82         (WebCore::ApplyPropertyShape::setValue):
83         (WebCore::ApplyPropertyShape::applyValue):
84         (WebCore::ApplyPropertyShape::createHandler):
85         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
86         * page/animation/CSSPropertyAnimation.cpp:
87         (WebCore::blendFunc):
88         (WebCore::PropertyWrapperShape::PropertyWrapperShape):
89         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
90         * rendering/LayoutState.cpp:
91         (WebCore::LayoutState::LayoutState):
92         * rendering/LayoutState.h:
93         (WebCore::LayoutState::LayoutState):
94         (WebCore::LayoutState::shapeInsideInfo):
95         * rendering/RenderBlock.cpp:
96         (WebCore::RenderBlock::styleDidChange):
97         (WebCore::RenderBlock::updateShapeInsideInfoAfterStyleChange):
98         (WebCore::shapeInfoRequiresRelayout):
99         (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
100         (WebCore::RenderBlock::computeShapeSize):
101         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
102         (WebCore::RenderBlock::insertFloatingObject):
103         (WebCore::RenderBlock::computeLogicalLocationForFloat):
104         (WebCore::RenderBlock::positionNewFloats):
105         (WebCore::RenderBlock::logicalLeftOffsetForLine):
106         (WebCore::RenderBlock::logicalRightOffsetForLine):
107         * rendering/RenderBlock.h:
108         (WebCore::RenderBlock::ensureShapeInsideInfo):
109         (WebCore::RenderBlock::shapeInsideInfo):
110         (WebCore::RenderBlock::setShapeInsideInfo):
111         (WebCore::RenderBlock::allowsShapeInsideInfoSharing):
112         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
113         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
114         * rendering/RenderBlockLineLayout.cpp:
115         (WebCore::RenderBlock::layoutShapeInsideInfo):
116         (WebCore::LineWidth::LineWidth):
117         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
118         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
119         (WebCore::constructBidiRunsForLine):
120         (WebCore::adjustLogicalLineTop):
121         (WebCore::RenderBlock::updateLineBoundariesForShapes):
122         (WebCore::RenderBlock::adjustLogicalLineTopAndLogicalHeightIfNeeded):
123         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
124         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
125         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
126         * rendering/RenderBox.cpp:
127         (WebCore::RenderBox::willBeDestroyed):
128         (WebCore::RenderBox::styleDidChange):
129         (WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange):
130         * rendering/RenderBox.h:
131         (WebCore::RenderBox::shapeOutsideInfo):
132         * rendering/RenderBoxModelObject.cpp:
133         (WebCore::RenderBoxModelObject::paintOffset):
134         * rendering/RenderView.h:
135         (WebCore::RenderView::pushLayoutState):
136         * rendering/shapes/PolygonShape.cpp: Renamed from Source/WebCore/rendering/ExclusionPolygon.cpp.
137         (WebCore::leftSide):
138         (WebCore::isReflexVertex):
139         (WebCore::computeXIntersection):
140         (WebCore::inwardEdgeNormal):
141         (WebCore::outwardEdgeNormal):
142         (WebCore::appendArc):
143         (WebCore::snapVerticesToLayoutUnitGrid):
144         (WebCore::computeShapePaddingBounds):
145         (WebCore::computeShapeMarginBounds):
146         (WebCore::PolygonShape::shapePaddingBounds):
147         (WebCore::PolygonShape::shapeMarginBounds):
148         (WebCore::getVertexIntersectionVertices):
149         (WebCore::appendIntervalX):
150         (WebCore::compareEdgeIntersectionX):
151         (WebCore::computeXIntersections):
152         (WebCore::computeOverlappingEdgeXProjections):
153         (WebCore::PolygonShape::getExcludedIntervals):
154         (WebCore::PolygonShape::getIncludedIntervals):
155         (WebCore::firstFitRectInPolygon):
156         (WebCore::aboveOrToTheLeft):
157         (WebCore::PolygonShape::firstIncludedIntervalLogicalTop):
158         * rendering/shapes/PolygonShape.h: Renamed from Source/WebCore/rendering/ExclusionPolygon.h.
159         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
160         (WebCore::OffsetPolygonEdge::edgeIndex):
161         (WebCore::OffsetPolygonEdge::basis):
162         (WebCore::PolygonShape::PolygonShape):
163         * rendering/shapes/RectangleShape.cpp: Renamed from Source/WebCore/rendering/ExclusionRectangle.cpp.
164         (WebCore::ellipseXIntercept):
165         (WebCore::ellipseYIntercept):
166         (WebCore::FloatRoundedRect::paddingBounds):
167         (WebCore::FloatRoundedRect::marginBounds):
168         (WebCore::FloatRoundedRect::cornerInterceptForWidth):
169         (WebCore::RectangleShape::shapePaddingBounds):
170         (WebCore::RectangleShape::shapeMarginBounds):
171         (WebCore::RectangleShape::getExcludedIntervals):
172         (WebCore::RectangleShape::getIncludedIntervals):
173         (WebCore::RectangleShape::firstIncludedIntervalLogicalTop):
174         * rendering/shapes/RectangleShape.h: Renamed from Source/WebCore/rendering/ExclusionRectangle.h.
175         (WebCore::FloatRoundedRect::FloatRoundedRect):
176         (WebCore::FloatRoundedRect::rx):
177         (WebCore::FloatRoundedRect::ry):
178         (WebCore::RectangleShape::RectangleShape):
179         * rendering/shapes/Shape.cpp: Renamed from Source/WebCore/rendering/ExclusionShape.cpp.
180         (WebCore::createRectangleShape):
181         (WebCore::createShapeCircle):
182         (WebCore::createShapeEllipse):
183         (WebCore::createPolygonShape):
184         (WebCore::physicalRectToLogical):
185         (WebCore::physicalPointToLogical):
186         (WebCore::physicalSizeToLogical):
187         (WebCore::Shape::createShape):
188         * rendering/shapes/Shape.h: Renamed from Source/WebCore/rendering/ExclusionShape.h.
189         (WebCore::LineSegment::LineSegment):
190         (WebCore::Shape::~Shape):
191         (WebCore::Shape::shapeMargin):
192         (WebCore::Shape::shapePadding):
193         * rendering/shapes/ShapeInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.cpp.
194         (WebCore::::computedShape):
195         (WebCore::::computeSegmentsForLine):
196         * rendering/shapes/ShapeInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInfo.h.
197         (WebCore::MappedInfo::ensureInfo):
198         (WebCore::MappedInfo::removeInfo):
199         (WebCore::MappedInfo::info):
200         (WebCore::MappedInfo::infoMap):
201         (WebCore::ShapeInfo::~ShapeInfo):
202         (WebCore::ShapeInfo::setShapeSize):
203         (WebCore::ShapeInfo::clearSegments):
204         (WebCore::ShapeInfo::shapeLogicalTop):
205         (WebCore::ShapeInfo::shapeLogicalBottom):
206         (WebCore::ShapeInfo::shapeLogicalLeft):
207         (WebCore::ShapeInfo::shapeLogicalRight):
208         (WebCore::ShapeInfo::shapeLogicalWidth):
209         (WebCore::ShapeInfo::shapeLogicalHeight):
210         (WebCore::ShapeInfo::logicalLineTop):
211         (WebCore::ShapeInfo::logicalLineBottom):
212         (WebCore::ShapeInfo::shapeContainingBlockHeight):
213         (WebCore::ShapeInfo::lineOverlapsShapeBounds):
214         (WebCore::ShapeInfo::lineWithinShapeBounds):
215         (WebCore::ShapeInfo::dirtyShapeSize):
216         (WebCore::ShapeInfo::shapeSizeDirty):
217         (WebCore::ShapeInfo::owner):
218         (WebCore::ShapeInfo::ShapeInfo):
219         (WebCore::ShapeInfo::logicalTopOffset):
220         (WebCore::ShapeInfo::logicalLeftOffset):
221         * rendering/shapes/ShapeInsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.cpp.
222         (WebCore::LineSegmentRange::LineSegmentRange):
223         (WebCore::ShapeInsideInfo::isEnabledFor):
224         (WebCore::ShapeInsideInfo::adjustLogicalLineTop):
225         * rendering/shapes/ShapeInsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeInsideInfo.h.
226         (WebCore::LineSegmentIterator::LineSegmentIterator):
227         (WebCore::ShapeInsideInfo::createInfo):
228         (WebCore::ShapeInsideInfo::hasSegments):
229         (WebCore::ShapeInsideInfo::segments):
230         (WebCore::ShapeInsideInfo::segmentRanges):
231         (WebCore::ShapeInsideInfo::currentSegment):
232         (WebCore::ShapeInsideInfo::setNeedsLayout):
233         (WebCore::ShapeInsideInfo::needsLayout):
234         (WebCore::ShapeInsideInfo::ShapeInsideInfo):
235         * rendering/shapes/ShapeInterval.cpp: Renamed from Source/WebCore/rendering/ExclusionInterval.cpp.
236         (WebCore::IntervalX1Comparator::operator()):
237         (WebCore::ShapeInterval::intersect):
238         (WebCore::sortShapeIntervals):
239         (WebCore::mergeShapeIntervals):
240         (WebCore::intersectShapeIntervals):
241         (WebCore::subtractShapeIntervals):
242         * rendering/shapes/ShapeInterval.h: Renamed from Source/WebCore/rendering/ExclusionInterval.h.
243         (WebCore::ShapeInterval::ShapeInterval):
244         * rendering/shapes/ShapeOutsideInfo.cpp: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.cpp.
245         (WebCore::ShapeOutsideInfo::isEnabledFor):
246         (WebCore::ShapeOutsideInfo::computeSegmentsForLine):
247         * rendering/shapes/ShapeOutsideInfo.h: Renamed from Source/WebCore/rendering/ExclusionShapeOutsideInfo.h.
248         (WebCore::ShapeOutsideInfo::shapeLogicalOffset):
249         (WebCore::ShapeOutsideInfo::leftSegmentShapeBoundingBoxDelta):
250         (WebCore::ShapeOutsideInfo::rightSegmentShapeBoundingBoxDelta):
251         (WebCore::ShapeOutsideInfo::createInfo):
252         (WebCore::ShapeOutsideInfo::ShapeOutsideInfo):
253         * rendering/style/RenderStyle.cpp:
254         (WebCore::RenderStyle::initialShapeInside):
255         * rendering/style/RenderStyle.h:
256         * rendering/style/ShapeValue.h: Renamed from Source/WebCore/rendering/style/ExclusionShapeValue.h.
257         (WebCore::ShapeValue::createShapeValue):
258         (WebCore::ShapeValue::createOutsideValue):
259         (WebCore::ShapeValue::createImageValue):
260         (WebCore::ShapeValue::type):
261         (WebCore::ShapeValue::shape):
262         (WebCore::ShapeValue::image):
263         (WebCore::ShapeValue::setImage):
264         (WebCore::ShapeValue::operator==):
265         (WebCore::ShapeValue::ShapeValue):
266         * rendering/style/StyleRareNonInheritedData.h:
267
268 2013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
269
270         Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
271         https://bugs.webkit.org/show_bug.cgi?id=116717
272
273         Reviewed by Martin Robinson.
274
275         Refactored WidgetBackingStore to be an abstract base class and make
276         GtkWidgetBackingStoreX11 and WidgetBackingStoreCairo inherit from it.
277         GtkWidgetBackingStoreX11 renamed to WidgetBackingStoreGtkX11.
278
279         * GNUmakefile.list.am:
280         * platform/cairo/WidgetBackingStore.h:
281         (WebCore):
282         (WidgetBackingStore):
283         (WebCore::WidgetBackingStore::WidgetBackingStore):
284         (WebCore::WidgetBackingStore::~WidgetBackingStore):
285         * platform/cairo/WidgetBackingStoreCairo.cpp:
286         (WebCore::WidgetBackingStoreCairo::create):
287         (WebCore):
288         (WebCore::WidgetBackingStoreCairo::WidgetBackingStoreCairo):
289         (WebCore::WidgetBackingStoreCairo::~WidgetBackingStoreCairo):
290         (WebCore::WidgetBackingStoreCairo::cairoSurface):
291         (WebCore::WidgetBackingStoreCairo::scroll):
292         * platform/cairo/WidgetBackingStoreCairo.h: Added.
293         (WebCore):
294         (WidgetBackingStoreCairo):
295         * platform/gtk/GtkWidgetBackingStoreX11.cpp:
296         (WebCore::WidgetBackingStoreGtkX11::create):
297         (WebCore):
298         (WebCore::WidgetBackingStoreGtkX11::WidgetBackingStoreGtkX11):
299         (WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11):
300         (WebCore::WidgetBackingStoreGtkX11::cairoSurface):
301         (WebCore::WidgetBackingStoreGtkX11::scroll):
302         * platform/gtk/GtkWidgetBackingStoreX11.h: Added.
303         (WebCore):
304         (WidgetBackingStoreGtkX11):
305
306 2013-06-10  Otto Derek Cheung  <otcheung@rim.com>
307
308         [BlackBerry] Store ParsedCookies as RefPtrs instead of PassRefPtrs in CookieDatabaseBackingStore
309         https://bugs.webkit.org/show_bug.cgi?id=117411
310
311         JIRA388672
312         BRWSR-11465
313         Reviewed by Rob Buis.
314
315         When we queue up ParsedCookie objects for modification, we should be storing them as a refptr instead
316         of a PassRefPtr.
317
318         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
319
320 2013-06-10  Mihnea Ovidenie  <mihnea@adobe.com>
321
322         [CSSRegions] ASSERTION FAILED: roundedIntPoint(rendererMappedResult) == roundedIntPoint(result) in RenderGeometryMap::mapToContainer
323         https://bugs.webkit.org/show_bug.cgi?id=117395
324
325         Reviewed by Alexandru Chiculita.
326
327         Test: fast/regions/assert-flow-thread-compositing.html
328
329         We should not allow RenderNamedFlowThread layers to be composited, rather their collected children should checked
330         for compositing through their associated RenderRegions.
331
332         The assert in RenderGeometryMap::mapToContainer was hit because after https://bugs.webkit.org/show_bug.cgi?id=117270
333         the render named flow threads are hooked in RenderView layer tree - with the caveat that they are not directly involved
334         in hit testing/paint which is done through their associated regions.
335
336         * rendering/RenderLayerCompositor.cpp:
337         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Bail out if we hit a render named flow thread layer.
338         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto.
339
340 2013-06-10  Sergio Villar Senin  <svillar@igalia.com>
341
342         Refactor CALCFUNCTION rules in the CSS grammar
343         https://bugs.webkit.org/show_bug.cgi?id=117401
344
345         Reviewed by Andreas Kling.
346
347         From Blink r149862 by <serya@chromium.org>.
348
349         Reduce the number of CALCFUNCTION rules by refactoring the closing
350         parenthesis handling code.
351
352         No new tests required as this is a refactoring, no new functionality
353         added.
354
355         * css/CSSGrammar.y.in:
356
357 2013-06-10  Radu Stavila  <stavila@adobe.com>
358
359         [CSS Regions] Rename region-overflow to region-fragment
360         https://bugs.webkit.org/show_bug.cgi?id=117397
361
362         Renamed -webkit-region-overflow to -webkit-region-fragment and 
363         webkitRegionOverflow to webkitRegionFragment according to the new working draft
364         at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property
365
366         Reviewed by Alexander Pavlov.
367
368         * css/CSSComputedStyleDeclaration.cpp:
369         (WebCore::ComputedStyleExtractor::propertyValue):
370         * css/CSSParser.cpp:
371         (WebCore::isValidKeywordPropertyAndValue):
372         (WebCore::isKeywordPropertyID):
373         (WebCore::CSSParser::parseValue):
374         * css/CSSPrimitiveValueMappings.h:
375         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
376         (WebCore::CSSPrimitiveValue::operator RegionFragment):
377         * css/CSSProperty.cpp:
378         (WebCore::CSSProperty::isInheritedProperty):
379         * css/CSSPropertyNames.in:
380         * css/CSSValueKeywords.in:
381         * css/DeprecatedStyleBuilder.cpp:
382         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
383         * css/StyleResolver.cpp:
384         (WebCore::StyleResolver::applyProperty):
385         * rendering/RenderBlock.cpp:
386         (WebCore::RenderBlock::hasNextPage):
387         * rendering/RenderRegion.cpp:
388         (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
389         * rendering/style/RenderStyle.cpp:
390         (WebCore::RenderStyle::changeRequiresLayout):
391         * rendering/style/RenderStyle.h:
392         * rendering/style/RenderStyleConstants.h:
393         * rendering/style/StyleRareNonInheritedData.cpp:
394         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
395         (WebCore::StyleRareNonInheritedData::operator==):
396         * rendering/style/StyleRareNonInheritedData.h:
397
398 2013-06-10  Christophe Dumez  <ch.dumez@sisa.samsung.com>
399
400         Replace [ConstructorRaisesException] with [RaisesException]
401         https://bugs.webkit.org/show_bug.cgi?id=117400
402
403         Reviewed by Kentaro Hara.
404
405         Replace [ConstructorRaisesException] with [RaisesException] IDL extended
406         attribute and drop [ConstructorRaisesException]. It makes little sense
407         to have 2 extended attributes with the same meaning.
408
409         [RaisesException] can now be used on IDL operations to indicate that the
410         method may throw exceptions or on interfaces to indicate that the
411         constructor may throw exceptions.
412
413         From Blink r148027 by Kentaro Hara <haraken@chromium.org>.
414
415         No new tests, no behavior change.
416
417         * Modules/encryptedmedia/MediaKeys.idl:
418         * Modules/mediastream/RTCIceCandidate.idl:
419         * Modules/mediastream/RTCPeerConnection.idl:
420         * Modules/mediastream/RTCSessionDescription.idl:
421         * Modules/webaudio/OfflineAudioContext.idl:
422         * Modules/websockets/WebSocket.idl:
423         * bindings/scripts/CodeGeneratorJS.pm:
424         (GenerateConstructorDefinition):
425         * bindings/scripts/IDLAttributes.txt:
426         * bindings/scripts/test/TestInterface.idl:
427         * bindings/scripts/test/TestNamedConstructor.idl:
428         * css/WebKitCSSMatrix.idl:
429         * html/HTMLOptionElement.idl:
430         * page/EventSource.idl:
431         * workers/SharedWorker.idl:
432         * workers/Worker.idl:
433
434 2013-06-10  Mátyás Mustoha  <mmatyas@inf.u-szeged.hu>
435
436         Web Inspector: refactor statusBarItems getter in front-end.
437         https://bugs.webkit.org/show_bug.cgi?id=110114
438
439         Reviewed by Noam Rosenthal.
440
441         Refactored "statusBarItems" methods from getters into functions and
442         moved default implementation from Panel.js to View.js.
443
444         Patch created by Andrey Lushnikov.
445
446         * inspector/front-end/AdvancedSearchController.js:
447         (WebInspector.SearchView.prototype.statusBarItems):
448         * inspector/front-end/ApplicationCacheItemsView.js:
449         (WebInspector.ApplicationCacheItemsView.prototype.statusBarItems):
450         * inspector/front-end/AuditsPanel.js:
451         (WebInspector.AuditsPanel.prototype.statusBarItems):
452         * inspector/front-end/CPUProfileView.js:
453         (WebInspector.CPUProfileView.prototype.statusBarItems):
454         * inspector/front-end/CSSSelectorProfileView.js:
455         (WebInspector.CSSSelectorProfileView.prototype.statusBarItems):
456         * inspector/front-end/CanvasProfileView.js:
457         (WebInspector.CanvasProfileView.prototype.statusBarItems):
458         (WebInspector.CanvasProfileType.prototype.statusBarItems):
459         * inspector/front-end/ConsolePanel.js:
460         (WebInspector.ConsolePanel.prototype.statusBarItems):
461         * inspector/front-end/ConsoleView.js:
462         (WebInspector.ConsoleView.prototype.statusBarItems):
463         * inspector/front-end/CookieItemsView.js:
464         (WebInspector.CookieItemsView.prototype.statusBarItems):
465         * inspector/front-end/DOMStorageItemsView.js:
466         (WebInspector.DOMStorageItemsView.prototype.statusBarItems):
467         * inspector/front-end/DatabaseTableView.js:
468         (WebInspector.DatabaseTableView.prototype.statusBarItems):
469         * inspector/front-end/Drawer.js:
470         * inspector/front-end/ElementsPanel.js:
471         (WebInspector.ElementsPanel.prototype.statusBarItems):
472         * inspector/front-end/ExtensionPanel.js:
473         (WebInspector.ExtensionPanel.prototype.statusBarItems):
474         * inspector/front-end/FileSystemView.js:
475         (WebInspector.FileSystemView.prototype.statusBarItems):
476         * inspector/front-end/HeapSnapshotView.js:
477         * inspector/front-end/IndexedDBViews.js:
478         (WebInspector.IDBDataView.prototype.statusBarItems):
479         * inspector/front-end/NetworkPanel.js:
480         (WebInspector.NetworkLogView.prototype.statusBarItems):
481         (WebInspector.NetworkPanel.prototype.statusBarItems):
482         * inspector/front-end/Panel.js:
483         (WebInspector.Panel.prototype.wasShown):
484         * inspector/front-end/ProfilesPanel.js:
485         (WebInspector.ProfileType.prototype.statusBarItems):
486         (WebInspector.ProfilesPanel.prototype.statusBarItems):
487         (WebInspector.ProfilesPanel.prototype._updateProfileTypeSpecificUI):
488         (WebInspector.ProfilesPanel.prototype._showProfile):
489         * inspector/front-end/ResourcesPanel.js:
490         (WebInspector.ResourcesPanel.prototype.statusBarItems):
491         (WebInspector.ResourcesPanel.prototype._innerShowView):
492         * inspector/front-end/ScriptsPanel.js:
493         (WebInspector.ScriptsPanel.prototype.statusBarItems):
494         * inspector/front-end/TimelinePanel.js:
495         (WebInspector.TimelinePanel.prototype.statusBarItems):
496         * inspector/front-end/View.js:
497         (WebInspector.View.prototype.statusBarItems):
498
499 2013-06-10  Benjamin Poulain  <benjamin@webkit.org>
500
501         Add special tree walking for the single tag or class CSS query selectors
502         https://bugs.webkit.org/show_bug.cgi?id=117388
503
504         Reviewed by Ryosuke Niwa.
505
506         Queries for a single tag name or a single class name are the most common
507         input of querySelector.
508
509         This patch adds a simplified tree walking in those cases, only checking that particular
510         case instead of a full selector.
511
512         With the change, the balanced query selector benchmarks become 11% faster.
513
514         * css/SelectorCheckerFastPath.cpp:
515         (WebCore::HTMLNames::checkClassValue):
516         * dom/SelectorQuery.cpp:
517         (WebCore::isSingleTagNameSelector):
518         (WebCore::SelectorDataList::executeSingleTagNameSelectorData):
519         (WebCore::isSingleClassNameSelector):
520         (WebCore::SelectorDataList::executeSingleClassNameSelectorData):
521         (WebCore::SelectorDataList::execute):
522         * dom/SelectorQuery.h:
523
524 2013-06-09  Roger Fong  <roger_fong@apple.com>
525
526         Layout info should never be cleared before delayed scroll information updates.
527         https://bugs.webkit.org/show_bug.cgi?id=116689.
528
529         Reviewed by Darin Adler.
530
531         Test: fast/flexbox/clear-overflow-before-scroll-update.html
532
533         Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
534         Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic in RenderBlock.
535
536         * rendering/RenderBlock.cpp:
537         (WebCore::RenderBlock::finishDelayUpdateScrollInfo): Call clearLayoutOverflow here.
538         (WebCore::RenderBlock::layout): Only call clearLayoutOverflow here if scrolling isn't being delayed.
539         (WebCore::RenderBlock::clearLayoutOverflow): Remove clearLayoutOverflow, move into RenderBlock to keep delayed scrolling logic in the same file.
540         * rendering/RenderBlock.h:
541         * rendering/RenderBox.cpp:
542         * rendering/RenderBox.h:
543         * rendering/RenderDeprecatedFlexibleBox.cpp: Should call updateScrollInfoAfterLayout, not layer()->updateScrollInfoAfterLayout(), so that it takes delayed scrolling logic into account.
544         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
545         * rendering/RenderGrid.cpp: Ditto
546         (WebCore::RenderGrid::layoutBlock):
547
548 2013-06-09  Benjamin Poulain  <bpoulain@apple.com>
549
550         Split the 3 paths of SelectorDataList::execute() into 3 separate functions
551         https://bugs.webkit.org/show_bug.cgi?id=117378
552
553         Reviewed by Ryosuke Niwa.
554
555         Split those to have several small execute() fucntions instead of a giant one.
556
557         * dom/SelectorQuery.cpp:
558         (WebCore::selectorForIdLookup):
559         (WebCore::isTreeScopeRoot):
560         (WebCore::SelectorDataList::executeFastPathForIdSelector):
561         (WebCore::SelectorDataList::executeSingleSelectorData):
562         (WebCore::SelectorDataList::executeSingleMultiSelectorData):
563         (WebCore::SelectorDataList::execute):
564         * dom/SelectorQuery.h:
565
566 2013-06-09  Benjamin Poulain  <bpoulain@apple.com>
567
568         Scrolling with platformWidget and delegateScrolling is incorrectly clamped
569         https://bugs.webkit.org/show_bug.cgi?id=117369
570         <rdar://problem/13985064>
571
572         Reviewed by Darin Adler.
573
574         The patch http://trac.webkit.org/changeset/142526 clamps the input position
575         in the ScrollView scroll range. This was done for the path to the ScrollingCoordinator.
576
577         The problem with that change is ScrollView::setScrollPosition() can delegate the scrolling
578         to either a platformWidget, or through delegateScrolling. After r142526, the position is clamped,
579         and we do not let those external scrolling mechanims handle the out-of-bound scrolling.
580
581         This patch fixes the issue by moving the threaded scrolling call to ScrollView,
582         after the delegate handling code.
583
584         * page/FrameView.cpp:
585         (WebCore::FrameView::setScrollPosition):
586         (WebCore::FrameView::requestScrollPositionUpdate):
587
588 2013-06-08  Igor Oliveira  <igor.o@sisa.samsung.com>
589
590         before/after generated content is not working with HTMLSummaryElement and HTMLDetailsElement.
591         https://bugs.webkit.org/show_bug.cgi?id=117374
592
593         Allow before/after pseudo generated content be added in HTMLDetailsElement and HTMLSumamaryElement.
594
595         Reviewed by Ryosuke Niwa.
596
597         Test: fast/css-generated-content/details-summary-before-after.html
598
599         * html/HTMLDetailsElement.cpp:
600         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
601         * html/HTMLSummaryElement.cpp:
602         (WebCore::HTMLSummaryElement::childShouldCreateRenderer):
603
604 2013-06-08  Peter Gal  <galpeter@inf.u-szeged.hu>
605
606         [curl] Allow headers with empty value
607         https://bugs.webkit.org/show_bug.cgi?id=117344
608
609         Reviewed by Brent Fulgham.
610
611         No new tests, already covered by:
612         http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
613         http/tests/xmlhttprequest/post-blob-content-type-sync.html
614
615         * platform/network/curl/ResourceHandleManager.cpp:
616         (WebCore::ResourceHandleManager::initializeHandle):
617
618 2013-06-08  Peter Gal  <galpeter@inf.u-szeged.hu>
619
620         [curl] Handling of blob elements is incorrect
621         https://bugs.webkit.org/show_bug.cgi?id=117301
622
623         Reviewed by Kenneth Rohde Christiansen.
624
625         No new tests, covered by existing ones:
626         http/tests/fileapi/xhr-send-form-data-filename-escaping.html
627         http/tests/fileapi/xhr-send-form-data-mimetype-normalization.html
628
629         * platform/network/curl/ResourceHandleManager.cpp:
630         (WebCore::getFormElementsCount): Resolve Blob elements.
631
632 2013-06-07  Alexandru Chiculita  <achicu@adobe.com>
633
634         [CSS Regions] Layers inside the RenderFlowThread should be collected by the layer of RenderView
635         https://bugs.webkit.org/show_bug.cgi?id=117270
636
637         Reviewed by David Hyatt.
638
639         RenderNamedFlowThreads are attached to the RenderView, but they are painted 
640         and hit-tested through their regions. The easiest way to prevent the RenderView 
641         from seeing the RenderNamedFlowThreads as its own children was to avoid collecting
642         the layers of the RenderNamedFlowThreads as children layers of the RenderView.
643
644         However, most of the code is analyzing the layers tree starting from the root,
645         so having the RenderNamedFlowThread participate in the layer tree is needed
646         in order to enable compositing for layers inside the flow thread.
647
648         This patch makes the RenderNamedFlowThread visible to the RenderView, but
649         ignores it when iterates the children of the RenderView in paint and hit-test methods.
650
651         No new tests, no visible changes.
652
653         * rendering/RenderLayer.cpp:
654         (WebCore::RenderLayer::paintList):
655         (WebCore::RenderLayer::hitTestList):
656         (WebCore::RenderLayer::calculateLayerBounds):
657         (WebCore::RenderLayer::collectLayers):
658         * rendering/RenderTreeAsText.cpp:
659         (WebCore::writeLayers):
660
661 2013-06-07  Bear Travis  <betravis@adobe.com>
662
663         [CSS Exclusions][CSS Shapes] Incorrect compile flag in LayoutState.h
664         https://bugs.webkit.org/show_bug.cgi?id=117318
665
666         Reviewed by Alexandru Chiculita.
667
668         m_exclusionShapeInsideInfo should be guarded by the CSS_SHAPES flag,
669         not the CSS_EXCLUSIONS flag.
670
671         No tests required.
672
673         * rendering/LayoutState.h:
674
675 2013-06-07  Christophe Dumez  <ch.dumez@sisa.samsung.com>
676
677         Get rid of outdated raises() from Web IDL
678         https://bugs.webkit.org/show_bug.cgi?id=117350
679
680         Reviewed by Darin Adler.
681
682         Stop using "raises()" in the IDL as this is no longer part of the Web IDL
683         specification. Web IDL no longer specifies exceptions for operations. Instead
684         it is now explained in prose.
685
686         WebKit still needs to know if the method can throw an exception (but does not
687         need the exception name) so this patch adds a WebKit specific IDL extended
688         attribute: [RaisesException]. The naming is consistent with Blink.
689
690         This results in more standard and concise IDL. This also simplifies a lot
691         the code of the IDL parser.
692
693         No new tests, no behavior change.
694
695         * Modules/battery/BatteryManager.idl:
696         * Modules/encryptedmedia/MediaKeySession.idl:
697         * Modules/encryptedmedia/MediaKeys.idl:
698         * Modules/filesystem/DirectoryEntrySync.idl:
699         * Modules/filesystem/DirectoryReaderSync.idl:
700         * Modules/filesystem/EntrySync.idl:
701         * Modules/filesystem/FileEntrySync.idl:
702         * Modules/filesystem/FileWriter.idl:
703         * Modules/filesystem/FileWriterSync.idl:
704         * Modules/filesystem/WorkerContextFileSystem.idl:
705         * Modules/indexeddb/IDBCursor.idl:
706         * Modules/indexeddb/IDBDatabase.idl:
707         * Modules/indexeddb/IDBFactory.idl:
708         * Modules/indexeddb/IDBIndex.idl:
709         * Modules/indexeddb/IDBKeyRange.idl:
710         * Modules/indexeddb/IDBObjectStore.idl:
711         * Modules/indexeddb/IDBRequest.idl:
712         * Modules/indexeddb/IDBTransaction.idl:
713         * Modules/mediasource/MediaSource.idl:
714         * Modules/mediasource/SourceBuffer.idl:
715         * Modules/mediasource/SourceBufferList.idl:
716         * Modules/mediastream/MediaStream.idl:
717         * Modules/mediastream/MediaStreamTrack.idl:
718         * Modules/mediastream/NavigatorMediaStream.idl:
719         * Modules/mediastream/RTCDTMFSender.idl:
720         * Modules/mediastream/RTCDataChannel.idl:
721         * Modules/mediastream/RTCPeerConnection.idl:
722         * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
723         * Modules/networkinfo/NetworkInfoConnection.idl:
724         * Modules/notifications/Notification.idl:
725         * Modules/notifications/NotificationCenter.idl:
726         * Modules/speech/SpeechRecognition.idl:
727         * Modules/vibration/NavigatorVibration.idl:
728         * Modules/webaudio/AudioBuffer.idl:
729         * Modules/webaudio/AudioContext.idl:
730         * Modules/webaudio/AudioNode.idl:
731         * Modules/webdatabase/DOMWindowWebDatabase.idl:
732         * Modules/webdatabase/DatabaseSync.idl:
733         * Modules/webdatabase/WorkerContextWebDatabase.idl:
734         * Modules/websockets/WebSocket.idl:
735         * bindings/scripts/CodeGeneratorCPP.pm:
736         (GenerateImplementation):
737         * bindings/scripts/CodeGeneratorGObject.pm:
738         (GenerateFunction):
739         (GenerateFunctions):
740         * bindings/scripts/CodeGeneratorJS.pm:
741         (GenerateImplementation):
742         (GenerateParametersCheck):
743         (GenerateImplementationFunctionCall):
744         (GenerateConstructorDefinition):
745         * bindings/scripts/CodeGeneratorObjC.pm:
746         (GenerateImplementation):
747         * bindings/scripts/IDLAttributes.txt:
748         * bindings/scripts/IDLParser.pm:
749         (parseOperationRest):
750         * bindings/scripts/test/TestEventTarget.idl:
751         * bindings/scripts/test/TestObj.idl:
752         * bindings/scripts/test/TestSupplemental.idl:
753         * bindings/scripts/test/TestTypedefs.idl:
754         * css/CSSHostRule.idl:
755         * css/CSSMediaRule.idl:
756         * css/CSSPrimitiveValue.idl:
757         * css/CSSStyleDeclaration.idl:
758         * css/CSSStyleSheet.idl:
759         * css/CSSSupportsRule.idl:
760         * css/FontLoader.idl:
761         * css/MediaList.idl:
762         * css/WebKitCSSMatrix.idl:
763         * dom/CharacterData.idl:
764         * dom/DOMImplementation.idl:
765         * dom/DataTransferItemList.idl:
766         * dom/Document.idl:
767         * dom/DocumentFragment.idl:
768         * dom/DocumentType.idl:
769         * dom/Element.idl:
770         * dom/EventTarget.idl:
771         * dom/MessagePort.idl:
772         * dom/MutationObserver.idl:
773         * dom/NamedNodeMap.idl:
774         * dom/Node.idl:
775         * dom/NodeIterator.idl:
776         * dom/Range.idl:
777         * dom/ShadowRoot.idl:
778         * dom/Text.idl:
779         * dom/WebKitNamedFlow.idl:
780         * fileapi/FileReader.idl:
781         * fileapi/FileReaderSync.idl:
782         * html/DOMTokenList.idl:
783         * html/HTMLCanvasElement.idl:
784         * html/HTMLDialogElement.idl:
785         * html/HTMLElement.idl:
786         * html/HTMLEmbedElement.idl:
787         * html/HTMLFrameElement.idl:
788         * html/HTMLIFrameElement.idl:
789         * html/HTMLInputElement.idl:
790         * html/HTMLMediaElement.idl:
791         * html/HTMLObjectElement.idl:
792         * html/HTMLOptionsCollection.idl:
793         * html/HTMLSelectElement.idl:
794         * html/HTMLTableElement.idl:
795         * html/HTMLTableRowElement.idl:
796         * html/HTMLTableSectionElement.idl:
797         * html/HTMLTextAreaElement.idl:
798         * html/HTMLVideoElement.idl:
799         * html/MediaController.idl:
800         * html/TimeRanges.idl:
801         * html/canvas/CanvasGradient.idl:
802         * html/canvas/CanvasRenderingContext2D.idl:
803         * html/canvas/DOMPath.idl:
804         * html/canvas/DataView.idl:
805         * html/canvas/OESVertexArrayObject.idl:
806         * html/canvas/WebGLDebugShaders.idl:
807         * html/canvas/WebGLRenderingContext.idl:
808         * html/track/AudioTrackList.idl:
809         * html/track/TextTrack.idl:
810         * html/track/TextTrackCue.idl:
811         * html/track/TextTrackList.idl:
812         * html/track/VideoTrackList.idl:
813         * loader/appcache/DOMApplicationCache.idl:
814         * page/Crypto.idl:
815         * page/DOMSelection.idl:
816         * page/DOMWindow.idl:
817         * page/EventSource.idl:
818         * page/History.idl:
819         * page/Performance.idl:
820         * storage/Storage.idl:
821         * svg/SVGAngle.idl:
822         * svg/SVGAnimationElement.idl:
823         * svg/SVGColor.idl:
824         * svg/SVGDocument.idl:
825         * svg/SVGLength.idl:
826         * svg/SVGLengthList.idl:
827         * svg/SVGLocatable.idl:
828         * svg/SVGMatrix.idl:
829         * svg/SVGNumberList.idl:
830         * svg/SVGPaint.idl:
831         * svg/SVGPathSegList.idl:
832         * svg/SVGPointList.idl:
833         * svg/SVGStringList.idl:
834         * svg/SVGTextContentElement.idl:
835         * svg/SVGTransformList.idl:
836         * testing/InternalSettings.idl:
837         * testing/Internals.idl:
838         * workers/AbstractWorker.idl:
839         * workers/DedicatedWorkerContext.idl:
840         * workers/Worker.idl:
841         * workers/WorkerContext.idl:
842         * xml/XMLHttpRequest.idl:
843         * xml/XMLHttpRequestUpload.idl:
844         * xml/XMLSerializer.idl:
845         * xml/XPathEvaluator.idl:
846         * xml/XPathExpression.idl:
847         * xml/XPathResult.idl:
848
849 2013-06-07  Brady Eidson  <beidson@apple.com>
850
851         REGRESSION (r151088): Crash navigating away from non-loaded main resources with non-loaded scripts.
852         <rdar://problem/14052886> and https://bugs.webkit.org/show_bug.cgi?id=117278
853
854         Reviewed by Anders Carlsson.
855
856         Test: http/tests/navigation/slow-loading-page-with-slow-script.php
857
858         * html/parser/HTMLScriptRunner.cpp:
859         (WebCore::HTMLScriptRunner::isPendingScriptReady): The script runner might be told about a script
860           after it has already been detached (the main resource load has finished/failed/cancelled).
861           Don't dereference a null document in that case.
862
863 2013-06-07  Andy Estes  <aestes@apple.com>
864
865         Compile WebCoreTestShimLibrary.cpp on iOS, but exclude the Carbon bits
866         https://bugs.webkit.org/show_bug.cgi?id=117360
867
868         Reviewed by Mark Rowe.
869
870         In r150114 we tried to make the WebCoreTestShim target build on iOS by
871         excluding its only source file from the build. While this allowed the
872         target to build, it prevented the target's product (WebCoreTestShim.dylib)
873         from being created. This causes xcodebuild to fail if you ask it to
874         install the target.
875
876         Fix this by building the target's product on iOS. Just use the
877         preprocessor to exclude the bits that won't build on iOS.
878
879         * Configurations/WebCoreTestShim.xcconfig:
880         * testing/WebCoreTestShimLibrary.cpp:
881
882 2013-06-07  Ryosuke Niwa  <rniwa@webkit.org>
883
884         REGRESSION: Lines jump up and down while typing Chinese or Japanese
885         https://bugs.webkit.org/show_bug.cgi?id=115931
886
887         Reviewed by Darin Adler.
888
889         The bug was caused by Font::width caching the width of text even when the font fallbacks existed when fallbackFonts
890         argument was null; because of this, a later call to Font::width was returning the width without filling up
891         fallbackFonts even if it was not null this time.
892
893         Fixed the bug by adding a local fallback fonts hash set, and checking the emptiness of this variable in Font::width.
894         Also added pass fallbackFonts around in various places to make use of the cached font fallbacks.
895
896         No new tests. Unfortunately I haven't been able to make a reliable reduction for this bug.
897
898         * platform/graphics/Font.cpp:
899         (WebCore::Font::width):
900         * rendering/RenderBlockLineLayout.cpp:
901         (WebCore::measureHyphenWidth):
902         (WebCore::setLogicalWidthForTextRun):
903         (WebCore::textWidth):
904         (WebCore::tryHyphenating):
905         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
906         * rendering/RenderText.cpp:
907         (WebCore::maxWordFragmentWidth):
908         (WebCore::RenderText::computePreferredLogicalWidths):
909
910 2013-06-07  Zan Dobersek  <zdobersek@igalia.com>
911
912         [regression] build failure WebKitFontFamilyNames.h missing
913         https://bugs.webkit.org/show_bug.cgi?id=117178
914
915         Reviewed by Sam Weinig.
916
917         * GNUmakefile.am: Make libPlatform and other sources depend on the generated platform sources. This should prevent
918         build failures in source code that's depending on the generated platform sources.
919
920 2013-06-07  Chris Fleizach  <cfleizach@apple.com>
921
922         MathML line fraction needs to parse number values
923         https://bugs.webkit.org/show_bug.cgi?id=117305
924
925         Reviewed by Darin Adler.
926
927         The line fraction thickness was not handling arbitrary thickness numbers.
928         The accessibility code was not handling default values for line thickness, so
929         it made sense to have AX rely on the RenderFraction object to retrive the thickness.
930
931         Modified existing tests to cover new behavior.
932
933         * accessibility/AccessibilityRenderObject.cpp:
934         (WebCore::AccessibilityRenderObject::mathLineThickness):
935         * rendering/mathml/RenderMathMLFraction.cpp:
936         (WebCore::RenderMathMLFraction::updateFromElement):
937         * rendering/mathml/RenderMathMLFraction.h:
938         (WebCore::RenderMathMLFraction::lineThickness):
939         (WebCore::toRenderMathMLFraction):
940
941 2013-06-07  Claudio Saavedra  <csaavedra@igalia.com>
942
943         [rendering] Use foreground color to render the overtype caret
944         https://bugs.webkit.org/show_bug.cgi?id=117347
945
946         Reviewed by Darin Adler.
947
948         Currently, the overtype caret is rendered using the colors of
949         a normal selection, which is confusing. This patch enables RenderObject
950         to differentiate between a normal and a overtype caret selection,
951         in order to use a different color for the latter.
952
953         Also, let RenderView update the selection if this is unchanged
954         when going from a overtype caret to one character selection and
955         viceversa.
956
957         * rendering/RenderObject.cpp:
958         (WebCore::RenderObject::selectionBackgroundColor):
959         * rendering/RenderView.cpp:
960         (WebCore::RenderView::setSelection):
961         * rendering/RenderView.h:
962
963 2013-06-07  Christophe Dumez  <ch.dumez@sisa.samsung.com>
964
965         Get rid of outdated getter / setter raises from Web IDL
966         https://bugs.webkit.org/show_bug.cgi?id=117346
967
968         Reviewed by Darin Adler.
969
970         Stop using "getter / setter raises" in the IDL as this is no longer part of
971         the Web IDL specification. Web IDL no longer specifies exceptions for
972         attribute getters or setters. Instead, it is now explained in prose.
973
974         WebKit still needs to know if the getter / setter can throw an exception
975         (but does not need the exception name) so this patch adds 2 WebKit specific
976         IDL extended attributes: [GetterRaisesException] / [SetterRaisesException].
977         The naming is consistent with Blink.
978
979         This results in more standard and concise IDL. This also simplifies a lot
980         the code of the IDL parser.
981
982         Note that this patch does not remove "raises()" from the IDL methods yet.
983         This should be replaced by [RaisesException] IDL extended attribute in a
984         later patch.
985
986         No new tests, no behavior change.
987
988         * Modules/indexeddb/IDBRequest.idl:
989         * Modules/mediasource/MediaSource.idl:
990         * Modules/mediasource/SourceBuffer.idl:
991         * Modules/mediastream/RTCDataChannel.idl:
992         * Modules/mediastream/RTCPeerConnection.idl:
993         * Modules/mediastream/RTCSessionDescription.idl:
994         * Modules/mediastream/RTCStatsResponse.idl:
995         * Modules/webaudio/AnalyserNode.idl:
996         * Modules/webaudio/AudioBufferSourceNode.idl:
997         * Modules/webaudio/AudioNode.idl:
998         * Modules/webdatabase/SQLResultSet.idl:
999         * bindings/scripts/CodeGeneratorCPP.pm:
1000         (GenerateImplementation):
1001         * bindings/scripts/CodeGeneratorGObject.pm:
1002         (GenerateProperty):
1003         (GenerateFunctions):
1004         * bindings/scripts/CodeGeneratorJS.pm:
1005         (GenerateImplementation):
1006         * bindings/scripts/CodeGeneratorObjC.pm:
1007         (GenerateImplementation):
1008         * bindings/scripts/IDLAttributes.txt:
1009         * bindings/scripts/IDLParser.pm:
1010         (parseAttributeRest):
1011         (parseAttributeRestOld):
1012         * bindings/scripts/test/TestObj.idl:
1013         * bindings/scripts/test/TestTypedefs.idl:
1014         * css/CSSCharsetRule.idl:
1015         * css/CSSRule.idl:
1016         * css/CSSStyleDeclaration.idl:
1017         * css/CSSValue.idl:
1018         * css/MediaList.idl:
1019         * dom/Attr.idl:
1020         * dom/CharacterData.idl:
1021         * dom/Document.idl:
1022         * dom/Node.idl:
1023         * dom/ProcessingInstruction.idl:
1024         * dom/Range.idl:
1025         * dom/ShadowRoot.idl:
1026         * dom/TreeWalker.idl:
1027         * html/HTMLElement.idl:
1028         * html/HTMLInputElement.idl:
1029         * html/HTMLMarqueeElement.idl:
1030         * html/HTMLMediaElement.idl:
1031         * html/HTMLMeterElement.idl:
1032         * html/HTMLOptionElement.idl:
1033         * html/HTMLOptionsCollection.idl:
1034         * html/HTMLProgressElement.idl:
1035         * html/HTMLSelectElement.idl:
1036         * html/HTMLTableElement.idl:
1037         * html/HTMLTextAreaElement.idl:
1038         * html/MediaController.idl:
1039         * html/track/TextTrackCue.idl:
1040         * html/track/TextTrackRegion.idl:
1041         * page/DOMWindow.idl:
1042         * storage/Storage.idl:
1043         * svg/SVGAltGlyphElement.idl:
1044         * svg/SVGAngle.idl:
1045         * svg/SVGAnimatedBoolean.idl:
1046         * svg/SVGAnimatedEnumeration.idl:
1047         * svg/SVGAnimatedInteger.idl:
1048         * svg/SVGAnimatedNumber.idl:
1049         * svg/SVGAnimatedString.idl:
1050         * svg/SVGElement.idl:
1051         * svg/SVGGlyphRefElement.idl:
1052         * svg/SVGLangSpace.idl:
1053         * svg/SVGLength.idl:
1054         * svg/SVGPreserveAspectRatio.idl:
1055         * svg/SVGSVGElement.idl:
1056         * svg/SVGScriptElement.idl:
1057         * svg/SVGStyleElement.idl:
1058         * svg/SVGViewSpec.idl:
1059         * xml/XMLHttpRequest.idl:
1060         * xml/XPathResult.idl:
1061
1062 2013-06-07  Kangil Han  <kangil.han@samsung.com>
1063
1064         Remove unused header includes in Document
1065         https://bugs.webkit.org/show_bug.cgi?id=117339
1066
1067         Reviewed by Andreas Kling.
1068
1069         Minor code cleanup.
1070
1071         * dom/Document.cpp:
1072         * dom/Document.h:
1073
1074 2013-06-07  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1075
1076         Unnecessary use of Layout types in GraphicsLayer::paintGraphicsLayerContents
1077         https://bugs.webkit.org/show_bug.cgi?id=117340
1078
1079         Reviewed by Darin Adler.
1080
1081         There is no reason to use Layout types when copying from Int types to Int types.
1082
1083         * platform/graphics/GraphicsLayer.cpp:
1084         (WebCore::GraphicsLayer::paintGraphicsLayerContents):
1085
1086 2013-06-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1087
1088         [EFL][GTK] TextCheckerEnchant uses deprecated enchant_dict_add_to_personal
1089         https://bugs.webkit.org/show_bug.cgi?id=117335
1090
1091         Reviewed by Christophe Dumez.
1092
1093         enchant_dict_add_to_personal has been deprecated at r22321 in Enchant repository.
1094
1095         No behavior change, no new tests needed.
1096
1097         * platform/text/enchant/TextCheckerEnchant.cpp:
1098         (WebCore::TextCheckerEnchant::learnWord):
1099         Use enchant_dict_add instead of enchant_dict_add_to_personal.
1100
1101 2013-06-07  Zalan Bujtas  <zalan@apple.com>
1102
1103         Frame flattening: crash when child iframe is removed during beforeload.
1104         https://bugs.webkit.org/show_bug.cgi?id=116220
1105
1106         Reviewed by Antti Koivisto.
1107
1108         FrameView can get destroyed in updateWidget(). Normally, it is protected by layout()
1109         but with frame flattening on, it can also be called asynchronously through the
1110         post layout timer.
1111
1112         Test: fast/frames/flattening/crash-remove-iframe-during-object-beforeload.html
1113
1114         * page/FrameView.cpp:
1115         (WebCore::FrameView::performPostLayoutTasks):
1116
1117 2013-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1118
1119         Make CachedResource virtual methods overridden in derived classes private
1120         https://bugs.webkit.org/show_bug.cgi?id=117289
1121
1122         Reviewed by Darin Adler.
1123
1124         And mark them as OVERRIDE too. Also mark all CachedResource
1125         derived classes as FINAL.
1126
1127         * inspector/InspectorPageAgent.cpp:
1128         (WebCore::cachedResourcesForFrame):
1129         * loader/cache/CachedCSSStyleSheet.h:
1130         * loader/cache/CachedFont.h:
1131         * loader/cache/CachedImage.h:
1132         * loader/cache/CachedRawResource.h:
1133         * loader/cache/CachedSVGDocument.h:
1134         * loader/cache/CachedScript.h:
1135         * loader/cache/CachedShader.h:
1136         * loader/cache/CachedTextTrack.h:
1137         * loader/cache/CachedXSLStyleSheet.h:
1138
1139 2013-06-07  Mihnea Ovidenie  <mihnea@adobe.com>
1140
1141         [CSSRegions] getBoundingClientRect wrong for inline content nodes
1142         https://bugs.webkit.org/show_bug.cgi?id=117290
1143
1144         Reviewed by Alexandru Chiculita.
1145
1146         getBoundingClientRect returned incorrect values for inline content that
1147         was directly flowed inside regions because its mapLocalToContainer was not
1148         properly patched as its RenderBox counterpart. This patch adds mapLocalToContainer
1149         method in RenderFlowThread so that is properly called for all the elements inside the
1150         flow thread.
1151
1152         Also, modified offsetFromContainer so that if the container is the flow thread,
1153         offsetDependsOnPoint is set to true which further sets RenderGeometryMapStep::m_isNonUniform
1154         to true for each step added in pushMappingToContainer methods.
1155
1156         Test: fast/regions/flowed-inline-content-bounding-client-rect.html
1157
1158         * rendering/RenderBox.cpp:
1159         (WebCore::RenderBox::mapLocalToContainer):
1160         (WebCore::RenderBox::pushMappingToContainer):
1161         (WebCore::RenderBox::offsetFromContainer):
1162         * rendering/RenderFlowThread.cpp:
1163         (WebCore::RenderFlowThread::mapLocalToContainer):
1164         * rendering/RenderFlowThread.h:
1165         * rendering/RenderInline.cpp:
1166         (WebCore::RenderInline::offsetFromContainer):
1167         * rendering/RenderObject.cpp:
1168         (WebCore::RenderObject::offsetFromContainer):
1169
1170 2013-06-06  Kangil Han  <kangil.han@samsung.com>
1171
1172         Minor code cleanup to remove unused header includes
1173         https://bugs.webkit.org/show_bug.cgi?id=117283
1174
1175         Reviewed by Andreas Kling.
1176
1177         * loader/cache/CachedResourceClient.h:
1178         * rendering/RenderBlock.cpp:
1179         * rendering/RenderBox.cpp:
1180         * rendering/RenderBoxModelObject.cpp:
1181         * rendering/RenderObject.cpp:
1182
1183 2013-06-06  Jer Noble  <jer.noble@apple.com>
1184
1185         Restrict WebAudio from playing when disallowed by page.
1186         https://bugs.webkit.org/show_bug.cgi?id=117310
1187
1188         Reviewed by Eric Carlson.
1189
1190         Add a new behavior restriction which would mute WebAudio
1191         when media playback is disallowed by the page.
1192
1193         * Modules/webaudio/AudioContext.cpp:
1194         (WebCore::AudioContext::constructCommon): Set the RequirePageConsentForAudioStartRestriction
1195             restriction for the Mac port
1196         (WebCore::AudioContext::document): Cast the execution context to a document.
1197         (WebCore::AudioContext::lazyInitialize): Call startRendering() instead of
1198             m_destinationNode->startRendering() directly.
1199         (WebCore::AudioContext::startRendering): If media loading is disabled, add
1200             a mediaCanStart listener.
1201         (WebCore::AudioContext::mediaCanStart): Remove the RequirePageConsentForAudioStartRestriction.
1202         * Modules/webaudio/AudioContext.h:
1203         (WebCore::AudioContext::pageConsentRequiredForAudioStart): Added; simple wrapper.
1204         * Modules/webaudio/AudioDestinationNode.cpp:
1205         (WebCore::AudioDestinationNode::render): Mute output if pageConsentRequiredForAudioStart().
1206
1207 2013-06-03  Jer Noble  <jer.noble@apple.com>
1208
1209         Upstream iOS WebAudio behavior restrictions.
1210         https://bugs.webkit.org/show_bug.cgi?id=117151
1211
1212         Reviewed by Eric Carlson.
1213
1214     2012-06-25  Jeffrey Pfau  <jpfau@apple.com>
1215
1216             <rdar://problem/11041007> WebAudio should restrict playback to user interaction on iOS
1217
1218             Added a bevahior restrictions field in AudioContext that behaviors similarly to
1219             the one in HTMLMediaElement. Restrictions are lifted when JavaScript calls noteOn,
1220             noteGrainOn or startRendering from a user gesture event.
1221
1222             Reviewed by Dean Jackson.
1223
1224             No new tests, testing framework doesn't support web audio.
1225
1226             * Modules/webaudio/AudioBufferSourceNode.cpp:
1227             (WebCore::AudioBufferSourceNode::startGrain):
1228             * Modules/webaudio/AudioContext.cpp:
1229             (WebCore::AudioContext::AudioContext):
1230             (WebCore::AudioContext::constructCommon):
1231             (WebCore::AudioContext::lazyInitialize):
1232             (WebCore::AudioContext::startRendering):
1233             * Modules/webaudio/AudioContext.h:
1234             (WebCore::AudioContext::userGestureRequiredForAudioStart):
1235             (WebCore::AudioContext::addBehaviorRestriction):
1236             (WebCore::AudioContext::removeBehaviorRestriction):
1237             * Modules/webaudio/AudioDestinationNode.cpp:
1238             (WebCore::AudioDestinationNode::render):
1239             * Modules/webaudio/AudioScheduledSourceNode.cpp:
1240             (WebCore::AudioScheduledSourceNode::start):
1241
1242 2013-06-06  Ruth Fong  <ruth_fong@apple.com>
1243
1244         Expose HTMLCanvasElement supportsContext
1245         https://bugs.webkit.org/show_bug.cgi?id=70117
1246
1247         Reviewed by Darin Adler.
1248
1249         Adds the supportsContext function for <canvas> elements as speced here:
1250         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-supportscontext
1251
1252         Test: fast/canvas/webgl/canvas-supports-context.html
1253
1254         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1255         (WebCore::get3DContextAttributes): Added.
1256         Refactored function from JSHTMLCanvasElement::getContext that parses attributes.
1257         (WebCore::JSHTMLCanvasElement::getContext): Updated to use refactored function.
1258         (WebCore::JSHTMLCanvasElement::supportsContext): Added.
1259         Exposes JS function supportsContext.
1260         * html/HTMLCanvasElement.cpp:
1261         (WebCore::HTMLCanvasElement::getContext): Updated to use refactored functions.
1262         (WebCore::HTMLCanvasElement::supportsContext): Added.
1263         Implements supportsContext function based on contextId parameter (i.e. '2d').
1264         * html/HTMLCanvasElement.h: Added refactored functions from HTMLCanvasElement::getContext.
1265         * html/HTMLCanvasElement.idl:
1266
1267 2013-06-06  Zoltan Horvath  <zoltan@webkit.org>
1268
1269         [CSS Shapes] Rename updateLineBoundariesForExclusions to updateShapeAndSegmentsForCurrentLine
1270         https://bugs.webkit.org/show_bug.cgi?id=117308
1271
1272         Reviewed by Alexandru Chiculita.
1273
1274         We have a standalone specification for CSS Shapes now: http://dev.w3.org/csswg/css-shapes/
1275         this change renames updateLineBoundariesForExclusions to updateShapeAndSegmentsForCurrentLine.
1276
1277         No behavior change, no new tests needed.
1278
1279         * rendering/RenderBlock.h:
1280         * rendering/RenderBlockLineLayout.cpp:
1281         (WebCore::RenderBlock::updateLineBoundariesForShapes):
1282         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1283
1284 2013-06-06  Diego Pino Garcia  <dpino@igalia.com>
1285
1286         [GTK] Parameter 'refChild' from function 'webkit_dom_node_insert_before' should be allowed to be NULL
1287         https://bugs.webkit.org/show_bug.cgi?id=117303
1288
1289         Reviewed by Xan Lopez.
1290
1291         Add parameter 'refChild' to the list of parameters that are allowed to
1292         be NULL.
1293
1294         * bindings/scripts/CodeGeneratorGObject.pm:
1295
1296 2013-06-06  Bem Jones-Bey  <bjonesbe@adobe.com>
1297
1298         Fix formatting in BasicShapes.cpp
1299         https://bugs.webkit.org/show_bug.cgi?id=117309
1300
1301         Reviewed by Alexandru Chiculita.
1302
1303         I reformatted the code in BasicShapes.cpp (bug 116734) to fix the
1304         style issues, and I got some of the formatting wrong, which makes the
1305         code much harder to read. This patch fixes that formatting.
1306
1307         No new tests, formatting clean up.
1308
1309         * rendering/style/BasicShapes.cpp:
1310         (WebCore::BasicShapeRectangle::path): Fix formatting.
1311         (WebCore::BasicShapeInsetRectangle::path): Fix formatting.
1312
1313 2013-06-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1314
1315         Clean up AddIncludesForType in JSC bindings generators
1316         https://bugs.webkit.org/show_bug.cgi?id=117297
1317
1318         Reviewed by Kentaro Hara.
1319
1320         Clean up AddIncludesForType in JSC bindings generators:
1321         - Add JSC specific SkipIncludeHeader() subroutine and move
1322         exceptions there.
1323         - Remove special case for SerializedScriptValue by improving
1324         the condition for callbacks: "JS" prefix is now only added to
1325         headers in callbacks if they are wrapper types. Non-wrapper
1326         types such as SerializedScriptValue do not have a JS*.h
1327         header.
1328
1329         No new tests, code clean up.
1330
1331         * bindings/scripts/CodeGenerator.pm:
1332         (SkipIncludeHeader):
1333         - Reuse IsPrimitiveType() to avoid code duplication.
1334         - Remove special case for String as this is not a valid IDL type
1335         and it is not currently used.
1336         * bindings/scripts/CodeGeneratorJS.pm:
1337         (SkipIncludeHeader):
1338         (AddIncludesForType):
1339
1340 2013-06-06  Radu Stavila  <stavila@adobe.com>
1341
1342         :hover style not applied on hover if its display property is different from original style's
1343         https://bugs.webkit.org/show_bug.cgi?id=7555
1344
1345         Properly apply the :hover pseudo-class when reattaching is required (e.g. when changing the display type)
1346
1347         A new AttachContext class was created to be passed along as an optional parameter to the attach/detach/reattach methods.
1348         This new parameter is used to:
1349             - prevent the element from being removed from the list of hovered/active elements upon detach when a reattach is in progress
1350             - prevent the style from being incorrectly computed (due to the previous point)
1351             - prevent the style from being computed twice (the attach() method used to recompute it)
1352
1353         Special care was required to the case when display:none is specified in the :hover class. Enabling the :hover style
1354         was leaving the element without a renderer, which was causing it to remain stuck in the :hover state (subsequent mouseMove
1355         events were not able to reset the element to its normal style due to the fact that it had no renderer).
1356
1357         The DragController::startDrag method was updated to properly handle the case when dragImage is NULL 
1358         (for instance by setting display:none inside the -webkit-drag pseudo-class).
1359
1360         Reviewed by Antti Koivisto.
1361
1362         Tests: fast/regions/hover-display-block-inline.html
1363                fast/regions/hover-display-block-none.html
1364
1365         * page/DragController.cpp:
1366         (WebCore::DragController::startDrag):
1367         * dom/ContainerNode.cpp:
1368         (WebCore::ContainerNode::attach):
1369         (WebCore::ContainerNode::detach):
1370         * dom/ContainerNode.h:
1371         * dom/Document.cpp:
1372         (WebCore::Document::attach):
1373         (WebCore::Document::detach):
1374         (WebCore::Document::updateHoverActiveState):
1375         * dom/Document.h:
1376         * dom/Element.cpp:
1377         (WebCore::Element::setHovered):
1378         (WebCore::Element::createRendererIfNeeded):
1379         (WebCore::Element::attach):
1380         (WebCore::Element::detach):
1381         (WebCore::Element::recalcStyle):
1382         * dom/Element.h:
1383         * dom/Node.cpp:
1384         (WebCore::Node::AttachDetachContext::AttachDetachContext):
1385         (WebCore::Node::AttachDetachContext::~AttachDetachContext):
1386         (WebCore::Node::attach):
1387         (WebCore::Node::detach):
1388         * dom/Node.h:
1389         (WebCore::Node::reattach):
1390         (WebCore::Node::reattachIfAttached):
1391         * dom/NodeRenderingContext.cpp:
1392         (WebCore::NodeRenderingContext::NodeRenderingContext):
1393         * dom/PseudoElement.cpp:
1394         (WebCore::PseudoElement::attach):
1395         * dom/PseudoElement.h:
1396         * dom/ShadowRoot.cpp:
1397         (WebCore::ShadowRoot::attach):
1398         * dom/ShadowRoot.h:
1399         * dom/Text.cpp:
1400         (WebCore::Text::attach):
1401         * dom/Text.h:
1402         * html/HTMLCanvasElement.cpp:
1403         (WebCore::HTMLCanvasElement::attach):
1404         * html/HTMLCanvasElement.h:
1405         * html/HTMLFormControlElement.cpp:
1406         (WebCore::HTMLFormControlElement::attach):
1407         * html/HTMLFormControlElement.h:
1408         * html/HTMLFrameElement.cpp:
1409         (WebCore::HTMLFrameElement::attach):
1410         * html/HTMLFrameElement.h:
1411         * html/HTMLFrameElementBase.cpp:
1412         (WebCore::HTMLFrameElementBase::attach):
1413         * html/HTMLFrameElementBase.h:
1414         * html/HTMLFrameSetElement.cpp:
1415         (WebCore::HTMLFrameSetElement::attach):
1416         * html/HTMLFrameSetElement.h:
1417         * html/HTMLImageElement.cpp:
1418         (WebCore::HTMLImageElement::attach):
1419         * html/HTMLImageElement.h:
1420         * html/HTMLInputElement.cpp:
1421         (WebCore::HTMLInputElement::attach):
1422         (WebCore::HTMLInputElement::detach):
1423         * html/HTMLInputElement.h:
1424         * html/HTMLLIElement.cpp:
1425         (WebCore::HTMLLIElement::attach):
1426         * html/HTMLLIElement.h:
1427         * html/HTMLMediaElement.cpp:
1428         (WebCore::HTMLMediaElement::attach):
1429         * html/HTMLMediaElement.h:
1430         * html/HTMLOptGroupElement.cpp:
1431         (WebCore::HTMLOptGroupElement::attach):
1432         (WebCore::HTMLOptGroupElement::detach):
1433         * html/HTMLOptGroupElement.h:
1434         * html/HTMLOptionElement.cpp:
1435         (WebCore::HTMLOptionElement::attach):
1436         (WebCore::HTMLOptionElement::detach):
1437         * html/HTMLOptionElement.h:
1438         * html/HTMLPlugInElement.cpp:
1439         (WebCore::HTMLPlugInElement::detach):
1440         * html/HTMLPlugInElement.h:
1441         * html/HTMLPlugInImageElement.cpp:
1442         (WebCore::HTMLPlugInImageElement::attach):
1443         (WebCore::HTMLPlugInImageElement::detach):
1444         * html/HTMLPlugInImageElement.h:
1445         * html/HTMLProgressElement.cpp:
1446         (WebCore::HTMLProgressElement::attach):
1447         * html/HTMLProgressElement.h:
1448         * html/HTMLTextAreaElement.cpp:
1449         (WebCore::HTMLTextAreaElement::attach):
1450         * html/HTMLTextAreaElement.h:
1451         * html/HTMLVideoElement.cpp:
1452         (WebCore::HTMLVideoElement::attach):
1453         * html/HTMLVideoElement.h:
1454         * html/PluginDocument.cpp:
1455         (WebCore::PluginDocument::detach):
1456         * html/PluginDocument.h:
1457         * html/shadow/InsertionPoint.cpp:
1458         (WebCore::InsertionPoint::attach):
1459         (WebCore::InsertionPoint::detach):
1460         * html/shadow/InsertionPoint.h:
1461         * html/shadow/SliderThumbElement.cpp:
1462         (WebCore::SliderThumbElement::detach):
1463         * html/shadow/SliderThumbElement.h:
1464         * html/shadow/SpinButtonElement.cpp:
1465         (WebCore::SpinButtonElement::detach):
1466         * html/shadow/SpinButtonElement.h:
1467         * html/shadow/TextControlInnerElements.cpp:
1468         (WebCore::SearchFieldCancelButtonElement::detach):
1469         (WebCore::InputFieldSpeechButtonElement::attach):
1470         (WebCore::InputFieldSpeechButtonElement::detach):
1471         * html/shadow/TextControlInnerElements.h:
1472         * loader/PlaceholderDocument.cpp:
1473         (WebCore::PlaceholderDocument::attach):
1474         * loader/PlaceholderDocument.h:
1475         * svg/SVGImageElement.cpp:
1476         (WebCore::SVGImageElement::attach):
1477         * svg/SVGImageElement.h:
1478
1479 2013-06-06  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1480
1481         ENABLE(PAN_SCROLLING) AutoscrollController::updateAutoscrollRenderer calls hitTestResultAtPoint with `true` for HitTestRequestType
1482         https://bugs.webkit.org/show_bug.cgi?id=116896
1483
1484         Reviewed by Andreas Kling.
1485
1486         Update hitTestResultAtPoint call to new API.
1487
1488         * page/AutoscrollController.cpp:
1489         (WebCore::AutoscrollController::updateAutoscrollRenderer):
1490
1491 2013-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1492
1493         ResourceLoader::resourceData() should not return a PassRefPtr
1494         https://bugs.webkit.org/show_bug.cgi?id=117288
1495
1496         Reviewed by Darin Adler.
1497
1498         Change ResourceLoader::resourceData() to return a raw pointer
1499         instead of a PassRefPtr since we don't want to transfer the
1500         ownership of the resource data. Also pass a raw pointer to
1501         CachedResource::data() so that the cached resource can decide
1502         whether to take a reference of the data or not, for example,
1503         CachedRawResource only takes a reference when buffering policy is
1504         BufferData.
1505
1506         * html/ImageDocument.cpp:
1507         (WebCore::ImageDocumentParser::appendBytes):
1508         (WebCore::ImageDocumentParser::finish):
1509         * loader/ResourceLoader.cpp:
1510         * loader/ResourceLoader.h:
1511         (WebCore::ResourceLoader::resourceData):
1512         * loader/SubresourceLoader.cpp:
1513         (WebCore::SubresourceLoader::sendDataToResource):
1514         * loader/cache/CachedCSSStyleSheet.cpp:
1515         (WebCore::CachedCSSStyleSheet::data):
1516         * loader/cache/CachedCSSStyleSheet.h:
1517         * loader/cache/CachedFont.cpp:
1518         (WebCore::CachedFont::data):
1519         * loader/cache/CachedFont.h:
1520         * loader/cache/CachedImage.cpp:
1521         (WebCore::CachedImage::data):
1522         * loader/cache/CachedImage.h:
1523         * loader/cache/CachedRawResource.cpp:
1524         (WebCore::CachedRawResource::data):
1525         * loader/cache/CachedRawResource.h:
1526         * loader/cache/CachedResource.cpp:
1527         (WebCore::CachedResource::data):
1528         * loader/cache/CachedResource.h:
1529         * loader/cache/CachedSVGDocument.cpp:
1530         (WebCore::CachedSVGDocument::data):
1531         * loader/cache/CachedSVGDocument.h:
1532         * loader/cache/CachedScript.cpp:
1533         (WebCore::CachedScript::data):
1534         * loader/cache/CachedScript.h:
1535         * loader/cache/CachedShader.cpp:
1536         (WebCore::CachedShader::data):
1537         * loader/cache/CachedShader.h:
1538         * loader/cache/CachedTextTrack.cpp:
1539         (WebCore::CachedTextTrack::data):
1540         * loader/cache/CachedTextTrack.h:
1541         * loader/cache/CachedXSLStyleSheet.cpp:
1542         (WebCore::CachedXSLStyleSheet::data):
1543         * loader/cache/CachedXSLStyleSheet.h:
1544
1545 2013-06-06  Chris Fleizach  <cfleizach@apple.com>
1546
1547         AX: iOS ignores ARIA progressbar elements
1548         https://bugs.webkit.org/show_bug.cgi?id=116727
1549
1550         Reviewed by David Kilzer.
1551
1552         Make this an accessible element on iOS.
1553
1554         Test: platform/iphone-simulator/accessibility/progressbar.html
1555
1556         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
1557         (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
1558         (-[WebAccessibilityObjectWrapper _accessibilityMinValue]):
1559         (-[WebAccessibilityObjectWrapper _accessibilityMaxValue]):
1560
1561 2013-06-06  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1562
1563         Remove unused HashValueForClassAndName() from JSC bindings generator
1564         https://bugs.webkit.org/show_bug.cgi?id=117292
1565
1566         Reviewed by Kentaro Hara.
1567
1568         Remove HashValueForClassAndName() subroutine from JSC bindings generator
1569         as it is dead code.
1570
1571         No new tests, code clean up.
1572
1573         * bindings/scripts/CodeGeneratorJS.pm:
1574
1575 2013-06-06  Gwang Yoon Hwang  <ryumiel@company100.net>
1576
1577         Cannot set a new timer inside of timer callback in RunLoopTimerGtk & RunLoopTimerEFL
1578         https://bugs.webkit.org/show_bug.cgi?id=117224
1579
1580         Reviewed by Christophe Dumez.
1581
1582         RunLoopTimer should clear its isActive flag before invoking timer
1583         callback.
1584
1585         * platform/efl/RunLoopEfl.cpp:
1586         (WebCore::RunLoop::TimerBase::timerFired):
1587         * platform/gtk/RunLoopGtk.cpp:
1588         (WebCore::RunLoop::TimerBase::timerFiredCallback):
1589
1590 2013-06-06  Diego Pino Garcia  <dpino@igalia.com>
1591
1592         [GTK] Parameters 'inResult' and 'resolver' from function 'webkit_dom_document_evaluate' should be allowed to be NULL
1593         https://bugs.webkit.org/show_bug.cgi?id=117129
1594
1595         Reviewed by Xan Lopez.
1596
1597         At this moment there was a temporary fix that allowed parameter
1598         'inResult' to be NULL (see: webk.it/42115). However, there was no fix
1599         for parameter 'resolver'.
1600         
1601         This patch refactors the code of the previous fix, moving the code for
1602         determine whether a parameter can be NULL or not to GetGReturnMacro.
1603         The solution is quite general and will alow to add other parameters in
1604         the future if needed. 
1605
1606         * bindings/scripts/CodeGeneratorGObject.pm:
1607         (GetGReturnMacro): Pass functionName, as in some cases the code
1608         generated depends on the paramName and the functionName
1609         (ParamCanBeNull): Checks if a parameter is allowed to be NULL 
1610         (GenerateFunction):
1611
1612 2013-06-06  Zalan Bujtas  <zalan@apple.com>
1613
1614         SVG objects are misplaced when SVG root has CSS transform.
1615         https://bugs.webkit.org/show_bug.cgi?id=117252
1616
1617         Reviewed by Simon Fraser.
1618
1619         Update layer transforms for SVG if needed.
1620
1621         SVG root, similarly to RenderBlock needs to call RenderLayer
1622         to get transforms updated after layout, in order to
1623         position the transformed objects properly.
1624
1625         Test: fast/transforms/transform-svg.html
1626
1627         * rendering/svg/RenderSVGRoot.cpp:
1628         (WebCore::RenderSVGRoot::layout):
1629
1630 2013-06-06  Jae Hyun Park  <jae.park@company100.net>
1631
1632         Coordinated Graphics : Refactor CoordinatedSurface to manage the lifecycle of GraphicsContext
1633         https://bugs.webkit.org/show_bug.cgi?id=108899
1634
1635         Reviewed by Noam Rosenthal.
1636
1637         This is a preparation patch for Threaded Coordinated Graphics.
1638
1639         This patch changes CoordinatedSurface to be responsible for the
1640         lifecycle of GraphicsContext used in Coordinated Graphics System.
1641         CoordinatedImageBacking and UpdateAtlas do not ask for the ownership
1642         of GraphicsContext anymore. Instead, those classes use client pattern to
1643         ask the CoordiantedSurface to paint to the GraphicsContext.
1644
1645         This refactoring is needed to implement CoordinatedSurface for Threaded
1646         Coordinated Graphics.
1647
1648         No new tests, covered by existing tests.
1649
1650         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
1651         (WebCore::CoordinatedGraphicsLayer::paintToSurface):
1652         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
1653         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
1654         (WebCore::ImageBackingSurfaceClient::ImageBackingSurfaceClient):
1655         (WebCore::CoordinatedImageBacking::update):
1656         * platform/graphics/texmap/coordinated/CoordinatedSurface.h:
1657         (WebCore::CoordinatedSurface::Client::~Client):
1658         * platform/graphics/texmap/coordinated/CoordinatedTile.cpp:
1659         (WebCore::CoordinatedTile::updateBackBuffer):
1660         (WebCore::CoordinatedTile::paintToSurfaceContext):
1661         * platform/graphics/texmap/coordinated/CoordinatedTile.h:
1662         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
1663         (WebCore::UpdateAtlasSurfaceClient::UpdateAtlasSurfaceClient):
1664         (WebCore::UpdateAtlas::paintOnAvailableBuffer):
1665         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
1666
1667 2013-06-05  Ryosuke Niwa  <rniwa@webkit.org>
1668
1669         Revert the second half of r151257. WebGLRenderingContext::create can return null.
1670
1671         * html/HTMLCanvasElement.cpp:
1672         (WebCore::HTMLCanvasElement::getContext):
1673
1674 2013-06-05  Ryosuke Niwa  <rniwa@webkit.org>
1675
1676         Remove unnecessary null check in HTMLCanvasElement.cpp.
1677
1678         Rubber-stamped by Benjamin Poulain.
1679
1680         * html/HTMLCanvasElement.cpp:
1681         (WebCore::HTMLCanvasElement::getContext):
1682
1683 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
1684
1685         [curl] Add implementation for HTTP PUT method.
1686         https://bugs.webkit.org/show_bug.cgi?id=117256
1687
1688         Reviewed by Brent Fulgham.
1689
1690         No new tests, covered by existing tests.
1691
1692         * platform/network/curl/ResourceHandleManager.cpp:
1693         (WebCore::getFormSize):
1694         (WebCore::setupFormData):
1695         (WebCore::ResourceHandleManager::setupPUT):
1696         (WebCore::ResourceHandleManager::setupPOST):
1697
1698 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
1699
1700         [curl] Normalize mime type information
1701         https://bugs.webkit.org/show_bug.cgi?id=117194
1702
1703         Reviewed by Brent Fulgham.
1704
1705         * platform/MIMETypeRegistry.cpp: Enable MIME type normalization for curl.
1706
1707 2013-06-05  Xueqing Huang  <huangxueqing@baidu.com>
1708
1709         Move OleGetClipboard to Pasteboard::createForCopyAndPaste.
1710         https://bugs.webkit.org/show_bug.cgi?id=117064
1711
1712         Reviewed by Darin Adler.
1713
1714         No behavior change, no new tests.
1715
1716         * platform/win/EditorWin.cpp:
1717         (WebCore::Editor::newGeneralClipboard): Editor should not create IDataObject explicitly then set it to Pasteboard.
1718         * platform/win/PasteboardWin.cpp:
1719         (WebCore::Pasteboard::createForCopyAndPaste): Construct a Pasteboard and create IDataObject by "OleGetClipboard".
1720
1721 2013-06-05  Benjamin Poulain  <bpoulain@apple.com>
1722
1723         WebSQL forces 16-bit strings
1724         https://bugs.webkit.org/show_bug.cgi?id=116935
1725
1726         Reviewed by Darin Adler.
1727
1728         Merge chromium 49c9632ac135f6f06e623a7a81d9da1f6bb7196f.
1729         https://chromium.googlesource.com/chromium/blink/+/49c9632ac135f6f06e623a7a81d9da1f6bb7196f
1730
1731         * platform/sql/SQLiteStatement.cpp:
1732         (WebCore::SQLiteStatement::getColumnValue):
1733
1734 2013-06-05  Bear Travis  <betravis@adobe.com>
1735
1736         [CSS Exclusions][CSS Shapes] Split CSS Exclusions & Shapes compile & runtime flags
1737         https://bugs.webkit.org/show_bug.cgi?id=117172
1738
1739         Reviewed by Alexandru Chiculita.
1740
1741         This patch adds a new compile and runtime flag for the CSS Shapes feature, which
1742         has split off from the previous CSS Exclusions and Shapes specification. The
1743         specifications are available here:
1744         http://dev.w3.org/csswg/css-exclusions/
1745         http://dev.w3.org/csswg/css-shapes/
1746
1747         The changes introduce a new CSS_SHAPES compile flag, and a new cssShapesEnabled
1748         runtime flag. In general, the code changes are simple renames.
1749
1750         Refactoring, no new tests.
1751
1752         * bindings/generic/RuntimeEnabledFeatures.h:
1753         (WebCore::RuntimeEnabledFeatures::setCSSShapesEnabled):
1754         (WebCore::RuntimeEnabledFeatures::cssShapesEnabled):
1755         * css/CSSComputedStyleDeclaration.cpp:
1756         (WebCore::ComputedStyleExtractor::propertyValue):
1757         * css/CSSParser.cpp:
1758         (WebCore::isSimpleLengthPropertyID):
1759         (WebCore::CSSParser::parseValue):
1760         * css/CSSProperty.cpp:
1761         (WebCore::CSSProperty::isInheritedProperty):
1762         * css/DeprecatedStyleBuilder.cpp:
1763         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1764         * css/StyleResolver.cpp:
1765         (WebCore::StyleResolver::applyProperty):
1766         (WebCore::StyleResolver::loadPendingImages):
1767         * page/animation/CSSPropertyAnimation.cpp:
1768         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
1769         * rendering/BidiRun.h:
1770         (WebCore::BidiRun::BidiRun):
1771         * rendering/ExclusionShapeInfo.cpp:
1772         * rendering/ExclusionShapeInfo.h:
1773         * rendering/ExclusionShapeInsideInfo.cpp:
1774         * rendering/ExclusionShapeInsideInfo.h:
1775         * rendering/ExclusionShapeOutsideInfo.cpp:
1776         * rendering/ExclusionShapeOutsideInfo.h:
1777         * rendering/LayoutState.cpp:
1778         (WebCore::LayoutState::LayoutState):
1779         * rendering/LayoutState.h:
1780         (WebCore::LayoutState::LayoutState):
1781         * rendering/RenderBlock.cpp:
1782         (WebCore::RenderBlock::styleDidChange):
1783         (WebCore::exclusionInfoRequiresRelayout):
1784         (WebCore::RenderBlock::updateRegionsAndExclusionsBeforeChildLayout):
1785         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout):
1786         (WebCore::RenderBlock::insertFloatingObject):
1787         (WebCore::RenderBlock::computeLogicalLocationForFloat):
1788         (WebCore::RenderBlock::positionNewFloats):
1789         (WebCore::::collectIfNeeded):
1790         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1791         (WebCore::RenderBlock::logicalRightOffsetForLine):
1792         * rendering/RenderBlock.h:
1793         (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
1794         (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
1795         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
1796         * rendering/RenderBlockLineLayout.cpp:
1797         (WebCore::LineWidth::LineWidth):
1798         (WebCore::LineWidth::updateAvailableWidth):
1799         (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
1800         (WebCore::RenderBlock::constructLine):
1801         (WebCore::computeExpansionForJustifiedText):
1802         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
1803         (WebCore::RenderBlock::computeInlineDirectionPositionsForSegment):
1804         (WebCore::constructBidiRunsForLine):
1805         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1806         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
1807         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1808         * rendering/RenderBox.cpp:
1809         (WebCore::RenderBox::willBeDestroyed):
1810         (WebCore::RenderBox::styleDidChange):
1811         * rendering/RenderBox.h:
1812         * rendering/RenderBoxModelObject.cpp:
1813         (WebCore::RenderBoxModelObject::paintOffset):
1814         * rendering/RenderLayer.cpp:
1815         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
1816         * rendering/RenderObject.h:
1817         (WebCore::RenderObject::hasPaintOffset):
1818         * rendering/RenderView.h:
1819         (WebCore::RenderView::pushLayoutState):
1820         * rendering/style/RenderStyle.cpp:
1821         (WebCore::RenderStyle::changeRequiresLayout):
1822         * rendering/style/RenderStyle.h:
1823         * testing/InternalSettings.cpp:
1824         (WebCore::InternalSettings::Backup::Backup):
1825         (WebCore::InternalSettings::Backup::restoreTo):
1826         (WebCore::InternalSettings::setCSSShapesEnabled):
1827
1828 2013-06-05  Oliver Hunt  <oliver@apple.com>
1829
1830         Don't throttle timers if a page is doing something that might be interesting
1831         https://bugs.webkit.org/show_bug.cgi?id=117273
1832
1833         Reviewed by Gavin Barraclough.
1834
1835         Make the decision about whether or not to throttle timers be
1836         determined by the PageThrottler
1837
1838         * page/Page.cpp:
1839         (WebCore::Page::throttleTimers):
1840         (WebCore::Page::unthrottleTimers):
1841         (WebCore::Page::setVisibilityState):
1842         (WebCore::Page::hiddenPageDOMTimerThrottlingStateChanged):
1843         * page/Page.h:
1844         * page/PageThrottler.cpp:
1845         (WebCore::PageThrottler::throttlePage):
1846         (WebCore::PageThrottler::unthrottlePage):
1847
1848 2013-06-05  Mark Salisbury  <mark.salisbury@hp.com>
1849
1850         [WinCE,WinCairo] RenderThemeWin.cpp needs to include FrameSelection.h.
1851         https://bugs.webkit.org/show_bug.cgi?id=116583
1852
1853         Reviewed by Brent Fulgham.
1854
1855         * rendering/RenderThemeWin.cpp:
1856
1857 2013-06-05  Peter Gal  <galpeter@inf.u-szeged.hu>
1858
1859         [curl] Restrict allowed protocols
1860         https://bugs.webkit.org/show_bug.cgi?id=117257
1861
1862         Reviewed by Brent Fulgham.
1863
1864         curl supports various protocols (like: HTTP,...,POP3,IMAP...) and by
1865         default all of the are enabled for a single curl handle. Furthermore
1866         all of the protocols are allowed during Location header follow.
1867         This could pose a security risk for example: a malicious server responds
1868         with a crafted Location header pointing to an imap/../(etc) url and the
1869         curl backend will follow it and will give the result for the WebCore.
1870
1871         This patch will restrict the allowed protocols to: HTTP(S), FTP(S), FILE
1872
1873         * platform/network/curl/ResourceHandleManager.cpp:
1874         (WebCore::ResourceHandleManager::initializeHandle):
1875
1876 2013-06-05  Bear Travis  <betravis@adobe.com>
1877
1878         [css exclusions] Clean up ExclusionShapeInsideInfo dynamic removal code
1879         https://bugs.webkit.org/show_bug.cgi?id=116236
1880
1881         Reviewed by David Hyatt.
1882
1883         Instead of keeping the ExclusionShapeInsideInfo around after it has
1884         become stale, we can immediately remove it and just mark descendants
1885         for relayout. This patch removes most of the code added by
1886         https://bugs.webkit.org/show_bug.cgi?id=111029
1887         in favor of this simpler approach.
1888
1889         This patch does not introduce new functionality.
1890
1891         * rendering/ExclusionShapeInsideInfo.h:
1892         (WebCore::ExclusionShapeInsideInfo::ExclusionShapeInsideInfo):
1893         (ExclusionShapeInsideInfo): Remove needsRemoval code.
1894         * rendering/LayoutState.cpp:
1895         (WebCore::LayoutState::LayoutState): Ditto.
1896         * rendering/RenderBlock.cpp:
1897         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Remove
1898         needsRemoval code and mark descendants for layout.
1899         (WebCore):
1900         (WebCore::RenderBlock::markShapeInsideDescendantsForLayout): Method to mark
1901         descendants of a shape inside with inline content for layout.
1902         (WebCore::exclusionInfoRequiresRelayout): Remove needsRemoval code.
1903         (WebCore::RenderBlock::updateRegionsAndExclusionsAfterChildLayout): Ditto.
1904         * rendering/RenderBlock.h:
1905         (WebCore::RenderBlock::exclusionShapeInsideInfo): Ditto.
1906         (RenderBlock):
1907         * rendering/RenderBlockLineLayout.cpp:
1908         (WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Ditto.
1909
1910 2013-06-05  Arunprasad Rajkumar  <arurajku@cisco.com>
1911
1912         Avoid multiple copies of inline script & style strings
1913         https://bugs.webkit.org/show_bug.cgi?id=117202
1914
1915         Reviewed by Darin Adler.
1916
1917         Merge from https://chromiumcodereview.appspot.com/16005007.
1918
1919         No new tests needed.
1920
1921         The HTML parser breaks up large text nodes into small chunks to avoid some
1922         O(n^2) editing algorithms. This fix skips that workaround for <script> and
1923         <style> elements, which aren't likely to need editing. As a result, <script>
1924         ends up with a single text node, containing a contiguous String, which is the
1925         source code of that inline script block.
1926
1927         Prior this fix, we could end up with two copies of large inline scripts: one
1928         monolithic string retained by JSC and a number of shards retained by the DOM.
1929         After this fix, both the DOM and JSC use the same monolithic string, removing a
1930         copy.
1931
1932         * dom/Text.cpp:
1933         (WebCore::Text::createWithLengthLimit):
1934         * html/parser/HTMLConstructionSite.cpp:
1935         (WebCore::shouldUseLengthLimit):
1936         (WebCore::HTMLConstructionSite::insertTextNode):
1937
1938 2013-06-05  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1939
1940         [EFL] Build fix with EGL and GLES2 backend.
1941         https://bugs.webkit.org/show_bug.cgi?id=117246
1942
1943         Reviewed by Kenneth Rohde Christiansen.
1944
1945         r150958 added support for EGLTransportSurfaceClient.
1946         This patch adds the missing changes.
1947
1948         * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
1949         (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
1950         (WebCore::GLTransportSurfaceClient::GLTransportSurfaceClient):
1951         * platform/graphics/surfaces/efl/GLTransportSurface.h:
1952         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
1953         (WebCore::GraphicsSurfacePrivate::initializeClient):
1954         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
1955         (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
1956         * platform/graphics/surfaces/egl/EGLXSurface.h:
1957         * platform/graphics/surfaces/glx/GLXSurface.cpp:
1958         (WebCore::GLXTransportSurfaceClient::GLXTransportSurfaceClient):
1959         * platform/graphics/surfaces/glx/GLXSurface.h:
1960         * platform/graphics/surfaces/glx/X11Helper.cpp:
1961         (WebCore::X11Helper::createOffScreenWindow):
1962         (WebCore::X11Helper::createPixmap):
1963         * platform/graphics/surfaces/glx/X11Helper.h:
1964
1965 2013-06-05  Jae Hyun Park  <jae.park@company100.net>
1966
1967         [GTK] Support using GLContext from multiple threads
1968         https://bugs.webkit.org/show_bug.cgi?id=117238
1969
1970         Reviewed by Martin Robinson.
1971
1972         Current implementation assumes that GLContext is only used in the main thread.
1973         However, to support using GLContext from multiple threads, we need to change it
1974         to thread local. Therefore, ASSERT(isMainThread()) is removed and GLContext is
1975         changed to thread local.
1976
1977         * platform/graphics/cairo/GLContext.cpp:
1978         (WebCore::ThreadGlobalGLContext::setContext):
1979         (WebCore::ThreadGlobalGLContext::context):
1980         (WebCore::currentContext):
1981         (WebCore::GLContext::sharingContext):
1982         (WebCore::GLContext::~GLContext):
1983         (WebCore::GLContext::makeContextCurrent):
1984         (WebCore::GLContext::getCurrent):
1985
1986 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1987
1988         Unreviewed build fix when CHANNEL_MESSAGING is disabled.
1989
1990         Add #if ENABLE(CHANNEL_MESSAGING) to JSMessageChannelCustom.cpp.
1991
1992         * bindings/js/JSMessageChannelCustom.cpp:
1993
1994 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1995
1996         Remove remaining custom getters for WorkerContext constructor attributes
1997         https://bugs.webkit.org/show_bug.cgi?id=117247
1998
1999         Reviewed by Kentaro Hara.
2000
2001         Remove custom getter code for remaining constructor attribute on WorkerContext
2002         interface. The custom code wasn't needed as it was doing nothing more than the
2003         generated one. These constructor attributes are now automatically generated.
2004
2005         No new tests, no behavior change.
2006
2007         * CMakeLists.txt:
2008         * DerivedSources.make:
2009         * DerivedSources.pri:
2010         * GNUmakefile.list.am:
2011         * Modules/websockets/WebSocket.idl:
2012         * Modules/websockets/WorkerContextWebSocket.idl: Removed.
2013         * WebCore.order:
2014         * WebCore.xcodeproj/project.pbxproj:
2015         * bindings/js/JSWorkerContextCustom.cpp:
2016         * dom/MessageChannel.idl:
2017         * page/EventSource.idl:
2018         * workers/WorkerContext.idl:
2019         * xml/XMLHttpRequest.idl:
2020
2021 2013-06-05  Ryuan Choi  <ryuan.choi@samsung.com>
2022
2023         Remove ChromeClient::deviceOrPageScaleFactorChanged
2024         https://bugs.webkit.org/show_bug.cgi?id=117245
2025
2026         Reviewed by Andreas Kling.
2027
2028         It was introduced for chromium at r147357.
2029         But now, there are no ports to use this.
2030
2031         No new tests - no behavior change.
2032
2033         * page/ChromeClient.h:
2034         * page/Frame.cpp:
2035         (WebCore::Frame::deviceOrPageScaleFactorChanged):
2036
2037 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
2038
2039         [Coordinated Graphics] Prevent a recursive painting in CoordinatedGraphicsLayer
2040         https://bugs.webkit.org/show_bug.cgi?id=117222
2041
2042         Reviewed by Noam Rosenthal.
2043
2044         CoordinatedGraphicsLayer::flushCompositingState() will cross frame
2045         boundaries if the GraphicsLayers are connected. In this case,
2046         updateContentBuffers will invoke a painting of a sub-frame that causes
2047         flushCompositingState recursively.
2048
2049         To prevent this behavior this patch extracts updateContentBuffers from
2050         flushCompositingState, and places it in
2051         updateContentBuffersIncludeSublayers, which is another tree traveler for
2052         painting.
2053
2054         No new tests, covered by existing tests.
2055
2056         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
2057         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
2058         (WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
2059         (WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):
2060         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
2061
2062 2013-06-05  Andreas Kling  <akling@apple.com>
2063
2064         Fix some inefficiencies in AnimationController's composite animation map.
2065         <http://webkit.org/b/117248>
2066
2067         Reviewed by Antti Koivisto.
2068
2069         Clean up some small things that were showing up in a window resizing profile (0.4%)
2070
2071         * page/animation/AnimationControllerPrivate.h:
2072         * page/animation/AnimationController.cpp:
2073         (WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
2074
2075             Renamed this ensure* to conform to the WebKit Design Patterns, 2013 edition.
2076             Always do a single hash lookup instead of two.
2077
2078         (WebCore::AnimationControllerPrivate::clear):
2079
2080             Use RefPtr<T> for local variables, never PassRefPtr<T>. See WKDP, 2013 ed.
2081
2082         (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
2083         (WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
2084         (WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
2085         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2086
2087             Peek into m_compositeAnimations through "const CompositeAnimation*" instead
2088             of using RefPtrs. There's no need to hold a reference on the animation while
2089             querying some const method on it.
2090
2091         (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
2092         (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
2093         (WebCore::AnimationController::updateAnimations):
2094
2095             Poke into m_compositeAnimations through "CompositeAnimation*" instead of using
2096             RefPtrs. There's no need to hold a reference here either, we can modify the
2097             animations through a raw pointer.
2098
2099 2013-06-05  Roland Takacs  <rtakacs@inf.u-szeged.hu>
2100
2101         Web Inspector: Clear button doesn't clean Memory graph in Overview pane.
2102         https://bugs.webkit.org/show_bug.cgi?id=112429
2103
2104         Reviewed by Noam Rosenthal.
2105
2106         There is an early return from TimelineMemoryOverview.update() when
2107         record array is empty. Thats why if you click onto the clear button,
2108         the canvas won't be updated.
2109         Moved this "return condition" after the canvas size definition
2110         because we need to know the canvas size for refreshing.
2111         Overridden TimelineOverviewBase's reset function to clear
2112         HeapSizeLabels' content.
2113
2114         * inspector/front-end/TimelineOverviewPane.js:
2115         (WebInspector.TimelineMemoryOverview.prototype.reset):
2116         (WebInspector.TimelineMemoryOverview.prototype.update):
2117
2118 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
2119
2120         [Coordinated Graphics] Rename client classes for CoordinatedImageBacking and UpdateAtlas.
2121         https://bugs.webkit.org/show_bug.cgi?id=111948
2122
2123         Reviewed by Noam Rosenthal.
2124
2125         This patch renames CoordinatedImageBacking::Coordinator to
2126         CoordinatedImageBacking::Client, and UpdateAtlasClient to
2127         UpdateAtlas::Client for naming consistency and clarification.
2128
2129         No new tests, covered by existing tests.
2130
2131         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
2132         (WebCore::CoordinatedImageBacking::create):
2133         (WebCore::CoordinatedImageBacking::CoordinatedImageBacking):
2134         (WebCore::CoordinatedImageBacking::removeHost):
2135         (WebCore::CoordinatedImageBacking::update):
2136         (WebCore::CoordinatedImageBacking::clearContentsTimerFired):
2137         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
2138         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
2139         (WebCore::UpdateAtlas::UpdateAtlas):
2140         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
2141
2142 2013-06-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2143
2144         [Qt] Handle Return key without key text
2145         https://bugs.webkit.org/show_bug.cgi?id=117239
2146
2147         Reviewed by Andreas Kling.
2148
2149         Test added to tst_qwebpage.cpp.
2150
2151         * platform/qt/PlatformKeyboardEventQt.cpp:
2152         (WebCore::keyTextForKeyEvent):
2153
2154 2013-06-05  Gwang Yoon Hwang  <ryumiel@company100.net>
2155
2156         Coordinated Graphics: Unify messages related object's lifecycles into CoordinatedGraphicsState.
2157         https://bugs.webkit.org/show_bug.cgi?id=111919
2158
2159         Reviewed by Noam Rosenthal.
2160
2161         CoordinatedLayerTreeHostProxy has several methods, which simply passes
2162         these calls to CoordinatedGraphicsScene.
2163
2164         This patch removes methods in CoordinatedLayerTreeHostProxy just for
2165         message chaining. Instead of that, messages for creation/deletion of objects
2166         (Layers, CustomFilters, UpdateAtlas, and ImageBacking) are unified into
2167         CommitCoordinatedGraphicsState.
2168
2169         And this patch also removes codes for WebCoordinatedSurface in
2170         CoordinatedLayerTreeHost, except for a factory method.
2171         CoordinatedGraphicsArgumentCoders [en|de]codes CoordinatedSurface itself
2172         using WebCoordinatedSurface.
2173
2174         No new tests, covered by existing tests.
2175
2176         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
2177         (WebCore::CoordinatedGraphicsScene::syncCustomFilterPrograms):
2178         (WebCore::CoordinatedGraphicsScene::syncUpdateAtlases):
2179         (WebCore::CoordinatedGraphicsScene::syncImageBackings):
2180         (WebCore::CoordinatedGraphicsScene::commitSceneState):
2181         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
2182         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
2183         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
2184         (WebCore::CoordinatedImageBacking::update):
2185         * platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
2186         * platform/graphics/texmap/coordinated/UpdateAtlas.cpp:
2187         (WebCore::UpdateAtlas::UpdateAtlas):
2188         * platform/graphics/texmap/coordinated/UpdateAtlas.h:
2189
2190 2013-06-05  Andreas Kling  <akling@apple.com>
2191
2192         Remove unnecessary null checks in SelectorChecker::checkOne().
2193         <http://webkit.org/b/117243>
2194
2195         Reviewed by Antti Koivisto.
2196
2197         This function was riddled with unnecessary null checks of 'element', despite ASSERT(element)
2198         being the first thing it does.
2199
2200         * css/SelectorChecker.cpp:
2201         (WebCore::SelectorChecker::checkOne):
2202
2203 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2204
2205         Merge [NoInterfaceObject] and [OmitConstructor] extended attributes
2206         https://bugs.webkit.org/show_bug.cgi?id=115853
2207
2208         Reviewed by Geoffrey Garen.
2209
2210         Remove [OmitConstructor] extended attribute as it is overlapping with
2211         the standard [NoInterfaceObject] Web IDL extended attribute.
2212
2213         Having [NoInterfaceObject] extended attribute on an interface now
2214         implies that its constructor is omitted (i.e. not generated).
2215
2216         No new tests, no behavior change.
2217
2218         * Modules/geolocation/Coordinates.idl:
2219         * Modules/geolocation/Geolocation.idl:
2220         * Modules/geolocation/Geoposition.idl:
2221         * Modules/notifications/Notification.idl:
2222         * Modules/notifications/NotificationCenter.idl:
2223         * Modules/quota/StorageInfo.idl:
2224         * Modules/quota/StorageQuota.idl:
2225         * Modules/webdatabase/Database.idl:
2226         * Modules/webdatabase/DatabaseSync.idl:
2227         * Modules/webdatabase/SQLError.idl:
2228         * Modules/webdatabase/SQLResultSet.idl:
2229         * Modules/webdatabase/SQLResultSetRowList.idl:
2230         * Modules/webdatabase/SQLTransaction.idl:
2231         * Modules/webdatabase/SQLTransactionSync.idl:
2232         * bindings/scripts/CodeGeneratorJS.pm:
2233         (GenerateHeader):
2234         (GenerateAttributesHashTable):
2235         (GenerateImplementation):
2236         * bindings/scripts/IDLAttributes.txt:
2237         * css/CSSUnknownRule.idl:
2238         * css/MediaQueryListListener.idl:
2239         * dom/EventListener.idl:
2240         * dom/EventTarget.idl:
2241         * html/MicroDataItemValue.idl:
2242         * html/ValidityState.idl:
2243         * html/canvas/EXTDrawBuffers.idl:
2244         * html/canvas/EXTTextureFilterAnisotropic.idl:
2245         * html/canvas/OESElementIndexUint.idl:
2246         * html/canvas/OESStandardDerivatives.idl:
2247         * html/canvas/OESTextureFloat.idl:
2248         * html/canvas/OESTextureHalfFloat.idl:
2249         * html/canvas/OESVertexArrayObject.idl:
2250         * html/canvas/WebGLCompressedTextureATC.idl:
2251         * html/canvas/WebGLCompressedTexturePVRTC.idl:
2252         * html/canvas/WebGLCompressedTextureS3TC.idl:
2253         * html/canvas/WebGLContextAttributes.idl:
2254         * html/canvas/WebGLDebugRendererInfo.idl:
2255         * html/canvas/WebGLDebugShaders.idl:
2256         * html/canvas/WebGLDepthTexture.idl:
2257         * html/canvas/WebGLLoseContext.idl:
2258         * inspector/JavaScriptCallFrame.idl:
2259         * inspector/ScriptProfile.idl:
2260         * inspector/ScriptProfileNode.idl:
2261         * loader/appcache/DOMApplicationCache.idl:
2262         * page/AbstractView.idl:
2263         * page/Console.idl:
2264         * page/Crypto.idl:
2265         * page/PerformanceEntryList.idl:
2266         * page/WorkerNavigator.idl:
2267         * page/make_settings.pl:
2268         (generateInternalSettingsIdlFile):
2269         * svg/ElementTimeControl.idl:
2270         * svg/SVGAnimationElement.idl:
2271         * svg/SVGExternalResourcesRequired.idl:
2272         * svg/SVGFitToViewBox.idl:
2273         * svg/SVGLangSpace.idl:
2274         * svg/SVGLocatable.idl:
2275         * svg/SVGTests.idl:
2276         * svg/SVGTransformable.idl:
2277         * svg/SVGURIReference.idl:
2278         * testing/InternalSettings.idl:
2279         * testing/Internals.idl:
2280         * testing/MallocStatistics.idl:
2281         * testing/MemoryInfo.idl:
2282         * testing/TypeConversions.idl:
2283         * workers/DedicatedWorkerContext.idl:
2284         * workers/SharedWorkerContext.idl:
2285         * workers/WorkerContext.idl:
2286         * xml/XPathNSResolver.idl:
2287
2288 2013-06-05  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2289
2290         [Qt] Font::shouldUseSmoothing() has fake dependency on Qt 5.1
2291         https://bugs.webkit.org/show_bug.cgi?id=117195
2292
2293         Reviewed by Jocelyn Turcotte.
2294
2295         Remove the fake dependency on Qt 5.1 so we may rebase the layout tests
2296         before switching to Qt 5.1
2297
2298         * platform/graphics/qt/FontPlatformDataQt.cpp:
2299         (WebCore::FontPlatformData::FontPlatformData):
2300
2301 2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
2302
2303         [CSSRegions] Respect renderer creation constraints when element is part of named flow
2304         https://bugs.webkit.org/show_bug.cgi?id=116790
2305
2306         Reviewed by David Hyatt.
2307
2308         Before adding a child to a named flow, we have to make sure that the rules for
2309         creation are properly checked.
2310
2311         Test: fast/regions/br-content-node-crash.xhtml
2312
2313         * rendering/RenderNamedFlowThread.cpp:
2314         (WebCore::RenderNamedFlowThread::isChildAllowed):
2315         Call isChildAllowed on the original parent renderer, before reparenting to
2316         named flow.
2317         * rendering/RenderNamedFlowThread.h:
2318
2319 2013-06-05  Philippe Normand  <pnormand@igalia.com>
2320
2321         Unreviewed, GStreamer 0.10 build fix after r151175.
2322
2323         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2324         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
2325         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
2326         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
2327         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
2328         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2329         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2330
2331 2013-06-05  Mihnea Ovidenie  <mihnea@adobe.com>
2332
2333         [CSS Regions] REGRESSION Incorrect layer clipping inside flow thread
2334         https://bugs.webkit.org/show_bug.cgi?id=117074
2335
2336         Reviewed by David Hyatt.
2337
2338         Function RenderBox::mapLocalToContainer was adapted for elements inside flow threads to convert
2339         elements coordinates to RenderView coordinates, passing through the region in which the elements
2340         were flowed (https://bugs.webkit.org/show_bug.cgi?id=66641).
2341
2342         The fix for https://bugs.webkit.org/show_bug.cgi?id=76486 modified RenderLayer::calculateClipRects and replaced
2343         convertToLayerCoords with localToContainerPoint, which further calls mapLocalToContainer.
2344
2345         However, for elements inside the flow thread, which acts as a root layer for its collected children, we do not want
2346         to get the offset in RenderView coordinates but rather in flow thread coordinates (and still take transforms into
2347         account). This patch modifies RenderBox::mapLocalToContainer so that it stops at flow thread boundary when the passed
2348         repaintContainer is the flow thread. The flow thread is the container for repaint for elements inside it, as seen from
2349         RenderObject::containerForRepaint.
2350
2351         No new tests, converted overflow-size-change-with-stacking-context and overflow-size-change-with-stacking-context-rtl
2352         into ref tests so that the we do not rely on pixel tests in the future.
2353
2354         * rendering/RenderBox.cpp:
2355         (WebCore::RenderBox::mapLocalToContainer):
2356
2357 2013-06-05  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2358
2359         Remove [NoInterfaceObject] from TreeWalker
2360         https://bugs.webkit.org/show_bug.cgi?id=117225
2361
2362         Reviewed by Kentaro Hara.
2363
2364         Remove [NoInterfaceObject] IDL extended attribute from TreeWalker interface
2365         to match Firefox's behavior and the specification:
2366         http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker
2367
2368         No new tests, already covered by existing tests.
2369
2370         * dom/TreeWalker.idl:
2371
2372 2013-06-05  Zan Dobersek  <zdobersek@igalia.com>
2373
2374         Move MemoryInfo under window.internals
2375         https://bugs.webkit.org/show_bug.cgi?id=117197
2376
2377         Reviewed by Ryosuke Niwa.
2378
2379         The MemoryInfo interface is not a subject of any specification and should not be exposed
2380         to the Web. It's still used by the performance tests so it is moved under the testing
2381         internals, accessible through window.internals.memoryInfo.
2382
2383         The jsHeapSizeLimit attribute is removed from the MemoryInfo interface as that value was
2384         only usable when using the V8 bindings which are not supported anymore. A small fast/harness
2385         test is also provided to check that the MemoryInfo object is accessible through window.internals.
2386
2387         Test: fast/harness/memoryinfo-object.html
2388
2389         * CMakeLists.txt:
2390         * DerivedSources.cpp:
2391         * DerivedSources.make:
2392         * DerivedSources.pri:
2393         * GNUmakefile.list.am:
2394         * Target.pri:
2395         * UseJSC.cmake:
2396         * WebCore.exp.in:
2397         * WebCore.order:
2398         * WebCore.vcxproj/WebCore.vcxproj:
2399         * WebCore.vcxproj/WebCore.vcxproj.filters:
2400         * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
2401         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
2402         * WebCore.xcodeproj/project.pbxproj:
2403         * bindings/gobject/GNUmakefile.am: Remove the GObject bindings targets for MemoryInfo.
2404         * bindings/js/JSBindingsAllInOne.cpp: Remove the JSMemoryInfo.h and MemoryInfo.h inclusion.
2405         * bindings/js/JSMemoryInfoCustom.cpp: Removed.
2406         * bindings/js/ScriptGCEvent.cpp: Remove the ENABLE(INSPECTOR) guards.
2407         (WebCore::ScriptGCEvent::getHeapSize): Remove the jsHeapSizeLimit assignment.
2408         * bindings/js/ScriptGCEvent.h: Remove the ENABLE(INSPECTOR) guards.
2409         (WebCore::HeapInfo::HeapInfo): Remove the jsHeapSizeLimit member.
2410         * page/Console.cpp: Remove the Console::memory method.
2411         * page/Console.h: Ditto.
2412         * page/Console.idl: Remove the window.console.memory attribute.
2413         * page/MemoryInfo.cpp: Removed.
2414         * page/Performance.cpp: Remove the Performance::memory method.
2415         * page/Performance.h: Ditto.
2416         * page/Performance.idl: Remove the window.performance.memory attribute.
2417         * testing/Internals.cpp:
2418         (WebCore::Internals::memoryInfo): Return a MemoryInfo object upon invoking.
2419         * testing/Internals.h: Declare the Internals::memoryInfo method.
2420         * testing/Internals.idl: Expose the window.internals.memoryInfo operation.
2421         * testing/MemoryInfo.h: Renamed from Source/WebCore/page/MemoryInfo.h.
2422         (WebCore::MemoryInfo::create): Return a new RefPtr-wrapped MemoryInfo object.
2423         (WebCore::MemoryInfo::usedJSHeapSize): Return the value of the equally-named HeapInfo member.
2424         (WebCore::MemoryInfo::totalJSHeapSize): Ditto.
2425         (WebCore::MemoryInfo::MemoryInfo): Acquire the current heap info upon construction.
2426         * testing/MemoryInfo.idl: Renamed from Source/WebCore/page/MemoryInfo.idl.
2427         The jsHeapSizeLimit attribute is removed.
2428
2429 2013-06-04  Peter Gal  <galpeter@inf.u-szeged.hu>
2430
2431         [curl] Headers should be parsed as utf8 if possible
2432         https://bugs.webkit.org/show_bug.cgi?id=117196
2433
2434         Reviewed by Brent Fulgham.
2435
2436         Testcase already present: http/tests/download/literal-utf-8.html
2437
2438         * platform/network/curl/ResourceHandleManager.cpp:
2439         (WebCore::headerCallback): Parse the header as an utf8 string if possible.
2440
2441 2013-06-04  Oliver Hunt  <oliver@apple.com>
2442
2443         Prevent throttling while resources are being loaded
2444         https://bugs.webkit.org/show_bug.cgi?id=117218
2445
2446         Reviewed by Gavin Barraclough.
2447
2448         Make use of the page activity assertion infrastructure to delay
2449         throttling while we are waiting on resource loads.
2450
2451         * loader/FrameLoader.cpp:
2452         (WebCore::FrameLoader::completed):
2453         (WebCore::FrameLoader::started):
2454         * loader/FrameLoader.h:
2455         * loader/SubresourceLoader.cpp:
2456         (WebCore::SubresourceLoader::init):
2457         (WebCore::SubresourceLoader::checkForHTTPStatusCodeError):
2458         (WebCore::SubresourceLoader::didFinishLoading):
2459         (WebCore::SubresourceLoader::didFail):
2460         (WebCore::SubresourceLoader::willCancel):
2461         * loader/SubresourceLoader.h:
2462
2463 2013-06-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2464
2465         Remove [NoInterfaceObject] from XPathExpression and NodeIterator
2466         https://bugs.webkit.org/show_bug.cgi?id=117204
2467
2468         Reviewed by Alexey Proskuryakov.
2469
2470         Remove [NoInterfaceObject] from XPathExpression and NodeIterator to match
2471         their respective specifications:
2472         - http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression
2473         - http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator
2474
2475         No new tests, already covered by:
2476         fast/js/global-constructors-attributes.html
2477
2478         * dom/NodeIterator.idl:
2479         * xml/XPathExpression.idl:
2480
2481 2013-06-04  Chris Fleizach  <cfleizach@apple.com>
2482
2483         AX: MathML multiscripts not exposed in Accessibility
2484         https://bugs.webkit.org/show_bug.cgi?id=115069
2485
2486         Unreviewed, build fix.
2487
2488         Remove an accessibility iOS method that was erroneously added.
2489
2490         * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
2491
2492 2013-06-04  Greg Hughes  <ghughes@apple.com>
2493
2494         Add "VisibleOnly" key to search predicate
2495         https://bugs.webkit.org/show_bug.cgi?id=115491
2496
2497         Reviewed by Chris Fleizach.
2498
2499         Added support for accessibility clients to use the search predicate to find only visible elements
2500
2501         * accessibility/AccessibilityObject.cpp:
2502         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
2503         (WebCore::AccessibilityObject::isOnscreen):
2504         (WebCore):
2505         * accessibility/AccessibilityObject.h:
2506         (AccessibilitySearchCriteria):
2507         (WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):
2508         (AccessibilityObject):
2509         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
2510         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2511
2512 2013-06-04  Roger Fong  <roger_fong@apple.com>
2513
2514         Unreviewed. Rollout of r151146. Broke some tests.
2515
2516         * page/FrameView.cpp:
2517         (WebCore::FrameView::forceLayoutForPagination):
2518         * rendering/RenderBlock.cpp:
2519         (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
2520         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
2521         (WebCore::RenderBlock::layout):
2522         * rendering/RenderBlock.h:
2523         * rendering/RenderBox.cpp:
2524         (WebCore::RenderBox::clearLayoutOverflow):
2525         * rendering/RenderBox.h:
2526         * rendering/RenderDeprecatedFlexibleBox.cpp:
2527         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2528         * rendering/RenderGrid.cpp:
2529         (WebCore::RenderGrid::layoutBlock):
2530
2531 2013-06-04  Noam Rosenthal  <noam@webkit.org>
2532
2533         Refactor the code that decides whether to enable WebGL from settings to helper functions
2534         https://bugs.webkit.org/show_bug.cgi?id=117181
2535
2536         This removes some #ifdef crud out of the getContext() function.
2537
2538         Reviewed by Benjamin Poulain.
2539
2540         * html/HTMLCanvasElement.cpp:
2541         (WebCore::requiresAcceleratedCompositingForWebGL):
2542         (WebCore::shouldEnableWebGL):
2543         (WebCore::HTMLCanvasElement::getContext):
2544
2545 2013-06-04  Thiago Santos  <thiago.sousa.santos@collabora.com>
2546
2547         Prevent race when pad caps is set on gstreamer player
2548         https://bugs.webkit.org/show_bug.cgi?id=115355
2549
2550         Reviewed by Philippe Normand.
2551
2552         Prevent race when pad caps is set on gstreamer player and
2553         Also protect internal paint buffer with a mutex.
2554
2555         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
2556         (WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
2557         (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
2558         (WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
2559         (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
2560         (WebCore::MediaPlayerPrivateGStreamerBase::paint):
2561         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
2562         (MediaPlayerPrivateGStreamerBase):
2563
2564 2013-06-04  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2565
2566         [Qt] Fix a crash in QtPixmapRuntime.
2567         https://bugs.webkit.org/show_bug.cgi?id=117193
2568         https://bugreports.qt-project.org/browse/QTBUG-30736
2569
2570         Reviewed by Allan Sandfeld Jensen.
2571
2572         The crash could only be reproduced in release builds on Windows.
2573         JSClassCreate calculates the size of JSClassDefinition.staticValues
2574         and staticFunctions by iterating until an entry with a null name is found.
2575
2576         * bridge/qt/qt_pixmapruntime.cpp:
2577         (JSC::Bindings::QtPixmapRuntime::getClassRef):
2578
2579 2013-06-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2580
2581         Automatically generate WorkerContext constructor attributes
2582         https://bugs.webkit.org/show_bug.cgi?id=117183
2583
2584         Reviewed by Kentaro Hara.
2585
2586         Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker] IDL extended attribute
2587         to indicate to the bindings generator on which global context the constructor
2588         attribute should be generated for interfaces without [NoInterfaceObject]:
2589         - WindowOnly: only on the global Window object (default if ommitted)
2590         - WorkerOnly: only on the worker context
2591         - WindowAndWorker: On both the global Window object and the worker context
2592
2593         This covers all the current use cases.
2594
2595         The JSC bindings generator now automatically generates the Constructor attributes
2596         on the WorkerContext for non-callback interfaces which do not have the
2597         [NoInterfaceObject] extended attribute but have [GlobalContext=WorkerOnly|WindowAndWorker]
2598         extended attribute.
2599
2600         No new tests, already covered by:
2601         fast/js/global-constructors-attributes.html
2602         fast/js/global-constructors-attributes-worker.html
2603
2604         * CMakeLists.txt:
2605         * DerivedSources.make: Pass new --workerContextConstructorsFile argument to preprocess-idls.pl.
2606         * DerivedSources.pri: Ditto.
2607         * GNUmakefile.am: Ditto.
2608         * PlatformBlackBerry.cmake: Ditto.
2609         * UseJSC.cmake: Ditto.
2610         * bindings/scripts/IDLAttributes.txt: Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker]
2611         IDL extended attribute.
2612         * bindings/scripts/preprocess-idls.pl: Add support for [GlobalContext] extended attribute and
2613         generate a partial interface for WorkerContext global constructors that are automatically
2614         generated.
2615         * dom/MessageEvent.idl: Add [GlobalContext=WindowAndWorker].
2616         * fileapi/Blob.idl: Add [GlobalContext=WindowAndWorker].
2617         * fileapi/FileReader.idl: Add [GlobalContext=WindowAndWorker].
2618         * fileapi/FileReaderSync.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
2619         as the interface should only be visible in worker environment as per the spec.
2620         * html/DOMURL.idl: Add [GlobalContext=WindowAndWorker].
2621         * html/canvas/ArrayBuffer.idl: Add [GlobalContext=WindowAndWorker].
2622         * html/canvas/DataView.idl: Add [GlobalContext=WindowAndWorker].
2623         * html/canvas/Float32Array.idl: Add [GlobalContext=WindowAndWorker].
2624         * html/canvas/Float64Array.idl: Add [GlobalContext=WindowAndWorker].
2625         * html/canvas/Int16Array.idl: Add [GlobalContext=WindowAndWorker].
2626         * html/canvas/Int32Array.idl: Add [GlobalContext=WindowAndWorker].
2627         * html/canvas/Int8Array.idl: Add [GlobalContext=WindowAndWorker].
2628         * html/canvas/Uint16Array.idl: Add [GlobalContext=WindowAndWorker].
2629         * html/canvas/Uint32Array.idl: Add [GlobalContext=WindowAndWorker].
2630         * html/canvas/Uint8Array.idl: Add [GlobalContext=WindowAndWorker].
2631         * html/canvas/Uint8ClampedArray.idl: Add [GlobalContext=WindowAndWorker].
2632         * workers/WorkerContext.idl: Remove several Constructor attributes which are now automatically
2633         generated.
2634         * workers/WorkerLocation.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
2635         as the interface should only be visible in worker environment as per the spec.
2636
2637 2013-06-04  Kangil Han  <kangil.han@samsung.com>
2638
2639         Use ASSERT_DISABLED option for assertion purpose code in InlineBox
2640         https://bugs.webkit.org/show_bug.cgi?id=117146
2641
2642         Reviewed by Alexey Proskuryakov.
2643
2644         We can distinguish assertion code with debug purpose by using ASSERT_DISABLED option.
2645
2646         * rendering/InlineBox.cpp:
2647         (WebCore::InlineBox::~InlineBox):
2648         (WebCore::InlineBox::destroy):
2649         (WebCore::InlineBox::operator delete):
2650         * rendering/InlineBox.h:
2651         (WebCore::InlineBox::InlineBox):
2652
2653 2013-06-04  Kent Tamura  <tkent@chromium.org>
2654
2655         Fix an assertion failure in Range::textNodeSplit by Text::splitText
2656         https://bugs.webkit.org/show_bug.cgi?id=116509
2657
2658         Reviewed by Ryosuke Niwa.
2659
2660         Range::textNodeSplit is called in Text::splitText, and it assumes the
2661         next sibling node is still a Text node. A DOM mutation event handler can
2662         break this assumption.
2663
2664         We had better postpone DOM mutation events dispatched in Node::insertBefore
2665         until exiting splitText to avoid inconsistent Range state.
2666
2667         This imports http://src.chromium.org/viewvc/blink?view=revision&revision=150493 .
2668
2669         Test: fast/dom/Range/split-text-in-range.html
2670
2671         * dom/Text.cpp:
2672         (WebCore::Text::splitText): Add EventQueueScope.
2673
2674 2013-06-03  Kangil Han  <kangil.han@samsung.com>
2675
2676         Remove unused arithmetic operation in RenderListItem
2677         https://bugs.webkit.org/show_bug.cgi?id=117175
2678
2679         Reviewed by Brent Fulgham.
2680
2681         Variable 'markerLogicalLeft' is reassigned a value before the old one has been used.
2682
2683         * rendering/RenderListItem.cpp:
2684         (WebCore::RenderListItem::positionListMarker):
2685
2686 2013-06-03  Roger Fong  <roger_fong@apple.com>
2687
2688         Unreviewed. Some AppleWin VS2010 house cleaning.
2689
2690         * WebCore.vcxproj/build-generated-files.sh:
2691
2692 2013-06-03  Roger Fong  <roger_fong@apple.com>
2693
2694         clearLayoutOverflow should never be called before calling layer()->updateScrollInfoAfterLayout().
2695         https://bugs.webkit.org/show_bug.cgi?id=116689.
2696
2697         Reviewed by Ojan Vafai.
2698
2699         Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
2700         Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic together.
2701
2702         Test: fast/flexbox/clear-overflow-before-scroll-update.html
2703
2704         * rendering/RenderBlock.cpp:
2705         (WebCore::RenderBlock::layout): Remove call to clearLayoutOverflow.
2706         (WebCore::RenderBlock::finishDelayUpdateScrollInfo): Add call to clearLayoutOverflow.
2707         (WebCore::RenderBlock::updateScrollInfoAfterLayout): Ditto.
2708         (WebCore::RenderBlock::clearLayoutOverflow): ASSERT(!gDelayUpdateScrollInfo) and move from RenderBox to RenderBlock to keep delayed scroll update logic together.
2709         * rendering/RenderBlock.h:
2710         (RenderBlock):
2711         * rendering/RenderBox.cpp:
2712         * rendering/RenderBox.h:
2713         (WebCore::RenderBox::layoutOverflowRect): Remove from layoutOverflowRect.
2714         (RenderBox): 
2715         * rendering/RenderDeprecatedFlexibleBox.cpp:
2716         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): This should call updateScrollInfoAfterLayout() intead of directly calling layer()->updateScrollInfoAfterLayout().
2717         * rendering/RenderGrid.cpp:
2718         (WebCore::RenderGrid::layoutBlock): Ditto.
2719
2720 2013-05-31  Anders Carlsson  <andersca@apple.com>
2721
2722         Take the normal NSView code path when drawing into an inclusive layer
2723         https://bugs.webkit.org/show_bug.cgi?id=117094
2724         <rdar://problem/13812355>
2725
2726         Reviewed by Sam Weinig.
2727
2728         For now, take the normal code path when drawing into an inclusive layer.
2729
2730         * platform/mac/WidgetMac.mm:
2731         (WebCore::Widget::paint):
2732
2733 2013-05-31  Tiancheng Jiang  <tijiang@rim.com>
2734
2735         [BlackBerry] Update Button UX.
2736         https://bugs.webkit.org/show_bug.cgi?id=116992
2737
2738         Reviewed by Rob Buis.
2739
2740         BlackBerry PR 342298.
2741         Internally Review by Jeff Rogers.
2742
2743         * css/themeBlackBerry.css:
2744
2745 2013-05-31  David Kilzer  <ddkilzer@apple.com>
2746
2747         DerivedSources.make: any rules that use $(FEATURE_DEFINES) should be rebuilt when FeatureDefines.xcconfig changes
2748         <http://webkit.org/b/117081>
2749
2750         Reviewed by Mark Rowe.
2751
2752         * DerivedSources.make: Add $(PLATFORM_FEATURE_DEFINES)
2753         dependency for all rules that use $(FEATURE_DEFINES) to generate
2754         files.
2755         (PLATFORM_FEATURE_DEFINES): Set this variable to
2756         Configurations/FeatureDefines.xcconfig if not already set on
2757         Mac OS X.
2758
2759 2013-05-31  Tiancheng Jiang  <tijiang@rim.com>
2760
2761         Text Field UX updates.
2762         https://bugs.webkit.org/show_bug.cgi?id=116996
2763
2764         Reviewed by Rob Buis.
2765
2766         BlackBerry PR 342333.
2767         Internally Reviewed by Jeff Rogers.
2768
2769         Update disabled text field font color.
2770
2771         * css/themeBlackBerry.css:
2772
2773 2013-05-31  Dean Jackson  <dino@apple.com>
2774
2775         Update CheckedInt.h to latest version from Mozilla
2776         https://bugs.webkit.org/show_bug.cgi?id=117009
2777
2778         Reviewed by Darin Adler.
2779
2780         Mozilla have updated their version of CheckedInt and suggested
2781         we sync. Here are the improvements:
2782
2783         - CheckedInt now consistently rejects unsupported types. Before, you
2784         could sometimes construct a CheckedInt from an unsupported type (like,
2785         float) or multiply a CheckedInt by a float, and have it not caught! See
2786         https://bugzilla.mozilla.org/show_bug.cgi?id=869194
2787          - Fixed a possibility of undefined behavior in unary operator-. See bug
2788         https://bugzilla.mozilla.org/show_bug.cgi?id=849666
2789          - CheckedInt now supports the "long long" and "unsigned long long"
2790         types. We don't like "long long" (and neither does the Google C++ style
2791         guide!) but we had to do that because libogg exposes typedefs to those
2792         types. See Bug https://bugzilla.mozilla.org/show_bug.cgi?id=869685
2793          - CheckedInt also now supports "signed char" in addition to "char" ---
2794         they are not the same type! See Bug https://bugzilla.mozilla.org/show_bug.cgi?id=847521
2795          - Fixed and simplified usage of CheckedInt outside of Mozilla. You'll
2796         like this one! See Bug https://bugzilla.mozilla.org/show_bug.cgi?id=849667
2797          - Fixed compilation with the Intel C++ compiler. See bug https://bugzilla.mozilla.org/show_bug.cgi?id=784309
2798
2799         * html/canvas/CheckedInt.h: Updated.
2800
2801 2013-05-31  Andre Moreira Magalhaes   <andre.magalhaes@collabora.co.uk>
2802
2803         Make sure gstreamer source element is thread-safe
2804         https://bugs.webkit.org/show_bug.cgi?id=115352
2805
2806         Reviewed by Philippe Normand.
2807
2808         GStreamer source element may be created by any gstreamer element on any thread by calling
2809         gst_element_make_from_uri with the URIs handled by the source element.
2810         This patch makes sure the gstreamer source element is thread-safe to avoid issues with it
2811         being created outside the main thread.
2812
2813         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2814         (_WebKitWebSrcPrivate):
2815         (webkit_web_src_init):
2816         (webKitWebSrcFinalize):
2817         (webKitWebSrcSetProperty):
2818         (webKitWebSrcGetProperty):
2819         (webKitWebSrcStop):
2820         (webKitWebSrcStart):
2821         (webKitWebSrcChangeState):
2822         (webKitWebSrcQueryWithParent):
2823         (webKitWebSrcGetUri):
2824         (webKitWebSrcSetUri):
2825         (webKitWebSrcNeedDataMainCb):
2826         (webKitWebSrcEnoughDataMainCb):
2827         (webKitWebSrcSeekMainCb):
2828         (webKitWebSrcSeekDataCb):
2829         (webKitWebSrcSetMediaPlayer):
2830         (StreamingClient::StreamingClient):
2831         (StreamingClient::~StreamingClient):
2832         (StreamingClient::didReceiveResponse):
2833         (StreamingClient::didReceiveData):
2834         (StreamingClient::didFinishLoading):
2835         (StreamingClient::wasBlocked):
2836         (StreamingClient::cannotShowURL):
2837
2838 2013-05-31  Sergio Villar Senin  <svillar@igalia.com>
2839
2840         Build fix when CSSParser debugging is enabled
2841         https://bugs.webkit.org/show_bug.cgi?id=117075
2842
2843         Reviewed by Andreas Kling.
2844
2845         Build fails when enabling parser debugging by setting YYDEBUG to
2846         1 because of a missing include.
2847
2848         * css/CSSGrammar.y.includes:
2849
2850 2013-05-31  Alberto Garcia  <agarcia@igalia.com>
2851
2852         [Soup] [Gstreamer] ASSERT in StreamingClient::getOrCreateReadBuffer
2853         https://bugs.webkit.org/show_bug.cgi?id=116686
2854
2855         Reviewed by Carlos Garcia Campos.
2856
2857         We were using g_input_stream_read_async() to handle redirections
2858         because of Gnome bug #691489.
2859
2860         This produces an unexpected read attempt which triggers an assert
2861         in StreamingClient::getOrCreateReadBuffer().
2862
2863         Now that the Gnome bug is fixed we can replace read_async() with
2864         skip_async().
2865
2866         * platform/network/soup/ResourceHandleSoup.cpp:
2867         (WebCore::ResourceHandle::ensureReadBuffer):
2868         (WebCore::redirectSkipCallback):
2869         (WebCore::sendRequestCallback):
2870
2871 2013-05-30  Eugene Klyuchnikov  <eustas@chromium.org>
2872
2873         selectionStart/selectionEnd return "obsolete" values when requested during "input" event
2874         https://bugs.webkit.org/show_bug.cgi?id=110742
2875
2876         Reviewed by Ryosuke Niwa.
2877
2878         This patch defers firing "webkitEditableContentChanged" until new
2879         selection is applied to control. This makes selection during "input"
2880         more consistent and reliable.
2881
2882         Background: "input" event is fired by "webkitEditableContentChanged"
2883         dispatcher. But "input" is scoped event, so under some conditions its
2884         dispatching may be deferred. When "input" dispatching is deferred,
2885         dispatcher observes updated selectionStart and selectionEnd.
2886         Otherwise values repersent state before applying editing command.
2887
2888         So, to make selectionStart/End to be more predictable and useful, we
2889         need either always dispatch "input" before selection is updated, or
2890         always dispatch "input" after selection is updated.
2891
2892         As it was mentioned, dispatching could be deferred by scoping. So
2893         dispatching before updating selection couldn't be guaranteed.
2894         Moreover, it will be hard to calculate updated selection in user
2895         code. On the other side - old selection could be easily tracked.
2896
2897         So, it looks logically that we should guarantee dispatching "input"
2898         after updating selection. There are no execution paths in
2899         "webkitEditableContentChanged" dispatched that depends on current
2900         selection. So it is safe to fire this event after selection is updated.
2901
2902         Test: editing/selection/caret-after-keypress.html
2903
2904         * editing/Editor.cpp:
2905         Dispatch "input" event after new selection in applied.
2906
2907 2013-05-30  Ruth Fong  <ruth_fong@apple.com>
2908
2909         WebKit's Enter Full Screen for <video> elements isn't working
2910         https://bugs.webkit.org/show_bug.cgi?id=117001
2911
2912         Reviewed by Jer Noble.
2913
2914         Fix workflow to allow a video to enter into full screen
2915         mode from a kWKContextMenuItemTagEnterVideoFullscreen 
2916         context menu item by denoting the enterFullscreenForVideo
2917         call as a user gesture, so Document::requestFullScreenForElement
2918         will execute correctly.
2919
2920         No new tests. Covered by media/context-menu-actions.html,
2921         which is disabled due to bug #116651.
2922
2923         * rendering/HitTestResult.cpp:
2924         (WebCore::HitTestResult::enterFullscreenForVideo):
2925
2926 2013-05-30  Rafael Brandao  <rafael.lobo@openbossa.org>
2927
2928         Fix double hash lookup in RenderTableSection::paintObject loop
2929         https://bugs.webkit.org/show_bug.cgi?id=117055
2930
2931         Reviewed by Antonio Gomes.
2932
2933         * rendering/RenderTableSection.cpp:
2934         (WebCore::RenderTableSection::paintObject):
2935
2936 2013-05-31  Stephanie Lewis  <slewis@apple.com>
2937
2938         Update low memory handler to use new memory pressure notifications on new OS versions.
2939         <rdar://problem/14027095>
2940
2941         Reviewed by Mark Rowe.
2942
2943         No change in functionality.
2944
2945         * WebCore.exp.in:
2946         * platform/mac/MemoryPressureHandlerMac.mm:
2947         (WebCore::MemoryPressureHandler::install): Call new API
2948         * platform/mac/WebCoreSystemInterface.h: 
2949         * platform/mac/WebCoreSystemInterface.mm:
2950
2951 2013-05-30  Rafael Brandao  <rafael.lobo@openbossa.org>
2952
2953         Fix double hash lookup in WebSocket::connect loop
2954         https://bugs.webkit.org/show_bug.cgi?id=117052
2955
2956         Reviewed by Anders Carlsson.
2957
2958         * Modules/websockets/WebSocket.cpp:
2959         (WebCore::WebSocket::connect):
2960
2961 2013-05-30  Benjamin Poulain  <bpoulain@apple.com>
2962
2963         Remove some 16bits conversion.
2964         https://bugs.webkit.org/show_bug.cgi?id=116935
2965
2966         Reviewed by Darin Adler.
2967
2968         Merge chromium ce35a544d09e6cb907457535340eb0e9984e57b8.
2969         https://chromium.googlesource.com/chromium/blink/+/ce35a544d09e6cb907457535340eb0e9984e57b8
2970
2971         * html/parser/InputStreamPreprocessor.h:
2972         * platform/FileSystem.cpp:
2973         (WebCore::encodeForFileName):
2974
2975 2013-05-30  Anders Carlsson  <andersca@apple.com>
2976
2977         REGRESSION (r119759): Adobe Flash Player "smaller" installer relies on the incorrect firing of a load event and needs an app-specific hack for compatibility
2978         https://bugs.webkit.org/show_bug.cgi?id=117042
2979         <rdar://problem/13916291>
2980
2981         Reviewed by Mark Rowe.
2982
2983         Ignore HTTP errors for scripts requested from within the installer. Instead of just checking for the
2984         Adobe Flash installer, we use the "com.solidstatenetworks.awkhost" bundle identifier to determine
2985         whether to apply the workaround. This could in theory fix other installers that use the same mechanism.
2986
2987         * loader/cache/CachedScript.cpp:
2988         (WebCore::CachedScript::shouldIgnoreHTTPStatusCodeErrors):
2989         * loader/cache/CachedScript.h:
2990         * platform/RuntimeApplicationChecks.cpp:
2991         (WebCore::applicationIsSolidStateNetworksDownloader):
2992         * platform/RuntimeApplicationChecks.h:
2993
2994 2013-05-30  Sergio Villar Senin  <svillar@igalia.com>
2995
2996         Allow no space between "background-position:" dimensions
2997         https://bugs.webkit.org/show_bug.cgi?id=116870
2998
2999         Reviewed by Darin Adler.
3000
3001         From Blink r149314 by <ericwilligers@chromium.org>
3002
3003         Specs allow no spaces between the dimensions of a
3004         "background-position:" like "1px+1px", we should support
3005         that.
3006
3007         Whitespaces are no longer early consumed, dramatically dropping
3008         the shift/reduce conflicts to half. The productions unary_term,
3009         calc_func_term, calc_func_expr and calc_func_paren_expr no longer
3010         consume whitespaces.
3011
3012         * css/CSSGrammar.y.in:
3013         * css/CSSParser.cpp:
3014         (WebCore::CSSParser::realLex):
3015
3016 2013-05-30  Jer Noble  <jer.noble@apple.com>
3017
3018         HTMLMediaElement will not unthrottle page when playback stops for nreasons other than user-initiated pause.
3019         https://bugs.webkit.org/show_bug.cgi?id=117016
3020
3021         Reviewed by Oliver Hunt.
3022
3023         Add a new class PageActivityAssertionToken to allow HTMLMediaElement to decouple
3024         knowledge of and control over the lifetime of PageThrottler. The new class will
3025         have weak references to and from the PageThrottler so that holders of the token
3026         will not need to care if the Page or PageThrottler has been destroyed. 
3027
3028         HTMLMediaElement will create one of these PageActivityAssertionTokens when playback
3029         begins and destroy it when playback stops for any reason, or when the element is
3030         destroyed.
3031
3032         * html/HTMLMediaElement.cpp:
3033         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3034         (WebCore::HTMLMediaElement::playInternal):
3035         (WebCore::HTMLMediaElement::pauseInternal):
3036         (WebCore::HTMLMediaElement::playbackProgressTimerFired):
3037         (WebCore::HTMLMediaElement::updatePlayState):
3038         * html/HTMLMediaElement.h:
3039         * page/Page.cpp:
3040         (WebCore::createActivityToken): Added simple factory method.
3041         * page/Page.h:
3042         * page/PageActivityAssertionToken.cpp: 
3043         (WebCore::PageActivityAssertionToken::PageActivityAssertionToken): Call addActivityToken();
3044         (WebCore::PageActivityAssertionToken::~PageActivityAssertionToken): Call removeActivityToken();
3045         (WebCore::PageActivityAssertionToken::invalidate): Clear m_throttler.
3046         * page/PageActivityAssertionToken.h:
3047         * page/PageThrottler.cpp:
3048         (WebCore::PageThrottler::~PageThrottler): Invalidate all outstanding tokens.
3049         (WebCore::PageThrottler::addActivityToken): Bump the activity count.
3050         (WebCore::PageThrottler::removeActivityToken): Lower the activity count.
3051         * page/PageThrottler.h:
3052
3053         Add the new files to the various build systems:
3054         * CMakeLists.txt:
3055         * GNUmakefile.list.am:
3056         * Target.pri:
3057         * WebCore.vcproj/WebCore.vcproj:
3058         * WebCore.vcxproj/WebCore.vcxproj:
3059         * WebCore.vcxproj/WebCore.vcxproj.filters:
3060         * WebCore.xcodeproj/project.pbxproj:
3061
3062 2013-05-29  Jeffrey Pfau  <jpfau@apple.com>
3063
3064         [Mac] Enable cache partitioning and the public suffix list on 10.8
3065         <rdar://problem/13679019>
3066
3067         Rubber-stamped by David Kilzer.
3068
3069         * Configurations/FeatureDefines.xcconfig:
3070
3071 2013-05-30  Andreas Kling  <akling@apple.com>
3072
3073         Fix double hash lookup in DocumentEventQueue::cancelEvent().
3074         <http://webkit.org/b/117031>
3075
3076         Reviewed by Anders Carlsson.
3077
3078         * dom/DocumentEventQueue.cpp:
3079         (WebCore::DocumentEventQueue::cancelEvent):
3080
3081 2013-05-30  Andreas Kling  <akling@apple.com>
3082
3083         Fix double hash lookup in DocumentLoader::removeSubresourceLoader().
3084         <http://webkit.org/b/117030>
3085
3086         Reviewed by Anders Carlsson.
3087
3088         * loader/DocumentLoader.cpp:
3089         (WebCore::DocumentLoader::removeSubresourceLoader):
3090
3091 2013-05-30  Andreas Kling  <akling@apple.com>
3092
3093         Fix double hash lookup in RenderView::repaintSelection() loop.
3094         <http://webkit.org/b/117029>
3095
3096         Reviewed by Anders Carlsson.
3097
3098         * rendering/RenderView.cpp:
3099         (WebCore::RenderView::repaintSelection):
3100
3101 2013-05-30  Peter Gal  <galpeter@inf.u-szeged.hu>
3102
3103         CURL: Incorrect stripping of query from file URL
3104         https://bugs.webkit.org/show_bug.cgi?id=104307
3105
3106         Reviewed by Darin Adler.
3107
3108         Clear the query part of the file URL if there is any.
3109
3110         * platform/network/curl/ResourceHandleManager.cpp:
3111         (WebCore::ResourceHandleManager::initializeHandle):
3112
3113 2013-05-30  Antti Koivisto  <antti@apple.com>
3114
3115         Separate generic font family settings to a class
3116         https://bugs.webkit.org/show_bug.cgi?id=117027
3117
3118         Reviewed by Andreas Kling.
3119
3120         The new class is under platform/ and can be accessed by the font code directly without platform violations.
3121
3122         * WebCore.xcodeproj/project.pbxproj:
3123         * page/Settings.cpp:
3124         (WebCore::invalidateAfterGenericFamilyChange):
3125         (WebCore::Settings::Settings):
3126         (WebCore::Settings::~Settings):
3127         (WebCore::Settings::create):
3128         (WebCore::Settings::standardFontFamily):
3129         (WebCore::Settings::setStandardFontFamily):
3130         (WebCore::Settings::fixedFontFamily):
3131         (WebCore::Settings::setFixedFontFamily):
3132         (WebCore::Settings::serifFontFamily):
3133         (WebCore::Settings::setSerifFontFamily):
3134         (WebCore::Settings::sansSerifFontFamily):
3135         (WebCore::Settings::setSansSerifFontFamily):
3136         (WebCore::Settings::cursiveFontFamily):
3137         (WebCore::Settings::setCursiveFontFamily):
3138         (WebCore::Settings::fantasyFontFamily):
3139         (WebCore::Settings::setFantasyFontFamily):
3140         (WebCore::Settings::pictographFontFamily):
3141         (WebCore::Settings::setPictographFontFamily):
3142         * page/Settings.h:
3143         * platform/graphics/FontGenericFamilies.cpp: Added.
3144         (WebCore::setGenericFontFamilyForScript):
3145         (WebCore::genericFontFamilyForScript):
3146         (WebCore::FontGenericFamilies::FontGenericFamilies):
3147         (WebCore::FontGenericFamilies::standardFontFamily):
3148         (WebCore::FontGenericFamilies::fixedFontFamily):
3149         (WebCore::FontGenericFamilies::serifFontFamily):
3150         (WebCore::FontGenericFamilies::sansSerifFontFamily):
3151         (WebCore::FontGenericFamilies::cursiveFontFamily):
3152         (WebCore::FontGenericFamilies::fantasyFontFamily):
3153         (WebCore::FontGenericFamilies::pictographFontFamily):
3154         (WebCore::FontGenericFamilies::setStandardFontFamily):
3155         (WebCore::FontGenericFamilies::setFixedFontFamily):
3156         (WebCore::FontGenericFamilies::setSerifFontFamily):
3157         (WebCore::FontGenericFamilies::setSansSerifFontFamily):
3158         (WebCore::FontGenericFamilies::setCursiveFontFamily):
3159         (WebCore::FontGenericFamilies::setFantasyFontFamily):
3160         (WebCore::FontGenericFamilies::setPictographFontFamily):
3161         * platform/graphics/FontGenericFamilies.h: Added.
3162         (WebCore::UScriptCodeHashTraits::emptyValue):
3163         (WebCore::UScriptCodeHashTraits::constructDeletedValue):
3164         (WebCore::UScriptCodeHashTraits::isDeletedValue):
3165         (WebCore::FontGenericFamilies::create):
3166
3167 2013-05-30  Andreas Kling  <akling@apple.com>
3168
3169         Avoid using CSSOM style declarations in HTML editing.
3170         <http://webkit.org/b/117019>
3171
3172         Reviewed by Antti Koivisto.
3173
3174         Convert the editing code to use ComputedStyleExtractor instead of instantiating CSSOM wrappers.
3175
3176         * css/CSSComputedStyleDeclaration.h:
3177         * css/CSSComputedStyleDeclaration.cpp:
3178         (WebCore::ComputedStyleExtractor::getFontSizeCSSValuePreferringKeyword):
3179         (WebCore::ComputedStyleExtractor::useFixedFontDefaultSize):
3180         (WebCore::ComputedStyleExtractor::propertyMatches):
3181         (WebCore::ComputedStyleExtractor::copyProperties):
3182         (WebCore::ComputedStyleExtractor::copyPropertiesInSet):
3183
3184             Moved here from CSSComputedStyleDeclaration. These methods are used by HTML editing.
3185
3186         (WebCore::CSSComputedStyleDeclaration::copyProperties):
3187
3188             Reimplemented to call ComputedStyleExtractor.
3189
3190         * css/CSSStyleDeclaration.h:
3191         * css/PropertySetCSSStyleDeclaration.h:
3192         * css/PropertySetCSSStyleDeclaration.cpp:
3193         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
3194
3195             Removed CSSStyleDeclaration::cssPropertyMatches(), the remaining code lives in
3196             ComputedStyleExtractor::propertyMatches() and is only used by HTML editing.
3197
3198         * css/StylePropertySet.h:
3199         * css/StylePropertySet.cpp:
3200         (WebCore::MutableStylePropertySet::removeEquivalentProperties):
3201
3202             Added an overload that takes a ComputedStyleExtractor.
3203             This code should move into EditingStyle.cpp, material for a follow-up patch.
3204
3205         * editing/ApplyStyleCommand.cpp:
3206         (WebCore::toIdentifier):
3207
3208             Add a file-local helper for yanking the identifier value (if any) out of a CSSPrimitiveValue.
3209
3210         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
3211         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3212         (WebCore::highestEmbeddingAncestor):
3213         * editing/EditingStyle.h:
3214         * editing/EditingStyle.cpp:
3215         (WebCore::editingStyleFromComputedStyle):
3216         (WebCore::extractPropertyValue):
3217         (WebCore::identifierForStyleProperty):
3218         (WebCore::textColorFromStyle):
3219         (WebCore::backgroundColorFromStyle):
3220         (WebCore::EditingStyle::init):
3221         (WebCore::EditingStyle::removeStyleAddedByNode):
3222         (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
3223         (WebCore::EditingStyle::triStateOfStyle):
3224         (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
3225         (WebCore::EditingStyle::removeStyleFromRulesAndContext):
3226         (WebCore::StyleChange::StyleChange):
3227         (WebCore::fontWeightIsBold):
3228         (WebCore::extractPropertiesNotIn):
3229         (WebCore::getPropertiesNotIn):
3230
3231             Use ComputedStyleExtractor instead of CSSComputedStyleDeclaration in all of this code.
3232             Templatized a bunch of the code so we don't have to repeat ourselves for both StylePropertySet
3233             and ComputedStyleExtractor inputs.
3234
3235 2013-05-30  Roland Takacs  <rtakacs@inf.u-szeged.hu>
3236
3237         Remove "hidden"=true from Inspector.json
3238         https://bugs.webkit.org/show_bug.cgi?id=114116
3239
3240         Reviewed by Timothy Hatcher.
3241
3242         Remove "hidden"=true because it's a Chromium concept.
3243         Patch created by Timothy Hatcher.
3244
3245         * inspector/Inspector.json:
3246
3247 2013-05-30  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3248
3249         [EFL][EGL] Implement TransportSurface client.
3250         https://bugs.webkit.org/show_bug.cgi?id=114122
3251
3252         Reviewed by Kenneth Rohde Christiansen.
3253
3254         Covered by existing WebGL tests.
3255
3256         This patch implements the client support for Transport
3257         Surface with EGL backend using GLES2.
3258
3259         * platform/graphics/surfaces/efl/GLTransportSurface.cpp:
3260         (WebCore::GLTransportSurfaceClient::createTransportSurfaceClient):
3261         (WebCore::GLTransportSurfaceClient::GLTransportSurfaceClient):
3262         * platform/graphics/surfaces/efl/GLTransportSurface.h:
3263         (GLTransportSurfaceClient):
3264         * platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
3265         (WebCore::GraphicsSurfacePrivate::initializeClient):
3266         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
3267         (WebCore):
3268         (WebCore::EGLConfigSelector::surfaceClientConfig):
3269         (WebCore::EGLConfigSelector::findMatchingConfigWithVisualId):
3270         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
3271         (WebCore):
3272         (EGLConfigSelector):
3273
3274         Support for retrieving valid EGLConfig on client side.
3275
3276         * platform/graphics/surfaces/egl/EGLHelper.cpp:
3277         (WebCore):
3278         (WebCore::resolveDisplay):
3279         (WebCore::EGLHelper::resolveEGLBindings):
3280         (WebCore::EGLHelper::createEGLImage):
3281         (WebCore::EGLHelper::destroyEGLImage):
3282         (WebCore::EGLHelper::imageTargetTexture2DOES):
3283         * platform/graphics/surfaces/egl/EGLHelper.h:
3284
3285         Helper functions to create and destroy EGLImage.
3286
3287         * platform/graphics/surfaces/egl/EGLXSurface.cpp:
3288         (WebCore::EGLXTransportSurfaceClient::EGLXTransportSurfaceClient):
3289         (WebCore):
3290         (WebCore::EGLXTransportSurfaceClient::~EGLXTransportSurfaceClient):
3291         (WebCore::EGLXTransportSurfaceClient::destroy):
3292         (WebCore::EGLXTransportSurfaceClient::prepareTexture):
3293         (WebCore::EGLTextureFromPixmap::EGLTextureFromPixmap):
3294         (WebCore::EGLTextureFromPixmap::~EGLTextureFromPixmap):
3295         (WebCore::EGLTextureFromPixmap::destroy):
3296         (WebCore::EGLTextureFromPixmap::isValid):
3297         (WebCore::EGLTextureFromPixmap::bindTexImage):
3298         (WebCore::EGLTextureFromPixmap::reBindTexImage):
3299         * platform/graphics/surfaces/egl/EGLXSurface.h:
3300         (EGLXTransportSurfaceClient):
3301
3302         TransportSurfaceClient implementation.
3303
3304         (WebCore):
3305         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3306         (WebCore::GLXTransportSurfaceClient::GLXTransportSurfaceClient):
3307         * platform/graphics/surfaces/glx/GLXSurface.h:
3308         (GLXTransportSurfaceClient):
3309         * platform/graphics/surfaces/glx/X11Helper.cpp:
3310         (WebCore::X11Helper::createOffScreenWindow):
3311         (WebCore):
3312         (WebCore::X11Helper::createPixmap):
3313         * platform/graphics/surfaces/glx/X11Helper.h:
3314         (X11Helper):
3315
3316 2013-05-30  Mike West  <mkwst@chromium.org>
3317
3318         Rename 'KURL::elidedString' and inspector's 'String.prototype.trimMiddle' for clarity.
3319         https://bugs.webkit.org/show_bug.cgi?id=111700
3320
3321         Reviewed by Darin Adler.
3322
3323         Darin suggested that 'KURL::elidedString' is inaccurately named[1], this
3324         patch is an attempt to do better. It additionally brings the Inspector's
3325         'String.prototype.trimMiddle' method into line, as the two methods do
3326         more or less the same thing.
3327
3328         After a bit of discussion with Maciej and Daniel Bates on IRC, I've
3329         settled on 'KURL::stringCenterEllipsizedToLength(unsigned)' and
3330         'String.prototype.centerEllipsizedToLength(number)' respectively.
3331
3332         No new tests are added, as this patch shouldn't have any visible effect
3333         on the web. It's strictly an internal refactoring.
3334
3335         * Modules/websockets/WebSocket.cpp:
3336         (WebCore::WebSocket::connect):
3337         (WebCore::WebSocket::send):
3338         * Modules/websockets/WebSocketChannel.cpp:
3339         (WebCore::WebSocketChannel::send):
3340         (WebCore::WebSocketChannel::fail):
3341         * bindings/ScriptControllerBase.cpp:
3342         (WebCore::ScriptController::canExecuteScripts):
3343         * dom/Document.cpp:
3344         (WebCore::Document::processHttpEquiv):
3345         * dom/ScriptElement.cpp:
3346         (WebCore::ScriptElement::executeScript):
3347         * html/HTMLMediaElement.cpp:
3348         (WebCore::HTMLMediaElement::canPlayType):
3349         (WebCore::HTMLMediaElement::isSafeToLoadURL):
3350         * loader/FrameLoader.cpp:
3351         (WebCore::FrameLoader::submitForm):
3352         (WebCore::FrameLoader::loadFrameRequest):
3353         (WebCore::FrameLoader::commitProvisionalLoad):
3354         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
3355         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
3356         (WebCore::createWindow):
3357         * loader/MainResourceLoader.cpp:
3358         (WebCore::MainResourceLoader::willSendRequest):
3359         (WebCore::MainResourceLoader::responseReceived):
3360         * loader/MixedContentChecker.cpp:
3361         (WebCore::MixedContentChecker::logWarning):
3362         * loader/appcache/ApplicationCacheGroup.cpp:
3363         (WebCore::ApplicationCacheGroup::didReceiveResponse):
3364         (WebCore::ApplicationCacheGroup::didFail):
3365         * loader/cache/CachedResourceLoader.cpp:
3366         (WebCore::CachedResourceLoader::canRequest):
3367         (WebCore::CachedResourceLoader::requestResource):
3368         (WebCore::CachedResourceLoader::loadResource):
3369         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
3370         * page/ContentSecurityPolicy.cpp:
3371         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
3372         (WebCore::CSPDirectiveList::allowScriptNonce):
3373         (WebCore::CSPDirectiveList::allowPluginType):
3374         * platform/KURL.cpp:
3375         (WebCore::KURL::stringCenterEllipsizedToLength):
3376         * platform/KURL.h:
3377             Rename 'KURL::elidedString' to 'KURL::stringCenterEllipsizedToLength',
3378             and adjust callsites accordingly.
3379         * inspector/front-end/CallStackSidebarPane.js:
3380         (WebInspector.CallStackSidebarPane.Placard.prototype._update):
3381         * inspector/front-end/ElementsTreeOutline.js:
3382         (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
3383         * inspector/front-end/HeapSnapshotGridNodes.js:
3384         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
3385         * inspector/front-end/Linkifier.js:
3386         (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
3387         * inspector/front-end/ResourceUtils.js:
3388         (WebInspector.linkifyURLAsNode):
3389         * inspector/front-end/TabbedEditorContainer.js:
3390         (WebInspector.TabbedEditorContainer.prototype._titleForFile):
3391         * inspector/front-end/utilities.js:
3392             Rename 'String.prototype.trimMiddle' to 'String.prototype.centerEllipsizedToLength'
3393             and adjust callsites accordingly.
3394
3395 2013-05-30  Antti Koivisto  <antti@apple.com>
3396
3397         Rename FontFallbackList.cpp/h to FontGlyphs.cpp/h
3398         https://bugs.webkit.org/show_bug.cgi?id=117022
3399
3400         Reviewed by Andreas Kling.
3401
3402         Rename to match the class name.
3403
3404         * CMakeLists.txt:
3405         * GNUmakefile.list.am:
3406         * Target.pri:
3407         * WebCore.vcproj/WebCore.vcproj:
3408         * WebCore.vcxproj/WebCore.vcxproj:
3409         * WebCore.vcxproj/WebCore.vcxproj.filters:
3410         * WebCore.xcodeproj/project.pbxproj:
3411         * platform/graphics/Font.h:
3412         * platform/graphics/FontCache.cpp:
3413         * platform/graphics/FontFallbackList.cpp: Removed.
3414         * platform/graphics/FontFallbackList.h: Removed.
3415         * platform/graphics/FontFastPath.cpp:
3416         * platform/graphics/FontGlyphs.cpp: Copied from Source/WebCore/platform/graphics/FontFallbackList.cpp.
3417         * platform/graphics/FontGlyphs.h: Copied from Source/WebCore/platform/graphics/FontFallbackList.h.
3418         * platform/graphics/mac/FontComplexTextMac.cpp:
3419
3420 2013-05-30  Ryosuke Niwa  <rniwa@webkit.org>
3421
3422         Get rid of Position::computedStyle
3423         https://bugs.webkit.org/show_bug.cgi?id=117024
3424
3425         Reviewed by Andreas Kling.
3426
3427         Removed the function.
3428
3429         * dom/Position.cpp:
3430         * dom/Position.h:
3431         * editing/ApplyStyleCommand.cpp:
3432         (WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange): We need a position
3433         inside the dummy element since we'll get the containing element's style instead
3434         if we had the position before the dummy element.
3435         * editing/EditingStyle.cpp:
3436         (WebCore::StyleChange::StyleChange):
3437
3438 2013-05-30  Seokju Kwon  <seokju.kwon@gmail.com>
3439
3440         Remove obsolete forward declaration from InspectorFrontendHost.h
3441         https://bugs.webkit.org/show_bug.cgi?id=117017
3442
3443         Reviewed by Joseph Pecoraro.
3444
3445         Remove obsolete forward declaration and fix style issue as well.
3446
3447         No change in behavior, no new tests.
3448
3449         * inspector/InspectorFrontendHost.h:
3450         (WebCore):
3451         (InspectorFrontendHost):
3452
3453 2013-05-29  Tim Horton  <timothy_horton@apple.com>
3454
3455         Expose incrementalRenderingSuppressionTimeout via WK2
3456         https://bugs.webkit.org/show_bug.cgi?id=117015
3457         <rdar://problem/13992853>
3458
3459         Reviewed by Darin Adler.
3460
3461         * dom/Document.cpp:
3462         (WebCore::Document::setVisualUpdatesAllowed):
3463         Inform the FrameLoader that we're ready to transition the page, if
3464         nothing else already has. This will be forwarded to the FrameLoaderClient,
3465         and WebKit2's implementation will go ahead and un-freeze the layer tree,
3466         so that the incremental rendering suppression watchdog timer actually works.
3467
3468         (WebCore::Document::setVisualUpdatesAllowedByClient):
3469         Make incremental rendering suppression extension tokens play nice with the
3470         watchdog timer; allow setVisualUpdatesAllowedByClient=true to re-enable updates
3471         if either the page is in the "completed" state or the watchdog has already fired.
3472
3473         * loader/FrameLoader.cpp:
3474         * loader/FrameLoader.h:
3475         (WebCore::FrameLoader::forcePageTransitionIfNeeded): Added.
3476         Forward to the client.
3477
3478         * loader/FrameLoaderClient.h:
3479         (WebCore::FrameLoaderClient::forcePageTransitionIfNeeded): Added.
3480
3481 2013-05-29  Praveen R Jadhav  <praveen.j@samsung.com>
3482
3483         ProgressEvent should not be cancelable
3484         https://bugs.webkit.org/show_bug.cgi?id=114444
3485
3486         Reviewed by Darin Adler.
3487
3488         Parameter "cancelable" in ProgressEvent is set to false, by default, as mentioned in the specification. The spec link is given below.
3489
3490         Spec: http://www.w3.org/TR/2011/CR-progress-events-20110922/#suggested-names-for-events-using-the-progressevent-interface
3491
3492         No new tests. file-reader-event-listener.html and infoOnProgressEvent-expected.txt are updated.
3493
3494         * dom/ProgressEvent.cpp:
3495         (WebCore::ProgressEvent::ProgressEvent):
3496         (WebCore):
3497
3498 2013-05-29  Simon Fraser  <simon.fraser@apple.com>
3499
3500         Fix paint-related milestones to not fire when the layer tree is frozen
3501         https://bugs.webkit.org/show_bug.cgi?id=117012
3502
3503         Reviewed by Tim Horton.
3504
3505         In the previous code, it was possible to paint some layer and schedule
3506         the m_paintRelatedMilestonesTimer, but then the layer tree was put into
3507         a frozen state because the page redirected. However, the paint-related
3508         milestones timer would still fire. This caused woes with header/footer
3509         banners.
3510         
3511         Fix by not firing paint-related milestones if the layer tree is frozen,
3512         which we know via a new ChromeClient callback. When unfrozen, we'll
3513         paint again, and fire the timer later.
3514
3515         * page/ChromeClient.h:
3516         (WebCore::ChromeClient::layerTreeStateIsFrozen):
3517         * rendering/RenderLayerCompositor.cpp:
3518         (WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
3519
3520 2013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
3521
3522         Store form control list with RefPtr
3523         https://bugs.webkit.org/show_bug.cgi?id=116910
3524
3525         Reviewed by Kent Tamura.
3526
3527         Merge https://chromium.googlesource.com/chromium/blink/+/582132773280455ead1d42b0073be37efdeaf989.
3528
3529         Unfortunately, the Blink change doesn't provide much insight as to what kind of crashes are fixed
3530         by this code change but it cleans up the way form elements with state are registered to the form
3531         controller so it seems benefitial to merge it anyway.
3532
3533         * dom/Document.cpp:
3534         (WebCore::Document::dispose):
3535         * html/FormController.cpp:
3536         (WebCore::FormController::createSavedFormStateMap):
3537         (WebCore::FormController::registerFormElementWithState):
3538         (WebCore::FormController::unregisterFormElementWithState):
3539         (WebCore):
3540         * html/FormController.h:
3541         (FormController):
3542         * html/HTMLFormControlElementWithState.cpp:
3543         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
3544         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
3545         (WebCore::HTMLFormControlElementWithState::insertedInto):
3546         (WebCore):
3547         (WebCore::HTMLFormControlElementWithState::removedFrom):
3548         * html/HTMLFormControlElementWithState.h:
3549         (HTMLFormControlElementWithState):
3550         * html/HTMLTextFormControlElement.cpp:
3551         (WebCore::HTMLTextFormControlElement::insertedInto):
3552
3553 2013-05-29  Andreas Kling  <akling@apple.com>
3554
3555         Take ComputedStyleExtractor for a spin.
3556         <http://webkit.org/b/116968>
3557
3558         Reviewed by Antti Koivisto.
3559
3560         Convert some editing and SVG code to use ComputedStyleExtractor instead of creating full
3561         blown CSSComputedStyleDeclaration objects.
3562
3563         * editing/ApplyStyleCommand.cpp:
3564         (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
3565         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3566         (WebCore::highestEmbeddingAncestor):
3567         (WebCore::ApplyStyleCommand::computedFontSize):
3568         * editing/EditingStyle.cpp:
3569         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
3570         (WebCore::EditingStyle::textDirectionForSelection):
3571         (WebCore::getIdentifierValue):
3572         (WebCore::backgroundColorInEffect):
3573         * editing/EditingStyle.h:
3574         * svg/SVGAnimationElement.cpp:
3575         (WebCore::SVGAnimationElement::computeCSSPropertyValue):
3576
3577 2013-05-29  Benjamin Poulain  <bpoulain@apple.com>
3578
3579         Add a special case for SelectorDataList::execute when there is only one selector
3580         https://bugs.webkit.org/show_bug.cgi?id=116891
3581
3582         Reviewed by Andreas Kling.
3583
3584         In the vast majority of cases, querySelector is called with a single selector.
3585
3586         This patch takes that input into account to improve the performance of
3587         SelectorDataList::execute(). For the case of a single selector, we avoid three
3588         branches executed for every node of the traversal.
3589
3590         This improves QuerySelector's time by 2.3%.
3591
3592         * dom/SelectorQuery.cpp:
3593         (WebCore::SelectorDataList::execute):
3594
3595 2013-05-29  Dean Jackson  <dino@apple.com>
3596
3597         -webkit-text-underline-position should not be inherited
3598         https://bugs.webkit.org/show_bug.cgi?id=116363
3599
3600         Reverting http://trac.webkit.org/changeset/150366
3601         It was an incorrect fix referring to an old specification.
3602
3603         * css/CSSProperty.cpp:
3604         (WebCore::CSSProperty::isInheritedProperty):
3605         * rendering/style/RenderStyle.h:
3606         * rendering/style/StyleRareInheritedData.cpp:
3607         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
3608         (WebCore::StyleRareInheritedData::operator==):
3609         * rendering/style/StyleRareInheritedData.h:
3610         (StyleRareInheritedData):
3611         * rendering/style/StyleRareNonInheritedData.cpp:
3612         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3613         (WebCore::StyleRareNonInheritedData::operator==):
3614         * rendering/style/StyleRareNonInheritedData.h:
3615         (StyleRareNonInheritedData):
3616
3617 2013-05-29  Ryuan Choi  <ryuan.choi@samsung.com>
3618
3619         [CMAKE] cmake errors when CMAKE_BUILD_TYPE is not specified.
3620         https://bugs.webkit.org/show_bug.cgi?id=116899
3621
3622         Reviewed by Laszlo Gombos.
3623
3624         * CMakeLists.txt: Fixed if statement to escape when find command fails.
3625
3626 2013-05-28  Oliver Hunt  <oliver@apple.com>
3627
3628         Add more accurate activity state tracking
3629         https://bugs.webkit.org/show_bug.cgi?id=116893
3630
3631         Reviewed by Gavin Barraclough.
3632
3633         Add a hysteresis to Page activity throttling.  We do this
3634         through a PageThrottler class that now handles entering and
3635         exiting throttling state, and adds a hysteresis to we can
3636         limit the amount of on/off bouncing on the throttle.
3637
3638         Media elements now make use of this to disable timer throttling
3639         while they are playing, and plugins use it to momentarily bounce
3640         from throttled to unthrottled state.
3641
3642         * CMakeLists.txt:
3643         * GNUmakefile.list.am:
3644         * Target.pri:
3645         * WebCore.exp.in:
3646         * WebCore.vcproj/WebCore.vcproj:
3647         * WebCore.vcxproj/WebCore.vcxproj:
3648         * WebCore.vcxproj/WebCore.vcxproj.filters:
3649         * WebCore.xcodeproj/project.pbxproj:
3650         * html/HTMLMediaElement.cpp:
3651         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3652         (WebCore::HTMLMediaElement::pageThrottlerIfPossible):
3653         (WebCore):
3654         (WebCore::HTMLMediaElement::playInternal):
3655         (WebCore::HTMLMediaElement::pauseInternal):
3656         * html/HTMLMediaElement.h:
3657         (WebCore):
3658         * html/MediaController.cpp:
3659         (MediaController::unpause):
3660         * page/ChromeClient.h:
3661         (WebCore::ChromeClient::incrementActivePageCount):
3662         (WebCore::ChromeClient::decrementActivePageCount):
3663         (ChromeClient):
3664         * page/Page.cpp:
3665         (WebCore::Page::Page):
3666         (WebCore::Page::~Page):
3667         (WebCore::Page::setThrottled):
3668         * page/Page.h:
3669         (WebCore):
3670         (Page):
3671         (WebCore::Page::pageThrottler):
3672         * page/PageThrottleState.h: Added.
3673         * page/PageThrottler.cpp: Added.
3674         (WebCore):
3675         (WebCore::PageThrottler::PageThrottler):
3676         (WebCore::PageThrottler::~PageThrottler):
3677         (WebCore::PageThrottler::clearPage):
3678         (WebCore::PageThrottler::throttlePage):
3679         (WebCore::PageThrottler::unthrottlePage):
3680         (WebCore::PageThrottler::setThrottled):
3681         (WebCore::PageThrottler::preventThrottling):
3682         (WebCore::PageThrottler::allowThrottling):
3683         (WebCore::PageThrottler::stopThrottleHysteresisTimer):
3684         (WebCore::PageThrottler::reportInterestingEvent):
3685         (WebCore::PageThrottler::startThrottleHysteresisTimer):
3686         (WebCore::PageThrottler::throttleHysteresisTimerFired):
3687         * page/PageThrottler.h: Added.
3688         (WebCore):
3689         (PageThrottler):
3690         (WebCore::PageThrottler::create):
3691         (WebCore::PageThrottler::shouldThrottleAnimations):
3692         (WebCore::PageThrottler::shouldThrottleTimers):
3693
3694 2013-05-29  Kent Tamura  <tkent@chromium.org>
3695
3696         Remove leftover files for ENABLE_PAGE_POPUP and ENABLE_CALENDAR_PICKER
3697         https://bugs.webkit.org/show_bug.cgi?id=116999
3698
3699         Reviewed by Anders Carlsson.
3700
3701         * Resources/pagepopups/colorSuggestionPicker.css: Removed.
3702         * Resources/pagepopups/colorSuggestionPicker.js: Removed.
3703         * Resources/pagepopups/pickerCommon.css: Removed.
3704         * Resources/pagepopups/pickerCommon.js: Removed.
3705         * Resources/pagepopups/suggestionPicker.css: Removed.
3706         * Resources/pagepopups/suggestionPicker.js: Removed.
3707
3708 2013-05-29  Jer Noble  <jer.noble@apple.com>
3709
3710         Unreviewed build fix; remove unintentional semicolon.
3711
3712         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3713         (WebCore::AudioScheduledSourceNode::finish):
3714
3715 2013-05-29  Anders Carlsson  <andersca@apple.com>
3716
3717         Merge PODArea::Chunk into PODFreeListArena::FreeListChunk
3718         https://bugs.webkit.org/show_bug.cgi?id=117000
3719
3720         Reviewed by Oliver Hunt.
3721
3722         * platform/PODArena.h:
3723         (WebCore::PODArena::roundUp):
3724         * platform/PODFreeListArena.h:
3725         (PODFreeListArena):
3726         (WebCore::PODFreeListArena::FreeListChunk::FreeListChunk):
3727         (FreeListChunk):
3728         (WebCore::PODFreeListArena::FreeListChunk::~FreeListChunk):
3729         (WebCore::PODFreeListArena::FreeListChunk::allocate):
3730
3731 2013-05-29  Anders Carlsson  <andersca@apple.com>
3732
3733         Move some PODArena members to PODFreeListArena
3734         https://bugs.webkit.org/show_bug.cgi?id=116993
3735
3736         Reviewed by Sam Weinig.
3737
3738         This is more work towards merging the two classes.
3739
3740         * platform/PODArena.h:
3741         (PODArena):
3742         * platform/PODFreeListArena.h:
3743         (PODFreeListArena):
3744         (WebCore::PODFreeListArena::PODFreeListArena):
3745
3746 2013-05-29  Jer Noble  <jer.noble@apple.com>
3747
3748         [Mac] Scrubbing long movie files results in timeline snapping back to 0 during scrub.
3749         https://bugs.webkit.org/show_bug.cgi?id=116986
3750
3751         Reviewed by Eric Carlson.
3752
3753         Keep a count of the number of in-flight seek requests, and only issue a timeupdate
3754         (which triggers a "seeked" event) when the final seek completes.
3755
3756         Test: media/video-seek-multiple.html
3757
3758         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3759         (WebCore::MediaPlayerPrivateAVFoundation::seek):
3760         (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
3761         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3762         (MediaPlayerPrivateAVFoundation):
3763
3764 2013-05-29  Anders Carlsson  <andersca@apple.com>
3765
3766         Remove unused code from PODArena
3767         https://bugs.webkit.org/show_bug.cgi?id=116990
3768
3769         Reviewed by Sam Weinig.
3770
3771         PODArena is only used as a base class of PODFreeListArena so remove unused member functions and make all
3772         members protected to make it impossible to use it without subclassing.
3773
3774         PODArena is a risky class to use since it doesn't return memory to the system unless the arena object is destroyed.
3775         This was the reason why PODFreeListArea was added. An upcoming patch will merge PODArena with PODFreeListArena and
3776         this is a small step towards that goal.
3777
3778         * platform/PODArena.h:
3779
3780 2013-05-29  Darin Adler  <darin@apple.com>
3781
3782         Remove custom binding for Clipboard setDragImage function
3783         https://bugs.webkit.org/show_bug.cgi?id=116422
3784
3785         Reviewed by Sam Weinig.
3786
3787         * bindings/js/JSClipboardCustom.cpp: Removed setDragImage binding.
3788
3789         * dom/Clipboard.cpp:
3790         (WebCore::Clipboard::canSetDragImage): Added a condition that this is a drag
3791         and drop clipboard. That used to be checked in the setDragImage binding.
3792         (WebCore::Clipboard::setDragImage): Added a version that takes an Element
3793         and calls through to the existing functions (in the legacy code path), or handles
3794         both the Element and HTMLImageElement not-in-document cases (in the new code path).
3795
3796         * dom/Clipboard.h: Updated for changes above.
3797
3798         * dom/Clipboard.idl: Removed [Custom] from setDragImage.
3799
3800         * page/EventHandler.cpp:
3801         (WebCore::EventHandler::handleDrag): Call the new setDragImage instead of the
3802         old setDragImageElement.
3803
3804 2013-05-29  Praveen R Jadhav  <praveen.j@samsung.com>
3805
3806         Cleanup AudioSourceNode.idl from WebKit build.
3807         https://bugs.webkit.org/show_bug.cgi?id=116905.
3808
3809         Reviewed by Darin Adler.
3810
3811         AudioSourceNode.idl is not part of WebAudio Specifications anymore.
3812         AudioNode is inherited directly in all the audio source nodes.
3813
3814         No new tests. Current test cases will cover all the scenarios.
3815
3816         * CMakeLists.txt:
3817         * DerivedSources.make:
3818         * DerivedSources.pri:
3819         * GNUmakefile.list.am:
3820         * Modules/webaudio/AudioBufferSourceNode.h:
3821         * Modules/webaudio/AudioBufferSourceNode.idl:
3822         * Modules/webaudio/AudioScheduledSourceNode.cpp:
3823         (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
3824         * Modules/webaudio/AudioScheduledSourceNode.h:
3825         * Modules/webaudio/AudioSourceNode.h: Removed.
3826         * Modules/webaudio/AudioSourceNode.idl: Removed.
3827         * Modules/webaudio/MediaElementAudioSourceNode.cpp:
3828         (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
3829         * Modules/webaudio/MediaElementAudioSourceNode.h:
3830         (MediaElementAudioSourceNode):
3831         * Modules/webaudio/MediaElementAudioSourceNode.idl:
3832         * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
3833         * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
3834         (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
3835         * Modules/webaudio/MediaStreamAudioSourceNode.h:
3836         (MediaStreamAudioSourceNode):
3837         * Modules/webaudio/MediaStreamAudioSourceNode.idl:
3838         * Modules/webaudio/OscillatorNode.h:
3839         * Modules/webaudio/OscillatorNode.idl:
3840         * Target.pri:
3841         * WebCore.xcodeproj/project.pbxproj:
3842
3843 2013-05-29  Adam Barth  <abarth@webkit.org>
3844
3845         Optimize RenderText::offsetNext for 8 bit strings
3846         https://bugs.webkit.org/show_bug.cgi?id=116877
3847
3848         Reviewed by Darin Adler.
3849
3850         Previously, this function was always upconverting strings to 16 bits in
3851         order to create a cursorMovementIterator. This patch adds a fast path
3852         for ASCII and Latin-1 strings, which don't need this complicated cursor
3853         movement logic.
3854
3855         I ran into this code because nextOffset showed up as a memory pig on a
3856         memory profile of Mobile Gmail.
3857
3858         Test: editing/selection/move-by-character-brute-force.html
3859
3860         * rendering/RenderText.cpp:
3861         (WebCore::RenderText::previousOffset):
3862         (WebCore::RenderText::nextOffset):
3863
3864 2013-05-29  Brent Fulgham  <bfulgham@apple.com>
3865
3866         [Windows] Correct copy command (form versus forms)
3867
3868         * WebCore.vcproj/copyForwardingHeaders.cmd:
3869         * WebCore.vcxproj/copyForwardingHeaders.cmd:
3870
3871 2013-05-29  Bem Jones-Bey  <bjonesbe@adobe.com>
3872
3873         [CSS Shapes] Fix style issues in BasicShapes
3874         https://bugs.webkit.org/show_bug.cgi?id=116734
3875
3876         Reviewed by Alexandru Chiculita.
3877
3878         Fix indentation in BasicShapes.cpp, and change enums to respect the
3879         style rules CamelCase instead of HAVING_UNDERSCORES.
3880
3881         No new tests, only style changes.
3882
3883         * css/BasicShapeFunctions.cpp:
3884         (WebCore::valueForBasicShape):
3885         (WebCore::basicShapeForValue):
3886         * css/CSSBasicShapes.cpp:
3887         (WebCore::buildRectangleString):
3888         (WebCore::CSSBasicShapeRectangle::equals):
3889         (WebCore::CSSBasicShapeCircle::equals):
3890         (WebCore::CSSBasicShapeEllipse::equals):
3891         (WebCore::CSSBasicShapePolygon::equals):
3892         (WebCore::CSSBasicShapeInsetRectangle::equals):
3893         * css/CSSBasicShapes.h:
3894         (WebCore::CSSBasicShapeRectangle::type):
3895         (WebCore::CSSBasicShapeInsetRectangle::type):
3896         (WebCore::CSSBasicShapeCircle::type):
3897         (WebCore::CSSBasicShapeEllipse::type):
3898         (WebCore::CSSBasicShapePolygon::type):
3899         * rendering/ExclusionShape.cpp:
3900         (WebCore::ExclusionShape::createExclusionShape):
3901         * rendering/ExclusionShapeInsideInfo.cpp:
3902         (WebCore::ExclusionShapeInsideInfo::isEnabledFor):
3903         * rendering/ExclusionShapeOutsideInfo.cpp:
3904         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor):
3905         * rendering/style/BasicShapes.cpp:
3906         (WebCore::BasicShape::canBlend):
3907         (WebCore::BasicShapeRectangle::path):
3908         (WebCore::BasicShapeCircle::path):
3909         (WebCore::BasicShapeEllipse::path):
3910         (WebCore::BasicShapeInsetRectangle::path):
3911         * rendering/style/BasicShapes.h:
3912         (WebCore::BasicShapeRectangle::type):
3913         (WebCore::BasicShapeCircle::type):
3914         (WebCore::BasicShapeEllipse::type):
3915         (WebCore::BasicShapePolygon::type):
3916         (WebCore::BasicShapeInsetRectangle::type):
3917
3918 2013-05-29  Otto Derek Cheung  <otcheung@rim.com>
3919
3920         [BlackBerry] Handle Host-Only cookies
3921         https://bugs.webkit.org/show_bug.cgi?id=116969
3922
3923         PR 338809
3924         Reviewed by Rob Buis.
3925         Internally Reviewed by Joe Mason.
3926
3927         Adding support for host-only cookies (cookies with no
3928         specified domains). These cookies should only be returned
3929         when the host matches the cookie domain exactly.
3930
3931         Tested using Opera and Browser cookie test suite. Tested
3932         that host cookies are being stored in it's own map using
3933         Web Inspector.
3934
3935         * platform/blackberry/CookieManager.cpp:
3936         (WebCore::CookieManager::getRawCookies):
3937         (WebCore::CookieManager::checkAndTreatCookie):
3938         (WebCore::CookieManager::findOrCreateCookieMap):
3939         * platform/blackberry/CookieParser.cpp:
3940         (WebCore::CookieParser::CookieParser):
3941         (WebCore::CookieParser::parseOneCookie):
3942         * platform/blackberry/ParsedCookie.h:
3943         (WebCore::ParsedCookie::isHostOnly):
3944         (ParsedCookie):
3945
3946 2013-05-29  Ryosuke Niwa  <rniwa@webkit.org>
3947
3948         Remove the size of DataVector in HTMLToken
3949         https://bugs.webkit.org/show_bug.cgi?id=116931
3950
3951         Reviewed by Sam Weinig.
3952
3953         Merge https://chromium.googlesource.com/chromium/blink/+/7977721e62c471bfa17b84d82cd5d8243a4eb9a9.
3954
3955         Shink HTMLToken by 1.5 kB
3956
3957         HTMLToken has an inline vector for buffering characters during tokenization. We
3958         originally picked the inline capacity of this buffer somewhat arbitrarily. This
3959         CL tunes the number based on a somewhat non-scientific browse of a number of
3960         popular web sites.
3961
3962         I (abarth) instrumented content_shell to log the length of each complete DataVector. I
3963         then browsed around a variety of web sites to collect data. The 99% percentile
3964         of DataVector lengths was just shy of 250 characters. I rounded that up to 256
3965         because powers of two are pretty. That means we'll malloc an external buffer
3966         less than 1% of the time, which seems fine.
3967
3968         * html/parser/HTMLToken.h:
3969         (HTMLToken):
3970
3971 2013-05-29  Brent Fulgham  <bfulgham@apple.com>
3972
3973         [Windows] Build correction after r150837
3974
3975         New 'forms' sub-folder of html needs to be included in
3976         copy operations.
3977
3978         * WebCore.vcproj/copyForwardingHeaders.cmd: copy html/forms.
3979         * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Use correct
3980         'obj32' folder for build output.
3981         * WebCore.vcxproj/copyForwardingHeaders.cmd: copy html/forms.
3982
3983 2013-05-29  Tiancheng Jiang  <tijiang@rim.com>
3984
3985         [BlackBerry] Radio Button UX updates.
3986         https://bugs.webkit.org/show_bug.cgi?id=116881
3987
3988         Reviewed by Rob Buis.
3989
3990         BlackBerry PR 342322.
3991         Internally Reviewed by Jeff Rogers.
3992         Change images.
3993
3994         * platform/blackberry/RenderThemeBlackBerry.cpp:
3995         (WebCore::RenderThemeBlackBerry::paintRadio):
3996
3997 2013-05-29  Tiancheng Jiang  <tijiang@rim.com>
3998
3999         [BlackBerry] Datetime string is not centred in form controls.
4000         https://bugs.webkit.org/show_bug.cgi?id=100760
4001
4002         Reviewed by Rob Buis.
4003
4004         BlackBerry PR 343512
4005         Internally Reviewed by Jeff Rogers.
4006
4007         Adjust margin for inner text node of datetime form controls.
4008
4009         * css/themeBlackBerry.css:
4010         (input::-webkit-date-and-time-value):
4011
4012 2013-05-29  Brent Fulgham  <bfulgham@apple.com>
4013
4014         [Windows] Build correction after r150876
4015
4016         A clean build will now fail because the BaseMultipleFieldsDateAndTimeInputType sources have
4017         been removed, but are still referenced in the project file.
4018
4019         * WebCore.vcxproj/WebCore.vcxproj: Remove reference to BaseMultipleFieldsDateAndTimeInputType
4020         * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
4021
4022 2013-05-28  Jer Noble  <jer.noble@apple.com>
4023
4024         Support the 'onended' EventListener property for AudioBufferSourceNode and OscillatorNode.
4025         https://bugs.webkit.org/show_bug.cgi?id=116798
4026
4027         Reviewed by Eric Carlson.
4028
4029         Tests: webaudio/audiobuffersource-ended.html
4030                webaudio/oscillator-ended.html
4031
4032         * Modules/webaudio/AudioScheduledSourceNode.cpp:
4033         (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
4034         (WebCore::AudioScheduledSourceNode::setOnended): Set m_hasEndedListener.
4035         (WebCore::AudioScheduledSourceNode::finish): Call notifyEndedDispatch on the main thread.
4036         (WebCore::AudioScheduledSourceNode::notifyEndedDispatch): Call notifyEnded().
4037         (WebCore::AudioScheduledSourceNode::notifyEnded): Call the onended event listener.
4038         * Modules/webaudio/AudioScheduledSourceNode.h:
4039         (WebCore::AudioScheduledSourceNode::onended): Added boilerplate.
4040         * Modules/webaudio/AudioBufferSourceNode.idl: Added the onerror attribute.
4041         * Modules/webaudio/OscillatorNode.idl: Ditto.
4042
4043 2013-05-29  Bem Jones-Bey  <bjonesbe@adobe.com>
4044
4045         [CSS Shapes] Support parsing inset-rectangle shapes
4046         https://bugs.webkit.org/show_bug.cgi?id=116638
4047
4048         Reviewed by Dean Jackson.
4049
4050         Add parsing for inset-rectangle. It's very similar to parsing for
4051         rectangle.
4052
4053         No new tests, updated existing tests to cover this.
4054
4055         * css/BasicShapeFunctions.cpp:
4056         (WebCore::valueForBasicShape): Add support for inset rectangles.
4057         (WebCore::basicShapeForValue): Add support for inset rectangles.
4058         * css/CSSBasicShapes.cpp:
4059         (WebCore::buildInsetRectangleString): Create an inset-rectangle css
4060             string.
4061         (WebCore::CSSBasicShapeInsetRectangle::cssText): Convert inset
4062             rectangle shape to a CSS string.
4063         (WebCore::CSSBasicShapeInsetRectangle::equals): Compare two inset
4064             rectangles.
4065         (WebCore::CSSBasicShapeInsetRectangle::serializeResolvingVariables):
4066             Create an inset rectangle string, with CSS variables resolved.
4067         (WebCore::CSSBasicShapeInsetRectangle::hasVariableReference):
4068             Determine if this inset rectangle has any CSS Variable references.
4069         * css/CSSBasicShapes.h:
4070         (CSSBasicShapeInsetRectangle): Add inset rectangle class. This is a
4071             direct representation of the CSS property. All the methods below
4072             are just simple getters and setters, along with a construtor and a
4073             factory method.
4074         (WebCore::CSSBasicShapeInsetRectangle::create): 
4075         (WebCore::CSSBasicShapeInsetRectangle::top): 
4076         (WebCore::CSSBasicShapeInsetRectangle::right):
4077         (WebCore::CSSBasicShapeInsetRectangle::bottom):
4078         (WebCore::CSSBasicShapeInsetRectangle::left):
4079         (WebCore::CSSBasicShapeInsetRectangle::radiusX):
4080         (WebCore::CSSBasicShapeInsetRectangle::radiusY):
4081         (WebCore::CSSBasicShapeInsetRectangle::setTop):
4082         (WebCore::CSSBasicShapeInsetRectangle::setRight):
4083         (WebCore::CSSBasicShapeInsetRectangle::setBottom):
4084         (WebCore::CSSBasicShapeInsetRectangle::setLeft):
4085         (WebCore::CSSBasicShapeInsetRectangle::setRadiusX):
4086         (WebCore::CSSBasicShapeInsetRectangle::setRadiusY):
4087         (WebCore::CSSBasicShapeInsetRectangle::type):
4088         (WebCore::CSSBasicShapeInsetRectangle::CSSBasicShapeInsetRectangle):
4089         (WebCore):
4090         * css/CSSParser.cpp:
4091         (WebCore::CSSParser::parseBasicShapeInsetRectangle): Parse the
4092             inset-rectangle CSS property and create a
4093             CSSBasicShapeInsetRectangle.
4094         (WebCore::CSSParser::parseBasicShape): Add a call to parse
4095             inset-rectangle.
4096         * rendering/ExclusionShapeInsideInfo.cpp: