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