Add new renderer for SVGRectElement.
[WebKit.git] / Source / WebCore / ChangeLog
1 2011-10-19  Renata Hodovan  <reni@webkit.org>
2
3         Add new renderer for SVGRectElement.
4         https://bugs.webkit.org/show_bug.cgi?id=65769
5
6         Reviewed by Dirk Schulze.
7
8         This patch introduces a new common base class called RenderSVGShape which
9         replaces the RenderSVGPath. This new base class has the same purpose
10         as the replaced class and has specialized descendants for common
11         shapes (like Rectangles and Circles), which allows faster painting
12         of these shapes when certain conditions are fulfilled. On some
13         benchmark programs we have seen 5% speedup.
14
15         The biggest motivation of this refactor is taking advantage
16         of faster primitive drawing in the most common and frequent
17         cases. However in some rare cases, like painting rounded
18         rects, we need to fallback to the original code path, which
19         is fully kept in the RenderSVGShape base class. Some other
20         cases, like dashed strokes, can be painted but mouse pointer
21         events cannot be handled by the descendant classes. A different
22         fallback mechanism is used in such cases which redirects
23         only the pointer event handling to the base class.
24
25         Tests: svg/custom/pointer-events-on-rounded-rect.xhtml
26                svg/custom/pointer-events-with-linecaps-and-miterlimits.xhtml
27
28         * CMakeLists.txt:
29         * GNUmakefile.list.am:
30         * WebCore.gypi:
31         * WebCore.pro:
32         * WebCore.vcproj/WebCore.vcproj:
33         * platform/graphics/FloatRect.cpp:
34         (WebCore::FloatRect::contains):
35         * platform/graphics/FloatRect.h:
36         (WebCore::FloatRect::contains):
37         * rendering/RenderObject.h:
38         (WebCore::RenderObject::isSVGRect):
39         (WebCore::RenderObject::isSVGShape):
40         * rendering/RenderTreeAsText.cpp:
41         (WebCore::write):
42         * rendering/svg/RenderSVGAllInOne.cpp:
43         * rendering/svg/RenderSVGModelObject.cpp:
44         (WebCore::isGraphicsElement):
45         * rendering/svg/RenderSVGPath.cpp:
46         (WebCore::RenderSVGPath::RenderSVGPath):
47         (WebCore::RenderSVGPath::inflateWithMarkerBounds): Unite the markerBounds with strokeBoundingBox.
48         * rendering/svg/RenderSVGPath.h:
49         * rendering/svg/RenderSVGRect.cpp: Added.
50         (WebCore::RenderSVGRect::RenderSVGRect):
51         (WebCore::RenderSVGRect::~RenderSVGRect):
52         (WebCore::RenderSVGRect::createShape):
53         (WebCore::RenderSVGRect::objectBoundingBox):
54         (WebCore::RenderSVGRect::strokeBoundingBox):
55         (WebCore::RenderSVGRect::fillShape):
56         (WebCore::RenderSVGRect::strokeShape):
57         (WebCore::RenderSVGRect::shapeDependentStrokeContains):
58         (WebCore::RenderSVGRect::shapeDependentFillContains):
59         * rendering/svg/RenderSVGRect.h: Added.
60         (WebCore::RenderSVGRect::isSVGRect):
61         (WebCore::RenderSVGRect::renderName):
62         (WebCore::RenderSVGRect::isEmpty):
63         * rendering/svg/RenderSVGResource.h:
64         (WebCore::RenderSVGResource::postApplyResource): A new shape argument was added to allow shape specific faster painting.
65         * rendering/svg/RenderSVGResourceClipper.cpp:
66         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
67         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
68         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
69         * rendering/svg/RenderSVGResourceContainer.cpp:
70         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
71         * rendering/svg/RenderSVGResourceFilter.cpp:
72         (WebCore::RenderSVGResourceFilter::postApplyResource):
73         * rendering/svg/RenderSVGResourceFilter.h:
74         * rendering/svg/RenderSVGResourceGradient.cpp:
75         (WebCore::RenderSVGResourceGradient::applyResource):
76         * rendering/svg/RenderSVGResourceGradient.h:
77         * rendering/svg/RenderSVGResourcePattern.cpp:
78         (WebCore::RenderSVGResourcePattern::postApplyResource):
79         * rendering/svg/RenderSVGResourcePattern.h:
80         * rendering/svg/RenderSVGResourceSolidColor.cpp:
81         (WebCore::RenderSVGResourceSolidColor::postApplyResource):
82         * rendering/svg/RenderSVGResourceSolidColor.h:
83         * rendering/svg/RenderSVGShape.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.
84         (WebCore::RenderSVGShape::RenderSVGShape):
85         (WebCore::RenderSVGShape::~RenderSVGShape):
86         (WebCore::RenderSVGShape::createShape):
87         (WebCore::RenderSVGShape::isEmpty):
88         (WebCore::RenderSVGShape::fillShape):
89         (WebCore::RenderSVGShape::objectBoundingBox):
90         (WebCore::RenderSVGShape::strokeBoundingBox):
91         (WebCore::RenderSVGShape::strokeShape):
92         (WebCore::RenderSVGShape::shapeDependentStrokeContains):
93         The purpose of this virtual function allows decendants to use their own fast checks.
94         (WebCore::RenderSVGShape::shapeDependentFillContains):
95         The purpose of this virtual function allows decendants to use their own fast checks.
96         (WebCore::RenderSVGShape::fillContains):
97         (WebCore::RenderSVGShape::strokeContains):
98         (WebCore::RenderSVGShape::layout):
99         (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
100         (WebCore::RenderSVGShape::zeroLengthSubpathRect):
101         (WebCore::RenderSVGShape::setupSquareCapPath):
102         (WebCore::RenderSVGShape::setupNonScalingStrokePath):
103         (WebCore::RenderSVGShape::fillAndStrokePath):
104         (WebCore::RenderSVGShape::paint):
105         (WebCore::RenderSVGShape::addFocusRingRects):
106         (WebCore::RenderSVGShape::nodeAtFloatPoint):
107         (WebCore::RenderSVGShape::calculateMarkerBoundsIfNeeded):
108         (WebCore::RenderSVGShape::updateCachedBoundaries):
109         (WebCore::RenderSVGShape::strokeWidth):
110         * rendering/svg/RenderSVGShape.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
111         (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
112         (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
113         (WebCore::RenderSVGShape::setNeedsShapeUpdate):
114         (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
115         (WebCore::RenderSVGShape::setNeedsTransformUpdate):
116         (WebCore::RenderSVGShape::isPaintingFallback):
117         (WebCore::RenderSVGShape::path):
118         (WebCore::RenderSVGShape::setIsPaintingFallback):
119         (WebCore::RenderSVGShape::setStrokeAndMarkerBoundingBox):
120         (WebCore::RenderSVGShape::hasPath):
121         (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
122         (WebCore::RenderSVGShape::localToParentTransform):
123         (WebCore::RenderSVGShape::localTransform):
124         (WebCore::RenderSVGShape::isSVGShape):
125         (WebCore::RenderSVGShape::renderName):
126         (WebCore::RenderSVGShape::isRoundedRect):
127         (WebCore::RenderSVGShape::inflateWithMarkerBounds):
128         (WebCore::toRenderSVGShape):
129         * rendering/svg/SVGInlineTextBox.cpp:
130         (WebCore::SVGInlineTextBox::releasePaintingResource):
131         * rendering/svg/SVGRenderSupport.cpp:
132         (WebCore::SVGRenderSupport::finishRenderSVGContent):
133         (WebCore::SVGRenderSupport::layoutChildren):
134         * rendering/svg/SVGRenderTreeAsText.cpp:
135         (WebCore::writeStyle):
136         (WebCore::operator<<):
137         (WebCore::write):
138         * rendering/svg/SVGRenderTreeAsText.h:
139         * rendering/svg/SVGTextRunRenderingContext.cpp:
140         (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
141         * svg/SVGCircleElement.cpp:
142         (WebCore::SVGCircleElement::svgAttributeChanged):
143         * svg/SVGEllipseElement.cpp:
144         (WebCore::SVGEllipseElement::svgAttributeChanged):
145         * svg/SVGLineElement.cpp:
146         (WebCore::SVGLineElement::svgAttributeChanged):
147         * svg/SVGPathElement.cpp:
148         (WebCore::SVGPathElement::svgAttributeChanged):
149         (WebCore::SVGPathElement::pathSegListChanged):
150         (WebCore::SVGPathElement::createRenderer):
151         * svg/SVGPathElement.h:
152         * svg/SVGPolyElement.cpp:
153         (WebCore::SVGPolyElement::svgAttributeChanged):
154         * svg/SVGRectElement.cpp:
155         (WebCore::SVGRectElement::svgAttributeChanged):
156         (WebCore::SVGRectElement::createRenderer):
157         * svg/SVGRectElement.h:
158
159 2011-10-19  Chris Fleizach  <cfleizach@apple.com>
160
161         AX: buttons of number type <input> controls are not fully accessible
162         https://bugs.webkit.org/show_bug.cgi?id=70241
163
164         Unreviewed. Fix missing </File> tag in Windows WebCore project file.
165
166         * WebCore.vcproj/WebCore.vcproj:
167
168 2011-10-19  Ilya Tikhonovsky  <loislo@chromium.org>
169
170         Web Inspector: [Chromium] Add an ability to show the objects that were allocated between snapshot N-2 and snapshot N-1 and still alive in snapshot N.
171         https://bugs.webkit.org/show_bug.cgi?id=61178
172
173         This ability will help us to see only the leaked objects.
174         Scenario:
175         1) do an action on inspected page which leaks javascript data;
176         2) make snapshot;
177         3) repeat first two steps three or more times;
178         4) select the last snapshot and select the filter 'Objects allocated between Snapshot 1 and Snapshot2' instead of 'All objects'.
179         The view shows the object that were allocated between snapshot N-2 and snapshot N-1 and still alive in snapshot N
180
181         Reviewed by Pavel Feldman.
182
183         * English.lproj/localizedStrings.js:
184         * inspector/front-end/DetailedHeapshotGridNodes.js:
185         (WebInspector.HeapSnapshotConstructorNode):
186         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
187         * inspector/front-end/DetailedHeapshotView.js:
188         (WebInspector.HeapSnapshotConstructorsDataGrid):
189         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
190         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
191         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.firstSnapshotLoaded):
192         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.secondSnapshotLoaded):
193         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
194         (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
195         (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
196         (WebInspector.DetailedHeapshotView.profileCallback):
197         (WebInspector.DetailedHeapshotView):
198         (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
199         (WebInspector.DetailedHeapshotView.prototype._changeBase):
200         (WebInspector.DetailedHeapshotView.prototype._changeFilter):
201         (WebInspector.DetailedHeapshotView.prototype._loadProfileByIndex):
202         (WebInspector.DetailedHeapshotView.prototype._changeView):
203         (WebInspector.DetailedHeapshotView.prototype._updateFilterOptions):
204         * inspector/front-end/HeapSnapshot.js:
205         (WebInspector.HeapSnapshot.prototype.dispose):
206         (WebInspector.HeapSnapshot.prototype.get maxNodeId):
207         (WebInspector.HeapSnapshot.prototype.aggregates):
208         (WebInspector.HeapSnapshot.prototype._buildAggregates):
209         (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
210         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
211         (WebInspector.HeapSnapshot.prototype.updateStaticData):
212         * inspector/front-end/HeapSnapshotProxy.js:
213         (WebInspector.HeapSnapshotWorker):
214         (WebInspector.HeapSnapshotProxy.prototype.aggregates):
215         (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
216         (WebInspector.HeapSnapshotProxy.prototype.get maxNodeId):
217         (WebInspector.HeapSnapshotProxy.prototype.startLoading):
218
219 2011-10-19  Alexander Pavlov  <apavlov@chromium.org>
220
221         Strip trailing whitespace in the WebCore/css C++ code.
222         https://bugs.webkit.org/show_bug.cgi?id=70410
223
224         Reviewed by Dirk Schulze.
225
226         Only affected file names retained below for brevity.
227         Multiline boolean expression were fixed where necessary to avoid patch style violations.
228
229         * css/CSSBorderImageSliceValue.cpp:
230         * css/CSSBorderImageSliceValue.h:
231         * css/CSSBorderImageValue.cpp:
232         * css/CSSCanvasValue.cpp:
233         * css/CSSCanvasValue.h:
234         * css/CSSComputedStyleDeclaration.cpp:
235         * css/CSSCursorImageValue.cpp:
236         * css/CSSFontFace.cpp:
237         * css/CSSFontFace.h:
238         * css/CSSFontFaceSource.cpp:
239         * css/CSSFontFaceSource.h:
240         * css/CSSFontFaceSrcValue.cpp:
241         * css/CSSFontFaceSrcValue.h:
242         * css/CSSFontSelector.cpp:
243         * css/CSSFontSelector.h:
244         * css/CSSFunctionValue.cpp:
245         * css/CSSFunctionValue.h:
246         * css/CSSGradientValue.cpp:
247         * css/CSSGradientValue.h:
248         * css/CSSImageGeneratorValue.cpp:
249         * css/CSSImageGeneratorValue.h:
250         * css/CSSImageValue.cpp:
251         * css/CSSImageValue.h:
252         * css/CSSImportRule.cpp:
253         * css/CSSInitialValue.cpp:
254         * css/CSSInitialValue.h:
255         * css/CSSMutableStyleDeclaration.cpp:
256         * css/CSSMutableStyleDeclaration.h:
257         * css/CSSParser.cpp:
258         * css/CSSParser.h:
259         * css/CSSParserValues.cpp:
260         * css/CSSParserValues.h:
261         * css/CSSPrimitiveValue.cpp:
262         * css/CSSPrimitiveValue.h:
263         * css/CSSPrimitiveValueCache.cpp:
264         * css/CSSPrimitiveValueCache.h:
265         * css/CSSPrimitiveValueMappings.h:
266         * css/CSSProperty.cpp:
267         * css/CSSProperty.h:
268         * css/CSSPropertyLonghand.cpp:
269         * css/CSSReflectValue.cpp:
270         * css/CSSReflectValue.h:
271         * css/CSSReflectionDirection.h:
272         * css/CSSSegmentedFontFace.cpp:
273         * css/CSSSegmentedFontFace.h:
274         * css/CSSSelector.cpp:
275         * css/CSSSelector.h:
276         * css/CSSSelectorList.cpp:
277         * css/CSSSelectorList.h:
278         * css/CSSStyleApplyProperty.cpp:
279         * css/CSSStyleDeclaration.h:
280         * css/CSSStyleSelector.cpp:
281         * css/CSSStyleSelector.h:
282         * css/CSSStyleSheet.cpp:
283         * css/CSSTimingFunctionValue.cpp:
284         * css/CSSTimingFunctionValue.h:
285         * css/CSSUnicodeRangeValue.cpp:
286         * css/CSSUnicodeRangeValue.h:
287         * css/CSSValueList.cpp:
288         * css/CSSWrapShapes.cpp:
289         * css/CSSWrapShapes.h:
290         * css/FontValue.cpp:
291         * css/MediaList.cpp:
292         * css/MediaQuery.cpp:
293         * css/MediaQuery.h:
294         * css/MediaQueryEvaluator.h:
295         * css/MediaQueryExp.cpp:
296         * css/MediaQueryExp.h:
297         * css/Pair.h:
298         * css/SVGCSSComputedStyleDeclaration.cpp:
299         * css/SVGCSSParser.cpp:
300         * css/SVGCSSStyleSelector.cpp:
301         * css/SelectorChecker.cpp:
302         * css/SelectorChecker.h:
303         * css/StyleBase.cpp:
304         * css/StyleMedia.cpp:
305         * css/StyleMedia.h:
306         * css/StyleSheetList.cpp:
307         * css/StyleSheetList.h:
308         * css/WebKitCSSFilterValue.cpp:
309         * css/WebKitCSSFilterValue.h:
310         * css/WebKitCSSKeyframeRule.cpp:
311         * css/WebKitCSSKeyframeRule.h:
312         * css/WebKitCSSKeyframesRule.cpp:
313         * css/WebKitCSSKeyframesRule.h:
314         * css/WebKitCSSMatrix.cpp:
315         * css/WebKitCSSMatrix.h:
316         * css/WebKitCSSTransformValue.cpp:
317         * css/WebKitCSSTransformValue.h:
318
319 2011-10-19  Dirk Schulze  <krit@webkit.org>
320
321         Make FilterEffect::apply() independent of image data management
322         https://bugs.webkit.org/show_bug.cgi?id=70350
323
324         Reviewed by Zoltan Herczeg.
325         
326         FilterEffect::apply() needs to be independent from the image data management in FilterEffect.
327         This allows implementing effective hardware accelerated alternatives, like OpenGL, CI or OpenCL
328         based filters, to the software rendering. The software rendering code will be used as fallback
329         and moves to platformApplySoftware().
330
331         The patch does not change the behavior of SVG filters. Did not add new test cases.
332
333         * platform/graphics/filters/FEBlend.cpp: Renamed apply() to platformApplyGeneric()
334             and removed validity checks that are done by FilterEffect::apply(). This is a
335             recurring pattern for all following effects. 
336         (WebCore::FEBlend::platformApplySoftware):
337         * platform/graphics/filters/FEBlend.h:
338         * platform/graphics/filters/FEColorMatrix.cpp:
339         (WebCore::FEColorMatrix::platformApplySoftware):
340         * platform/graphics/filters/FEColorMatrix.h:
341         * platform/graphics/filters/FEComponentTransfer.cpp:
342         (WebCore::FEComponentTransfer::platformApplySoftware):
343         * platform/graphics/filters/FEComponentTransfer.h:
344         * platform/graphics/filters/FEComposite.cpp:
345         (WebCore::FEComposite::platformApplySoftware):
346         * platform/graphics/filters/FEComposite.h:
347         * platform/graphics/filters/FEConvolveMatrix.cpp:
348         (WebCore::FEConvolveMatrix::platformApplySoftware):
349         * platform/graphics/filters/FEConvolveMatrix.h:
350         * platform/graphics/filters/FEDisplacementMap.cpp:
351         (WebCore::FEDisplacementMap::platformApplySoftware):
352         * platform/graphics/filters/FEDisplacementMap.h:
353         * platform/graphics/filters/FEDropShadow.cpp:
354         (WebCore::FEDropShadow::platformApplySoftware):
355         * platform/graphics/filters/FEDropShadow.h:
356         * platform/graphics/filters/FEFlood.cpp:
357         (WebCore::FEFlood::platformApplySoftware):
358         * platform/graphics/filters/FEFlood.h:
359         * platform/graphics/filters/FEGaussianBlur.cpp:
360         (WebCore::FEGaussianBlur::platformApplySoftware):
361         * platform/graphics/filters/FEGaussianBlur.h:
362         * platform/graphics/filters/FELighting.cpp:
363         (WebCore::FELighting::platformApplySoftware):
364         * platform/graphics/filters/FELighting.h:
365         * platform/graphics/filters/FEMerge.cpp:
366         (WebCore::FEMerge::platformApplySoftware):
367         * platform/graphics/filters/FEMerge.h:
368         * platform/graphics/filters/FEMorphology.cpp:
369         (WebCore::FEMorphology::platformApplySoftware):
370         * platform/graphics/filters/FEMorphology.h:
371         * platform/graphics/filters/FEOffset.cpp:
372         (WebCore::FEOffset::platformApplySoftware):
373         * platform/graphics/filters/FEOffset.h:
374         * platform/graphics/filters/FETile.cpp:
375         (WebCore::FETile::platformApplySoftware):
376         * platform/graphics/filters/FETile.h:
377         * platform/graphics/filters/FETurbulence.cpp:
378         (WebCore::FETurbulence::platformApplySoftware):
379         * platform/graphics/filters/FETurbulence.h:
380         * platform/graphics/filters/FilterEffect.cpp: Added non-virtual apply() function. This will call the platform specific apply functions,
381             which need to be virtual now.
382         (WebCore::FilterEffect::hasResult): Added a comment for new implementations. This function needs to be updated for every new port.
383         (WebCore::FilterEffect::apply):
384         (WebCore::FilterEffect::createImageBufferResult): Removed determineAbsolutePaintRect() call. This is done in apply() now.
385         (WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
386         (WebCore::FilterEffect::createPremultipliedImageResult): Ditto.
387         * platform/graphics/filters/FilterEffect.h:
388         * platform/graphics/filters/SourceAlpha.cpp:
389         (WebCore::SourceAlpha::platformApplySoftware):
390         * platform/graphics/filters/SourceAlpha.h:
391         * platform/graphics/filters/SourceGraphic.cpp:
392         (WebCore::SourceGraphic::platformApplySoftware):
393         * platform/graphics/filters/SourceGraphic.h:
394         * svg/graphics/filters/SVGFEImage.cpp:
395         (WebCore::FEImage::platformApplySoftware):
396         * svg/graphics/filters/SVGFEImage.h:
397
398 2011-10-19  Vsevolod Vlasov  <vsevik@chromium.org>
399
400         Web Inspector: Enable caseSensitive search / Regex support in advanced search.
401         https://bugs.webkit.org/show_bug.cgi?id=70335
402
403         Reviewed by Pavel Feldman.
404
405         * inspector/ContentSearchUtils.cpp:
406         (WebCore::ContentSearchUtils::createSearchRegex):
407         (WebCore::ContentSearchUtils::searchInTextByLines):
408         * inspector/ContentSearchUtils.h:
409         * inspector/Inspector.json:
410         * inspector/InspectorDebuggerAgent.cpp:
411         (WebCore::InspectorDebuggerAgent::searchInContent):
412         * inspector/InspectorDebuggerAgent.h:
413         * inspector/InspectorPageAgent.cpp:
414         (WebCore::InspectorPageAgent::searchInResource):
415         * inspector/InspectorPageAgent.h:
416         * inspector/front-end/AdvancedSearchController.js:
417         (WebInspector.SearchView):
418         (WebInspector.SearchView.prototype.get searchConfig):
419         (WebInspector.FileBasedSearchResultsPane.prototype._createSearchRegex):
420         (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
421         (WebInspector.FileBasedSearchResultsPane.SearchResult):
422         * inspector/front-end/ConsolePanel.js:
423         (WebInspector.ConsolePanel.prototype.performSearch):
424         * inspector/front-end/ContentProviders.js:
425         (WebInspector.ScriptContentProvider.prototype.searchInContent):
426         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent.searchCallback):
427         (WebInspector.ConcatenatedScriptsContentProvider.prototype.searchInContent):
428         (WebInspector.ResourceContentProvider.prototype.searchInContent):
429         (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
430         (WebInspector.StaticContentProvider.prototype.searchInContent):
431         * inspector/front-end/ElementsTreeOutline.js:
432         ():
433         * inspector/front-end/NetworkPanel.js:
434         (WebInspector.NetworkLogView.prototype.performSearch):
435         * inspector/front-end/Resource.js:
436         (WebInspector.Resource.prototype.searchInContent):
437         * inspector/front-end/Script.js:
438         (WebInspector.Script.prototype.searchInContent):
439         * inspector/front-end/ScriptsSearchScope.js:
440         (WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
441         (WebInspector.ScriptsSearchScope.prototype.performSearch):
442         * inspector/front-end/SourceFrame.js:
443         (WebInspector.SourceFrame.createSearchRegex):
444         * inspector/front-end/UISourceCode.js:
445         (WebInspector.UISourceCode.prototype.searchInContent):
446         (WebInspector.ContentProvider.prototype.searchInContent):
447         * inspector/front-end/inspector.css:
448         (.search-view .search-panel input[type="search"].search-config-search):
449         (.search-view .search-panel label.search-config-label):
450         (.search-view .search-panel input[type="checkbox"].search-config-checkbox):
451         * inspector/front-end/utilities.js:
452         ():
453
454 2011-10-19  Andreas Kling  <kling@webkit.org>
455
456         MediaList: Remove inheritance from StyleBase.
457         https://bugs.webkit.org/show_bug.cgi?id=70203
458
459         Reviewed by Darin Adler.
460
461         * css/MediaList.h:
462         (WebCore::MediaList::parentStyleSheet):
463         (WebCore::MediaList::setParentStyleSheet):
464         * css/MediaList.cpp:
465         (WebCore::MediaList::MediaList):
466         (WebCore::MediaList::notifyChanged):
467
468             Change MediaList to no longer inherit from StyleBase. The parent()/setParent()
469             mechanism was replaced by explicit parentStyleSheet()/setParentStyleSheet().
470
471         * css/CSSImportRule.cpp:
472         (WebCore::CSSImportRule::CSSImportRule):
473         (WebCore::CSSImportRule::~CSSImportRule):
474         * css/CSSMediaRule.cpp:
475         (WebCore::CSSMediaRule::CSSMediaRule):
476         (WebCore::CSSMediaRule::~CSSMediaRule):
477
478             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
479             CSSRules are never moved between stylesheets, so the parent style sheet pointer
480             is valid for the MediaList's lifetime.
481
482         * css/StyleSheet.cpp:
483         (WebCore::StyleSheet::~StyleSheet):
484
485             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
486
487         (WebCore::StyleSheet::setMedia):
488
489             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
490             Assert that the parent sheet is either null, or this, as MediaLists should never
491             be reparented to other sheets.
492             Assert that the StyleSheet is indeed a CSSStyleSheet.  XSLStyleSheet inherits from
493             StyleSheet, but it shouldn't be using the MediaList.
494
495         * bindings/js/JSDOMBinding.h:
496         (WebCore::root):
497
498             Add MediaList* specific overload for root() since it can't fall back
499             to root(StyleBase*) anymore.
500
501         * WebCore.xcodeproj/project.pbxproj:
502
503             Add some PrivateHeaders to accomodate the JSDOMBinding.h changes.
504
505         * css/CSSMediaRule.h:
506
507             Remove unnecessary forward-declaration of MediaList.
508
509 2011-10-19  Vsevolod Vlasov  <vsevik@chromium.org>
510
511         Web Inspector: Console messages for XHR logging should show call stack if available.
512         https://bugs.webkit.org/show_bug.cgi?id=70324
513
514         Reviewed by Pavel Feldman.
515
516         * inspector/front-end/ConsoleMessage.js:
517         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
518
519 2011-10-13  Pavel Podivilov  <podivilov@chromium.org>
520
521         Web Inspector: move JS specific popover handling to JavaScriptSourceFrame.
522         https://bugs.webkit.org/show_bug.cgi?id=70033
523
524         Reviewed by Pavel Feldman.
525
526         * inspector/front-end/DebuggerPresentationModel.js:
527         (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
528         (WebInspector.DebuggerPresentationModel.prototype.get paused):
529         * inspector/front-end/JavaScriptSourceFrame.js:
530         (WebInspector.JavaScriptSourceFrame):
531         (WebInspector.JavaScriptSourceFrame.prototype.shouldShowPopover):
532         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
533         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
534         (WebInspector.JavaScriptSourceFrame.prototype.onHidePopover):
535         (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
536         * inspector/front-end/ScriptsPanel.js:
537         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
538         (WebInspector.SourceFrameDelegateForScriptsPanel):
539         * inspector/front-end/SourceFrame.js:
540         (WebInspector.SourceFrame):
541         (WebInspector.SourceFrame.prototype.willHide):
542         (WebInspector.SourceFrame.prototype._initializeTextViewer):
543         (WebInspector.SourceFrame.prototype._getPopoverAnchor):
544         (WebInspector.SourceFrame.prototype.get readOnly):
545         (WebInspector.SourceFrame.prototype._setReadOnly):
546         (WebInspector.SourceFrame.prototype.contentChanged):
547         (WebInspector.SourceFrame.prototype.shouldShowPopover):
548         (WebInspector.SourceFrame.prototype.onShowPopover):
549         (WebInspector.SourceFrame.prototype.onHidePopover):
550
551 2011-10-19  Tomasz Morawski  <t.morawski@samsung.com>
552
553         [EFL][WK2] Added missing files to build WebKit2 EFL
554         https://bugs.webkit.org/show_bug.cgi?id=70312
555
556         Reviewed by Ryosuke Niwa.
557
558         Added missing files to WebCore/CMakeListEfl.txt script:
559         - platform/network/soup/CredentialStorageSoup.cpp
560         - platform/network/soup/ProxyServerSoup.cpp
561         Fixes few linking time errors.
562
563         * CMakeListsEfl.txt:
564
565 2011-10-19  Kentaro Hara  <haraken@chromium.org>
566
567         Rename AllowAllocation to ConstructorMode
568         https://bugs.webkit.org/show_bug.cgi?id=70397
569
570         Reviewed by Adam Barth.
571
572         The name 'AllowAllocation' is confusing (See discussion here: bug 70015).
573         This patch renames 'AllowAllocation' to 'ConstructorMode' to clarify that
574         this class is for distinguishing the following two situations:
575          1. A programmer allocates an object via "new X"; X is a function with a C++ constructCallback.
576          2. C++ allocates an object via the function template and tries to wrap the object with a JS flavor.
577
578         Tests: fast/events/constructors/*
579
580         * bindings/scripts/CodeGeneratorV8.pm: Renamed AllowAllocation to ConstructorMode.
581         (GenerateConstructorCallback):
582         * bindings/scripts/test/V8/V8TestInterface.cpp: Updated a run-binding-tests result.
583         (WebCore::V8TestInterface::constructorCallback):
584         * bindings/v8/V8Binding.cpp: Renamed AllowAllocation to ConstructorMode.
585         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
586         * bindings/v8/V8Binding.h: Ditto.
587         (WebCore::ConstructorMode::ConstructorMode):
588         (WebCore::ConstructorMode::~ConstructorMode):
589         (WebCore::ConstructorMode::current):
590         (WebCore::SafeAllocation::newInstance):
591         * bindings/v8/V8Proxy.cpp: Ditto.
592         (WebCore::V8Proxy::checkNewLegal):
593         * bindings/v8/custom/V8EventConstructors.cpp: Ditto.
594         (WebCore::constructV8Event):
595
596 2011-10-19  Tomasz Morawski  <t.morawski@samsung.com>
597
598         [EFL] Added missing dummy platformDescription function
599         https://bugs.webkit.org/show_bug.cgi?id=70310
600
601         Reviewed by Ryosuke Niwa.
602
603         Added dummy platformDescription function needed to compile WK2.
604
605         * platform/efl/ContextMenuEfl.cpp:
606         (WebCore::ContextMenu::platformDescription):
607
608 2011-10-18  Kentaro Hara  <haraken@chromium.org>
609
610         Generate a SharedWorker constructor of V8 using [Constructor] IDL
611         https://bugs.webkit.org/show_bug.cgi?id=67879
612
613         Reviewed by Hajime Morita.
614
615         Spec: http://dev.w3.org/html5/workers/#shared-workers-and-the-sharedworker-interface
616         This patch changed SharedWorker::create(..., context, ec) to
617         SharedWorker::create(context, ..., ec), since a parameter specified by [CallWith]
618         should come at the beginning (c.f. bug 69799).
619
620         Test: ui_tests:WorkerTest.FLAKY_SharedWorkerFastConstructor
621               ui_tests:WorkerTest.FLAKY_SharedWorkerFastName
622
623         * WebCore.gypi: Removed bindings/v8/custom/V8SharedWorkerCustom.cpp
624         * WebCore.pro: Ditto.
625         * bindings/js/JSSharedWorkerCustom.cpp: Moved ScriptExecutionContext parameter to the beginning.
626         (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
627         * bindings/v8/custom/V8SharedWorkerCustom.cpp: Removed.
628         * workers/SharedWorker.cpp: Moved ScriptExecutionContext parameter to the beginning.
629         (WebCore::SharedWorker::create): Ditto.
630         * workers/SharedWorker.h: Ditto.
631         * workers/SharedWorker.idl: Added [Constructor] IDL.
632
633 2011-10-18  Johnny Ding  <jnd@chromium.org>
634
635         Implement NSProcessInfo::systemUptime on Mac Leopard.
636         https://bugs.webkit.org/show_bug.cgi?id=66577
637
638         Reviewed by Tony Chang.
639
640         * WebCore.gyp/WebCore.gyp:
641         * platform/chromium/ScrollAnimatorChromiumMac.mm:
642         (-[NSProcessInfo systemUptime]):
643
644 2011-10-18  Sam Weinig  <sam@webkit.org>
645
646         Try to jostle the windows build back to life.
647
648         * rendering/HitTestResult.h:
649
650 2011-10-18  Anders Carlsson  <andersca@apple.com>
651
652         Assertion failure when going back in page with navigated subframes
653         https://bugs.webkit.org/show_bug.cgi?id=70389
654         <rdar://problem/8988444>
655
656         Reviewed by Darin Adler.
657
658         Test: fast/history/history-back-twice-with-subframes-assert.html
659
660         If a single navigation ends up loading multiple frame, the first committed frame will
661         end up calling recursiveUpdateForCommit on the main frame which will null out the provisional item
662         for all frames on the page. This means that it can null out the provisional item for any frames
663         that are still yet to be committed which causes the aforementioned assertion failure.
664
665         Fix this by only nulling out the provisional history item (and saving/restoring the scroll position and
666         some other things) for frames that already contain the URL that the item requested. If a frame is being loaded,
667         it will null out its provisional history item when it's committed.
668
669         * loader/HistoryController.cpp:
670         (WebCore::HistoryController::recursiveUpdateForCommit):
671
672 2011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
673
674         Unreviewed, rolling out r97765.
675         http://trac.webkit.org/changeset/97765
676         https://bugs.webkit.org/show_bug.cgi?id=70388
677
678         "broke webkit_unit_tests, http/tests/xmlhttprequest
679         /xmlhttprequest-test-send-flag.html on linux debug" (Requested
680         by dpranke on #webkit).
681
682         * WebCore.gypi:
683         * loader/DocumentThreadableLoader.cpp:
684         (WebCore::DocumentThreadableLoader::create):
685         (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
686         (WebCore::DocumentThreadableLoader::cancel):
687         (WebCore::DocumentThreadableLoader::setDefersLoading):
688         (WebCore::DocumentThreadableLoader::willSendRequest):
689         (WebCore::DocumentThreadableLoader::didSendData):
690         (WebCore::DocumentThreadableLoader::didReceiveResponse):
691         (WebCore::DocumentThreadableLoader::didReceiveData):
692         (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
693         (WebCore::DocumentThreadableLoader::didFinishLoading):
694         (WebCore::DocumentThreadableLoader::didFail):
695         (WebCore::DocumentThreadableLoader::preflightSuccess):
696         (WebCore::DocumentThreadableLoader::loadRequest):
697         * loader/DocumentThreadableLoader.h:
698         * loader/cache/CachedRawResource.cpp:
699         (WebCore::CachedRawResource::CachedRawResource):
700         (WebCore::CachedRawResource::data):
701         * loader/cache/CachedRawResource.h:
702         * loader/cache/CachedResource.cpp:
703         (WebCore::CachedResource::CachedResource):
704         * loader/cache/CachedResource.h:
705         (WebCore::CachedResource::setRequestedFromNetworkingLayer):
706         * loader/cache/CachedResourceClient.h:
707         * loader/cache/CachedResourceRequest.cpp:
708         (WebCore::CachedResourceRequest::~CachedResourceRequest):
709         (WebCore::CachedResourceRequest::willSendRequest):
710         (WebCore::CachedResourceRequest::didFinishLoading):
711         (WebCore::CachedResourceRequest::didReceiveResponse):
712         (WebCore::CachedResourceRequest::didReceiveData):
713         * loader/cache/CachedResourceRequest.h:
714         * loader/chromium/CachedRawResourceChromium.cpp: Removed.
715         * loader/chromium/CachedResourceRequestChromium.cpp: Removed.
716         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
717         (WebCore::DocumentThreadableLoader::didDownloadData):
718         * loader/icon/IconLoader.h:
719         * platform/network/BlobResourceHandle.cpp:
720         (WebCore::BlobResourceHandle::notifyResponse):
721
722 2011-10-18  Mark Hahnenberg  <mhahnenberg@apple.com>
723
724         Rename static put to putByIndex
725         https://bugs.webkit.org/show_bug.cgi?id=70281
726
727         Reviewed by Geoffrey Garen.
728
729         No new tests.
730
731         Renaming versions of deleteProperty that use an unsigned as the property
732         name to "deletePropertyByIndex" in preparation for adding them to the 
733         MethodTable, which requires unique names for each method.
734
735         * bindings/scripts/CodeGeneratorJS.pm:
736         (GenerateHeader):
737         (GenerateImplementation):
738         * bridge/runtime_array.cpp:
739         (JSC::RuntimeArray::putVirtual):
740         (JSC::RuntimeArray::putByIndex):
741         * bridge/runtime_array.h:
742
743 2011-10-18  Sam Weinig  <sam@webkit.org>
744
745         Fix the build.
746
747         * rendering/HitTestResult.cpp:
748         (WebCore::HitTestResult::absolutePDFURL):
749         Fix typo.
750
751 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
752
753         Unreviewed warning fix after https://bugs.webkit.org/show_bug.cgi?id=70269
754
755         * WebCore.pro:
756
757 2011-10-18  Alexey Proskuryakov  <ap@apple.com>
758
759         Expose PDF information in hit test result
760         https://bugs.webkit.org/show_bug.cgi?id=70353
761
762         Reviewed by Sam Weinig.
763
764         * WebCore.exp.in:
765         * rendering/HitTestResult.cpp:
766         (WebCore::HitTestResult::absolutePDFURL):
767         * rendering/HitTestResult.h:
768         Added HitTestResult::absolutePDFURL(). It will contain a URL when over a PDF object or embed;
769         not sure if we want this for PDFImageDocuments.
770
771 2011-10-18  Adrienne Walker  <enne@google.com>
772
773         [chromium] Preserve offscreen tiles instead of immediately recycling them
774         https://bugs.webkit.org/show_bug.cgi?id=70352
775
776         Reviewed by James Robinson.
777
778         Tested by existing layout tests.
779
780         Prior to having a TextureManager class, tiled layers recycled their
781         textures internally to avoid reallocation. Unfortunately, it recycled
782         these tiles as soon as they went offscreen, even if they were still
783         valid. Instead, keep tiles around forever, letting the TextureManager
784         decide (via LRU) when to reclaim the underlying textures. This will
785         improve scrolling performance due to not needing to repaint tiles.
786
787         This change does lead to more texture reallocation for any textures
788         that get reclaimed, but the command buffer implementation already
789         pools and reuses texture ids, so it should not introduce additional
790         flush syncs. If there's any performance penalty, it'll be at the
791         driver level, but I'd prefer to measure that there's a problem before
792         prematurely optimizing and adding complexity to the TextureManager.
793
794         * platform/graphics/chromium/TiledLayerChromium.cpp:
795         (WebCore::TiledLayerChromium::cleanupResources):
796         (WebCore::TiledLayerChromium::createTile):
797         (WebCore::TiledLayerChromium::prepareToUpdate):
798         * platform/graphics/chromium/TiledLayerChromium.h:
799
800 2011-10-18  Adam Klein  <adamk@chromium.org>
801
802         [MutationObservers] Implement WebKitMutationObserver.observe for characterData changes
803         https://bugs.webkit.org/show_bug.cgi?id=68957
804
805         Reviewed by Ryosuke Niwa.
806
807         Test: fast/mutation/observe-characterdata.html
808
809         * dom/CharacterData.cpp:
810         (WebCore::CharacterData::dispatchModifiedEvent):
811
812 2011-10-18  Scott Byer  <scottbyer@chromium.org>
813
814         Scroll animator tracing
815         https://bugs.webkit.org/show_bug.cgi?id=70280
816
817         Reviewed by James Robinson.
818
819         No functional difference, no test needed.
820
821         * platform/ScrollAnimatorNone.cpp:
822         (WebCore::ScrollAnimatorNone::scroll):
823         (WebCore::ScrollAnimatorNone::animationTimerFired):
824
825 2011-10-18  James Robinson  <jamesr@chromium.org>
826
827         [chromium] Remove USE(THREADED_COMPOSITING) from the tree, this is controlled by a runtime setting
828         https://bugs.webkit.org/show_bug.cgi?id=70356
829
830         Reviewed by Kenneth Russell.
831
832         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
833
834 2011-10-18  Ojan Vafai  <ojan@chromium.org>
835
836         cleanup some FIXMEs in RenderFlexibleBox
837         https://bugs.webkit.org/show_bug.cgi?id=70374
838
839         Reviewed by Darin Adler.
840
841         No new tests. Existing tests cover all changes.
842
843         * rendering/RenderFlexibleBox.cpp:
844         (WebCore::RenderFlexibleBox::layoutBlock):
845         (WebCore::RenderFlexibleBox::flowAwareBorderAndPaddingLogicalHeight):
846         (WebCore::RenderFlexibleBox::flowAwareMarginLogicalHeightForChild):
847         * rendering/RenderFlexibleBox.h:
848         Removed the FIXME to implement computePreferredLogicalWidths. It doesn't
849         seem to be necessary, at least not with the current test cases.
850
851 2011-10-18  Joseph Pecoraro  <joepeck@webkit.org>
852
853         Web Inspector: Some localizedStrings.js Updates
854         https://bugs.webkit.org/show_bug.cgi?id=70365
855
856         Reviewed by Darin Adler.
857
858         Fixed syntax issue, added missing strings, and removed a duplicate.
859
860         * English.lproj/localizedStrings.js:
861
862 2011-10-18  Tony Chang  <tony@chromium.org>
863
864         fix unused-but-set-variable warnings in WebCore
865         https://bugs.webkit.org/show_bug.cgi?id=70344
866
867         Reviewed by Adam Barth.
868
869         This is a new compiler warning in gcc 4.6.
870
871         * bindings/v8/V8DOMWrapper.cpp:
872         (WebCore::V8DOMWrapper::isWrapperOfType):
873         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
874         (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
875
876 2011-10-18  Dan Bernstein  <mitz@apple.com>
877
878         Certain column-rule styles render incorrectly in vertical writing modes
879         https://bugs.webkit.org/show_bug.cgi?id=70362
880
881         Reviewed by Darin Adler.
882
883         Test: fast/multicol/vertical-rl/rule-style.html
884
885         * rendering/RenderBlock.cpp:
886         (WebCore::RenderBlock::paintColumnRules): Use the correct border sides for vertical writing modes.
887
888 2011-10-18  Anna Cavender  <annacc@chromium.org>
889
890         Fix broken binding tests by changing G_MAXUSHORT to G_MAXUINT in WebKitDOMTestObj.cpp.
891         https://bugs.webkit.org/show_bug.cgi?id=70267
892
893         Reviewed by Daniel Bates.
894
895         Tests: fixing WebKitDOMTestObj.cpp
896
897         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
898         (webkit_dom_test_obj_class_init): Change G_MAXUSHORT to G_MAXUINT
899
900 2011-10-18  Julien Chaffraix  <jchaffraix@webkit.org>
901
902         Crash in RenderDeprecatedFlexibleBox::layoutHorizontalBox
903         https://bugs.webkit.org/show_bug.cgi?id=70183
904
905         Reviewed by David Hyatt.
906
907         Test: fast/flexbox/layoutHorizontal-crash.html
908
909         The deferred scroll information update logic was not updated when an object was destroy'ed.
910
911         The fix is very simple. As the deferred logic was only used with deprecated flexbox, it is a
912         pretty uncommon cases so let's optimize the new code for the common case.
913
914         * rendering/RenderBlock.cpp:
915         (WebCore::RenderBlock::willBeDestroyed):
916
917 2011-10-18  Adam Klein  <adamk@chromium.org>
918
919         [MutationObservers] Clean up MutationObserver code in Node
920         https://bugs.webkit.org/show_bug.cgi?id=70349
921
922         Reviewed by Ryosuke Niwa.
923
924         Three small cleanups.
925
926         No new tests, no behavior change.
927
928         * dom/Node.cpp:
929         (WebCore::Node::clearRareData): Use indices instead of iterator in for loop; fix typo.
930         (WebCore::Node::registerMutationObserver): Inline single call to Node::ensureMutationObserverEntries.
931         * dom/Node.h: Make mutationObserverEntries private.
932
933 2011-10-18  James Robinson  <jamesr@chromium.org>
934
935         [chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
936         https://bugs.webkit.org/show_bug.cgi?id=70161
937
938         Reviewed by David Levin.
939
940         Adds a weak pointer mechanism to cancel main thread tasks posted to CCThreadProxy instances from the compositor
941         thread. Previously there was a race condition where main thread tasks could run even after the CCThreadProxy was
942         destroyed.
943
944         This race does not exist in the other direction because when tearing down a CCThreadProxy we first post a quit
945         task to the compositor thread and then suspend execution of the main thread until all compositor tasks for the
946         CCThreadProxy have been drained.
947
948         Covered by the now-enabled CCLayerTreeHostTest* unit tests.
949
950         * WebCore.gypi:
951         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Added.
952         (WebCore::CCScopedMainThreadProxy::create):
953         (WebCore::CCScopedMainThreadProxy::postTask):
954         (WebCore::CCScopedMainThreadProxy::shutdown):
955         (WebCore::CCScopedMainThreadProxy::CCScopedMainThreadProxy):
956         (WebCore::CCScopedMainThreadProxy::runTaskIfNotShutdown):
957         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
958         (WebCore::CCThreadProxy::CCThreadProxy):
959         (WebCore::CCThreadProxy::~CCThreadProxy):
960         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
961         * platform/graphics/chromium/cc/CCThreadProxy.h:
962
963 2011-10-13  Ojan Vafai  <ojan@chromium.org>
964
965         implement flex-flow:column
966         https://bugs.webkit.org/show_bug.cgi?id=70082
967
968         Reviewed by David Hyatt.
969
970         There's still a bug with a FIXME where we don't compute the right
971         size for the container of the flexbox in the presence of
972         orthogonal flows. That's the cause of all the failing cases
973         in the tests.
974
975         Tests: css3/flexbox/flex-flow-border.html
976                css3/flexbox/flex-flow-margins.html
977                css3/flexbox/flex-flow-orientations.html
978                css3/flexbox/flex-flow-overflow.html
979                css3/flexbox/flex-flow-padding.html
980                css3/flexbox/flex-flow.html
981
982         * rendering/RenderFlexibleBox.cpp:
983         (WebCore::RenderFlexibleBox::layoutBlock):
984         (WebCore::RenderFlexibleBox::hasOrthogonalFlow):
985         (WebCore::RenderFlexibleBox::isColumnFlow):
986         (WebCore::RenderFlexibleBox::isHorizontalFlow):
987         (WebCore::RenderFlexibleBox::isLeftToRightFlow):
988         Use isHorizontalFlow and isLeftToRightFlow so that methods like
989         flowAwareBorderStart look exactly like borderStart with
990         isHorizontalWritingMode and isLeftToRightDirection replaced.
991
992         (WebCore::RenderFlexibleBox::setFlowAwareLogicalHeight):
993         (WebCore::RenderFlexibleBox::flowAwareLogicalHeightForChild):
994         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthForChild):
995         (WebCore::RenderFlexibleBox::flowAwareLogicalHeight):
996         (WebCore::RenderFlexibleBox::flowAwareLogicalWidth):
997         (WebCore::RenderFlexibleBox::flowAwareContentLogicalHeight):
998         (WebCore::RenderFlexibleBox::flowAwareContentLogicalWidth):
999         (WebCore::RenderFlexibleBox::transformedWritingMode):
1000         Transform the writing-mode based of the flex-flow and direction
1001         values. That methods like flowAwareBorderBefore look exactly like
1002         borderBefore, except it switches over a different value.
1003
1004         (WebCore::RenderFlexibleBox::flowAwareBorderStart):
1005         (WebCore::RenderFlexibleBox::flowAwareBorderBefore):
1006         (WebCore::RenderFlexibleBox::flowAwareBorderAfter):
1007         (WebCore::RenderFlexibleBox::flowAwarePaddingStart):
1008         (WebCore::RenderFlexibleBox::flowAwarePaddingBefore):
1009         (WebCore::RenderFlexibleBox::flowAwarePaddingAfter):
1010         (WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
1011         (WebCore::RenderFlexibleBox::flowAwareMarginEndForChild):
1012         (WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
1013         (WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild):
1014         (WebCore::RenderFlexibleBox::setFlowAwareMarginStartForChild):
1015         (WebCore::RenderFlexibleBox::setFlowAwareMarginEndForChild):
1016         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
1017         (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
1018         * rendering/RenderFlexibleBox.h:
1019
1020 2011-10-18  Shawn Singh  <shawnsingh@chromium.org>
1021
1022         [chromium] Tracking update rects in LayerChromium and CCLayerImpl.
1023         https://bugs.webkit.org/show_bug.cgi?id=69441
1024
1025         Reviewed by James Robinson.
1026
1027         This patch does not do much on its own, but is just part 1 of a
1028         string of other patches which will use these rects for
1029         visualization and scissoring.  The appropriate testing will be
1030         associated with those patches.
1031
1032         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1033         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
1034         * platform/graphics/chromium/LayerChromium.cpp:
1035         (WebCore::LayerChromium::pushPropertiesTo):
1036         * platform/graphics/chromium/LayerChromium.h:
1037         * platform/graphics/chromium/TiledLayerChromium.cpp:
1038         (WebCore::TiledLayerChromium::cleanupResources):
1039         (WebCore::TiledLayerChromium::updateCompositorResources):
1040         (WebCore::TiledLayerChromium::pushPropertiesTo):
1041         (WebCore::TiledLayerChromium::prepareToUpdate):
1042         * platform/graphics/chromium/TiledLayerChromium.h:
1043         * platform/graphics/chromium/VideoLayerChromium.cpp:
1044         (WebCore::VideoLayerChromium::updateCompositorResources):
1045         * platform/graphics/chromium/WebGLLayerChromium.cpp:
1046         (WebCore::WebGLLayerChromium::updateCompositorResources):
1047         * platform/graphics/chromium/cc/CCLayerImpl.h:
1048         (WebCore::CCLayerImpl::updateRect):
1049         (WebCore::CCLayerImpl::setUpdateRect):
1050
1051 2011-10-18  Anna Cavender  <annacc@chromium.org>
1052
1053         Change CodeGeneratorGObject.pm to use g_value_get_uint() instead of g_value_get_ushort()
1054         for IDL attributes of type unsigned short.
1055         https://bugs.webkit.org/show_bug.cgi?id=70267
1056
1057         Reviewed by Xan Lopez.
1058
1059         Tests: small change to WebKitDOMTestObj.cpp
1060
1061         * bindings/scripts/CodeGeneratorGObject.pm:
1062         (GetGValueTypeName): convert unsigned short to uint instead of ushort
1063         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1064         (webkit_dom_test_obj_set_property): expect g_value_get_uint instead of g_value_get_ushort
1065         (webkit_dom_test_obj_class_init): expect G_MAXUSHORT instead of G_MAXUINT16
1066
1067 2011-10-18  Vsevolod Vlasov  <vsevik@chromium.org>
1068
1069         Web Inspector: ScriptsPanel's should use similar logic to decide whether it could show an anchor location and actually showing it.
1070         https://bugs.webkit.org/show_bug.cgi?id=70322
1071
1072         Reviewed by Pavel Feldman.
1073
1074         * inspector/front-end/ScriptsPanel.js:
1075         (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
1076         (WebInspector.ScriptsPanel.prototype._showSourceLine):
1077
1078 2011-10-18  Eric Carlson  <eric.carlson@apple.com>
1079
1080         Use the new cached cue loader
1081         https://bugs.webkit.org/show_bug.cgi?id=70269
1082
1083         Reviewed by Antti Koivisto.
1084
1085         No new tests, no functionality changed.
1086
1087         * CMakeLists.txt: Remove CueParser.cpp/h and CueParserPrivate.h.
1088         * GNUmakefile.list.am: Ditto.
1089         * WebCore.gypi: Ditto.
1090         * WebCore.xcodeproj/project.pbxproj: Ditto.
1091
1092         * html/HTMLMediaElement.cpp:
1093         (WebCore::HTMLMediaElement::loadTextTracks):
1094         (WebCore::HTMLMediaElement::textTrackReadyStateChanged): New, not implemented yet.
1095         (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
1096         (WebCore::HTMLMediaElement::textTrackCreated): Ditto.
1097         (WebCore::HTMLMediaElement::textTrackAddCues): Ditto.
1098         (WebCore::HTMLMediaElement::textTrackRemoveCues): Ditto.
1099         (WebCore::HTMLMediaElement::textTrackAddCue): Ditto.
1100         (WebCore::HTMLMediaElement::textTrackRemoveCue): Ditto.
1101         * html/HTMLMediaElement.h:
1102
1103         * html/HTMLTrackElement.cpp:
1104         (WebCore::HTMLTrackElement::load): Update for interface change
1105         (WebCore::HTMLTrackElement::textTrackLoadingCompleted): New, dispatch 'load' or 'error' event.
1106         * html/HTMLTrackElement.h:
1107
1108         * html/LoadableTextTrack.cpp:
1109         (WebCore::LoadableTextTrack::LoadableTextTrack): Add TextTrackClient and TextTrackLoadingClient
1110             parameters.
1111         (WebCore::LoadableTextTrack::load): Make url parameter KURL instead of String. Create the 
1112             cue loader, trigger the load.
1113         (WebCore::LoadableTextTrack::newCuesAvailable): New callback from the loader. Not implemented yet.
1114         (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
1115         (WebCore::LoadableTextTrack::cueLoadingCompleted): Ditto.
1116         * html/LoadableTextTrack.h:
1117
1118         * html/MutableTextTrack.cpp:
1119         (WebCore::MutableTextTrack::MutableTextTrack): Add TextTrackClient parameter.
1120         * html/MutableTextTrack.h:
1121         (WebCore::MutableTextTrack::create):
1122
1123         * html/TextTrack.cpp:
1124         (WebCore::TextTrack::TextTrack): Add TextTrackClient parameter.
1125         (WebCore::TextTrack::~TextTrack): Tell the client to remove all cues, forget the client.
1126         (WebCore::TextTrack::setReadyState): Tell client about ready state change.
1127         (WebCore::TextTrack::setMode): Tell client about mode change.
1128         * html/TextTrack.h:
1129         (WebCore::TextTrackClient::textTrackAddCues): New client interface.
1130         (WebCore::TextTrackClient::textTrackRemoveCues): Ditto.
1131         (WebCore::TextTrackClient::textTrackAddCue): Ditto.
1132         (WebCore::TextTrackClient::textTrackRemoveCue): Ditto.
1133         (WebCore::TextTrack::create):
1134         (WebCore::TextTrack::trackType): New.
1135         (WebCore::TextTrack::client): Ditto.
1136         (WebCore::TextTrack::setClient): Ditto.
1137
1138         * html/track/CueParser.cpp: Removed.
1139         * html/track/CueParser.h: Removed.
1140         * html/track/CueParserPrivate.h: Removed.
1141
1142         * html/track/WebVTTParser.cpp:
1143         (WebCore::WebVTTParser::fileIdentifierMaximumLength): New, return length of WebVTT file
1144             magic number.
1145         (WebCore::WebVTTParser::hasRequiredFileIdentifier): Update to use constants instead of hard
1146             coded lengths.
1147         (WebCore::WebVTTParser::WebVTTParser): Initialize "m_client" in the initilization list
1148             instead of setting it in the constructor.
1149         (WebCore::WebVTTParser::getNewCues): Renamed from fetchParsedCues.
1150         * html/track/WebVTTParser.h:
1151         (WebCore::WebVTTParser::create): Take a WebVTTParserClient* instead of a CueParserPrivateClient*.
1152
1153         * loader/CueLoader.cpp:
1154         (WebCore::CueLoader::CueLoader):
1155         (WebCore::CueLoader::~CueLoader): Remove client.
1156         (WebCore::CueLoader::cueLoadTimerFired): Tell client about new clues and/or that the load
1157             has finished.
1158         (WebCore::CueLoader::processNewCueData): Process newly loaded data.
1159         (WebCore::CueLoader::didReceiveData): Ditto.
1160         (WebCore::CueLoader::notifyFinished): Do final processing as necessary, prime the timer
1161             to call client.
1162         (WebCore::CueLoader::load): Create resource loader, initiate loading.
1163         (WebCore::CueLoader::newCuesParsed): Prime timer to tell client about newly parsed cues.
1164         (WebCore::CueLoader::getNewCues): Get new cues from parser.
1165         * loader/CueLoader.h:
1166         (WebCore::CueLoader::create):
1167
1168 2011-10-18  Adam Barth  <abarth@webkit.org>
1169
1170         Always enable ENABLE(XPATH)
1171         https://bugs.webkit.org/show_bug.cgi?id=70217
1172
1173         Reviewed by Eric Seidel.
1174
1175         As discussed on webkit-dev, we're reducing the complexity of WebKit by
1176         removing unneeded configuration options.  ENABLE(XPATH) is enabled on
1177         every port, so we are removing the ability to disable the feature.
1178
1179         * CMakeLists.txt:
1180         * Configurations/FeatureDefines.xcconfig:
1181         * GNUmakefile.am:
1182         * GNUmakefile.list.am:
1183         * UseJSC.cmake:
1184         * WebCore.pro:
1185         * bindings/js/JSCustomXPathNSResolver.cpp:
1186         * bindings/js/JSCustomXPathNSResolver.h:
1187         * bindings/js/JSDOMBinding.cpp:
1188         (WebCore::setDOMException):
1189         * bindings/js/JSExceptionBase.cpp:
1190         (WebCore::toExceptionBase):
1191         * bindings/js/JSXPathResultCustom.cpp:
1192         * bindings/objc/DOMCustomXPathNSResolver.h:
1193         * bindings/objc/DOMCustomXPathNSResolver.mm:
1194         * bindings/objc/DOMInternal.h:
1195         * bindings/objc/DOMUtility.mm:
1196         (JSC::createDOMWrapper):
1197         * bindings/objc/DOMXPath.mm:
1198         (kit):
1199         * bindings/objc/PublicDOMInterfaces.h:
1200         * bindings/v8/V8DOMWrapper.cpp:
1201         (WebCore::V8DOMWrapper::getXPathNSResolver):
1202         * bindings/v8/V8DOMWrapper.h:
1203         * bindings/v8/V8Proxy.cpp:
1204         (WebCore::V8Proxy::setDOMException):
1205         * bindings/v8/V8Proxy.h:
1206         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
1207         * bindings/v8/custom/V8CustomXPathNSResolver.h:
1208         * bindings/v8/custom/V8DocumentCustom.cpp:
1209         (WebCore::V8Document::evaluateCallback):
1210         * dom/Document.cpp:
1211         * dom/Document.h:
1212         * dom/Document.idl:
1213         * dom/ExceptionCode.cpp:
1214         (WebCore::getExceptionCodeDescription):
1215         * dom/ExceptionCode.h:
1216         * features.pri:
1217         * inspector/InspectorDOMAgent.cpp:
1218         * page/DOMWindow.idl:
1219         * xml/NativeXPathNSResolver.cpp:
1220         * xml/NativeXPathNSResolver.h:
1221         * xml/XPathEvaluator.cpp:
1222         * xml/XPathEvaluator.h:
1223         * xml/XPathEvaluator.idl:
1224         * xml/XPathException.h:
1225         * xml/XPathException.idl:
1226         * xml/XPathExpression.cpp:
1227         * xml/XPathExpression.h:
1228         * xml/XPathExpression.idl:
1229         * xml/XPathExpressionNode.cpp:
1230         * xml/XPathExpressionNode.h:
1231         * xml/XPathFunctions.cpp:
1232         * xml/XPathFunctions.h:
1233         * xml/XPathGrammar.y:
1234         * xml/XPathNSResolver.cpp:
1235         * xml/XPathNSResolver.h:
1236         * xml/XPathNSResolver.idl:
1237         * xml/XPathNodeSet.cpp:
1238         * xml/XPathNodeSet.h:
1239         * xml/XPathParser.cpp:
1240         * xml/XPathParser.h:
1241         * xml/XPathPath.cpp:
1242         * xml/XPathPath.h:
1243         * xml/XPathPredicate.cpp:
1244         * xml/XPathPredicate.h:
1245         * xml/XPathResult.cpp:
1246         * xml/XPathResult.h:
1247         * xml/XPathResult.idl:
1248         * xml/XPathStep.cpp:
1249         * xml/XPathStep.h:
1250         * xml/XPathUtil.cpp:
1251         * xml/XPathUtil.h:
1252         * xml/XPathValue.cpp:
1253         * xml/XPathValue.h:
1254         * xml/XPathVariableReference.cpp:
1255         * xml/XPathVariableReference.h:
1256
1257 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
1258
1259         AX: buttons of number type <input> controls are not fully accessible
1260         https://bugs.webkit.org/show_bug.cgi?id=70241
1261
1262         Staged commit, part 6.
1263
1264         Reviewed by Darin Adler.
1265
1266         Test: platform/mac/accessibility/html5-input-number.html
1267
1268         * accessibility/AccessibilityRenderObject.cpp:
1269         (WebCore::AccessibilityRenderObject::addImageMapChildren):
1270         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
1271         (WebCore::AccessibilityRenderObject::addChildren):
1272         * accessibility/AccessibilityRenderObject.h:
1273
1274 2011-10-18  Nate Chapin  <japhet@chromium.org>
1275
1276         Make DocumentThreadableLoader a CachedResourceClient.
1277         This will allow us to cache ThreadableLoaderClients as
1278         appropriate in a later patch.
1279         https://bugs.webkit.org/show_bug.cgi?id=61225
1280
1281         Reviewed by Antti Koivisto.
1282
1283         No new tests, no functionality change intended.
1284
1285         * WebCore.gypi:
1286         * loader/DocumentThreadableLoader.cpp:
1287         (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
1288             for didFail() and didFinishLoading(), so we need to differentiate here.
1289         (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
1290             instead of ResourceLoadScheduler::scheduleSubresourceLoad().
1291         * loader/DocumentThreadableLoader.h:
1292         * loader/cache/CachedRawResource.cpp:
1293         (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
1294             DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
1295             'data' input parameter will contain all data received so far, and we need to determine the
1296             incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
1297             the incremental data.
1298         * loader/cache/CachedRawResource.h:
1299         * loader/cache/CachedResource.cpp:
1300         * loader/cache/CachedResource.h:
1301         (WebCore::CachedResource::preloadResult):
1302         (WebCore::CachedResource::didSendData):
1303         (WebCore::CachedResource::didDownloadData):
1304         (WebCore::CachedResource::setLoadFinishTime):
1305         (WebCore::CachedResource::loadFinishTime):
1306         * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
1307         * loader/cache/CachedResourceRequest.cpp:
1308         (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
1309             the request, so protect appropriately.
1310         * loader/cache/CachedResourceRequest.h:
1311         * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
1312         * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
1313         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
1314         * platform/network/BlobResourceHandle.cpp:
1315         (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
1316
1317 2011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1318
1319         Unreviewed, rolling out r97752.
1320         http://trac.webkit.org/changeset/97752
1321         https://bugs.webkit.org/show_bug.cgi?id=70332
1322
1323         Caused assertion failures in MediaList::setParentStyleSheet()
1324         on the apple bots. (Requested by kling on #webkit).
1325
1326         * WebCore.xcodeproj/project.pbxproj:
1327         * bindings/js/JSDOMBinding.h:
1328         * css/CSSImportRule.cpp:
1329         (WebCore::CSSImportRule::CSSImportRule):
1330         (WebCore::CSSImportRule::~CSSImportRule):
1331         * css/CSSMediaRule.cpp:
1332         (WebCore::CSSMediaRule::CSSMediaRule):
1333         (WebCore::CSSMediaRule::~CSSMediaRule):
1334         * css/CSSMediaRule.h:
1335         * css/MediaList.cpp:
1336         (WebCore::MediaList::MediaList):
1337         (WebCore::MediaList::notifyChanged):
1338         * css/MediaList.h:
1339         * css/StyleSheet.cpp:
1340         (WebCore::StyleSheet::~StyleSheet):
1341         (WebCore::StyleSheet::setMedia):
1342
1343 2011-10-18  Anna Cavender  <annacc@chromium.org>
1344
1345         Change TextTrack to use the word DISABLED instead of OFF for mode
1346         https://bugs.webkit.org/show_bug.cgi?id=70268
1347
1348         Reviewed by Daniel Bates.
1349
1350         No new tests. No new functionality.
1351
1352         * html/TextTrack.cpp:
1353         (WebCore::TextTrack::setMode): use Disabled instead of Off
1354         * html/TextTrack.h: update Mode enum to use Disabled instead of Off
1355
1356 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
1357
1358         AX: buttons of number type <input> controls are not fully accessible
1359         https://bugs.webkit.org/show_bug.cgi?id=70241
1360
1361         Staged commit, part 5.
1362
1363         Reviewed by Darin Adler.
1364
1365         * accessibility/AXObjectCache.cpp:
1366         (WebCore::AXObjectCache::getOrCreate):
1367         * accessibility/AccessibilityRenderObject.cpp:
1368         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1369
1370 2011-10-18  Antti Koivisto  <antti@apple.com>
1371
1372         Move default stylesheet loading to a separate function
1373         https://bugs.webkit.org/show_bug.cgi?id=70331
1374
1375         Reviewed by Andreas Kling.
1376         
1377         - Move default stylesheet loading out from CSSStyleSelector::styleForElement()
1378         - Rename e -> element
1379         - Remove pointless reffing of the placeholder style.
1380
1381         * css/CSSStyleSelector.cpp:
1382         (WebCore::ensureDefaultStyleSheetsForElement):
1383         (WebCore::isAtShadowBoundary):
1384         (WebCore::CSSStyleSelector::styleForElement):
1385
1386 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
1387
1388         AX: buttons of number type <input> controls are not fully accessible
1389         https://bugs.webkit.org/show_bug.cgi?id=70241
1390
1391         Staged commit part 4.
1392
1393         Reviewed by Darin Adler.
1394
1395         * accessibility/AccessibilityMockObject.h:
1396         (WebCore::AccessibilityMockObject::isMockObject):
1397         (WebCore::AccessibilityMockObject::detachFromParent):
1398         * accessibility/AccessibilityObject.cpp:
1399         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
1400         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1401         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
1402         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1403         (-[WebAccessibilityObjectWrapper subrole]):
1404         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1405
1406 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
1407
1408         AX: buttons of number type <input> controls are not fully accessible
1409         https://bugs.webkit.org/show_bug.cgi?id=70241
1410
1411         Staged commit part 3. Committing the new spin button classes.
1412
1413         Reviewed by Darin Adler.
1414
1415         * CMakeLists.txt:
1416         * GNUmakefile.list.am:
1417         * WebCore.gypi:
1418         * WebCore.pro:
1419         * WebCore.vcproj/WebCore.vcproj:
1420         * WebCore.xcodeproj/project.pbxproj:
1421         * accessibility/AccessibilitySpinButton.cpp: Added.
1422         (WebCore::AccessibilitySpinButton::create):
1423         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
1424         (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
1425         (WebCore::AccessibilitySpinButton::incrementButton):
1426         (WebCore::AccessibilitySpinButton::decrementButton):
1427         (WebCore::AccessibilitySpinButton::elementRect):
1428         (WebCore::AccessibilitySpinButton::addChildren):
1429         (WebCore::AccessibilitySpinButton::step):
1430         (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
1431         (WebCore::AccessibilitySpinButtonPart::create):
1432         (WebCore::AccessibilitySpinButtonPart::elementRect):
1433         (WebCore::AccessibilitySpinButtonPart::press):
1434         * accessibility/AccessibilitySpinButton.h: Added.
1435         (WebCore::AccessibilitySpinButton::setSpinButtonElement):
1436         (WebCore::AccessibilitySpinButton::roleValue):
1437         (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
1438         (WebCore::AccessibilitySpinButton::isSpinButton):
1439         (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
1440         (WebCore::AccessibilitySpinButtonPart::isIncrementor):
1441         (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
1442         (WebCore::AccessibilitySpinButtonPart::roleValue):
1443         (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
1444         (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
1445         (WebCore::toAccessibilitySpinButton):
1446         (WebCore::toAccessibilitySpinButtonPart):
1447
1448 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
1449
1450         AX: buttons of number type <input> controls are not fully accessible
1451         https://bugs.webkit.org/show_bug.cgi?id=70241
1452
1453         Phase 2 of the staged commit.
1454
1455         Reviewed by Darin Adler.
1456
1457         * accessibility/AccessibilityObject.cpp:
1458         (WebCore::AccessibilityObject::boundingBoxForQuads):
1459         * accessibility/AccessibilityObject.h:
1460         (WebCore::AccessibilityObject::isSpinButton):
1461         (WebCore::AccessibilityObject::isSpinButtonPart):
1462         (WebCore::AccessibilityObject::isMockObject):
1463
1464 2011-10-18  Chris Fleizach  <cfleizach@apple.com>
1465
1466         AX: buttons of number type <input> controls are not fully accessible
1467         https://bugs.webkit.org/show_bug.cgi?id=70241
1468
1469         Expose the spin button object to the AX hierarchy. Since there is no distinct
1470         render object that backs this object, a mock object needs to be created for the entire
1471         spin button and the actual increment and decrement buttons inside.
1472
1473         This will be a staged commit since the first time around Windows layout tests started crashing for an undeterminable reason.
1474
1475         Reviewed by Darin Adler.
1476
1477         * html/shadow/TextControlInnerElements.cpp:
1478         (WebCore::SpinButtonElement::step):
1479         (WebCore::SpinButtonElement::repeatingTimerFired):
1480         * html/shadow/TextControlInnerElements.h:
1481
1482 2011-10-18  Andreas Kling  <kling@webkit.org>
1483
1484         MediaList: Remove inheritance from StyleBase.
1485         https://bugs.webkit.org/show_bug.cgi?id=70203
1486
1487         Reviewed by Darin Adler.
1488
1489         * css/MediaList.h:
1490         (WebCore::MediaList::parentStyleSheet):
1491         (WebCore::MediaList::setParentStyleSheet):
1492         * css/MediaList.cpp:
1493         (WebCore::MediaList::MediaList):
1494         (WebCore::MediaList::notifyChanged):
1495
1496             Change MediaList to no longer inherit from StyleBase. The parent()/setParent()
1497             mechanism was replaced by explicit parentStyleSheet()/setParentStyleSheet().
1498
1499         * css/CSSImportRule.cpp:
1500         (WebCore::CSSImportRule::CSSImportRule):
1501         (WebCore::CSSImportRule::~CSSImportRule):
1502         * css/CSSMediaRule.cpp:
1503         (WebCore::CSSMediaRule::CSSMediaRule):
1504         (WebCore::CSSMediaRule::~CSSMediaRule):
1505
1506             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
1507             CSSRules are never moved between stylesheets, so the parent style sheet pointer
1508             is valid for the MediaList's lifetime.
1509
1510         * css/StyleSheet.cpp:
1511         (WebCore::StyleSheet::~StyleSheet):
1512
1513             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
1514
1515         (WebCore::StyleSheet::setMedia):
1516
1517             Change StyleBase::setParent() calls to MediaList::setParentStyleSheet().
1518             Assert that the parent sheet is either null, or this, as MediaLists should never
1519             be reparented to other sheets.
1520             Assert that the StyleSheet is indeed a CSSStyleSheet.  XSLStyleSheet inherits from
1521             StyleSheet, but it shouldn't be using the MediaList.
1522
1523         * bindings/js/JSDOMBinding.h:
1524         (WebCore::root):
1525
1526             Add MediaList* specific overload for root() since it can't fall back
1527             to root(StyleBase*) anymore.
1528
1529         * WebCore.xcodeproj/project.pbxproj:
1530
1531             Add some PrivateHeaders to accomodate the JSDOMBinding.h changes.
1532
1533         * css/CSSMediaRule.h:
1534
1535             Remove unnecessary forward-declaration of MediaList.
1536
1537 2011-10-18  Andreas Kling  <kling@webkit.org>
1538
1539         XSLStyleSheet only needs to manage XSLImportRule children.
1540         https://bugs.webkit.org/show_bug.cgi?id=70326
1541
1542         Reviewed by Antti Koivisto.
1543
1544         * css/StyleBase.h:
1545         * xml/XSLImportRule.h:
1546         * css/CSSRule.h:
1547         (WebCore::CSSRule::isImportRule):
1548
1549             Move StyleBase::isImportRule() down to CSSRule. Since XSLImportRule no longer
1550             implements it, it's now specific to CSSImportRule.
1551
1552         * xml/XSLStyleSheet.h:
1553
1554             Change m_children to be a vector of XSLImportRules. Also remove length(),
1555             item() and append() since they were only used internally to modify m_children.
1556
1557         * xml/XSLStyleSheetQt.cpp:
1558         (WebCore::XSLStyleSheet::~XSLStyleSheet):
1559         * xml/XSLStyleSheetLibxslt.cpp:
1560         (WebCore::XSLStyleSheet::~XSLStyleSheet):
1561         (WebCore::XSLStyleSheet::isLoading):
1562         (WebCore::XSLStyleSheet::clearDocuments):
1563         (WebCore::XSLStyleSheet::loadChildSheet):
1564         (WebCore::XSLStyleSheet::locateStylesheetSubResource):
1565
1566             Remove now-unnecessary isImportRule() checks and tidy up the code a bit.
1567
1568 2011-10-18  Zan Dobersek  <zandobersek@gmail.com>
1569
1570         [Gtk] Support for client-based geolocation
1571         https://bugs.webkit.org/show_bug.cgi?id=64970
1572
1573         Reviewed by Martin Robinson.
1574
1575         Add feature defines for client-based geolocation when geolocation is enabled,
1576         since this is the providing method that is now used by default. Remove
1577         service-based providing method completely as it is not needed anymore.
1578
1579         * GNUmakefile.am: Add feature defines for client-based geolocation.
1580         * GNUmakefile.list.am: Remove GeolocationServiceGtk.* files from compilation.
1581         * platform/gtk/GeolocationServiceGtk.cpp: Removed.
1582         * platform/gtk/GeolocationServiceGtk.h: Removed.
1583
1584 2011-10-18  Antti Koivisto  <antti@apple.com>
1585
1586         REGRESSION(r97248): :visited as descendant selector broken
1587         https://bugs.webkit.org/show_bug.cgi?id=70122
1588
1589         Reviewed by Nikolas Zimmerman.
1590         
1591         Make ":visited foo" and similar selectors work correctly again. They can affect 
1592         the visited style of an element inside a visited link.
1593
1594         Test: fast/selectors/visited-descendant.html
1595
1596         * css/CSSStyleSelector.cpp:
1597         (WebCore::CSSStyleSelector::applyDeclarations): 
1598         
1599             Apply visited style to children of visited links too.
1600             
1601         * css/SelectorChecker.cpp:
1602         (WebCore::SelectorChecker::checkSelector): 
1603         
1604             Don't disable visited matching until we run into first ancestor link or use combinator other than child/descendant.
1605
1606         (WebCore::SelectorChecker::determineLinkMatchType):
1607         
1608             Look into child/descendant component selectors too to determine the link match type.
1609
1610 2011-10-18  Andreas Kling  <kling@webkit.org>
1611
1612         Move CSSRule specific virtuals from StyleBase down into CSSRule.
1613         https://bugs.webkit.org/show_bug.cgi?id=70240
1614
1615         Reviewed by Darin Adler.
1616
1617         Move all the isFooRule() virtuals except isImportRule() to CSSRule
1618         since they only make sense for its subclasses. isRule() remains in
1619         StyleBase since we still need it for the parent chain traversal.
1620         isImportRule() remains because XSLImportRule implements it.
1621
1622         Also moved insertedIntoParent() and removed its usage in
1623         XSLStyleSheet since it is only reimplemented by CSSImportRule.
1624
1625         * css/CSSRule.h:
1626         (WebCore::CSSRule::isCharsetRule):
1627         (WebCore::CSSRule::isFontFaceRule):
1628         (WebCore::CSSRule::isKeyframeRule):
1629         (WebCore::CSSRule::isKeyframesRule):
1630         (WebCore::CSSRule::isMediaRule):
1631         (WebCore::CSSRule::isPageRule):
1632         (WebCore::CSSRule::isStyleRule):
1633         (WebCore::CSSRule::isRegionStyleRule):
1634         (WebCore::CSSRule::insertedIntoParent):
1635         * css/StyleBase.h:
1636         (WebCore::StyleBase::isImportRule):
1637         (WebCore::StyleBase::isCSSStyleSheet):
1638         * xml/XSLStyleSheet.h:
1639         (WebCore::XSLStyleSheet::append):
1640
1641 2011-10-18  Sachin Puranik  <jcqt43@motorola.com>
1642
1643         Option.value should trim extra internal html spaces
1644         https://bugs.webkit.org/show_bug.cgi?id=69455
1645
1646         Reviewed by Kent Tamura.
1647
1648         Currently option.value does not trim the internal white space as suggested by spec. This patch implements the same.
1649
1650         Test: fast/forms/option-value-trim-html-spaces.html
1651
1652         * dom/OptionElement.cpp: Removed a function as this implementation is moved to the HTMLOptionElement.cpp file.
1653         * html/HTMLOptionElement.cpp:
1654         (WebCore::HTMLOptionElement::value): Implementation of .value function which will now trim the html white spaces.
1655
1656 2011-10-18  Mihnea Ovidenie  <mihnea@adobe.com>
1657
1658         [CSS Regions]Parse @-webkit-region rule
1659         https://bugs.webkit.org/show_bug.cgi?id=70021
1660
1661         Reviewed by David Hyatt.
1662
1663         Test: fast/regions/parsing-region-style-rule.html
1664
1665         * CMakeLists.txt:
1666         * GNUmakefile.list.am:
1667         * WebCore.gypi:
1668         * WebCore.pro:
1669         * WebCore.vcproj/WebCore.vcproj:
1670         * WebCore.xcodeproj/project.pbxproj:
1671         * bindings/objc/DOMCSS.mm:
1672         (kitClass):
1673         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1674         (WebCore::toV8):
1675         * css/CSSGrammar.y:
1676         * css/CSSMediaRule.cpp:
1677         (WebCore::CSSMediaRule::cssText):
1678         * css/CSSParser.cpp:
1679         (WebCore::CSSParser::setReusableRegionSelectorVector):
1680         (WebCore::CSSParser::createRegionStylingRule):
1681         * css/CSSParser.h:
1682         (WebCore::CSSParser::reusableRegionSelectorVector):
1683         * css/CSSRegionStyleRule.cpp: Added.
1684         (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
1685         (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
1686         (WebCore::CSSRegionStyleRule::cssText):
1687         * css/CSSRegionStyleRule.h: Added.
1688         * css/CSSRule.h:
1689         * css/CSSRule.idl:
1690         * css/CSSRuleList.cpp:
1691         (WebCore::CSSRuleList::item):
1692         (WebCore::CSSRuleList::rulesText):
1693         * css/CSSRuleList.h:
1694         * css/CSSSelectorList.cpp:
1695         (WebCore::CSSSelectorList::selectorsText):
1696         * css/CSSSelectorList.h:
1697         * css/CSSStyleSelector.cpp:
1698         (WebCore::CSSStyleSelector::addRegionStyleRule):
1699         (WebCore::RuleSet::addRulesFromSheet):
1700         * css/CSSStyleSelector.h:
1701         * css/StyleBase.h:
1702         (WebCore::StyleBase::isRegionStyleRule):
1703         * css/tokenizer.flex:
1704
1705 2011-10-11  Pavel Podivilov  <podivilov@chromium.org>
1706
1707         Web Inspector: support displaying multiple sources per single script in ScriptsPanel.
1708         https://bugs.webkit.org/show_bug.cgi?id=69847
1709
1710         Reviewed by Pavel Feldman.
1711
1712         * inspector/front-end/ScriptsPanel.js:
1713         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
1714         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
1715
1716 2011-10-18  Nikolas Zimmermann  <nzimmermann@rim.com>
1717
1718         Prepare SVGImage intrinsic size negotiation: Add intrinsic size & ratio calculation functionality to Image
1719         https://bugs.webkit.org/show_bug.cgi?id=70314
1720
1721         Reviewed by Antti Koivisto.
1722
1723         Add a "void computeIntrinsicDimension(Length& intrinsicWidth, Lengt& intrinsicHeight, FloatSize& intrinsicRatio)" helper method
1724         to Image/GeneratedImage/SVGImage and make it accessible through StyleImage.
1725
1726         For a regular Image the intrinsicWidth/Height contains just a Length(size().width(), Fixed). In contrary SVGImages pass on the
1727         style()->width()/height() values from the render style of the RenderSVGRoot renderer. These information are needed to implement
1728         the size negotiation between embedded SVG images and the embedder.
1729
1730         No new tests, as this new functionality is not yet used.
1731
1732         * loader/cache/CachedImage.cpp:
1733         (WebCore::CachedImage::computeIntrinsicDimensions):
1734         * loader/cache/CachedImage.h:
1735         * platform/graphics/GeneratedImage.cpp:
1736         (WebCore::GeneratedImage::computeIntrinsicDimensions):
1737         * platform/graphics/GeneratedImage.h:
1738         * platform/graphics/Image.cpp:
1739         (WebCore::Image::computeIntrinsicDimensions):
1740         * platform/graphics/Image.h:
1741         * platform/graphics/cg/PDFDocumentImage.cpp:
1742         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
1743         * platform/graphics/cg/PDFDocumentImage.h:
1744         * rendering/style/StyleCachedImage.cpp:
1745         (WebCore::StyleCachedImage::computeIntrinsicDimensions):
1746         * rendering/style/StyleCachedImage.h:
1747         * rendering/style/StyleGeneratedImage.cpp:
1748         (WebCore::StyleGeneratedImage::computeIntrinsicDimensions):
1749         * rendering/style/StyleGeneratedImage.h:
1750         * rendering/style/StyleImage.h:
1751         * rendering/style/StylePendingImage.h:
1752         (WebCore::StylePendingImage::computeIntrinsicDimensions):
1753         * svg/graphics/SVGImage.cpp:
1754         (WebCore::SVGImage::computeIntrinsicDimensions):
1755         * svg/graphics/SVGImage.h:
1756
1757 2011-10-17  Alexander Pavlov  <apavlov@chromium.org>
1758
1759         Web Inspector: [Chromium] Different dimensions are reported for elements onscreen and in the Metrics pane
1760         https://bugs.webkit.org/show_bug.cgi?id=70242
1761
1762         Reviewed by Pavel Feldman.
1763
1764         * inspector/DOMNodeHighlighter.cpp:
1765
1766 2011-10-18  Kentaro Hara  <haraken@chromium.org>
1767
1768         Unreviewed, rolling out r97697.
1769         http://trac.webkit.org/changeset/97697
1770         https://bugs.webkit.org/show_bug.cgi?id=68978
1771
1772         some tests are broken
1773
1774         * bindings/js/JSMessageEventCustom.cpp:
1775         (WebCore::JSMessageEvent::data):
1776         * bindings/v8/custom/V8MessageEventCustom.cpp:
1777         (WebCore::V8MessageEvent::dataAccessorGetter):
1778         (WebCore::V8MessageEvent::portsAccessorGetter):
1779         (WebCore::V8MessageEvent::initMessageEventCallback):
1780         * dom/MessageEvent.cpp:
1781         (WebCore::MessageEventInit::MessageEventInit):
1782         (WebCore::MessageEvent::MessageEvent):
1783         (WebCore::MessageEvent::isMessageEvent):
1784         * dom/MessageEvent.h:
1785         (WebCore::MessageEvent::create):
1786         (WebCore::MessageEvent::dataAsSerializedScriptValue):
1787         (WebCore::MessageEvent::dataAsString):
1788         (WebCore::MessageEvent::dataAsBlob):
1789         (WebCore::MessageEvent::dataAsArrayBuffer):
1790         * dom/MessageEvent.idl:
1791
1792 2011-10-17  Antti Koivisto  <antti@apple.com>
1793
1794         r97638 caused 3 printing crashes
1795         https://bugs.webkit.org/show_bug.cgi?id=70284
1796
1797         Reviewed by Kent Tamura.
1798
1799         Null check element.
1800
1801         * css/CSSStyleSelector.cpp:
1802         (WebCore::CSSStyleSelector::applyDeclarations):
1803
1804 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
1805
1806         Unreviewed, rolling out r97669.
1807         http://trac.webkit.org/changeset/97669
1808         https://bugs.webkit.org/show_bug.cgi?id=70305
1809
1810         Broke accessibility tests on Windows (Requested by rniwa on
1811         #webkit).
1812
1813         * CMakeLists.txt:
1814         * GNUmakefile.list.am:
1815         * WebCore.gypi:
1816         * WebCore.pro:
1817         * WebCore.vcproj/WebCore.vcproj:
1818         * WebCore.xcodeproj/project.pbxproj:
1819         * accessibility/AXObjectCache.cpp:
1820         (WebCore::AXObjectCache::getOrCreate):
1821         * accessibility/AccessibilityMockObject.h:
1822         * accessibility/AccessibilityObject.cpp:
1823         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
1824         * accessibility/AccessibilityObject.h:
1825         * accessibility/AccessibilityRenderObject.cpp:
1826         (WebCore::AccessibilityRenderObject::boundingBoxRect):
1827         (WebCore::AccessibilityRenderObject::clearChildren):
1828         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
1829         (WebCore::AccessibilityRenderObject::addChildren):
1830         * accessibility/AccessibilityRenderObject.h:
1831         * accessibility/AccessibilitySpinButton.cpp: Removed.
1832         * accessibility/AccessibilitySpinButton.h: Removed.
1833         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1834         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
1835         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
1836         (-[WebAccessibilityObjectWrapper subrole]):
1837         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1838         * html/shadow/TextControlInnerElements.cpp:
1839         (WebCore::SpinButtonElement::repeatingTimerFired):
1840         * html/shadow/TextControlInnerElements.h:
1841
1842 2011-10-17  Kent Tamura  <tkent@chromium.org>
1843
1844         Remove OptionGroupElement
1845         https://bugs.webkit.org/show_bug.cgi?id=70220
1846
1847         Reviewed by Darin Adler.
1848
1849         No new tests, just a refactoring.
1850
1851         * CMakeLists.txt: Remove OptionGroupElement.cpp and/or OptionGroupElement.h.
1852         * GNUMakefile.am.list: ditto.
1853         * WebCore.gypi: ditto.
1854         * WebCore.pro: ditto.
1855         * WebCore.vcproj/WebCore.vcproj: ditto.
1856         * WebCore.xcodeproj/project.pbxproj: ditto.
1857         * dom/DOMAllInOne.cpp: ditto.
1858         * dom/OptionElement.cpp:
1859         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
1860         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
1861         * dom/OptionGroupElement.cpp: Removed.
1862         * dom/OptionGroupElement.h: Removed.
1863         * html/HTMLOptGroupElement.cpp:
1864         (WebCore::isHTMLOptGroupElement): Added.
1865         * html/HTMLOptGroupElement.h:
1866          - Don't inherit OptionGroupElement.
1867          - Make groupLabelText() non-virtual.
1868         * html/HTMLSelectElement.cpp:
1869         (WebCore::HTMLSelectElement::recalcListItems):
1870         Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
1871         * rendering/RenderListBox.cpp:
1872         (WebCore::RenderListBox::updateFromElement):
1873         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
1874         (WebCore::RenderListBox::paintItemForeground):
1875         Use hasTagName(optgroupTag) instead of isOptionGroupElement().
1876         * rendering/RenderMenuList.cpp:
1877         (WebCore::RenderMenuList::itemText):
1878         Use hasTagName(optgroupTag) and static_cast<> instead of toOptionGroupElement().
1879         (WebCore::RenderMenuList::itemIsEnabled):
1880         Use Use hasTagName(optgroupTag) instead of isOptionGroupElement().
1881         (WebCore::RenderMenuList::itemIsLabel): ditto.
1882
1883 2011-10-17  Huang Dongsung  <luxtella@company100.net>
1884
1885         [TexMap][QT] TexMapGL renders a strange one-pixel border of BitmapTexture.
1886         https://bugs.webkit.org/show_bug.cgi?id=70293
1887
1888         TextureMapperGL renders the strange border in
1889         http://www.webkit.org/blog-files/leaves/index.html
1890         Bug occurs because BitmapTexture is larger than the content due to rounding to
1891         NPOT, and its pixel data is never initialized.
1892
1893         Reviewed by Noam Rosenthal.
1894
1895         * platform/graphics/opengl/TextureMapperGL.cpp:
1896         (WebCore::texImage2DResourceSafe):
1897         (WebCore::BitmapTextureGL::reset):
1898
1899 2011-10-17  Jochen Eisinger  <jochen@chromium.org>
1900
1901         Make NavigationAction wrap a ResourceRequest instead of a KURL.
1902         https://bugs.webkit.org/show_bug.cgi?id=68803
1903
1904         With this, FrameLoaderClient::dispatchCreatePage knows about the
1905         request that will be used for the initial navigaion of the to be
1906         created page.
1907
1908         Reviewed by Nate Chapin.
1909
1910         Test: platform/chromium/fast/loader/create-view-target-blank.html
1911
1912         * loader/FrameLoader.cpp:
1913         (WebCore::FrameLoader::loadURL):
1914         (WebCore::FrameLoader::load):
1915         (WebCore::FrameLoader::loadWithDocumentLoader):
1916         (WebCore::FrameLoader::reload):
1917         (WebCore::FrameLoader::loadPostRequest):
1918         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
1919         (WebCore::FrameLoader::loadDifferentDocumentItem):
1920         (WebCore::createWindow):
1921         * loader/NavigationAction.cpp:
1922         (WebCore::NavigationAction::NavigationAction):
1923         * loader/NavigationAction.h:
1924         (WebCore::NavigationAction::isEmpty):
1925         (WebCore::NavigationAction::url):
1926         (WebCore::NavigationAction::resourceRequest):
1927         * loader/PolicyChecker.cpp:
1928         (WebCore::PolicyChecker::checkNavigationPolicy):
1929         * page/ContextMenuController.cpp:
1930         (WebCore::openNewWindow):
1931         * WebCore.exp: updated
1932
1933 2011-10-17  Tom Sepez  <tsepez@chromium.org>
1934
1935         XSSAuditor bypass with remote script ending in ? character
1936         https://bugs.webkit.org/show_bug.cgi?id=70255
1937
1938         Reviewed by Daniel Bates.
1939
1940         Fix XSSAuditor bypass where unterminated src="" attribute could pick up
1941         text from page causing failed XSS detection.  Constrain match to domain
1942         portions of src attribute only.
1943
1944         Test: http/tests/security/xssAuditor/script-tag-with-source-unterminated.html
1945
1946         * html/parser/XSSAuditor.cpp:
1947         (WebCore::XSSAuditor::filterScriptToken):
1948         (WebCore::XSSAuditor::filterObjectToken):
1949         (WebCore::XSSAuditor::filterParamToken):
1950         (WebCore::XSSAuditor::filterEmbedToken):
1951         (WebCore::XSSAuditor::filterAppletToken):
1952         (WebCore::XSSAuditor::filterIframeToken):
1953         (WebCore::XSSAuditor::eraseAttributeIfInjected):
1954         (WebCore::XSSAuditor::decodedSnippetForAttribute):
1955         * html/parser/XSSAuditor.h:
1956
1957 2011-10-17  Adam Klein  <adamk@chromium.org>
1958
1959         Parse MutationObserverOptions directly into a bitfield
1960         https://bugs.webkit.org/show_bug.cgi?id=70287
1961
1962         Reviewed by Ryosuke Niwa.
1963
1964         Replaces the MutationObserverOptions class with a typedef,
1965         used to pass a bitfield composed of enums defined in
1966         WebKitMutationObserver.h.
1967
1968         No new tests because no behavior should change.
1969
1970         * GNUmakefile.list.am:
1971         * WebCore.gypi:
1972         * WebCore.pro:
1973         * WebCore.xcodeproj/project.pbxproj:
1974         * bindings/js/JSDictionary.h: Removed now-unused method.
1975         * bindings/js/JSWebKitMutationObserverCustom.cpp:
1976         (WebCore::JSWebKitMutationObserver::observe):
1977         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
1978         (WebCore::V8WebKitMutationObserver::observeCallback):
1979         * dom/MutationObserverOptions.h: Removed.
1980         * dom/Node.cpp:
1981         (WebCore::Node::registerMutationObserver):
1982         * dom/Node.h:
1983         * dom/NodeRareData.h:
1984         (WebCore::MutationObserverEntry::MutationObserverEntry):
1985         (WebCore::MutationObserverEntry::matches):
1986         * dom/WebKitMutationObserver.cpp:
1987         (WebCore::WebKitMutationObserver::observe):
1988         * dom/WebKitMutationObserver.h:
1989
1990 2011-10-17  Luke Macpherson   <macpherson@chromium.org>
1991
1992         Add compile-time asserts for RenderStyle::(Non)InheritedFlags size.
1993         https://bugs.webkit.org/show_bug.cgi?id=69803
1994
1995         Reviewed by Darin Adler.
1996
1997         No new tests.
1998
1999         Adds COMPILE_ASSERTs for the size of RenderStyle::InheritedFlags and
2000         RenderStyle::NonInheritedFlags to ensure that they are not accidentally
2001         grown in future changes.
2002         Change types of unsigned bitfields to unsigned char to ensure that the
2003         above assertions remain true when building on windows.
2004
2005         * rendering/style/RenderStyle.cpp:
2006         (WebCore::RenderStyle):
2007         Adds assertions to ensure struct sizes do not change.
2008         * rendering/style/RenderStyle.h:
2009         Changes unsigned to unsigned char as outlined above.
2010
2011 2011-10-17  Ojan Vafai  <ojan@chromium.org>
2012
2013         Unreviewed, rolling out r97662.
2014         http://trac.webkit.org/changeset/97662
2015         https://bugs.webkit.org/show_bug.cgi?id=68497
2016
2017         Was not the cause of the test failures.
2018
2019         * rendering/RenderBox.cpp:
2020         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2021
2022 2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>
2023
2024         Rename deregister* to unregister*
2025         https://bugs.webkit.org/show_bug.cgi?id=70272
2026
2027         Reviewed by Darin Adler.
2028
2029         Renamed deregisterHandler to unregisterHandler.
2030
2031         * inspector/front-end/ExtensionAPI.js:
2032         (injectedExtensionAPI.ExtensionServerClient.prototype.unregisterHandler):
2033         * inspector/front-end/ExtensionServer.js:
2034         (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
2035         * inspector/front-end/HandlerRegistry.js:
2036         (get WebInspector.HandlerRegistry.prototype.unregisterHandler):
2037
2038 2011-10-17  Huang Dongsung  <luxtella@company100.net>
2039
2040         [TexMap][QT] The BGRA32PremultimpliedBuffer should not inherit the RefCounted class.
2041         https://bugs.webkit.org/show_bug.cgi?id=70098
2042
2043         The BitmapTexture has a BGRA32PremultimpliedBuffer object using OwnPtr, not RefPtr.
2044         It causes following assertion fail, RefCountedBase::m_deletionHasBegun.
2045         It is better that the BGRA32PremultimpliedBuffer does not inherit the RefCounted
2046         because the BitmapTexture only has and uses a BGRA32PremultimpliedBuffer object.
2047
2048         Reviewed by Noam Rosenthal.
2049
2050         * platform/graphics/opengl/TextureMapperGL.h:
2051
2052 2011-10-17  Vsevolod Vlasov  <vsevik@chromium.org>
2053
2054         Web Inspector: Search in resource crashes when there is no resource with given url.
2055         https://bugs.webkit.org/show_bug.cgi?id=69767
2056
2057         Reviewed by Pavel Feldman.
2058
2059         Test: http/tests/inspector/search/search-in-non-existing-resource.html
2060
2061         * inspector/InspectorPageAgent.cpp:
2062         (WebCore::InspectorPageAgent::searchInResource):
2063
2064 2011-10-17  Mihnea Ovidenie  <mihnea@adobe.com>
2065
2066         [CSS Regions]Change content:-webkit-from-flow to -webkit-flow-from
2067         https://bugs.webkit.org/show_bug.cgi?id=70104
2068
2069         Reviewed by David Hyatt.
2070
2071         1. -webkit-flow-from is now a property instead of being an addition to content property.
2072         2. -webkit-flow-from takes an identifier instead of string.
2073
2074         * css/CSSComputedStyleDeclaration.cpp:
2075         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2076         * css/CSSParser.cpp:
2077         (WebCore::CSSParser::parseValue):
2078         (WebCore::CSSParser::parseContent):
2079         (WebCore::CSSParser::parseRegionThread):
2080         * css/CSSParser.h:
2081         * css/CSSPrimitiveValue.cpp:
2082         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2083         (WebCore::CSSPrimitiveValue::cleanup):
2084         (WebCore::CSSPrimitiveValue::getStringValue):
2085         (WebCore::CSSPrimitiveValue::cssText):
2086         * css/CSSPrimitiveValue.h:
2087         * css/CSSPropertyNames.in:
2088         * css/CSSStyleSelector.cpp:
2089         (WebCore::CSSStyleSelector::applyProperty):
2090
2091 2011-10-17  Kentaro Hara  <haraken@chromium.org>
2092
2093         MessageEvent.data can be stored as ScriptValue.
2094         https://bugs.webkit.org/show_bug.cgi?id=68978
2095
2096         Reviewed by Hajime Morita.
2097
2098         Currently, the following test cases fail or crash:
2099
2100         - shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
2101         - new MessageEvent('eventType', { data: document }).data -> CRASH
2102
2103         This is because MessageEvent.data is implemented just as SerializedScriptValue
2104         and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:
2105
2106         - If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
2107         When MessageEvent.data is called, the ScriptValue is returned.
2108         - If MessageEvent is constructed with SerializedScriptValue, it is stored as
2109         SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
2110         at this point because of lack of ExecState). When MessageEvent.data is called,
2111         the SerializedScriptValue is deserialized into the corresponding ScriptValue,
2112         and the ScriptValue is returned.
2113
2114         This patch does not make a fix for ObjC bindings code, since we need to first fix
2115         the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.
2116
2117         Test: fast/events/constructors/message-event-constructor.html
2118
2119         * bindings/js/JSMessageEventCustom.cpp:
2120         (WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
2121         (WebCore::JSMessageEvent::initMessageEvent): Changed SerializedScriptValue to ScriptValue.
2122         * bindings/v8/custom/V8MessageEventCustom.cpp:
2123         (WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
2124         (WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
2125         (WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
2126         * dom/MessageEvent.cpp:
2127         (WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
2128         (WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
2129         (WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
2130         * dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
2131         (WebCore::MessageEvent::create): Supported ScriptValue.
2132         (WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
2133         (WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
2134         (WebCore::MessageEvent::dataAsString): Ditto.
2135         (WebCore::MessageEvent::dataAsBlob): Ditto.
2136         (WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
2137         * dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part.
2138
2139 2011-10-17  Shinya Kawanaka  <shinyak@google.com>
2140
2141         Unified spell-checking and legacy spell checking should be easy to switch
2142         https://bugs.webkit.org/show_bug.cgi?id=69242
2143
2144         Reviewed by Hajime Morita.
2145
2146         WebCore has two different code paths for spell-checking:
2147                   1) checkTextOfParagraph() for Snow Leopard or later
2148                   2) checkSpellingOfString() for checkGrammarOfString() for other platforms.
2149
2150         This patch introduces a flag to change code paths dynamically.
2151         This patch also includes build fix for QT, GTK, and Windows platforms.
2152
2153         No new tests because this patch does not change a behavior.
2154
2155         * CMakeLists.txt:
2156         * GNUmakefile.list.am:
2157         * WebCore.pro:
2158         * WebCore.vcproj/WebCore.vcproj:
2159         * accessibility/AccessibilityObject.cpp:
2160         (WebCore::AccessibilityObject::hasMisspelling):
2161           Changed static if-USE(UNIFIED_TEXT_CHECKING) statement to dynamic
2162           condition branch to achieve easy code path change.
2163         * accessibility/mac/WebAccessibilityObjectWrapper.mm: ditto.
2164         (AXAttributeStringSetSpelling):
2165         * editing/EditingAllInOne.cpp:
2166         * editing/Editor.cpp:
2167         (WebCore::Editor::advanceToNextMisspelling): ditto.
2168         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): ditto.
2169         (WebCore::Editor::markMisspellingsAfterTypingToWord): ditto.
2170         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
2171         (WebCore::Editor::changeBackToReplacedString): ditto.
2172         (WebCore::Editor::markMisspellingsAndBadGrammar): ditto.
2173         (WebCore::Editor::unifiedTextCheckerEnabled):
2174           Utility method to check using unified text checking or not.
2175         * editing/Editor.h:
2176         * editing/TextCheckingHelper.cpp:
2177         (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
2178           Same as WebCore::AccessibilityObject::hasMisspelling.
2179         (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): ditto.
2180         (WebCore::TextCheckingHelper::unifiedTextCheckerEnabled):
2181           Utility method to check using unified text checking or not.
2182         (WebCore::unifiedTextCheckerEnabled): ditto.
2183         * editing/TextCheckingHelper.h:
2184         * page/Settings.cpp:
2185         (WebCore::Settings::Settings):
2186           Includes a flag to change the code path.
2187         * page/Settings.h:
2188         (WebCore::Settings::setUnifiedTextCheckerEnabled):
2189           Sets a flag to change the code path.
2190         (WebCore::Settings::unifiedTextCheckerEnabled):
2191           A flag to change the code path.
2192
2193 2011-10-17  Julien Chaffraix  <jchaffraix@webkit.org>
2194
2195         Unreviewed build fix after 97691.
2196
2197         * html/HTMLTableCellElement.h:
2198         (WebCore::toHTMLTableCellElement): Avoid declaring the same function twice.
2199
2200 2011-10-12  Ojan Vafai  <ojan@chromium.org>
2201
2202         Unreviewed, rolling out r97661.
2203         http://trac.webkit.org/changeset/97661
2204
2205         Confirmed this patch was not the cause of the test failures.
2206
2207         display:inline-block elements don't correctly handle orthogonal writing-modes 
2208         https://bugs.webkit.org/show_bug.cgi?id=69957 
2209         
2210         Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode. 
2211         Instead, we need to grab the result based on the parent's writing-mode. 
2212         In the case of orthogonal writing-modes, we need the child's logical height. 
2213     
2214         Tests: fast/writing-mode/borders-expected.html 
2215                fast/writing-mode/borders.html 
2216         
2217         * rendering/RenderBlock.cpp: 
2218         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths): 
2219
2220 2011-10-17  James Robinson  <jamesr@chromium.org>
2221
2222         Unreviewed, rolling out r97690.
2223         http://trac.webkit.org/changeset/97690
2224         https://bugs.webkit.org/show_bug.cgi?id=70161
2225
2226         Hits assertion in CCLayerTreeHostTests
2227
2228         * WebCore.gypi:
2229         * platform/graphics/chromium/cc/CCMainThread.h:
2230         * platform/graphics/chromium/cc/CCMainThreadTask.h:
2231         (WebCore::createMainThreadTask):
2232         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Removed.
2233         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2234         (WebCore::CCThreadProxySchedulerClient::scheduleBeginFrameAndCommit):
2235         (WebCore::CCThreadProxy::CCThreadProxy):
2236         (WebCore::CCThreadProxy::stop):
2237         * platform/graphics/chromium/cc/CCThreadProxy.h:
2238
2239 2011-10-17  Julien Chaffraix  <jchaffraix@webkit.org>
2240
2241         Remove colSpan / rowSpan caching from RenderTableCell
2242         https://bugs.webkit.org/show_bug.cgi?id=69569
2243
2244         Reviewed by Darin Adler.
2245
2246         Memory optimization, no change in behavior expected.
2247
2248         This change removes m_colSpan & m_rowSpan from RenderTableCell (inspired by
2249         kling's memory shaving effort).
2250
2251         This makes us save 8 bytes per RenderTableCell on my machine (x86-64). No slowdown
2252         on PageCycler Alexa-US.
2253
2254         This change refactored the way we handle updates from the DOM side to simplify
2255         the code using the following: colspan / rowspan updates always go through
2256         parseMappedAttribute where we already check for the renderer type. Thus removed the
2257         generic updateFromElement and replaced it with colSpanOrRowSpanChanged. This removes
2258         a virtual dispatch.
2259
2260         As there is no way to know if an attribute has changed in the parseMappedAttribute code,
2261         we now unconditionally call colSpanOrRowSpanChanged. Looking at Chromium's page data,
2262         colSpan and rowSpan are never changed outside the HTML markup thus such a change should
2263         have a limited impact.
2264
2265         * html/HTMLTableCellElement.cpp:
2266         (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated after updateFromElement
2267         removal.
2268
2269         * html/HTMLTableCellElement.h:
2270         (WebCore::toHTMLTableCellElement): Added the usual conversion functions.
2271
2272         * rendering/RenderTableCell.cpp:
2273         (WebCore::RenderTableCell::RenderTableCell): Added a boolean to know if we have
2274         the right type of associated DOM node to avoid the cost of checking that every
2275         time.
2276
2277         (WebCore::RenderTableCell::colSpan):
2278         (WebCore::RenderTableCell::rowSpan):
2279         Forwarded the calls to our object if we have the right type (normal case).
2280
2281         (WebCore::RenderTableCell::colSpanOrRowSpanChanged): Handles the
2282         updateFromElement calls but in a more streamlined way.
2283
2284         * rendering/RenderTableCell.h:
2285
2286 2011-10-17  James Robinson  <jamesr@chromium.org>
2287
2288         [chromium] Fix shutdown race when posting main thread task to CCThreadProxy and enable tests
2289         https://bugs.webkit.org/show_bug.cgi?id=70161
2290
2291         Reviewed by David Levin.
2292
2293         Adds a weak pointer mechanism to cancel main thread tasks posted to CCThreadProxy instances from the compositor
2294         thread. Previously there was a race condition where main thread tasks could run even after the CCThreadProxy was
2295         destroyed.
2296
2297         This race does not exist in the other direction because when tearing down a CCThreadProxy we first post a quit
2298         task to the compositor thread and then suspend execution of the main thread until all compositor tasks for the
2299         CCThreadProxy have been drained.
2300
2301         Covered by the now-enabled CCLayerTreeHostTest* unit tests.
2302
2303         * WebCore.gypi:
2304         * platform/graphics/chromium/cc/CCScopedMainThreadProxy.h: Added.
2305         (WebCore::CCScopedMainThreadProxy::create):
2306         (WebCore::CCScopedMainThreadProxy::postTask):
2307         (WebCore::CCScopedMainThreadProxy::shutdown):
2308         (WebCore::CCScopedMainThreadProxy::CCScopedMainThreadProxy):
2309         (WebCore::CCScopedMainThreadProxy::runTaskIfNotShutdown):
2310         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2311         (WebCore::CCThreadProxy::CCThreadProxy):
2312         (WebCore::CCThreadProxy::~CCThreadProxy):
2313         (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnCCThread):
2314         * platform/graphics/chromium/cc/CCThreadProxy.h:
2315
2316 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2317
2318         Unreviewed, rolling out r97641.
2319         http://trac.webkit.org/changeset/97641
2320         https://bugs.webkit.org/show_bug.cgi?id=70288
2321
2322         "This change may have broken mouse/hit-test coordinate tests."
2323         (Requested by jeffm7 on #webkit).
2324
2325         * platform/Widget.cpp:
2326         (WebCore::Widget::convertFromContainingWindow):
2327         (WebCore::Widget::convertToContainingWindow):
2328
2329 2011-10-17  Andreas Kling  <kling@webkit.org>
2330
2331         CSSParser: Remove unused variable 'propertyComponents'
2332         https://bugs.webkit.org/show_bug.cgi?id=70230
2333
2334         Reviewed by Darin Adler.
2335
2336         (WebCore::CSSParser::markPropertyEnd):
2337
2338 2011-10-17  Shawn Singh  <shawnsingh@chromium.org>
2339
2340         [chromium] Update comments about transform hierarchy in CCLayerTreeHostCommon
2341         https://bugs.webkit.org/show_bug.cgi?id=69765
2342
2343         Reviewed by James Robinson.
2344
2345         Only comments changed, no tests needed.
2346
2347         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2348         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2349
2350 2011-10-17  Dan Bernstein  <mitz@apple.com>
2351
2352         Remove unnecessary calls to columnRectAt()
2353         https://bugs.webkit.org/show_bug.cgi?id=70283
2354
2355         Reviewed by Darin Adler.
2356
2357         These call sites only needed one of the column dimensions, which are independent of the column
2358         index, and can be retrieved directly from the ColumnInfo.
2359
2360         * rendering/RenderBlock.cpp:
2361         (WebCore::RenderBlock::paintColumnRules):
2362         (WebCore::RenderBlock::hitTestColumns):
2363
2364 2011-10-17  Andreas Kling  <kling@webkit.org>
2365
2366         Protect against incorrect Element::fast*Attribute() usage.
2367         https://bugs.webkit.org/show_bug.cgi?id=67612
2368
2369         Reviewed by Darin Adler.
2370
2371         Add debug-only checks in Element's fastHasAttribute() and fastGetAttribute() to verify
2372         that we aren't looking up the "style" attribute or any of the SVG animatable attributes.
2373
2374         No new tests, erroneous behavior is covered by assertions.
2375
2376         * WebCore.exp.in: Export Element::fastAttributeLookupAllowed() for debug builds
2377         since it's used by the inline fast*Attribute() calls.
2378         * css/CSSStyleSelector.cpp:
2379         (WebCore::CSSStyleSelector::canShareStyleWithElement): Use getAttribute() for class.
2380         * css/SelectorChecker.cpp:
2381         (WebCore::linkAttribute): Use getAttribute() for xlink:href.
2382         * dom/Element.cpp:
2383         (WebCore::Element::getAttribute): Manually inline fastGetAttribute() in ideal case.
2384         (WebCore::Element::fastAttributeLookupAllowed): Checks if an attribute can be used
2385         with the fast lookup functions.
2386         * dom/Element.h:
2387         (WebCore::Element::fastHasAttribute): Add assertion.
2388         (WebCore::Element::fastGetAttribute): Ditto.
2389         * editing/ApplyStyleCommand.cpp:
2390         (WebCore::hasNoAttributeOrOnlyStyleAttribute): Use getAttribute() for class.
2391         * editing/ReplaceSelectionCommand.cpp:
2392         (WebCore::isInlineNodeWithStyle): Ditto.
2393         * html/ClassList.cpp:
2394         (WebCore::ClassList::ClassList): Ditto.
2395         (WebCore::ClassList::addInternal): Ditto.
2396         (WebCore::ClassList::removeInternal): Ditto.
2397         (WebCore::ClassList::toString): Ditto.
2398         * svg/SVGAltGlyphElement.cpp:
2399         (WebCore::SVGAltGlyphElement::hasValidGlyphElements): Use getAttribute() for xlink:href.
2400         * svg/SVGAnimateMotionElement.cpp:
2401         (WebCore::SVGAnimateMotionElement::rotateMode): Use getAttribute() for rotate.
2402         * svg/SVGAnimationElement.cpp:
2403         (WebCore::SVGAnimationElement::animationMode): Use getAttribute() for values.
2404         * svg/SVGElement.cpp:
2405         (WebCore::SVGElement::isAnimatableAttribute): Added, returns true if the given
2406         QualifiedName represents an animatable attribute.
2407         * svg/SVGElement.h:
2408         * svg/SVGFontFaceUriElement.cpp:
2409         (WebCore::SVGFontFaceUriElement::srcValue): Use getAttribute() for xlink:href.
2410         (WebCore::SVGFontFaceUriElement::loadFont): Ditto.
2411         * svg/animation/SVGSMILElement.cpp:
2412         (WebCore::SVGSMILElement::xlinkHref): Ditto.
2413         * svg/SVGGlyphRefElement.cpp:
2414         (WebCore::SVGGlyphRefElement::hasValidGlyphElement): Ditto.
2415         * svg/SVGStyleElement.cpp:
2416         (WebCore::SVGStyleElement::type): Use getAttribute() for type.
2417
2418 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
2419
2420         AX: buttons of number type <input> controls are not fully accessible
2421         https://bugs.webkit.org/show_bug.cgi?id=70241
2422
2423         Expose the spin button object to the AX hierarchy. Since there is no distinct
2424         render object that backs this object, a mock object needs to be created for the entire
2425         spin button and the actual increment and decrement buttons inside.
2426
2427         Reviewed by Darin Adler.
2428
2429         Test: platform/mac/accessibility/html5-input-number.html
2430
2431         * CMakeLists.txt:
2432         * GNUmakefile.list.am:
2433         * WebCore.gypi:
2434         * WebCore.pro:
2435         * WebCore.vcproj/WebCore.vcproj:
2436         * WebCore.xcodeproj/project.pbxproj:
2437         * accessibility/AXObjectCache.cpp:
2438         (WebCore::AXObjectCache::getOrCreate):
2439         * accessibility/AccessibilityMockObject.cpp:
2440         (WebCore::AccessibilityMockObject::AccessibilityMockObject):
2441         * accessibility/AccessibilityMockObject.h:
2442         (WebCore::AccessibilityMockObject::isMockObject):
2443         * accessibility/AccessibilityObject.cpp:
2444         (WebCore::AccessibilityObject::boundingBoxForQuads):
2445         (WebCore::AccessibilityObject::elementAccessibilityHitTest):
2446         * accessibility/AccessibilityObject.h:
2447         (WebCore::AccessibilityObject::isSpinButton):
2448         (WebCore::AccessibilityObject::isSpinButtonPart):
2449         (WebCore::AccessibilityObject::isMockObject):
2450         * accessibility/AccessibilityRenderObject.cpp:
2451         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2452         (WebCore::AccessibilityRenderObject::addImageMapChildren):
2453         (WebCore::AccessibilityRenderObject::addTextFieldChildren):
2454         (WebCore::AccessibilityRenderObject::addChildren):
2455         * accessibility/AccessibilityRenderObject.h:
2456         * accessibility/AccessibilitySpinButton.cpp: Added.
2457         (WebCore::AccessibilitySpinButton::create):
2458         (WebCore::AccessibilitySpinButton::AccessibilitySpinButton):
2459         (WebCore::AccessibilitySpinButton::~AccessibilitySpinButton):
2460         (WebCore::AccessibilitySpinButton::incrementButton):
2461         (WebCore::AccessibilitySpinButton::decrementButton):
2462         (WebCore::AccessibilitySpinButton::elementRect):
2463         (WebCore::AccessibilitySpinButton::addChildren):
2464         (WebCore::AccessibilitySpinButton::step):
2465         (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
2466         (WebCore::AccessibilitySpinButtonPart::create):
2467         (WebCore::AccessibilitySpinButtonPart::elementRect):
2468         (WebCore::AccessibilitySpinButtonPart::press):
2469         * accessibility/AccessibilitySpinButton.h: Added.
2470         (WebCore::AccessibilitySpinButton::setSpinButtonElement):
2471         (WebCore::AccessibilitySpinButton::roleValue):
2472         (WebCore::AccessibilitySpinButton::accessibilityIsIgnored):
2473         (WebCore::AccessibilitySpinButton::isSpinButton):
2474         (WebCore::AccessibilitySpinButtonPart::~AccessibilitySpinButtonPart):
2475         (WebCore::AccessibilitySpinButtonPart::isIncrementor):
2476         (WebCore::AccessibilitySpinButtonPart::setIsIncrementor):
2477         (WebCore::AccessibilitySpinButtonPart::roleValue):
2478         (WebCore::AccessibilitySpinButtonPart::isSpinButtonPart):
2479         (WebCore::AccessibilitySpinButtonPart::accessibilityIsIgnored):
2480         (WebCore::toAccessibilitySpinButton):
2481         (WebCore::toAccessibilitySpinButtonPart):
2482         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2483         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
2484         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
2485         (-[WebAccessibilityObjectWrapper subrole]):
2486         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
2487         * html/shadow/TextControlInnerElements.cpp:
2488         (WebCore::SpinButtonElement::step):
2489         (WebCore::SpinButtonElement::repeatingTimerFired):
2490         * html/shadow/TextControlInnerElements.h:
2491
2492 2011-10-17  Dmitry Titov  <dimich@chromium.org>
2493
2494         Re-landing: window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
2495         https://bugs.webkit.org/show_bug.cgi?id=70147
2496
2497         Reviewed by David Levin.
2498
2499         I only found a way to test this manually, since Chromium TestShell uses static instance
2500         of NotificationPresenter instead of per-page one so the issue does not reproduce.
2501         Adding manual test that works in full build of Chromium.
2502
2503         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
2504         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
2505         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
2506         * notifications/NotificationCenter.cpp:
2507         (WebCore::NotificationCenter::disconnectFrame):
2508         * page/DOMWindow.cpp:
2509         (WebCore::DOMWindow::resetNotifications):
2510         * page/DOMWindow.h:
2511         * page/Frame.cpp:
2512         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
2513
2514 2011-10-17  Arno Renevier  <arno@renevier.net>
2515
2516         quote "attributes" keyword in CodeGeneratorGObject.pm
2517         https://bugs.webkit.org/show_bug.cgi?id=64348
2518
2519         Reviewed by Darin Adler.
2520
2521         No change of functionality. No new tests.
2522
2523         * bindings/scripts/CodeGeneratorGObject.pm:
2524
2525 2011-10-17  Ojan Vafai  <ojan@chromium.org>
2526
2527         Unreviewed, rolling out r97654.
2528         http://trac.webkit.org/changeset/97654
2529         https://bugs.webkit.org/show_bug.cgi?id=68497
2530
2531         Caused a number of Chromium failures.
2532
2533         * rendering/RenderBox.cpp:
2534         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2535
2536 2011-10-17  Ojan Vafai  <ojan@chromium.org>
2537
2538         Unreviewed, rolling out r97653.
2539         http://trac.webkit.org/changeset/97653
2540         https://bugs.webkit.org/show_bug.cgi?id=69957
2541
2542         Caused a number of Chromium failures.
2543
2544         * rendering/RenderBlock.cpp:
2545         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2546
2547 2011-10-17  Rafael Weinstein  <rafaelw@chromium.org>
2548
2549         [MutationObservers] Implement WebKitMutationObserver.observe for attributes
2550         https://bugs.webkit.org/show_bug.cgi?id=68956
2551
2552         Reviewed by Ryosuke Niwa.
2553
2554         Test: fast/mutation/observe-attributes.html
2555
2556         This adds an initial implementation for registering mutation observers on nodes,
2557         delivering mutation records at the end of the outer-most script invokation and
2558         observing mutations to element attributes.
2559
2560         Note that the outer-most script invokation only works in V8.
2561
2562         Note also that support for observing changes to the style attribute when updated
2563         via the style property is not implemented here.
2564
2565         * bindings/v8/V8Proxy.cpp:
2566         (WebCore::V8Proxy::didLeaveScriptContext):
2567         * dom/Element.cpp:
2568         (WebCore::enqueueAttributesMutationRecord):
2569         (WebCore::Element::setAttribute):
2570         * dom/MutationRecord.cpp:
2571         (WebCore::MutationRecord::createAttributes):
2572         * dom/MutationRecord.h:
2573         * dom/MutationRecord.idl:
2574         * dom/Node.cpp:
2575         (WebCore::Node::clearRareData):
2576         (WebCore::Node::mutationObserverData):
2577         (WebCore::Node::ensureMutationObserverData):
2578         (WebCore::Node::registeredMutationObserversOfType):
2579         (WebCore::Node::registerMutationObserver):
2580         (WebCore::Node::deregisterMutationObserver):
2581         * dom/Node.h:
2582         * dom/NodeRareData.h:
2583         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
2584         (WebCore::MutationObserverRegistration::operator==):
2585         (WebCore::MutationObserverData::MutationObserverData):
2586         (WebCore::MutationObserverData::~MutationObserverData):
2587         (WebCore::NodeRareData::mutationObserverData):
2588         (WebCore::NodeRareData::ensureMutationObserverData):
2589         * dom/WebKitMutationObserver.cpp:
2590         (WebCore::WebKitMutationObserver::observe):
2591         (WebCore::WebKitMutationObserver::disconnect):
2592         (WebCore::WebKitMutationObserver::wasDeregistered):
2593         (WebCore::activeMutationObservers):
2594         (WebCore::WebKitMutationObserver::enqueueMutationRecord):
2595         (WebCore::WebKitMutationObserver::deliverAllMutations):
2596         (WebCore::WebKitMutationObserver::deliver):
2597         * dom/WebKitMutationObserver.h:
2598
2599 2011-10-17  Andreas Kling  <kling@webkit.org>
2600
2601         HTMLKeygenElement: Don't cache keytype and challenge attributes.
2602         https://bugs.webkit.org/show_bug.cgi?id=68365
2603
2604         Reviewed by Darin Adler.
2605
2606         * html/HTMLKeygenElement.cpp:
2607         (WebCore::HTMLKeygenElement::parseMappedAttribute):
2608         (WebCore::HTMLKeygenElement::appendFormData):
2609         * html/HTMLKeygenElement.h:
2610
2611 2011-09-22  Ojan Vafai  <ojan@chromium.org>
2612
2613         incorrect height with height:auto and writing-mode:vertical-rl
2614         https://bugs.webkit.org/show_bug.cgi?id=68497
2615
2616         Reviewed by David Hyatt.
2617
2618         * rendering/RenderBox.cpp:
2619         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2620
2621 2011-10-12  Ojan Vafai  <ojan@chromium.org>
2622
2623         display:inline-block elements don't correctly handle orthogonal writing-modes
2624         https://bugs.webkit.org/show_bug.cgi?id=69957
2625
2626         Reviewed by David Hyatt.
2627
2628         Reading min/maxPreferredLogicalWidth from a child uses the child's writing-mode.
2629         Instead, we need to grab the result based on the parent's writing-mode.
2630         In the case of orthogonal writing-modes, we need the child's logical height.
2631
2632         Tests: fast/writing-mode/borders-expected.html
2633                fast/writing-mode/borders.html
2634
2635         * rendering/RenderBlock.cpp:
2636         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2637
2638 2011-10-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2639
2640         Unreviewed, rolling out r97643.
2641         http://trac.webkit.org/changeset/97643
2642         https://bugs.webkit.org/show_bug.cgi?id=70270
2643
2644         Broke iframe reparenting tests (Requested by dimich on
2645         #webkit).
2646
2647         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Removed.
2648         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Removed.
2649         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Removed.
2650         * notifications/NotificationCenter.cpp:
2651         (WebCore::NotificationCenter::disconnectFrame):
2652         * page/DOMWindow.cpp:
2653         (WebCore::DOMWindow::webkitNotifications):
2654         * page/DOMWindow.h:
2655         * page/Frame.cpp:
2656         (WebCore::Frame::transferChildFrameToNewDocument):
2657
2658 2011-10-17  Dmitry Titov  <dimich@chromium.org>
2659
2660         window.webkitNotifications uses deallocated NotificationPresenter after live Iframe transfer.
2661         https://bugs.webkit.org/show_bug.cgi?id=70147
2662
2663         Reviewed by David Levin.
2664
2665         I only found a way to test this manually, since Chromium TestShell uses static instance
2666         of NotificationPresenter instead of per-page one so the issue does not reproduce.
2667         Adding manual test that works in full build of Chromium.
2668
2669         * manual-tests/iframe_notifications/iframe-reparenting-close-window-child.html: Added.
2670         * manual-tests/iframe_notifications/iframe-reparenting-close-window-iframe.html: Added.
2671         * manual-tests/iframe_notifications/iframe-reparenting-close-window.html: Added.
2672         * notifications/NotificationCenter.cpp:
2673         (WebCore::NotificationCenter::disconnectFrame):
2674         * page/DOMWindow.cpp:
2675         (WebCore::DOMWindow::resetNotifications):
2676         * page/DOMWindow.h:
2677         * page/Frame.cpp:
2678         (WebCore::Frame::transferChildFrameToNewDocument): reset webkitNotifications object.
2679
2680 2011-10-17  Jeff Miller  <jeffm@apple.com>
2681
2682         Widget window coordinate functions should use root view coordinate functions
2683         https://bugs.webkit.org/show_bug.cgi?id=70152
2684
2685         Reviewed by Darin Adler.
2686
2687         No new tests, no changes to functionality.
2688
2689         * platform/Widget.cpp:
2690         (WebCore::Widget::convertFromContainingWindow): Use convertFromRootView().
2691         (WebCore::Widget::convertToContainingWindow): Use convertToRootView().
2692
2693 2011-10-14  Chris Marrin  <cmarrin@apple.com>
2694
2695         Throttle rate of requestAnimationFrame when page is not visible
2696         https://bugs.webkit.org/show_bug.cgi?id=67873
2697
2698         Reviewed by Anders Carlsson.
2699
2700         Add logic to suspend and resume scripted animations when page is hidden,
2701         minimized or the tab is not visible. The hide/minimize notification comes
2702         in from WebKit/WebKit2 to a new set of functions.
2703
2704         * WebCore.exp.in:
2705         * page/Page.cpp:
2706         (WebCore::Page::didMoveOnscreen):
2707         (WebCore::Page::willMoveOffscreen):
2708         (WebCore::Page::suspendScriptedAnimations):
2709         (WebCore::Page::resumeScriptedAnimations):
2710         * page/Page.h:
2711
2712 2011-10-17  Antti Koivisto  <antti@apple.com>
2713
2714         https://bugs.webkit.org/show_bug.cgi?id=69966
2715         Eliminate separate RenderStyle for visited link style
2716
2717         Reviewed by Dave Hyatt and Nikolas Zimmermann.
2718
2719         There are only a few properties that can apply to visited links and they can
2720         be part of the regular style. Many things will get simpler when the separate 
2721         RenderStyle for visited links is eliminated.
2722         
2723         - Add valid visited link properties as separate fields to RenderStyle. The  
2724           visitedLinkColor goes to inherited, everything else goes to rare data structures.
2725         - Make RenderStyle::visitedDependentColor() get the visited style from the new fields.
2726         - As VISITED_LINK pseudo style doesn't exists anymore, remove all code dealing with it.
2727         - Make CSSStyleSelector and ApplyPropertyColor apply the visited link style to the
2728           newly added fields instead of a separate RenderStyle.
2729         - Same thing with SVGRenderStyle, SVGCSSStyleSelector.
2730         - Fixup the SVG visited link style code to use the new fields.
2731
2732         This is ~15% progression in styleForElement performance over the HTML5 spec load.
2733
2734         * css/CSSStyleApplyProperty.cpp:
2735         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
2736         (WebCore::ApplyPropertyColor::applyInheritValue):
2737         (WebCore::ApplyPropertyColor::applyInitialValue):
2738         (WebCore::ApplyPropertyColor::applyValue):
2739         (WebCore::ApplyPropertyColor::applyColorValue):
2740         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2741         * css/CSSStyleSelector.cpp:
2742         (WebCore::CSSStyleSelector::CSSStyleSelector):
2743         (WebCore::CSSStyleSelector::styleForElement):
2744         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2745         (WebCore::CSSStyleSelector::updateFont):
2746         (WebCore::CSSStyleSelector::applyDeclaration):
2747         (WebCore::CSSStyleSelector::applyDeclarations):
2748         (WebCore::CSSStyleSelector::applyProperty):
2749         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2750         * css/CSSStyleSelector.h:
2751         (WebCore::CSSStyleSelector::applyPropertyToRegularStyle):
2752         (WebCore::CSSStyleSelector::applyPropertyToVisitedLinkStyle):
2753         * css/SVGCSSStyleSelector.cpp:
2754         (WebCore::CSSStyleSelector::applySVGProperty):
2755         * dom/Element.cpp:
2756         (WebCore::Element::pseudoStyleCacheIsInvalid):
2757         * rendering/style/RenderStyle.cpp:
2758         (WebCore::RenderStyle::getCachedPseudoStyle):
2759         (WebCore::RenderStyle::colorIncludingFallback):
2760         (WebCore::RenderStyle::visitedDependentColor):
2761         * rendering/style/RenderStyle.h:
2762         (WebCore::InheritedFlags::setVisitedLinkColor):
2763         (WebCore::InheritedFlags::setVisitedLinkBackgroundColor):
2764         (WebCore::InheritedFlags::setVisitedLinkBorderLeftColor):
2765         (WebCore::InheritedFlags::setVisitedLinkBorderRightColor):
2766         (WebCore::InheritedFlags::setVisitedLinkBorderBottomColor):
2767         (WebCore::InheritedFlags::setVisitedLinkBorderTopColor):
2768         (WebCore::InheritedFlags::setVisitedLinkOutlineColor):
2769         (WebCore::InheritedFlags::setVisitedLinkColumnRuleColor):
2770         (WebCore::InheritedFlags::setVisitedLinkTextEmphasisColor):
2771         (WebCore::InheritedFlags::setVisitedLinkTextFillColor):
2772         (WebCore::InheritedFlags::setVisitedLinkTextStrokeColor):
2773         * rendering/style/RenderStyleConstants.h:
2774         * rendering/style/SVGRenderStyle.h:
2775         (WebCore::SVGRenderStyle::setVisitedLinkFillPaint):
2776         (WebCore::SVGRenderStyle::setVisitedLinkStrokePaint):
2777         (WebCore::SVGRenderStyle::visitedLinkFillPaintType):
2778         (WebCore::SVGRenderStyle::visitedLinkFillPaintColor):
2779         (WebCore::SVGRenderStyle::visitedLinkStrokePaintType):
2780         (WebCore::SVGRenderStyle::visitedLinkStrokePaintColor):
2781         * rendering/style/SVGRenderStyleDefs.cpp:
2782         (WebCore::StyleFillData::StyleFillData):
2783         (WebCore::StyleFillData::operator==):
2784         (WebCore::StyleStrokeData::StyleStrokeData):
2785         (WebCore::StyleStrokeData::operator==):
2786         * rendering/style/SVGRenderStyleDefs.h:
2787         * rendering/style/StyleInheritedData.cpp:
2788         (WebCore::StyleInheritedData::StyleInheritedData):
2789         (WebCore::StyleInheritedData::operator==):
2790         * rendering/style/StyleInheritedData.h:
2791         * rendering/style/StyleMultiColData.cpp:
2792         (WebCore::StyleMultiColData::StyleMultiColData):
2793         (WebCore::StyleMultiColData::operator==):
2794         * rendering/style/StyleMultiColData.h:
2795         * rendering/style/StyleRareInheritedData.cpp:
2796         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2797         (WebCore::StyleRareInheritedData::operator==):
2798         * rendering/style/StyleRareInheritedData.h:
2799         * rendering/style/StyleRareNonInheritedData.cpp:
2800         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2801         (WebCore::StyleRareNonInheritedData::operator==):
2802         * rendering/style/StyleRareNonInheritedData.h:
2803         * rendering/svg/RenderSVGResource.cpp:
2804         (WebCore::requestPaintingResource):
2805
2806 2011-10-17  Eric Carlson  <eric.carlson@apple.com>
2807
2808         Cues should be loaded by the cached resource loader
2809         https://bugs.webkit.org/show_bug.cgi?id=70134
2810
2811         Reviewed by Darin Adler.
2812
2813         No new tests, changes covered by existing tests.
2814
2815         * CMakeLists.txt: Add CachedCues.cpp/h.
2816         * GNUmakefile.list.am: Ditto.
2817         * WebCore.gypi: Ditto.
2818         * WebCore.xcodeproj/project.pbxproj: Ditto.
2819
2820         * loader/cache/CachedCues.cpp: Added.
2821         (WebCore::CachedCues::CachedCues):
2822         (WebCore::CachedCues::~CachedCues):
2823         (WebCore::CachedCues::data): Called when new data has been loaded, pass it to all registered
2824             clients.
2825         * loader/cache/CachedCues.h: Added.
2826
2827         * loader/cache/CachedResource.cpp:
2828         (WebCore::defaultPriorityForResourceType): Cues have low loader priority.
2829         * loader/cache/CachedResource.h:
2830
2831         * loader/cache/CachedResourceClient.h:
2832         (WebCore::CachedResourceClient::didReceiveData): New client interface.
2833
2834         * loader/cache/CachedResourceLoader.cpp:
2835         (WebCore::createResource): Create and return a new cue loader.
2836         (WebCore::CachedResourceLoader::requestCues):
2837         (WebCore::CachedResourceLoader::checkInsecureContent): Cues aren't mentioned in the CPS spec
2838             yet, but they only work with a media element so use the mdia policy.
2839         (WebCore::CachedResourceLoader::canRequest): Allow cues to be loaded from any origin like media.
2840         * loader/cache/CachedResourceLoader.h:
2841
2842         * loader/cache/CachedResourceRequest.cpp:
2843         (WebCore::cachedResourceTypeToTargetType):
2844         * platform/network/chromium/ResourceRequest.h:
2845
2846 2011-10-17  Dan Bernstein  <mitz@apple.com>
2847
2848         <rdar://problem/10293929> REGRESSION (r97525): iChat transcript has horizontal scroll bar when the conversation includes a wide image
2849         https://bugs.webkit.org/show_bug.cgi?id=70204
2850
2851         Reviewed by Darin Adler.
2852
2853         Reverted r97525, which was supposed to fix <http://webkit.org/b/29447>.
2854
2855         * rendering/RenderBox.cpp:
2856         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2857         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2858         * rendering/RenderBox.h:
2859
2860 2011-10-17  Ada Chan  <adachan@apple.com>
2861
2862         Export KURL::baseAsString() so it can be called in WebProcessProxy::assumeReadAccessToBaseURL() in WebKit2.
2863         https://bugs.webkit.org/show_bug.cgi?id=70168
2864
2865         Reviewed by Alexey Proskuryakov.
2866
2867         No new tests. There is no change in functionality.
2868
2869         * WebCore.exp.in: Export KURL::baseAsString().
2870
2871 2011-10-17  Ryosuke Niwa  <rniwa@webkit.org>
2872
2873         Touch Internals.cpp to make 64-bit GTK+ build happy.
2874
2875         * testing/Internals.cpp:
2876
2877 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
2878
2879         AX: children() method should be consolidated in AccessibilityObject
2880         https://bugs.webkit.org/show_bug.cgi?id=70243
2881
2882         Code cleanup, no new tests.
2883
2884         Reviewed by Darin Adler.
2885
2886         * accessibility/AccessibilityObject.cpp:
2887         (WebCore::AccessibilityObject::children):
2888         * accessibility/AccessibilityObject.h:
2889         * accessibility/AccessibilityRenderObject.cpp:
2890         (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
2891         * accessibility/AccessibilityRenderObject.h:
2892         * accessibility/AccessibilityScrollView.cpp:
2893         (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
2894         (WebCore::AccessibilityScrollView::updateScrollbars):
2895         (WebCore::AccessibilityScrollView::addChildren):
2896         * accessibility/AccessibilityScrollView.h:
2897         * accessibility/AccessibilitySlider.cpp:
2898         * accessibility/AccessibilitySlider.h:
2899         * accessibility/AccessibilityTableColumn.cpp:
2900         * accessibility/AccessibilityTableColumn.h:
2901         * accessibility/AccessibilityTableHeaderContainer.cpp:
2902         * accessibility/AccessibilityTableHeaderContainer.h:
2903
2904 2011-10-17  Vsevolod Vlasov  <vsevik@chromium.org>
2905
2906         Web Inspector: Search matches highlighting in text does not work correctly.
2907         https://bugs.webkit.org/show_bug.cgi?id=70244
2908
2909         Reviewed by Pavel Feldman.
2910
2911         Test: inspector/utilities-highlight-results.html
2912
2913         * inspector/front-end/utilities.js:
2914         ():
2915
2916 2011-10-17  Chris Fleizach  <cfleizach@apple.com>
2917
2918         AX: webkit won't always send live region notifications
2919         https://bugs.webkit.org/show_bug.cgi?id=70030
2920
2921         Webkit purposefully does not send live region notifications if some AT client has not accessed the AX tree in between 
2922         the last live region update (ostensibly to improve performance).
2923         However, this is problematic if a screen reader misses one notification... it has no idea what happened and the only 
2924         recourse is to rescan the page for changes. The correct thing to do is to always send notifications.
2925
2926         Reviewed by Darin Adler.
2927
2928         Test: platform/mac/accessibility/aria-liveregions-notifications-always-sent.html
2929
2930         * accessibility/AccessibilityRenderObject.cpp:
2931         (WebCore::AccessibilityRenderObject::childrenChanged):
2932
2933 2011-10-12  Pavel Podivilov  <podivilov@chromium.org>
2934
2935         Web Inspector: fix handling of source mapping entries with no mapping.
2936         https://bugs.webkit.org/show_bug.cgi?id=69941
2937
2938         Reviewed by Pavel Feldman.
2939
2940         * inspector/front-end/CompilerSourceMapping.js:
2941         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
2942
2943 2011-10-17  Mikhail Naganov  <mnaganov@chromium.org>
2944
2945         Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
2946         https://bugs.webkit.org/show_bug.cgi?id=61179
2947
2948         This is exteremely helpful when dealing with DOM wrappers, as
2949         their properties are mostly implemented with getters and thus not
2950         stored in heap snapshots.
2951
2952         Reviewed by Pavel Feldman.
2953
2954         * English.lproj/localizedStrings.js:
2955         * bindings/js/ScriptProfiler.cpp:
2956         (WebCore::ScriptProfiler::objectByHeapObjectId):
2957         * bindings/js/ScriptProfiler.h:
2958         * bindings/v8/ScriptProfiler.cpp:
2959         (WebCore::ScriptProfiler::objectByHeapObjectId):
2960         * bindings/v8/ScriptProfiler.h:
2961         * inspector/Inspector.json:
2962         * inspector/InspectorController.cpp:
2963         (WebCore::InspectorController::InspectorController):
2964         * inspector/InspectorProfilerAgent.cpp:
2965         (WebCore::InspectorProfilerAgent::create):
2966         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
2967         (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
2968         * inspector/InspectorProfilerAgent.h:
2969         * inspector/front-end/DetailedHeapshotGridNodes.js:
2970         (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
2971         (WebInspector.HeapSnapshotGenericObjectNode):
2972         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2973         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
2974         (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
2975         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
2976         * inspector/front-end/DetailedHeapshotView.js:
2977         (WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
2978         * inspector/front-end/HeapSnapshot.js:
2979         (WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
2980         (WebInspector.HeapSnapshotNode.prototype.get flags):
2981         (WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
2982         (WebInspector.HeapSnapshot.prototype._init):
2983         (WebInspector.HeapSnapshot.prototype.dispose):
2984         (WebInspector.HeapSnapshot.prototype._flagsOfNode):
2985         (WebInspector.HeapSnapshot.prototype._calculateFlags):
2986         (WebInspector.HeapSnapshot.prototype.updateStaticData):
2987         (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
2988         * inspector/front-end/HeapSnapshotProxy.js:
2989         (WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
2990         * inspector/front-end/RemoteObject.js:
2991         (WebInspector.RemoteObject.fromError):
2992         * inspector/front-end/heapProfiler.css:
2993         (.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):
2994
2995 2011-10-17  Alexander Pavlov  <apavlov@chromium.org>
2996
2997         Web Inspector: Editing CSS selector doesn't fire onResourceContentCommitted
2998         https://bugs.webkit.org/show_bug.cgi?id=70018
2999
3000         Reviewed by Yury Semikhatsky.
3001
3002         Test: inspector/styles/commit-selector.html
3003
3004         * inspector/front-end/CSSStyleModel.js:
3005         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
3006         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3007
3008 2011-10-17  Andreas Kling  <kling@webkit.org>
3009
3010         CSS/XSLStyleSheet: Remove insert() and remove().
3011         https://bugs.webkit.org/show_bug.cgi?id=70226
3012
3013         Reviewed by Antti Koivisto.
3014
3015         Remove insert() and remove() from XSLStyleSheet. CSSStyleSheet retains remove()
3016         since it's used by InspectorStyleSheet as well as SVGFontFaceElement.
3017
3018         * css/CSSStyleSheet.cpp:
3019         (WebCore::CSSStyleSheet::remove):
3020
3021             Remove range check. This method is internal to WebKit and the call sites
3022             already take care of it.
3023
3024         (WebCore::CSSStyleSheet::insertRule):
3025         (WebCore::CSSStyleSheet::deleteRule):
3026         * css/CSSStyleSheet.h:
3027         * xml/XSLStyleSheet.h:
3028
3029 2011-10-17  Rosen Dash  <rosen.dash@motorola.com>
3030
3031         when CSS pseudo selectors are applied (:before and :after) the *-of-line keyboard navigation does not work
3032         https://bugs.webkit.org/show_bug.cgi?id=10123
3033
3034         Reviewed by Ryosuke Niwa.
3035
3036         This patch addresses folllowing two issues:
3037         1. When CSS pseudo elements are before or after is used with content attribute containing single character
3038            at the start/end of text and we try to move cursor by right navigation key, the page freezes falling
3039            into an infinite loop.
3040         2. When these elements try to insert some text between a text line, navigation by right/left arrow key is prohibited.
3041
3042         Tests: editing/selection/css-pseudo-element-hang.html
3043                editing/selection/css-pseudo-element.html
3044
3045         * editing/VisiblePosition.cpp:
3046         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3047         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3048
3049 2011-10-15  Antti Koivisto  <antti@apple.com>
3050
3051         Test :visited pseudo class
3052         https://bugs.webkit.org/show_bug.cgi?id=70219
3053
3054         Reviewed by Andreas Kling.
3055         
3056         Currently DRT doesn't support :visited. All tests where it should match have wrong checked in results.
3057         
3058         - Make <a href=""> to match :visited in DRT. It already does on browsers. A number of existing tests 
3059           for :visited use it already, the rest can be modified to use it.
3060         - Make render tree dumps correctly dump the visited state dependent color.
3061
3062         * css/SelectorChecker.cpp:
3063         (WebCore::SelectorChecker::determineLinkStateSlowCase):
3064         * rendering/RenderTreeAsText.cpp:
3065         (WebCore::RenderTreeAsText::writeRenderObject):
3066
3067 2011-10-17  Satish Sampath  <satish@chromium.org>
3068
3069         Avoid leaking document when leaving google.com due to geolocation
3070         permission request.
3071         https://bugs.webkit.org/show_bug.cgi?id=58027
3072
3073         Reviewed by Kenneth Rohde Christiansen.
3074
3075         * page/Geolocation.cpp:
3076         (WebCore::Geolocation::Watchers::find): added
3077         (WebCore::Geolocation::reset): cleared all pending notifiers.
3078         (WebCore::Geolocation::clearWatch): removed from pending notifier set.
3079         * page/Geolocation.h:
3080         (WebCore::Geolocation::Watchers::find): added
3081
3082 2011-10-17  Andrei Lavreniyuk  <andy.lavr@gmail.com>
3083
3084         Fix clang WebKitGTK+ build.
3085
3086         Reviewed by Martin Robinson.
3087
3088         * plugins/gtk/PluginViewGtk.cpp:
3089
3090 2011-10-16  Adam Barth  <abarth@webkit.org>
3091
3092         Always disable ENABLE(ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL) and delete associated code
3093         https://bugs.webkit.org/show_bug.cgi?id=70216
3094
3095         Reviewed by Eric Seidel.
3096
3097         No port enables this feature.  It was added for the previous Android
3098         port (and should have been an editing behavior in any case).
3099
3100         * html/HTMLTextAreaElement.cpp:
3101         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
3102
3103 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
3104
3105         Expose rangeFromLocationAndLength and locationAndLengthFromRange via internals object
3106         https://bugs.webkit.org/show_bug.cgi?id=68330
3107
3108         Reviewed by Hajime Morita.
3109
3110         Add rangeFromLocationAndLength, locationFromRange, and lengthFromRange to window.internals.
3111
3112         Test: editing/text-iterator/range-to-from-location-and-length.html
3113
3114         * WebCore.exp.in:
3115         * testing/Internals.cpp:
3116         (WebCore::Internals::scrollElementToRect):
3117         (WebCore::Internals::rangeFromLocationAndLength):
3118         (WebCore::Internals::locationFromRange):
3119         (WebCore::Internals::lengthFromRange):
3120         * testing/Internals.h:
3121         * testing/Internals.idl:
3122
3123 2011-10-16  Kentaro Hara  <haraken@chromium.org>
3124
3125         Generate MessageChannel constructor by [Constructor] IDL
3126         https://bugs.webkit.org/show_bug.cgi?id=70214
3127
3128         Reviewed by Adam Barth.
3129
3130         This patch generates an MessageChannel constructor for JSC by [Constructor] IDL,
3131         but V8 is still using a custom constructor since the V8 constructor requires special logic.
3132
3133         Tests: fast/dom/global-constructors.html
3134                fast/events/message-port.html
3135                fast/events/message-port-no-wrapper.html
3136                fast/dom/Window/window-postmessage-args.html
3137
3138         * bindings/js/JSMessageChannelCustom.cpp: Removed the MessageChannel constructor.
3139         * dom/MessageChannel.idl: Generates the MessageChannel constructor for JSC.
3140
3141 2011-10-16  Ryosuke Niwa  <rniwa@webkit.org>
3142
3143         [Mac] fontForSelection and styleForSelectionStart should be moved to EditorMac
3144         https://bugs.webkit.org/show_bug.cgi?id=70114
3145
3146         Reviewed by Hajime Morita.
3147
3148         Moved fontForSelection and styleForSelectionStart from Editor to EditorMac
3149         and made styleForSelectionStart static local.
3150
3151         * editing/Editor.cpp:
3152         * editing/Editor.h:
3153         * editing/mac/EditorMac.mm:
3154         (WebCore::styleForSelectionStart):
3155         (WebCore::Editor::fontForSelection):
3156         (WebCore::Editor::fontAttributesForSelectionStart):
3157
3158 2011-10-16  Kentaro Hara  <haraken@chromium.org>
3159
3160         Generate EventSource constructor for JSC by [Constructor] IDL
3161         https://bugs.webkit.org/show_bug.cgi?id=70212
3162
3163         Reviewed by Adam Barth.
3164
3165         Removed JSEventSourceCustom.cpp.
3166
3167         Tests: fast/dom/global-constructors.html
3168                fast/eventsource/eventsource-constructor.html
3169                fast/eventsource/eventsource-attribute-listeners.html
3170
3171         * GNUmakefile.list.am: Removed JSEventSourceCustom.cpp.
3172         * UseJSC.cmake: Ditto.
3173         * WebCore.gypi: Ditto.
3174         * WebCore.pro: Ditto.
3175         * WebCore.xcodeproj/project.pbxproj: Ditto.
3176         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
3177         * bindings/js/JSEventSourceCustom.cpp: Removed this file.
3178         * page/EventSource.idl: Removed 'JSCustomConstructor' IDL.
3179
3180 2011-10-16  David Barr  <davidbarr@chromium.org>
3181
3182         Inline CSSPrimitiveValue::isQuirkValue() as non-virtual function
3183         https://bugs.webkit.org/show_bug.cgi?id=64865
3184
3185         Reviewed by Darin Adler.
3186
3187         Based on profiling and patch from:
3188         Tamas Czene <Czene.Tamas@stud.u-szeged.hu>
3189
3190         This is expected to produce a small performance progression.
3191         Additional memory overhead is avoided by using spare bits.
3192         CSSQuirkPrimitiveValue is removed as it becomes just a factory.
3193
3194         * GNUmakefile.list.am:
3195         * WebCore.gypi:
3196         * WebCore.order:
3197         * WebCore.vcproj/WebCore.vcproj:
3198         * WebCore.xcodeproj/project.pbxproj:
3199         * css/CSSParser.cpp:
3200         (WebCore::CSSParser::parseValidPrimitive):
3201         * css/CSSParserValues.cpp:
3202         (WebCore::CSSParserValue::createCSSValue):
3203         * css/CSSPrimitiveValue.cpp:
3204         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3205         * css/CSSPrimitiveValue.h:
3206         (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
3207         Moved from CSSQuirkPrimitiveValue::create.
3208         (WebCore::CSSPrimitiveValue::isQuirkValue):
3209         * css/CSSQuirkPrimitiveValue.h: Removed.
3210         * css/SVGCSSParser.cpp:
3211         (WebCore::CSSParser::parseSVGValue):
3212
3213 2011-10-16  Kentaro Hara  <haraken@chromium.org>
3214
3215         Generate XMLHttpRequest constructor for JSC by [Constructor] IDL
3216         https://bugs.webkit.org/show_bug.cgi?id=70208
3217
3218         Reviewed by Adam Barth.
3219
3220         This patch generates an XMLHttpRequest constructor for JSC by [Constructor] IDL,
3221         but V8 is still using a custom constructor since the V8 constructor requires a special logic.
3222
3223         Tests: fast/dom/global-constructors.html
3224                fast/dom/XMLHttpRequest-constants.html
3225                fast/dom/xmlhttprequest-constructor-in-detached-document.html
3226                http/tests/security/cookies/xmlhttprequest.html
3227
3228         * bindings/js/JSXMLHttpRequestCustom.cpp: Removed an XMLHttpRequest custom constructor.
3229         * bindings/scripts/CodeGeneratorV8.pm: Currently, CodeGeneratorV8.pm generates constructor code whenever [Constructor] is specified, even if [V8CustomConstructor] is specified. This is wrong. This patch fixes the condition where the constructor code is generated.
3230         * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-binding-tests result.
3231         * xml/XMLHttpRequest.h: Added a necessary header.
3232         * xml/XMLHttpRequest.idl: V8 is still using a custom constructor.
3233
3234 2011-10-16  Kentaro Hara  <haraken@chromium.org>
3235
3236         Generate XSLTProcessor constructor for JSC by [Constructor] IDL.
3237         https://bugs.webkit.org/show_bug.cgi?id=70206
3238
3239         Reviewed by Adam Barth.
3240
3241         Tests: fast/xsl/xslt-processor.html
3242                fast/xsl/default-html.html
3243                fast/dom/global-constructors.html
3244
3245         * bindings/js/JSXSLTProcessorCustom.cpp: Removed a custom constructor.
3246         * xml/XSLTProcessor.idl: Removed 'JSCustomConstructor'.
3247
3248 2011-10-16  Kentaro Hara  <haraken@chromium.org>
3249
3250         Support [Constructor] IDL for JSC.
3251         https://bugs.webkit.org/show_bug.cgi?id=70101
3252
3253         Reviewed by Adam Barth.
3254
3255         The spec for [Constructor] IDL is here: http://www.w3.org/TR/WebIDL/#Constructor
3256         This patch introduced [Constructor] IDL for JSC. This patch also added
3257         [ConstructorRaisesException] for JSC. If [ConstructorRaisesException] is specified,
3258         a placeholder for ExceptionCode is passed to XXX::create(), like XXX::create(..., ec).
3259
3260         Notes:
3261         - We do not yet support constructor overloading.
3262         - We do not yet support [Optional] without CallWithDefaultValue for constructor arguments.
3263
3264         Tests: Source/WebCore/bindings/scripts/test/TestInterface.idl
3265                Source/WebCore/bindings/scripts/test/TestObj.idl
3266
3267         * bindings/scripts/CodeGeneratorJS.pm:
3268         (GenerateHeader): Generates constructor declaration code to a header file, if a given DOM object has constructor.
3269         (GenerateImplementation): Uses GenerateArgumentsCountCheck() and GenerateParametersCheck().
3270         (GenerateArgumentsCountCheck): Splits out of GenerateImplementation() for reuse.
3271         (GenerateParametersCheck): Splits out of GenerateImplementation() for reuse.
3272         (GenerateConstructorDefinition): Generates constructor definition code.
3273         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the run-binding-tests results.
3274         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
3275         * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
3276         (WebCore::JSTestInterfaceConstructor::create):
3277         (WebCore::JSTestInterfaceConstructor::createStructure):
3278         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
3279         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3280         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
3281         (WebCore::JSTestMediaQueryListListenerConstructor::create):
3282         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
3283         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
3284         (WebCore::jsTestObjPrototypeFunctionVoidMethod):
3285         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3286         (WebCore::jsTestObjPrototypeFunctionIntMethod):
3287         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
3288         (WebCore::jsTestObjPrototypeFunctionObjMethod):
3289         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3290         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
3291         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
3292         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3293         (WebCore::jsTestObjPrototypeFunctionIdbKey):
3294         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
3295         (WebCore::jsTestObjPrototypeFunctionMethodWithException):
3296         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3297         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3298         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3299         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
3300         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
3301         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
3302         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
3303         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
3304         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
3305         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
3306         (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
3307         (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
3308         (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
3309         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3310         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3311         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3312         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
3313         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
3314         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
3315         (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
3316         (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
3317         (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
3318         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
3319         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
3320         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
3321         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
3322         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
3323         (WebCore::jsTestObjPrototypeFunctionClassMethod):
3324         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
3325         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
3326         (WebCore::JSTestObjConstructor::create):
3327         (WebCore::JSTestObjConstructor::createStructure):
3328         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
3329         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
3330         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
3331         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
3332
3333 2011-10-16  Dmitry Lomov  <dslomov@google.com>
3334
3335         https://bugs.webkit.org/show_bug.cgi?id=70186
3336         Pass MessagePortArray to JSC's SerializedScriptValue::serialize/deserialize.
3337
3338         Reviewed by Oliver Hunt.
3339
3340         * bindings/js/JSDOMWindowCustom.cpp:
3341         (WebCore::handlePostMessage):
3342         (WebCore::JSDOMWindow::postMessage):
3343         (WebCore::JSDOMWindow::webkitPostMessage):
3344         * bindings/js/JSDictionary.cpp:
3345         (WebCore::JSDictionary::convertValue):
3346         * bindings/js/JSHistoryCustom.cpp:
3347         (WebCore::JSHistory::pushState):
3348         (WebCore::JSHistory::replaceState):
3349         * bindings/js/JSMessageEventCustom.cpp:
3350         (WebCore::JSMessageEvent::data):
3351         (WebCore::handleInitMessageEvent):
3352         (WebCore::JSMessageEvent::initMessageEvent):
3353         (WebCore::JSMessageEvent::webkitInitMessageEvent):
3354         * bindings/js/JSMessagePortCustom.h:
3355         (WebCore::handlePostMessage):
3356         * bindings/js/JSPopStateEventCustom.cpp:
3357         (WebCore::JSPopStateEvent::state):
3358         * bindings/js/ScriptValue.cpp:
3359         (WebCore::ScriptValue::serialize):
3360         (WebCore::ScriptValue::deserialize):
3361         * bindings/js/SerializedScriptValue.cpp:
3362         (WebCore::SerializedScriptValue::create):
3363         (WebCore::SerializedScriptValue::deserialize):
3364         * bindings/js/SerializedScriptValue.h:
3365
3366 2011-10-16  Dan Bernstein  <mitz@apple.com>
3367
3368         REGRESSION (r96620): Float-avoiding block positioned incorrectly in right-to-left block
3369         https://bugs.webkit.org/show_bug.cgi?id=70197
3370
3371         Reviewed by Dave Kilzer.
3372
3373         Test: fast/block/float/avoidance-rtl.html
3374
3375         * rendering/RenderBlock.cpp:
3376         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats): Changed
3377         logicalLeftOffsetForContent() to startOffsetForContent() to get the right value in the
3378         right-to-left case.
3379
3380 2011-10-16  Adam Barth  <abarth@webkit.org>
3381
3382         Always enable ENABLE(DOM_STORAGE)
3383         https://bugs.webkit.org/show_bug.cgi?id=70189
3384
3385         Reviewed by Eric Seidel.
3386
3387         As discussed on webkit-dev, we are reducing the complexity of WebKit by
3388         removing unnecessary configuration options.  DOMStorage is not a core
3389         part of the web platform.  It should always be enabled.
3390
3391         * CMakeLists.txt:
3392         * Configurations/FeatureDefines.xcconfig:
3393         * GNUmakefile.am:
3394         * GNUmakefile.list.am:
3395         * UseJSC.cmake:
3396         * WebCore.exp.in:
3397         * WebCore.pro:
3398         * bindings/js/JSEventCustom.cpp:
3399         * bindings/js/JSInjectedScriptHostCustom.cpp:
3400         * bindings/js/JSStorageCustom.cpp:
3401         * bindings/v8/custom/V8EventCustom.cpp:
3402         (WebCore::toV8):
3403         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3404         (WebCore::V8InjectedScriptHost::storageIdCallback):
3405         * bindings/v8/custom/V8StorageCustom.cpp:
3406         * dom/Document.cpp:
3407         (WebCore::Document::createEvent):
3408         * dom/Event.cpp:
3409         (WebCore::Event::isStorageEvent):
3410         * dom/Event.h:
3411         * dom/Node.cpp:
3412         * features.pri:
3413         * inspector/InjectedScriptHost.cpp:
3414         (WebCore::InjectedScriptHost::InjectedScriptHost):
3415         (WebCore::InjectedScriptHost::disconnect):
3416         (WebCore::InjectedScriptHost::storageIdImpl):
3417         * inspector/InjectedScriptHost.h:
3418         (WebCore::InjectedScriptHost::init):
3419         * inspector/InspectorController.cpp:
3420         (WebCore::InspectorController::InspectorController):
3421         (WebCore::InspectorController::connectFrontend):
3422         (WebCore::InspectorController::disconnectFrontend):
3423         (WebCore::InspectorController::restoreInspectorStateFromCookie):
3424         * inspector/InspectorController.h:
3425         * inspector/InspectorDOMStorageAgent.cpp:
3426         * inspector/InspectorDOMStorageResource.cpp:
3427         * inspector/InspectorDOMStorageResource.h:
3428         * inspector/InspectorInstrumentation.cpp:
3429         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3430         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
3431         * inspector/InspectorInstrumentation.h:
3432         (WebCore::InspectorInstrumentation::didUseDOMStorage):
3433         * inspector/InstrumentingAgents.h:
3434         (WebCore::InstrumentingAgents::InstrumentingAgents):
3435         * inspector/WorkerInspectorController.cpp:
3436         (WebCore::WorkerInspectorController::WorkerInspectorController):
3437         (WebCore::WorkerInspectorController::connectFrontend):
3438         * inspector/generate-inspector-idl:
3439         * page/Chrome.cpp:
3440         * page/DOMWindow.cpp:
3441         (WebCore::DOMWindow::~DOMWindow):
3442         (WebCore::DOMWindow::clear):
3443         (WebCore::DOMWindow::localStorage):
3444         * page/DOMWindow.h:
3445         * page/DOMWindow.idl:
3446         * page/Navigator.cpp:
3447         (WebCore::Navigator::getStorageUpdates):
3448         * page/Navigator.h:
3449         * page/Navigator.idl:
3450         * page/Page.cpp:
3451         * page/Page.h:
3452         * page/PageGroup.cpp:
3453         (WebCore::PageGroup::closeLocalStorage):
3454         * page/PageGroup.h:
3455         * page/Settings.cpp:
3456         (WebCore::Settings::Settings):
3457         (WebCore::Settings::setSessionStorageQuota):
3458         * page/Settings.h:
3459         (WebCore::Settings::sessionStorageQuota):
3460         * storage/LocalStorageTask.cpp:
3461         * storage/LocalStorageTask.h:
3462         * storage/LocalStorageThread.cpp:
3463         * storage/LocalStorageThread.h:
3464         * storage/Storage.cpp:
3465         * storage/Storage.h:
3466         * storage/Storage.idl:
3467         * storage/StorageArea.h:
3468         * storage/StorageAreaImpl.cpp:
3469         * storage/StorageAreaImpl.h:
3470         * storage/StorageAreaSync.cpp:
3471         (WebCore::StorageAreaSync::scheduleSync):
3472         * storage/StorageAreaSync.h:
3473         * storage/StorageEvent.cpp:
3474         * storage/StorageEvent.h:
3475         * storage/StorageEvent.idl:
3476         * storage/StorageEventDispatcher.cpp:
3477         * storage/StorageEventDispatcher.h:
3478         * storage/StorageMap.cpp:
3479         * storage/StorageMap.h:
3480         * storage/StorageNamespace.cpp:
3481         * storage/StorageNamespace.h:
3482         * storage/StorageNamespaceImpl.cpp:
3483         * storage/StorageNamespaceImpl.h:
3484         * storage/StorageSyncManager.cpp:
3485         (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
3486         * storage/StorageSyncManager.h:
3487         * storage/StorageTracker.cpp:
3488         * storage/StorageTracker.h:
3489
3490 2011-10-15  Adam Barth  <abarth@webkit.org>
3491
3492         Rename ENABLE(SKIA_TEXT) to USE(SKIA_TEXT)
3493         https://bugs.webkit.org/show_bug.cgi?id=70191
3494
3495         Reviewed by Daniel Bates.
3496
3497         SKIA_TEXT is not a WebKit feature.  It's a macro that determines
3498         whether we use a feature of the underly library (Skia).
3499
3500         * platform/graphics/chromium/FontChromiumWin.cpp:
3501         (WebCore::Font::drawComplexText):
3502         * platform/graphics/chromium/UniscribeHelper.cpp:
3503         (WebCore::UniscribeHelper::draw):
3504         * platform/graphics/skia/PlatformContextSkia.cpp:
3505         (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
3506         * platform/graphics/skia/PlatformContextSkia.h:
3507         * platform/graphics/skia/SkiaFontWin.cpp:
3508         * platform/graphics/skia/SkiaFontWin.h:
3509
3510 2011-10-15  Eric Carlson  <eric.carlson@apple.com>
3511
3512         Make VIDEO_TRACK compile with warnings as errors enabled
3513         https://bugs.webkit.org/show_bug.cgi?id=70188
3514
3515         Reviewed by Filip Pizlo.
3516
3517         No new tests, no functionality changed.
3518
3519         * html/TextTrackCueList.h: Fix an include.
3520         * html/track/CueParser.cpp:
3521         (WebCore::CueParser::supportsType): Remove unused param.
3522         * html/track/CueParser.h:
3523         (WebCore::CueParserClient::~CueParserClient): Add virtual destructor.
3524         * html/track/CueParserPrivate.h:
3525         (WebCore::CueParserPrivateClient::~CueParserPrivateClient): Ditto.
3526         * loader/CueLoader.h:
3527         (WebCore::CueLoaderClient::~CueLoaderClient): Ditto.
3528         (WebCore::CueLoader::~CueLoader): Ditto.
3529
3530 2011-10-15  Adam Barth  <abarth@webkit.org>
3531
3532         Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
3533         https://bugs.webkit.org/show_bug.cgi?id=70194
3534
3535         Reviewed by Daniel Bates.
3536
3537         TILED_BACKING_STORE isn't a web platform feature.  It's an
3538         implementation strategy for WebKit that's used