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