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