6d141cd1b29113c2643846f28a028453fa7b8a22
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-09-07  David Hyatt  <hyatt@apple.com>
2
3         https://bugs.webkit.org/show_bug.cgi?id=67739
4
5         adjustRectForColumns is O(# of columns) when it can be O(1). Fix the slow performance of this
6         function by removing the loop and just computing the start and end column for a repaint rect
7         and uniting everything in between.
8
9         Reviewed by Dan Bernstein.
10
11         * rendering/RenderBlock.cpp:
12         (WebCore::RenderBlock::adjustRectForColumns):
13
14 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
15
16         Unreviewed, rolling out r94714 and r94723.
17         http://trac.webkit.org/changeset/94714
18         http://trac.webkit.org/changeset/94723
19         https://bugs.webkit.org/show_bug.cgi?id=67746
20
21         breaks gtk-linux tests with assertion failure (Requested by
22         thorton on #webkit).
23
24         * platform/graphics/GraphicsContext.cpp:
25         (WebCore::GraphicsContext::GraphicsContext):
26         (WebCore::GraphicsContext::~GraphicsContext):
27         * platform/graphics/GraphicsContext.h:
28         (WebCore::GraphicsContext::inTransparencyLayer):
29         * platform/graphics/cairo/GraphicsContextCairo.cpp:
30         (WebCore::GraphicsContext::beginTransparencyLayer):
31         (WebCore::GraphicsContext::endTransparencyLayer):
32         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
33         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
34         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
35         * platform/graphics/cg/GraphicsContextCG.cpp:
36         (WebCore::GraphicsContext::beginTransparencyLayer):
37         (WebCore::GraphicsContext::endTransparencyLayer):
38         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
39         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
40         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
41         (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
42         (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
43         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
44         (WebCore::GraphicsContext::beginTransparencyLayer):
45         (WebCore::GraphicsContext::endTransparencyLayer):
46         * platform/graphics/mac/FontMac.mm:
47         (WebCore::Font::drawGlyphs):
48         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
49         (WebCore::GraphicsContext::beginTransparencyLayer):
50         (WebCore::GraphicsContext::endTransparencyLayer):
51         * platform/graphics/qt/GraphicsContextQt.cpp:
52         (WebCore::GraphicsContext::inTransparencyLayer):
53         (WebCore::GraphicsContext::beginTransparencyLayer):
54         (WebCore::GraphicsContext::endTransparencyLayer):
55         * platform/graphics/skia/GraphicsContextSkia.cpp:
56         (WebCore::GraphicsContext::beginTransparencyLayer):
57         (WebCore::GraphicsContext::endTransparencyLayer):
58         * platform/graphics/win/FontCGWin.cpp:
59         (WebCore::drawGDIGlyphs):
60         * platform/graphics/win/GraphicsContextCGWin.cpp:
61         (WebCore::GraphicsContext::releaseWindowsContext):
62         * platform/graphics/win/GraphicsContextCairoWin.cpp:
63         (WebCore::GraphicsContext::releaseWindowsContext):
64         * platform/graphics/win/GraphicsContextWin.cpp:
65         (WebCore::GraphicsContext::inTransparencyLayer):
66         (WebCore::GraphicsContext::getWindowsContext):
67         * platform/graphics/wince/GraphicsContextWinCE.cpp:
68         (WebCore::GraphicsContext::beginTransparencyLayer):
69         (WebCore::GraphicsContext::endTransparencyLayer):
70         * platform/graphics/wx/GraphicsContextWx.cpp:
71         (WebCore::GraphicsContext::beginTransparencyLayer):
72         (WebCore::GraphicsContext::endTransparencyLayer):
73         * platform/win/ScrollbarThemeWin.cpp:
74         (WebCore::ScrollbarThemeWin::paintTrackPiece):
75         (WebCore::ScrollbarThemeWin::paintButton):
76         (WebCore::ScrollbarThemeWin::paintThumb):
77         * plugins/win/PluginViewWin.cpp:
78         (WebCore::PluginView::paint):
79         * rendering/RenderThemeWin.cpp:
80         (WebCore::drawControl):
81
82 2011-09-07  Chris Fleizach  <cfleizach@apple.com>
83
84         Changes to aria-hidden don't change VO navigation
85         https://bugs.webkit.org/show_bug.cgi?id=67722
86
87         Reviewed by Darin Adler.
88
89         When altering aria-hidden, WebCore needs to update the children caches of 
90         affected elements. However, for elements that were children, but ignored, their
91         caches did not get updated, and stale information would be propagated.
92
93         The fix is to always clearChildren() when a parent is asking for children. This 
94         ensures information is always up to date when the parent itself is asking for new data.
95
96         Test: accessibility/aria-hidden-updates-alldescendants.html
97
98         * accessibility/AccessibilityObject.h:
99         * accessibility/AccessibilityRenderObject.cpp:
100         (WebCore::AccessibilityRenderObject::ariaIsHidden):
101         (WebCore::AccessibilityRenderObject::childrenChanged):
102         (WebCore::AccessibilityRenderObject::addChildren):
103
104 2011-09-07  Tim Horton  <timothy_horton@apple.com>
105
106         Text rendered with a simple (i.e. 0px blur) shadow inside a transparency layer has a double shadow
107         https://bugs.webkit.org/show_bug.cgi?id=67543
108         <rdar://problem/10070536>
109
110         Reviewed by Simon Fraser.
111
112         Generalize (begin|end)TransparencyLayer, which now forward
113         through to (begin|end)PlatformTransparencyLayer, so that
114         isInTransparencyLayer can exist on every platform.
115
116         Make use of isInTransparencyLayer in FontMac to disable
117         "simple" shadow drawing when the text is being rendered
118         into a transparency layer.
119
120         Test: svg/custom/simple-text-double-shadow.svg
121
122         * platform/graphics/GraphicsContext.cpp:
123         (WebCore::GraphicsContext::GraphicsContext):
124         (WebCore::GraphicsContext::~GraphicsContext):
125         (WebCore::GraphicsContext::beginTransparencyLayer):
126         (WebCore::GraphicsContext::endTransparencyLayer):
127         (WebCore::GraphicsContext::isInTransparencyLayer):
128         * platform/graphics/GraphicsContext.h:
129         * platform/graphics/cairo/GraphicsContextCairo.cpp:
130         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
131         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
132         (WebCore::GraphicsContext::supportsTransparencyLayers):
133         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
134         * platform/graphics/cg/GraphicsContextCG.cpp:
135         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
136         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
137         (WebCore::GraphicsContext::supportsTransparencyLayers):
138         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
139         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
140         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
141         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
142         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
143         (WebCore::GraphicsContext::supportsTransparencyLayers):
144         * platform/graphics/mac/FontMac.mm:
145         (WebCore::Font::drawGlyphs):
146         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
147         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
148         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
149         (WebCore::GraphicsContext::supportsTransparencyLayers):
150         * platform/graphics/qt/GraphicsContextQt.cpp:
151         (WebCore::GraphicsContext::isInTransparencyLayer):
152         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
153         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
154         (WebCore::GraphicsContext::supportsTransparencyLayers):
155         * platform/graphics/skia/GraphicsContextSkia.cpp:
156         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
157         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
158         (WebCore::GraphicsContext::supportsTransparencyLayers):
159         * platform/graphics/win/FontCGWin.cpp:
160         (WebCore::drawGDIGlyphs):
161         * platform/graphics/win/GraphicsContextCGWin.cpp:
162         (WebCore::GraphicsContext::releaseWindowsContext):
163         * platform/graphics/win/GraphicsContextCairoWin.cpp:
164         (WebCore::GraphicsContext::releaseWindowsContext):
165         * platform/graphics/win/GraphicsContextWin.cpp:
166         (WebCore::GraphicsContext::getWindowsContext):
167         * platform/graphics/wince/GraphicsContextWinCE.cpp:
168         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
169         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
170         (WebCore::GraphicsContext::supportsTransparencyLayers):
171         * platform/graphics/wx/GraphicsContextWx.cpp:
172         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
173         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
174         (WebCore::GraphicsContext::supportsTransparencyLayers):
175         * platform/win/ScrollbarThemeWin.cpp:
176         * plugins/win/PluginViewWin.cpp:
177         * rendering/RenderThemeWin.cpp:
178
179 2011-09-07  Dan Bernstein  <mitz@apple.com>
180
181         <rdar://problem/8881922> Support the hyphenate-limit-lines property
182         https://bugs.webkit.org/show_bug.cgi?id=67730
183
184         Reviewed by Dave Hyatt.
185
186         Tests: fast/css/parsing-hyphenate-limit-lines.html
187                fast/text/hyphenate-limit-lines.html
188
189         * css/CSSComputedStyleDeclaration.cpp:
190         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added hyphenate-limit-lines.
191         * css/CSSParser.cpp:
192         (WebCore::CSSParser::parseValue): Ditto. Valid values are non-negative integers and the keyword
193         "no-limit".
194         * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-lines.
195         * css/CSSStyleSelector.cpp:
196         (WebCore::CSSStyleSelector::applyProperty): Added hyphenate-limit-lines.
197         * css/CSSValueKeywords.in: Added the "no-limit" value keyword.
198         * rendering/RenderBlock.h:
199         * rendering/RenderBlockLineLayout.cpp:
200         (WebCore::RenderBlock::layoutRunsAndFloats): Count the number of consecutive hyphenated lines
201         before the start line and pass it to layoutRunsAndFloatsInRange().
202         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Keep track of the number of consecutive
203         hyphenated lines before the current line and pass it to LineBreaker::nextLineBreak().
204         (WebCore::tryHyphenating): Added parameters for the number of consecutive hyphenated lines before
205         the current line and the limit on consecutive hyphenated lines, and an early return if the limit
206         has been reached.
207         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Added a parameter for the number of consecutive
208         hyphenated lines before the current line, which is passed through to tryHyphenating, along with
209         the value of hyphenate-limit-lines.
210         * rendering/RootInlineBox.cpp:
211         (WebCore::RootInlineBox::isHyphenated): Added. Returns true if the line was hyphenated.
212         * rendering/RootInlineBox.h:
213         * rendering/style/RenderStyle.h:
214         (WebCore::InheritedFlags::hyphenationLimitLines): Added this getter.
215         (WebCore::InheritedFlags::setHyphenationLimitLines): Added this setter.
216         (WebCore::InheritedFlags::initialHyphenationLimitLines): Added. The initial value is -1,
217         corresponding to "no-limit".
218         * rendering/style/StyleRareInheritedData.cpp:
219         (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize new member variable.
220         (WebCore::StyleRareInheritedData::operator==): Compare new member variable.
221         * rendering/style/StyleRareInheritedData.h:
222
223 2011-09-02  Ojan Vafai  <ojan@chromium.org>
224
225         split overrideSize into overrideHeight and overrideWidth
226         https://bugs.webkit.org/show_bug.cgi?id=67550
227
228         Reviewed by Sam Weinig.
229
230         All uses of overrideSize only set one of the width or the height.
231         This change removes a bool from RenderObject and removes some
232         flexbox specific logic from RenderBox.
233
234         The only downside is that we have two global maps where we used
235         to have one.
236
237         No functional changes so existing tests are sufficient.
238
239         * rendering/RenderBox.cpp:
240         (WebCore::RenderBox::hasOverrideHeight):
241         (WebCore::RenderBox::hasOverrideWidth):
242         (WebCore::RenderBox::setOverrideHeight):
243         (WebCore::RenderBox::setOverrideWidth):
244         (WebCore::RenderBox::clearOverrideSize):
245         (WebCore::RenderBox::overrideWidth):
246         (WebCore::RenderBox::overrideHeight):
247         (WebCore::RenderBox::computeLogicalWidth):
248         (WebCore::RenderBox::computeLogicalHeight):
249         (WebCore::RenderBox::computePercentageLogicalHeight):
250         * rendering/RenderBox.h:
251         * rendering/RenderDeprecatedFlexibleBox.cpp:
252         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
253         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
254         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
255         * rendering/RenderFlexibleBox.cpp:
256         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenHorizontal):
257         * rendering/RenderObject.cpp:
258         (WebCore::RenderObject::RenderObject):
259         * rendering/RenderObject.h:
260         * rendering/RenderTableCell.cpp:
261         (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
262         * rendering/RenderTableCell.h:
263         * rendering/RenderTableSection.cpp:
264         (WebCore::RenderTableSection::calcRowLogicalHeight):
265         (WebCore::RenderTableSection::layoutRows):
266
267 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
268
269         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
270         https://bugs.webkit.org/show_bug.cgi?id=67511
271
272         Reviewed by Dimitri Glazkov.
273
274         Tests: platform/chromium-mac/rubberbanding/overhang-e.html
275                platform/chromium-mac/rubberbanding/overhang-n.html
276                platform/chromium-mac/rubberbanding/overhang-ne.html
277                platform/chromium-mac/rubberbanding/overhang-nw.html
278                platform/chromium-mac/rubberbanding/overhang-s.html
279                platform/chromium-mac/rubberbanding/overhang-se.html
280                platform/chromium-mac/rubberbanding/overhang-sw.html
281                platform/chromium-mac/rubberbanding/overhang-w.html
282
283         * WebCore.exp.in:
284         * platform/ScrollableArea.h:
285         * testing/Internals.cpp:
286         (WebCore::Internals::setScrollViewPosition):
287         * testing/Internals.h:
288         * testing/Internals.idl:
289
290 2011-09-07  David Reveman  <reveman@chromium.org>
291
292         [Chromium] Render surface anti-aliasing.
293         https://bugs.webkit.org/show_bug.cgi?id=66437
294
295         Reviewed by James Robinson.
296
297         Add CCLayerQuad class and CCLayerQuad::Edge subclass to allow
298         edge computations to be shared between tiled layers and render
299         surfaces. Move isCCW utility function to FloatQuad class and
300         add to2dTransform method to TransformationMatrix class. Add
301         necessary anti-aliasing shaders for render surfaces and use them
302         to avoid aliased edges.
303
304         Tests: compositing/reflections/nested-reflection-transformed.html (existing)
305
306         * WebCore.gypi:
307         * platform/graphics/FloatQuad.cpp:
308         (WebCore::FloatQuad::isCounterclockwise):
309         * platform/graphics/FloatQuad.h:
310         * platform/graphics/chromium/LayerChromium.cpp:
311         (WebCore::LayerChromium::drawTexturedQuad):
312         * platform/graphics/chromium/LayerChromium.h:
313         * platform/graphics/chromium/LayerRendererChromium.cpp:
314         (WebCore::LayerRendererChromium::LayerRendererChromium):
315         (WebCore::LayerRendererChromium::headsUpDisplayProgram):
316         (WebCore::LayerRendererChromium::renderSurfaceProgram):
317         (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
318         (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
319         (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
320         (WebCore::LayerRendererChromium::tilerProgramSwizzle):
321         (WebCore::LayerRendererChromium::canvasLayerProgram):
322         (WebCore::LayerRendererChromium::pluginLayerProgram):
323         (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
324         (WebCore::LayerRendererChromium::videoLayerYUVProgram):
325         (WebCore::LayerRendererChromium::cleanupSharedObjects):
326         * platform/graphics/chromium/LayerRendererChromium.h:
327         (WebCore::LayerRendererChromium::sharedGeometryQuad):
328         * platform/graphics/chromium/ShaderChromium.cpp:
329         (WebCore::VertexShaderQuad::VertexShaderQuad):
330         (WebCore::VertexShaderQuad::init):
331         (WebCore::VertexShaderQuad::getShaderString):
332         (WebCore::FragmentShaderRGBATexAlphaAA::FragmentShaderRGBATexAlphaAA):
333         (WebCore::FragmentShaderRGBATexAlphaAA::init):
334         (WebCore::FragmentShaderRGBATexAlphaAA::getShaderString):
335         (WebCore::FragmentTexClampAlphaAABinding::FragmentTexClampAlphaAABinding):
336         (WebCore::FragmentTexClampAlphaAABinding::init):
337         (WebCore::FragmentShaderRGBATexClampAlphaAA::getShaderString):
338         (WebCore::FragmentShaderRGBATexClampSwizzleAlphaAA::getShaderString):
339         (WebCore::FragmentShaderRGBATexAlphaMaskAA::FragmentShaderRGBATexAlphaMaskAA):
340         (WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
341         (WebCore::FragmentShaderRGBATexAlphaMaskAA::getShaderString):
342         * platform/graphics/chromium/ShaderChromium.h:
343         (WebCore::VertexShaderQuad::matrixLocation):
344         (WebCore::VertexShaderQuad::pointLocation):
345         (WebCore::FragmentShaderRGBATexAlphaAA::alphaLocation):
346         (WebCore::FragmentShaderRGBATexAlphaAA::samplerLocation):
347         (WebCore::FragmentShaderRGBATexAlphaAA::edgeLocation):
348         (WebCore::FragmentShaderRGBATexAlphaMaskAA::alphaLocation):
349         (WebCore::FragmentShaderRGBATexAlphaMaskAA::samplerLocation):
350         (WebCore::FragmentShaderRGBATexAlphaMaskAA::maskSamplerLocation):
351         (WebCore::FragmentShaderRGBATexAlphaMaskAA::edgeLocation):
352         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
353         (WebCore::CCCanvasLayerImpl::draw):
354         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
355         (WebCore::CCHeadsUpDisplay::draw):
356         * platform/graphics/chromium/cc/CCLayerQuad.cpp: Added.
357         (WebCore::CCLayerQuad::Edge::Edge):
358         (WebCore::CCLayerQuad::CCLayerQuad):
359         (WebCore::CCLayerQuad::floatQuad):
360         (WebCore::CCLayerQuad::toFloatArray):
361         * platform/graphics/chromium/cc/CCLayerQuad.h: Added.
362         (WebCore::CCLayerQuad::Edge::Edge):
363         (WebCore::CCLayerQuad::Edge::x):
364         (WebCore::CCLayerQuad::Edge::y):
365         (WebCore::CCLayerQuad::Edge::z):
366         (WebCore::CCLayerQuad::Edge::setX):
367         (WebCore::CCLayerQuad::Edge::setY):
368         (WebCore::CCLayerQuad::Edge::setZ):
369         (WebCore::CCLayerQuad::Edge::set):
370         (WebCore::CCLayerQuad::Edge::moveX):
371         (WebCore::CCLayerQuad::Edge::moveY):
372         (WebCore::CCLayerQuad::Edge::moveZ):
373         (WebCore::CCLayerQuad::Edge::move):
374         (WebCore::CCLayerQuad::Edge::scaleX):
375         (WebCore::CCLayerQuad::Edge::scaleY):
376         (WebCore::CCLayerQuad::Edge::scaleZ):
377         (WebCore::CCLayerQuad::Edge::scale):
378         (WebCore::CCLayerQuad::Edge::intersect):
379         (WebCore::CCLayerQuad::CCLayerQuad):
380         (WebCore::CCLayerQuad::left):
381         (WebCore::CCLayerQuad::top):
382         (WebCore::CCLayerQuad::right):
383         (WebCore::CCLayerQuad::bottom):
384         (WebCore::CCLayerQuad::inflateX):
385         (WebCore::CCLayerQuad::inflateY):
386         (WebCore::CCLayerQuad::inflate):
387         (WebCore::CCLayerQuad::inflateAntiAliasingDistance):
388         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
389         (WebCore::CCPluginLayerImpl::draw):
390         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
391         (WebCore::CCRenderSurface::draw):
392         (WebCore::CCRenderSurface::drawLayer):
393         (WebCore::CCRenderSurface::drawSurface):
394         * platform/graphics/chromium/cc/CCRenderSurface.h:
395         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
396         (WebCore::CCTiledLayerImpl::draw):
397         (WebCore::CCTiledLayerImpl::drawTiles):
398         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
399         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
400         (WebCore::CCVideoLayerImpl::drawYUV):
401         (WebCore::CCVideoLayerImpl::drawRGBA):
402         * platform/graphics/transforms/TransformationMatrix.cpp:
403         (WebCore::TransformationMatrix::to2dTransform):
404         * platform/graphics/transforms/TransformationMatrix.h:
405
406 2011-09-06  Oliver Hunt  <oliver@apple.com>
407
408         Remove JSObjectWithGlobalObject
409         https://bugs.webkit.org/show_bug.cgi?id=67689
410
411         Reviewed by Geoff Garen.
412
413         Remove use of anonymous storage and JSObjectWithGlobalObject for
414         accessing a JSObject's global object now that they're available
415         on the object's structure.
416
417         * bindings/js/JSDOMWindowShell.cpp:
418         (WebCore::JSDOMWindowShell::setWindow):
419         * bindings/js/JSDOMWrapper.h:
420         (WebCore::JSDOMWrapper::globalObject):
421         (WebCore::JSDOMWrapper::JSDOMWrapper):
422         * bindings/js/WorkerScriptController.cpp:
423         (WebCore::WorkerScriptController::initScript):
424         * bindings/scripts/CodeGeneratorJS.pm:
425         (GenerateHeader):
426         (GenerateImplementation):
427         * bridge/objc/objc_runtime.h:
428         * bridge/objc/objc_runtime.mm:
429         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
430         (JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
431         * bridge/runtime_object.cpp:
432         (JSC::Bindings::RuntimeObject::RuntimeObject):
433         (JSC::Bindings::RuntimeObject::finishCreation):
434         * bridge/runtime_object.h:
435
436 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
437
438         Mac build fix after r94694.
439
440         * WebCore.xcodeproj/project.pbxproj:
441
442 2011-09-07  Tim Horton  <timothy_horton@apple.com>
443
444         FELighting is using width instead of height to determine skip for parallel(n>2) case
445         https://bugs.webkit.org/show_bug.cgi?id=67719
446         <rdar://problem/10086178>
447
448         Reviewed by Dirk Schulze.
449
450         No new tests, because the bug only exhibits under conditions which are currently
451         impossible by default (using more than 2 cores) on some platforms.
452
453         * platform/graphics/filters/FELighting.cpp:
454         (WebCore::FELighting::platformApplyGeneric):
455
456 2011-09-07  W. James MacLean  <wjmaclean@chromium.org>
457
458         Eliminate motion jitter in animated, blurred SVG image
459         https://bugs.webkit.org/show_bug.cgi?id=67503
460
461         Fixes filter shear-free transform applied to SVG images.
462
463         In applyResource() the shearFreeAbsoluteTransform is applied to the drawing region,
464         which is based on the object bounding box (which doesn't move). For a rotation
465         around the centre of the box, this should really just be the identity matrix,
466         since the BB should neither change size nor location. So really, we're just interested
467         in the scale change of the BB here, and not in moving it.
468
469         This impacts how slices are extracted, and affects the {x|y}Mid and {x|y}Max extractions
470         for vertical and horizontal slices, so the test verifies these.
471
472         Reviewed by Dirk Schulze.
473
474         Test: svg/W3C-SVG-1.1-SE/filters-image-05-f.svg
475
476         * rendering/svg/RenderSVGResourceFilter.cpp:
477         (WebCore::RenderSVGResourceFilter::applyResource):
478
479 2011-09-03  Robert Hogan  <robert@webkit.org>
480
481         Elements with position:absolute don't move to correct position after images load
482         https://bugs.webkit.org/show_bug.cgi?id=54611
483
484         Reviewed by Simon Fraser.
485
486         Test: fast/block/positioning/absolute-layout-after-image-load.html
487               fast/block/positioning/positioned-float-layout-after-image-load.html
488
489         In the test the 'label' block is an absolutely positioned child of an inline flow. So during layout, 
490         this RenderBlock::layoutPositionedObjects fails to dirty it for rendering because it requires 
491         the parent to be a BlockFlow. The code to do this was introduced in http://trac.webkit.org/changeset/8284. 
492         There doesn't seem to be a good reason for requiring a BlockFlow, so remove the check. Do the same
493         for positioned floats in RenderBlock::positionedFloatsNeedRelayout(), although currently layoutPositionedObjects()
494         takes care of it this at least ensures no regression in future.
495
496         Note: Although the issue is encountered only on first load without a fragment identifier, it 
497         happens reliably when you include the fragment identifier in the url (#Footnote_1). This is so 
498         because scrolling to the fragment always happens before the image has loaded, rendering the page 
499         and clearing the initial dirty bits in the positioned element's renderer. When the image finally 
500         loads in this scenario, the positioned element is otherwise clean and relies on the above code to get 
501         re-rendered.
502
503         * rendering/RenderBlock.cpp:
504         (WebCore::RenderBlock::layoutPositionedObjects): remove the check for r->parent()->isBlockFlow() when 
505                                                          deciding whether to mark children for layout
506         (WebCore::RenderBlock::positionedFloatsNeedRelayout): ditto
507
508 2011-09-07  Anna Cavender  <annacc@chromium.org>
509
510         Moving platform/track to html/track to avoid layering violation.
511         https://bugs.webkit.org/show_bug.cgi?id=67680
512
513         Reviewed by Adam Barth.
514
515         No new tests. No new functionality.
516
517         * CMakeLists.txt:
518         * GNUmakefile.am:
519         * GNUmakefile.list.am:
520         * WebCore.gyp/WebCore.gyp:
521         * WebCore.gypi:
522         * WebCore.pri:
523         * WebCore.pro:
524         * html/track/CueParser.cpp: Renamed from Source/WebCore/platform/track/CueParser.cpp.
525         * html/track/CueParser.h: Renamed from Source/WebCore/platform/track/CueParser.h.
526         * html/track/CueParserPrivate.h: Renamed from Source/WebCore/platform/track/CueParserPrivate.h.
527         * html/track/WebVTTParser.cpp: Renamed from Source/WebCore/platform/track/WebVTTParser.cpp.
528         * html/track/WebVTTParser.h: Renamed from Source/WebCore/platform/track/WebVTTParser.h.
529         * html/track/WebVTTToken.h: Renamed from Source/WebCore/platform/track/WebVTTToken.h.
530         * html/track/WebVTTTokenizer.cpp: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.cpp.
531         * html/track/WebVTTTokenizer.h: Renamed from Source/WebCore/platform/track/WebVTTTokenizer.h.
532
533 2011-09-07  David Hyatt  <hyatt@apple.com>
534
535         https://bugs.webkit.org/show_bug.cgi?id=67286
536
537         REGRESSION: css2.1/t090204-display-change-01-b-ao.html fails after r94084.
538
539         Make sure that the trailing floats line box explicitly sets the line top with leading and line bottom with
540         leading to just be the block height.
541
542         Reviewed by Dan Bernstein.
543
544         * rendering/RenderBlockLineLayout.cpp:
545         (WebCore::RenderBlock::linkToEndLineIfNeeded):
546
547 2011-09-06  Abhishek Arya  <inferno@chromium.org>
548
549         Null owningRenderer crash in RenderScrollbar::updateScrollbarParts.
550         https://bugs.webkit.org/show_bug.cgi?id=67669
551
552         Reviewed by James Robinson.
553
554         Owning renderer can be cleared for custom scrollbars in clearOwningRenderer()
555         call. We need a null check in updateScrollbarParts, so that we do not crash.
556
557         No tests since issue seen in crash reports only and I donot know a way to
558         reproduce.
559
560         * rendering/RenderScrollbar.cpp:
561         (WebCore::RenderScrollbar::updateScrollbarParts):
562
563 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
564
565         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
566         https://bugs.webkit.org/show_bug.cgi?id=67606
567
568         Reviewed by Noam Rosenthal.
569
570         TiledBackingStore previously used different values for horizontal and vertial multiplication
571         to calculate the cover area.
572         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
573         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
574         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
575         of the viewport.
576
577         * platform/graphics/TiledBackingStore.cpp:
578         (WebCore::TiledBackingStore::TiledBackingStore):
579         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
580         (WebCore::TiledBackingStore::setCoverAreaFocusVector):
581         (WebCore::TiledBackingStore::createTiles):
582         (WebCore::TiledBackingStore::calculateKeepRect):
583         (WebCore::TiledBackingStore::calculateCoverRect):
584         * platform/graphics/TiledBackingStore.h:
585         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
586
587 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
588
589         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
590         https://bugs.webkit.org/show_bug.cgi?id=67416
591
592         Reviewed by Kenneth Rohde Christiansen.
593
594         Original code by Antti Koivisto.
595         With the current code, when the page is layouted during load, edge tiles will
596         get removed instead of continuing to show their front buffer while the tile
597         is being rendered for the new size.
598
599         * platform/graphics/Tile.h:
600         * platform/graphics/TiledBackingStore.cpp:
601         (WebCore::TiledBackingStore::createTiles):
602         (WebCore::TiledBackingStore::resizeEdgeTiles):
603         * platform/graphics/TiledBackingStore.h:
604         * platform/graphics/qt/TileQt.cpp:
605         (WebCore::TileQt::resize):
606         * platform/graphics/qt/TileQt.h:
607
608 2011-09-07  Tim Horton  <timothy_horton@apple.com>
609
610         Don't round-trip through TransformationMatrix in SVGImageBufferTools::clearAffineTransform2DRotation
611         https://bugs.webkit.org/show_bug.cgi?id=67242
612         <rdar://problem/10069770>
613
614         Reviewed by Dirk Schulze.
615
616         No new tests, minor performance improvement.
617
618         * platform/graphics/transforms/AffineTransform.cpp:
619         (WebCore::AffineTransform::blend):
620         (WebCore::AffineTransform::decompose):
621         (WebCore::AffineTransform::recompose):
622         * platform/graphics/transforms/AffineTransform.h:
623         * rendering/svg/SVGImageBufferTools.cpp:
624         (WebCore::SVGImageBufferTools::clear2DRotation):
625
626 2011-09-06  Pavel Podivilov  <podivilov@chromium.org>
627
628         Web Inspector: do not re-create RawSourceCode when toggling pretty-print mode.
629         https://bugs.webkit.org/show_bug.cgi?id=67647
630
631         1) Implement RawSourceCode.setFormatted that allows toggling pretty-print mode on the fly without resetting everything.
632         2) Add RawSourceCode unit tests.
633         3) Remove source mapping listeners and console messages from presentation model (they live in RawSourceCode now).
634
635         Reviewed by Yury Semikhatsky.
636
637         Test: inspector/debugger/raw-source-code.html
638
639         * inspector/front-end/DebuggerPresentationModel.js:
640         (WebInspector.DebuggerPresentationModel):
641         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
642         (WebInspector.DebuggerPresentationModel.prototype._addScript):
643         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
644         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
645         (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
646         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
647         * inspector/front-end/ScriptsPanel.js:
648         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
649         * inspector/front-end/SourceFile.js:
650         (WebInspector.RawSourceCode):
651         (WebInspector.RawSourceCode.prototype.get uiSourceCode):
652         (WebInspector.RawSourceCode.prototype.setFormatted):
653         (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
654         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
655
656 2011-09-07  Alexander Pavlov  <apavlov@chromium.org>
657
658         Web Inspector: Implement circular tabbing through the Styles sidebar pane contents
659         https://bugs.webkit.org/show_bug.cgi?id=67127
660
661         Reviewed by Yury Semikhatsky.
662
663         * inspector/front-end/Section.js:
664         (WebInspector.Section.prototype.get firstSibling):
665         (WebInspector.Section.prototype.get lastSibling):
666         * inspector/front-end/StylesSidebarPane.js:
667         (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
668         (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
669         (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
670         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
671         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
672         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
673         (WebInspector.StylePropertyTreeElement.prototype):
674         (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
675
676 2011-09-02  Andrey Kosyakov  <caseq@chromium.org>
677
678         Web Inspector: [Extensions API] expose console API
679         https://bugs.webkit.org/show_bug.cgi?id=67506
680
681         Reviewed by Pavel Feldman.
682
683         Test: inspector/extensions/extensions-console.html
684
685         * inspector/front-end/ConsoleMessage.js:
686         (WebInspector.ConsoleMessage.prototype.get text):
687         (WebInspector.ConsoleMessage.prototype.get parameters):
688         * inspector/front-end/ExtensionAPI.js:
689         (WebInspector.injectedExtensionAPI.InspectorExtensionAPI):
690         (WebInspector.injectedExtensionAPI):
691         (WebInspector.injectedExtensionAPI.Console.prototype.getMessages):
692         (WebInspector.injectedExtensionAPI.Console.prototype.addMessage):
693         (WebInspector.injectedExtensionAPI.Console.prototype.get MessageLevel):
694         (WebInspector.injectedExtensionAPI.Network.dispatchRequestEvent):
695         (WebInspector.injectedExtensionAPI.Network):
696         (WebInspector.injectedExtensionAPI.AuditCategoryImpl.dispatchAuditEvent):
697         (WebInspector.injectedExtensionAPI.AuditCategoryImpl):
698         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceEvent):
699         (WebInspector.injectedExtensionAPI.InspectedWindow.dispatchResourceContentEvent):
700         (WebInspector.injectedExtensionAPI.InspectedWindow):
701         * inspector/front-end/ExtensionCommon.js:
702         (WebInspector.commonExtensionSymbols):
703         * inspector/front-end/ExtensionServer.js:
704         (WebInspector.ExtensionServer):
705         (WebInspector.ExtensionServer.prototype._notifyConsoleMessageAdded):
706         (WebInspector.ExtensionServer.prototype._onGetConsoleMessages):
707         (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
708         (WebInspector.ExtensionServer.prototype._makeConsoleMessage):
709         (WebInspector.ExtensionServer.prototype._makeConsoleMessage.convertParameter):
710         (WebInspector.ExtensionServer.prototype._dispatchCallback):
711         (WebInspector.ExtensionServer.prototype.initExtensions):
712
713 2011-09-05  Andrey Kosyakov  <caseq@chromium.org>
714
715         Web Inspector: disable popover when a mouse button is pressed
716         https://bugs.webkit.org/show_bug.cgi?id=67610
717
718         Reviewed by Pavel Feldman.
719
720         - disable popover when a mouse button is pressed
721         - disable popover in a SourceFrame when the source is being edited
722
723         * inspector/front-end/Popover.js:
724         (WebInspector.PopoverHelper):
725         (WebInspector.PopoverHelper.prototype._mouseUp):
726         (WebInspector.PopoverHelper.prototype._mouseDown):
727         (WebInspector.PopoverHelper.prototype._handleMouseAction):
728         * inspector/front-end/SourceFrame.js:
729         (WebInspector.SourceFrame.prototype._onHidePopover):
730         (WebInspector.SourceFrame.prototype.doubleClick):
731
732 2011-09-07  Antti Koivisto  <antti@apple.com>
733
734         https://bugs.webkit.org/show_bug.cgi?id=67634
735         De-virtualize styleForRenderer()
736
737         Reviewed by Sam Weinig.
738         
739         This has performance and code clarity benefits.
740
741         - move styleForRenderer from Node to Element
742         - get rid of the now unnecessary NodeRenderingContext parameter
743         - de-virtualize, add virtual customStyleForRenderer()
744
745         * dom/Element.cpp:
746         (WebCore::Element::customStyleForRenderer):
747         (WebCore::Element::styleForRenderer):
748         (WebCore::Element::recalcStyle):
749         * dom/Element.h:
750         * dom/Node.cpp:
751         * dom/Node.h:
752         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
753         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
754         (WebCore::Node::hasCustomStyleForRenderer):
755         (WebCore::Node::setHasCustomStyleForRenderer):
756         
757             Move styleForRenderer, add customStyleForRenderer, add a bit.
758         
759         * dom/NodeRenderingContext.cpp:
760         (WebCore::NodeRendererFactory::createRendererAndStyle): 
761         
762             Handle non-element case separately since styleForRenderer was moved from Node to Element.
763
764         * html/HTMLNoScriptElement.cpp:
765         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
766         (WebCore::HTMLNoScriptElement::customStyleForRenderer):
767         * html/HTMLNoScriptElement.h:
768         
769             Move a strange XHTMLMP special case to where it belongs.
770
771         * html/HTMLOptGroupElement.cpp:
772         (WebCore::HTMLOptGroupElement::attach):
773         * html/HTMLOptionElement.cpp:
774         (WebCore::HTMLOptionElement::attach):
775         * html/HTMLTitleElement.cpp:
776         (WebCore::HTMLTitleElement::textWithDirection):
777         * html/shadow/TextControlInnerElements.cpp:
778         (WebCore::TextControlInnerElement::TextControlInnerElement):
779         (WebCore::TextControlInnerElement::customStyleForRenderer):
780         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
781         (WebCore::TextControlInnerTextElement::customStyleForRenderer):
782         * html/shadow/TextControlInnerElements.h:
783         * rendering/svg/SVGShadowTreeElements.cpp:
784         (WebCore::SVGShadowTreeContainerElement::customStyleForRenderer):
785         * rendering/svg/SVGShadowTreeElements.h:
786         * svg/SVGElement.cpp:
787         (WebCore::SVGElement::SVGElement):
788         (WebCore::SVGElement::customStyleForRenderer):
789         * svg/SVGElement.h:
790         
791             Adopt customStyleForRenderer().
792
793 2011-09-07  Ryosuke Niwa  <rniwa@webkit.org>
794
795         Change event is not fired for input[type=number] when the user reverts a change made by script
796         https://bugs.webkit.org/show_bug.cgi?id=67697
797
798         Reviewed by Kent Tamura.
799
800         The bug was caused by HTMLInputElement::setValue not calling setTextAsOfLastFormControlChangeEvent
801         for text fields other than type=text.
802
803         Also fixed a that stepUpFromRenderer does not call setTextAsOfLastFormControlChangeEvent at appropriate
804         timing due to setValueAsNumber always passing sendChangeEvent=false to setValue by propagating values
805         through setValueAsNumber and applyStep. This refactoring allows us to remove calls to dispatch* in
806         stepUpFromRenderer because they're now called in setValueAsNumber or applyStep.
807
808         Test: fast/forms/number-input-changeevent.html
809
810         * html/BaseDateAndTimeInputType.cpp:
811         (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
812         * html/BaseDateAndTimeInputType.h:
813         * html/HTMLInputElement.cpp:
814         (WebCore::HTMLInputElement::applyStep):
815         (WebCore::HTMLInputElement::stepUp):
816         (WebCore::HTMLInputElement::stepDown):
817         (WebCore::HTMLInputElement::setValue):
818         (WebCore::HTMLInputElement::setValueAsNumber):
819         (WebCore::HTMLInputElement::stepUpFromRenderer):
820         * html/HTMLInputElement.h:
821         * html/InputType.cpp:
822         (WebCore::InputType::setValueAsNumber):
823         * html/InputType.h:
824         * html/NumberInputType.cpp:
825         (WebCore::NumberInputType::setValueAsNumber):
826         * html/NumberInputType.h:
827         * html/RangeInputType.cpp:
828         (WebCore::RangeInputType::setValueAsNumber):
829         (WebCore::RangeInputType::handleKeydownEvent):
830         * html/RangeInputType.h:
831
832 2011-09-07  Antti Koivisto  <antti@apple.com>
833
834         Try to fix Qt build by moving the Qt specific include (which is not really allowed here!).
835
836         Not reviewed.
837
838         * css/CSSStyleSelector.cpp:
839         * css/SelectorChecker.cpp:
840         (WebCore::SelectorChecker::determineLinkStateSlowCase):
841
842 2011-09-07  Antti Koivisto  <antti@apple.com>
843
844         Move SelectorChecker out from CSSStyleSelector scope
845         https://bugs.webkit.org/show_bug.cgi?id=67648
846
847         Reviewed by Sam Weinig.
848
849         - Move SelectorChecker to SelectorChecker.h/cpp
850         - Make private functions private
851         - Make members private, add accessors
852         - Move m_sameOriginOnly to CSSStyleSelector as it is not used by SelectorChecker
853
854         * CMakeLists.txt:
855         * GNUmakefile.list.am:
856         * WebCore.gypi:
857         * WebCore.pro:
858         * WebCore.vcproj/WebCore.vcproj:
859         * WebCore.xcodeproj/project.pbxproj:
860         * css/CSSStyleSelector.cpp:
861         (WebCore::CSSStyleSelector::CSSStyleSelector):
862         (WebCore::CSSStyleSelector::matchRules):
863         (WebCore::CSSStyleSelector::matchRulesForList):
864         (WebCore::CSSStyleSelector::sortMatchedRules):
865         (WebCore::CSSStyleSelector::initForStyleResolve):
866         (WebCore::CSSStyleSelector::matchUARules):
867         (WebCore::CSSStyleSelector::styleForElement):
868         (WebCore::CSSStyleSelector::pseudoStyleForElement):
869         (WebCore::CSSStyleSelector::styleForPage):
870         (WebCore::CSSStyleSelector::adjustRenderStyle):
871         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
872         (WebCore::CSSStyleSelector::checkSelector):
873         (WebCore::RuleData::RuleData):
874         (WebCore::CSSStyleSelector::applyProperty):
875         (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
876         (WebCore::CSSStyleSelector::setFontSize):
877         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
878         * css/CSSStyleSelector.h:
879         (WebCore::CSSStyleSelector::style):
880         (WebCore::CSSStyleSelector::parentStyle):
881         (WebCore::CSSStyleSelector::rootElementStyle):
882         (WebCore::CSSStyleSelector::element):
883         (WebCore::CSSStyleSelector::fontDescription):
884         (WebCore::CSSStyleSelector::parentFontDescription):
885         (WebCore::CSSStyleSelector::setFontDescription):
886         (WebCore::CSSStyleSelector::setZoom):
887         (WebCore::CSSStyleSelector::setEffectiveZoom):
888         (WebCore::CSSStyleSelector::setTextSizeAdjust):
889         (WebCore::CSSStyleSelector::setStyle):
890         (WebCore::CSSStyleSelector::fontSelector):
891         (WebCore::CSSStyleSelector::allVisitedStateChanged):
892         (WebCore::CSSStyleSelector::visitedStateChanged):
893         (WebCore::CSSStyleSelector::usesSiblingRules):
894         (WebCore::CSSStyleSelector::usesFirstLineRules):
895         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
896         (WebCore::CSSStyleSelector::usesLinkRules):
897         (WebCore::CSSStyleSelector::addMatchedRule):
898         (WebCore::CSSStyleSelector::isRightPage):
899         (WebCore::CSSStyleSelector::ParentStackFrame::ParentStackFrame):
900         (WebCore::CSSStyleSelector::styleNotYetAvailable):
901         * css/SelectorChecker.cpp: Added.
902         (WebCore::SelectorChecker::SelectorChecker):
903         (WebCore::linkAttribute):
904         (WebCore::SelectorChecker::determineLinkStateSlowCase):
905         (WebCore::SelectorChecker::checkSelector):
906         (WebCore::SelectorChecker::fastCheckSelector):
907         (WebCore::SelectorChecker::isFastCheckableSelector):
908         (WebCore::addLocalNameToSet):
909         (WebCore::createHtmlCaseInsensitiveAttributesSet):
910         (WebCore::htmlAttributeHasCaseInsensitiveValue):
911         (WebCore::attributeQualifiedNameMatches):
912         (WebCore::attributeValueMatches):
913         (WebCore::anyAttributeMatches):
914         (WebCore::SelectorChecker::checkOneSelector):
915         (WebCore::SelectorChecker::checkScrollbarPseudoClass):
916         (WebCore::SelectorChecker::allVisitedStateChanged):
917         (WebCore::SelectorChecker::visitedStateChanged):
918         * css/SelectorChecker.h: Added.
919         (WebCore::SelectorChecker::document):
920         (WebCore::SelectorChecker::strictParsing):
921         (WebCore::SelectorChecker::isCollectingRulesOnly):
922         (WebCore::SelectorChecker::setCollectingRulesOnly):
923         (WebCore::SelectorChecker::isMatchingVisitedPseudoClass):
924         (WebCore::SelectorChecker::setMatchingVisitedPseudoClass):
925         (WebCore::SelectorChecker::pseudoStyle):
926         (WebCore::SelectorChecker::setPseudoStyle):
927         (WebCore::SelectorChecker::hasUnknownPseudoElements):
928         (WebCore::SelectorChecker::clearHasUnknownPseudoElements):
929         (WebCore::SelectorChecker::determineLinkState):
930         * dom/Element.cpp:
931         (WebCore::Element::webkitMatchesSelector):
932         * dom/SelectorQuery.cpp:
933         (WebCore::SelectorQuery::SelectorQuery):
934         * dom/SelectorQuery.h:
935
936 2011-09-07  Dmitry Lomov  <dslomov@google.com>
937
938         https://bugs.webkit.org/show_bug.cgi?id=67413 
939         [Chromium]Web Inspector: inspected page with dedicated worker crashes on refresh.
940         This patch enforces lifetime ordering between WorkerInspectorController and WorkerScriptController.
941
942         Reviewed by Yury Semikhatsky.
943
944         * workers/WorkerContext.cpp:
945         (WebCore::WorkerContext::clearInspector):
946         * workers/WorkerContext.h:
947         * workers/WorkerThread.cpp:
948         (WebCore::WorkerThreadShutdownFinishTask::performTask):
949
950 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
951
952         Unreviewed, rolling out r94627 and r94632.
953         http://trac.webkit.org/changeset/94627
954         http://trac.webkit.org/changeset/94632
955         https://bugs.webkit.org/show_bug.cgi?id=67698
956
957         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
958
959         * WebCore.exp.in:
960         * bindings/js/JSDOMBinding.h:
961         (WebCore::DOMConstructorObject::DOMConstructorObject):
962         * bindings/js/JSDOMGlobalObject.cpp:
963         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
964         * bindings/js/JSDOMGlobalObject.h:
965         * bindings/js/JSDOMWindowShell.cpp:
966         (WebCore::JSDOMWindowShell::create):
967         * bindings/js/JSDOMWindowShell.h:
968         * bindings/js/JSDOMWrapper.h:
969         (WebCore::JSDOMWrapper::JSDOMWrapper):
970         * bindings/scripts/CodeGeneratorJS.pm:
971         (GenerateImplementation):
972         * bindings/scripts/test/JS/JSTestInterface.cpp:
973         (WebCore::JSTestInterface::JSTestInterface):
974         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
975         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
976         * bindings/scripts/test/JS/JSTestObj.cpp:
977         (WebCore::JSTestObj::JSTestObj):
978         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
979         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
980         * bridge/c/CRuntimeObject.cpp:
981         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
982         * bridge/c/CRuntimeObject.h:
983         * bridge/jni/jsc/JavaRuntimeObject.cpp:
984         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
985         * bridge/jni/jsc/JavaRuntimeObject.h:
986         * bridge/objc/ObjCRuntimeObject.h:
987         * bridge/objc/ObjCRuntimeObject.mm:
988         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
989         * bridge/objc/objc_runtime.h:
990         (JSC::Bindings::ObjcFallbackObjectImp::create):
991         * bridge/objc/objc_runtime.mm:
992         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
993         * bridge/qt/qt_instance.cpp:
994         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
995         * bridge/qt/qt_pixmapruntime.cpp:
996         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
997         * bridge/qt/qt_runtime.cpp:
998         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
999         * bridge/qt/qt_runtime.h:
1000         * bridge/runtime_array.cpp:
1001         (JSC::RuntimeArray::RuntimeArray):
1002         * bridge/runtime_array.h:
1003         (JSC::RuntimeArray::create):
1004         * bridge/runtime_method.cpp:
1005         (JSC::RuntimeMethod::RuntimeMethod):
1006         * bridge/runtime_method.h:
1007         * bridge/runtime_object.cpp:
1008         (JSC::Bindings::RuntimeObject::RuntimeObject):
1009         * bridge/runtime_object.h:
1010         (JSC::Bindings::RuntimeObject::create):
1011
1012 2011-08-31  Yury Semikhatsky  <yurys@chromium.org>
1013
1014         fast/workers/worker-script-error.html fails on Chromium after r94061
1015         https://bugs.webkit.org/show_bug.cgi?id=67206
1016
1017         Default action should be prevented if window.onerror returned true and stay
1018         not prevented otherwise.
1019
1020         Reviewed by Dmitry Titov.
1021
1022         Tests: fast/events/window-onerror14.html
1023                fast/events/window-onerror15.html
1024                fast/events/window-onerror16.html
1025
1026         * bindings/v8/V8AbstractEventListener.cpp:
1027         (WebCore::V8AbstractEventListener::invokeEventHandler):
1028         (WebCore::V8AbstractEventListener::shouldPreventDefault): allow specific
1029         event listeners to decide when to prevent default action based on the handler
1030         return value.
1031         * bindings/v8/V8AbstractEventListener.h:
1032         * bindings/v8/V8WindowErrorHandler.cpp:
1033         (WebCore::V8WindowErrorHandler::callListenerFunction):
1034         (WebCore::V8WindowErrorHandler::shouldPreventDefault):
1035         * bindings/v8/V8WindowErrorHandler.h:
1036         * bindings/v8/V8WorkerContextErrorHandler.cpp:
1037         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
1038         (WebCore::V8WorkerContextErrorHandler::shouldPreventDefault):
1039         * bindings/v8/V8WorkerContextErrorHandler.h:
1040
1041 2011-09-06  Xianzhu Wang  <wangxianzhu@chromium.org>
1042
1043         Replace usages of Vector<UChar> with existing StringBuilder
1044         https://bugs.webkit.org/show_bug.cgi?id=67079
1045
1046         Reviewed by Gavin Barraclough.
1047
1048         No new tests. All existing unit tests and layout tests should run
1049         as before.
1050
1051         * css/CSSOMUtils.cpp:
1052         (WebCore::appendCharacter):
1053         (WebCore::serializeCharacter):
1054         (WebCore::serializeCharacterAsCodePoint):
1055         (WebCore::serializeIdentifier):
1056         (WebCore::serializeString):
1057         * css/CSSOMUtils.h:
1058         * css/CSSPrimitiveValue.cpp:
1059         (WebCore::CSSPrimitiveValue::cssText):
1060         * css/CSSStyleSelector.cpp:
1061         (WebCore::CSSStyleSelector::SelectorChecker::determineLinkStateSlowCase):
1062         * css/CSSWrapShapes.cpp:
1063         (WebCore::CSSWrapShapeRect::cssText):
1064         (WebCore::CSSWrapShapeCircle::cssText):
1065         (WebCore::CSSWrapShapeEllipse::cssText):
1066         (WebCore::CSSWrapShapePolygon::cssText):
1067         * editing/HTMLInterchange.cpp:
1068         (WebCore::convertHTMLTextToInterchangeFormat):
1069         * editing/MarkupAccumulator.cpp:
1070         (WebCore::appendCharactersReplacingEntities):
1071         (WebCore::MarkupAccumulator::serializeNodes):
1072         (WebCore::MarkupAccumulator::appendStartTag):
1073         (WebCore::MarkupAccumulator::appendEndTag):
1074         (WebCore::MarkupAccumulator::concatenateMarkup):
1075         (WebCore::MarkupAccumulator::appendAttributeValue):
1076         (WebCore::MarkupAccumulator::appendCustomAttributes):
1077         (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
1078         (WebCore::MarkupAccumulator::appendNodeValue):
1079         (WebCore::MarkupAccumulator::appendNamespace):
1080         (WebCore::MarkupAccumulator::appendText):
1081         (WebCore::MarkupAccumulator::appendComment):
1082         (WebCore::MarkupAccumulator::appendDocumentType):
1083         (WebCore::MarkupAccumulator::appendProcessingInstruction):
1084         (WebCore::MarkupAccumulator::appendElement):
1085         (WebCore::MarkupAccumulator::appendOpenTag):
1086         (WebCore::MarkupAccumulator::appendCloseTag):
1087         (WebCore::MarkupAccumulator::appendAttribute):
1088         (WebCore::MarkupAccumulator::appendCDATASection):
1089         (WebCore::MarkupAccumulator::appendStartMarkup):
1090         (WebCore::MarkupAccumulator::appendEndMarkup):
1091         * editing/MarkupAccumulator.h:
1092         * editing/markup.cpp:
1093         (WebCore::StyledMarkupAccumulator::appendElement):
1094         (WebCore::StyledMarkupAccumulator::wrapWithNode):
1095         (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
1096         (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
1097         (WebCore::StyledMarkupAccumulator::takeResults):
1098         (WebCore::StyledMarkupAccumulator::appendText):
1099         (WebCore::urlToMarkup):
1100         * html/DOMTokenList.cpp:
1101         (WebCore::DOMTokenList::removeToken):
1102         * html/HTMLFontElement.cpp:
1103         (WebCore::parseFontSize):
1104         * html/HTMLTextFormControlElement.cpp:
1105         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
1106         * html/parser/CSSPreloadScanner.cpp:
1107         (WebCore::CSSPreloadScanner::emitRule):
1108         * html/parser/CSSPreloadScanner.h:
1109         * html/parser/HTMLEntityParser.cpp:
1110         (WebCore::consumeHTMLEntity):
1111         * html/parser/HTMLEntityParser.h:
1112         * html/parser/HTMLParserIdioms.cpp:
1113         (WebCore::parseHTMLInteger):
1114         (WebCore::parseHTMLNonNegativeInteger):
1115         * html/parser/HTMLTokenizer.cpp:
1116         (WebCore::HTMLTokenizer::processEntity):
1117         (WebCore::HTMLTokenizer::nextToken):
1118         * html/parser/HTMLTreeBuilder.cpp:
1119         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::giveRemainingTo):
1120         (WebCore::HTMLTreeBuilder::defaultForInTableText):
1121         * html/parser/HTMLTreeBuilder.h:
1122         * inspector/InspectorValues.cpp:
1123         (WebCore::InspectorValue::toJSONString):
1124         (WebCore::InspectorValue::writeJSON):
1125         (WebCore::InspectorBasicValue::writeJSON):
1126         (WebCore::InspectorString::writeJSON):
1127         (WebCore::InspectorObject::writeJSON):
1128         (WebCore::InspectorArray::writeJSON):
1129         * inspector/InspectorValues.h:
1130         * loader/CrossOriginAccessControl.cpp:
1131         (WebCore::createAccessControlPreflightRequest):
1132         * loader/appcache/ApplicationCacheStorage.cpp:
1133         (WebCore::ApplicationCacheStorage::store):
1134         * page/Chrome.cpp:
1135         (WebCore::Chrome::setToolTip):
1136         * page/PageSerializer.cpp:
1137         (WebCore::SerializerMarkupAccumulator::appendText):
1138         (WebCore::SerializerMarkupAccumulator::appendElement):
1139         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
1140         * page/SecurityOrigin.cpp:
1141         (WebCore::SecurityOrigin::toString):
1142         * platform/KURL.cpp:
1143         (WebCore::KURL::deprecatedString):
1144         (WebCore::decodeURLEscapeSequences):
1145         * platform/LinkHash.cpp:
1146         (WebCore::squeezeOutNullCharacters):
1147         (WebCore::cleanSlashDotDotSlashes):
1148         (WebCore::mergeDoubleSlashes):
1149         (WebCore::cleanSlashDotSlashes):
1150         (WebCore::cleanPath):
1151         (WebCore::visitedURLInline):
1152         (WebCore::visitedURL):
1153         (WebCore::visitedLinkHash):
1154         * platform/LinkHash.h:
1155         * platform/gtk/DataObjectGtk.cpp:
1156         (WebCore::DataObjectGtk::setURL):
1157         * platform/network/HTTPParsers.cpp:
1158         (WebCore::extractMIMETypeFromMediaType):
1159         * platform/text/TextCodecICU.cpp:
1160         (WebCore::TextCodecICU::decode):
1161         * platform/text/TextStream.cpp:
1162         (WebCore::TextStream::operator<<):
1163         (WebCore::TextStream::release):
1164         * platform/text/TextStream.h:
1165         * plugins/PluginStream.cpp:
1166         (WebCore::PluginStream::startStream):
1167         * rendering/InlineTextBox.cpp:
1168         (WebCore::adjustCharactersAndLengthForHyphen):
1169         * rendering/InlineTextBox.h:
1170         (WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen):
1171         * rendering/RenderListItem.cpp:
1172         (WebCore::RenderListItem::markerTextWithSuffix):
1173         * rendering/RenderListMarker.cpp:
1174         (WebCore::toSymbolic):
1175         (WebCore::RenderListMarker::paint):
1176         (WebCore::RenderListMarker::suffix):
1177         * rendering/RenderTreeAsText.cpp:
1178         (WebCore::quoteAndEscapeNonPrintables):
1179         * rendering/mathml/RenderMathMLFenced.cpp:
1180         (WebCore::RenderMathMLFenced::updateFromElement):
1181         * storage/IDBLevelDBCoding.cpp:
1182         (WebCore::IDBLevelDBCoding::decodeString):
1183         * xml/XMLHttpRequest.cpp:
1184         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1185         * xml/XPathFunctions.cpp:
1186         (WebCore::XPath::FunId::evaluate):
1187         (WebCore::XPath::FunConcat::evaluate):
1188         * xml/XPathUtil.cpp:
1189         (WebCore::XPath::stringValue):
1190         * xml/XSLTProcessorLibxslt.cpp:
1191         (WebCore::writeToStringBuilder):
1192         (WebCore::saveResultToString):
1193         * xml/parser/CharacterReferenceParserInlineMethods.h:
1194         (WebCore::unconsumeCharacters):
1195         (WebCore::consumeCharacterReference):
1196         * xml/parser/XMLCharacterReferenceParser.cpp:
1197         (WebCore::consumeXMLCharacterReference):
1198         * xml/parser/XMLCharacterReferenceParser.h:
1199         * xml/parser/XMLTokenizer.cpp:
1200         (WebCore::XMLTokenizer::nextToken):
1201
1202 2011-09-05  Kent Tamura  <tkent@chromium.org>
1203
1204         REGRESSION (Safari 5.1 - ToT): File input retains its file icon when the value is reset
1205         https://bugs.webkit.org/show_bug.cgi?id=67567
1206
1207         Reviewed by Dimitri Glazkov.
1208
1209         - Introduce InputType::setValue(), which is called by HTMLInputElement::setValue().
1210         - Clear m_icon in FileInputType::setValue().
1211
1212         Tests: fast/forms/file/file-reset-in-change-expected.html
1213                fast/forms/file/file-reset-in-change.html
1214
1215         * html/BaseButtonInputType.cpp:
1216         (WebCore::BaseButtonInputType::setValue):
1217         Implemenation for the "default" mode.
1218         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default
1219         * html/BaseButtonInputType.h:
1220         * html/BaseCheckableInputType.cpp:
1221         (WebCore::BaseCheckableInputType::setValue):
1222         Implemenation for the "default/on" mode.
1223         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on
1224         * html/BaseCheckableInputType.h:
1225         * html/FileInputType.cpp:
1226         (WebCore::FileInputType::setValue):
1227         Implemenation for the "filename" mode, and clearing m_icon.
1228         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-filename
1229         * html/FileInputType.h:
1230         * html/HTMLInputElement.cpp:
1231         (WebCore::HTMLInputElement::setValue):
1232         Move some code to InputType::setValue().
1233         (WebCore::HTMLInputElement::setValueInternal): A helper for InputType::setValue().
1234         * html/HTMLInputElement.h:
1235         * html/HiddenInputType.cpp:
1236         (WebCore::HiddenInputType::setValue):
1237         Implementation for the "default" mode.
1238         * html/HiddenInputType.h:
1239         * html/InputType.cpp:
1240         (WebCore::InputType::setValue):
1241         Implementation for the "value" mode.
1242         http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-value
1243         * html/InputType.h:
1244         * html/TextFieldInputType.cpp:
1245         (WebCore::TextFieldInputType::setValue):
1246         In addition to the "value" mode processing, updates placeholder visibililty.
1247         * html/TextFieldInputType.h:
1248
1249 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1250
1251         REGRESSION(r94274): The inner text value of an input element is not updated when input.value is set
1252         https://bugs.webkit.org/show_bug.cgi?id=67681
1253
1254         Reviewed by Kent Tamura.
1255
1256         The bug was caused by HTMLInputElement::setValue's not clearing m_suggestedValue before updateInnerTextValue is called.
1257         Since updateInnerTextValue uses the suggested value when one is present, we need to clear m_suggestedValue in advance.
1258
1259         Test: fast/forms/suggested-value-after-setvalue.html
1260
1261         * html/HTMLInputElement.cpp:
1262         (WebCore::HTMLInputElement::setValue):
1263
1264 2011-09-06  Adam Barth  <abarth@webkit.org>
1265
1266         Attempt to fix GTK build.
1267
1268         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
1269         (WebKit::createHTMLElementWrapper):
1270
1271 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1272
1273         fast/forms/suggested-value-crash.html crashes on Windows
1274         https://bugs.webkit.org/show_bug.cgi?id=67688
1275
1276         Reviewed by Adam Barth.
1277
1278         The crash was caused because functions in internals were accessing uninitialized QualifiedNames.
1279         Fixed the bug by avoiding to link to inputTag and textareaTag. Instead, we resort to toInputElement
1280         and string comparison.
1281
1282         * testing/Internals.cpp:
1283         (WebCore::Internals::wasLastChangeUserEdit):
1284         (WebCore::Internals::suggestedValue):
1285         (WebCore::Internals::setSuggestedValue):
1286
1287 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
1288
1289         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
1290         https://bugs.webkit.org/show_bug.cgi?id=67420
1291
1292         Reviewed by Geoffrey Garen.
1293
1294         No new tests.
1295
1296         Completed the fifth level of the refactoring to add finishCreation() 
1297         methods to all classes within the JSCell hierarchy with non-trivial 
1298         constructor bodies.
1299
1300         This primarily consists of pushing the calls to finishCreation() down 
1301         into the constructors of the subclasses of the second level of the hierarchy 
1302         as well as pulling the finishCreation() calls out into the class's corresponding
1303         create() method if it has one.  Doing both simultaneously allows us to 
1304         maintain the invariant that the finishCreation() method chain is called exactly 
1305         once during the creation of an object, since calling it any other number of 
1306         times (0, 2, or more) will cause an assertion failure.
1307
1308         * WebCore.exp.in:
1309         * bindings/js/JSDOMBinding.h:
1310         (WebCore::DOMConstructorObject::DOMConstructorObject):
1311         * bindings/js/JSDOMGlobalObject.cpp:
1312         (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1313         (WebCore::JSDOMGlobalObject::finishCreation):
1314         * bindings/js/JSDOMGlobalObject.h:
1315         * bindings/js/JSDOMWindowShell.cpp:
1316         * bindings/js/JSDOMWindowShell.h:
1317         (WebCore::JSDOMWindowShell::create):
1318         * bindings/js/JSDOMWrapper.h:
1319         (WebCore::JSDOMWrapper::JSDOMWrapper):
1320         * bindings/scripts/CodeGeneratorJS.pm:
1321         (GenerateImplementation):
1322         * bindings/scripts/test/JS/JSTestInterface.cpp:
1323         (WebCore::JSTestInterface::JSTestInterface):
1324         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1325         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
1326         * bindings/scripts/test/JS/JSTestObj.cpp:
1327         (WebCore::JSTestObj::JSTestObj):
1328         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1329         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
1330         * bridge/c/CRuntimeObject.cpp:
1331         (JSC::Bindings::CRuntimeObject::CRuntimeObject):
1332         (JSC::Bindings::CRuntimeObject::finishCreation):
1333         * bridge/c/CRuntimeObject.h:
1334         * bridge/jni/jsc/JavaRuntimeObject.cpp:
1335         (JSC::Bindings::JavaRuntimeObject::JavaRuntimeObject):
1336         (JSC::Bindings::JavaRuntimeObject::finishCreation):
1337         * bridge/jni/jsc/JavaRuntimeObject.h:
1338         * bridge/objc/ObjCRuntimeObject.h:
1339         * bridge/objc/ObjCRuntimeObject.mm:
1340         (JSC::Bindings::ObjCRuntimeObject::ObjCRuntimeObject):
1341         (JSC::Bindings::ObjCRuntimeObject::finishCreation):
1342         * bridge/objc/objc_runtime.h:
1343         (JSC::Bindings::ObjcFallbackObjectImp::create):
1344         * bridge/objc/objc_runtime.mm:
1345         (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1346         * bridge/qt/qt_instance.cpp:
1347         (JSC::Bindings::QtRuntimeObject::QtRuntimeObject):
1348         * bridge/qt/qt_pixmapruntime.cpp:
1349         (JSC::Bindings::QtPixmapRuntimeObject::QtPixmapRuntimeObject):
1350         * bridge/qt/qt_runtime.cpp:
1351         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
1352         (JSC::Bindings::QtRuntimeMethod::finishCreation):
1353         * bridge/qt/qt_runtime.h:
1354         * bridge/runtime_array.cpp:
1355         (JSC::RuntimeArray::RuntimeArray):
1356         * bridge/runtime_array.h:
1357         (JSC::RuntimeArray::create):
1358         * bridge/runtime_method.cpp:
1359         (JSC::RuntimeMethod::RuntimeMethod):
1360         (JSC::RuntimeMethod::finishCreation):
1361         * bridge/runtime_method.h:
1362         * bridge/runtime_object.cpp:
1363         (JSC::Bindings::RuntimeObject::RuntimeObject):
1364         * bridge/runtime_object.h:
1365         (JSC::Bindings::RuntimeObject::create):
1366
1367 2011-09-06  Luke Macpherson   <macpherson@chromium.org>
1368
1369         Implement list style properties in CSSStyleApplyProperty.
1370         https://bugs.webkit.org/show_bug.cgi?id=67103
1371
1372         Reviewed by Eric Seidel.
1373
1374         No new tests / no behavioral changes.
1375
1376         * css/CSSStyleApplyProperty.cpp:
1377         Add class to wrap call to CSSStyleSelector::styleImage().
1378         (WebCore::ApplyPropertyStyleImage::ApplyPropertyStyleImage):
1379         (WebCore::ApplyPropertyStyleImage::applyValue):
1380         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1381         Initialize handlers for list style properties.
1382         * css/CSSStyleSelector.cpp:
1383         (WebCore::CSSStyleSelector::applyProperty):
1384         Remove existing property implementations.
1385
1386 2011-09-06  Alexis Menard  <alexis.menard@openbossa.org>
1387
1388         [Qt] Move away from QPointer as it is slow and it has a replacement QWeakPointer.
1389         https://bugs.webkit.org/show_bug.cgi?id=67673
1390
1391         Reviewed by Ariya Hidayat.
1392
1393         Move away from QPointer to QWeakPointer, it is faster.
1394
1395         No new tests, the existing ones should cover.
1396
1397         * bridge/qt/qt_instance.cpp:
1398         (JSC::Bindings::QtInstance::~QtInstance):
1399         (JSC::Bindings::QtInstance::getClass):
1400         (JSC::Bindings::QtField::name):
1401         (JSC::Bindings::QtField::valueFromInstance):
1402         * bridge/qt/qt_instance.h:
1403         (JSC::Bindings::QtInstance::getObject):
1404         * bridge/qt/qt_runtime.h:
1405         * platform/qt/SharedTimerQt.cpp:
1406         (WebCore::SharedTimerQt::inst):
1407
1408 2011-09-06  Oliver Hunt  <oliver@apple.com>
1409
1410         Update expected results of bindings tests.
1411
1412         * bindings/scripts/test/JS/JSTestInterface.cpp:
1413         (WebCore::JSTestInterfaceConstructor::createStructure):
1414         (WebCore::JSTestInterface::createPrototype):
1415         * bindings/scripts/test/JS/JSTestInterface.h:
1416         (WebCore::JSTestInterface::createStructure):
1417         (WebCore::JSTestInterfacePrototype::createStructure):
1418         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
1419         (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
1420         (WebCore::JSTestMediaQueryListListener::createPrototype):
1421         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
1422         (WebCore::JSTestMediaQueryListListener::createStructure):
1423         (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
1424         * bindings/scripts/test/JS/JSTestObj.cpp:
1425         (WebCore::JSTestObjConstructor::createStructure):
1426         (WebCore::JSTestObj::createPrototype):
1427         * bindings/scripts/test/JS/JSTestObj.h:
1428         (WebCore::JSTestObj::createStructure):
1429         (WebCore::JSTestObjPrototype::createStructure):
1430         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1431         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
1432         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
1433         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
1434         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
1435         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
1436
1437 2011-09-06  Eric Seidel  <eric@webkit.org>
1438
1439         Remove window.HTMLBlockquoteElement per HTML5 (and DOM Core 1)
1440         https://bugs.webkit.org/show_bug.cgi?id=67678
1441
1442         Reviewed by Darin Adler.
1443
1444         This is why we can't have nice things.
1445
1446         There was some confusion in the original DOM HTML 1 spec about
1447         the existence of HTMlBlockquoteElement which was clarified by
1448         a later errata, removing HTMLBlockquoteElement:
1449         http://www.w3.org/DOM/updates/REC-DOM-Level-1-19981001-errata.html
1450         "This interface is an error and must be ignored. The Interface HTMLQuoteElement is used for both the Q and BLOCKQUOTE elements"
1451
1452         Le sigh.  Personally I think having a separate HTMLBlockquoteElement
1453         is clearer, but thats not how the web works.  Removed it and updated test results.
1454
1455         * CMakeLists.txt:
1456         * CodeGenerators.pri:
1457         * DerivedSources.cpp:
1458         * DerivedSources.make:
1459         * GNUmakefile.list.am:
1460         * WebCore.gypi:
1461         * WebCore.pro:
1462         * WebCore.vcproj/WebCore.vcproj:
1463         * WebCore.xcodeproj/project.pbxproj:
1464         * bindings/gobject/GNUmakefile.am:
1465         * editing/IndentOutdentCommand.cpp:
1466         * html/HTMLBlockquoteElement.cpp: Removed.
1467         * html/HTMLBlockquoteElement.h: Removed.
1468         * html/HTMLBlockquoteElement.idl: Removed.
1469         * html/HTMLElementsAllInOne.cpp:
1470         * html/HTMLQuoteElement.cpp:
1471         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
1472         (WebCore::HTMLQuoteElement::insertedIntoDocument):
1473         * html/HTMLTagNames.in:
1474         * page/DOMWindow.idl:
1475
1476 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1477
1478         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
1479         https://bugs.webkit.org/show_bug.cgi?id=67569
1480
1481         Reviewed by Antonio Gomes.
1482
1483         Renamed Editor::confirmCompositionWithoutDisturbingSelection to Editor::cancelComposition.
1484         Also renamed the shared function from confirmComposition to setComposition.
1485
1486         * WebCore.exp.in:
1487         * editing/Editor.cpp:
1488         (WebCore::Editor::confirmComposition):
1489         (WebCore::Editor::cancelComposition):
1490         (WebCore::Editor::setComposition):
1491         * editing/Editor.h:
1492
1493 2011-09-06  Sam Weinig  <sam@webkit.org>
1494
1495         WebVTTTokenizer files in the wrong place in the Xcode project.
1496
1497         * WebCore.xcodeproj/project.pbxproj:
1498         Move WebVTTTokenizer files so they are in the right place in the project.
1499
1500 2011-09-06  Chris Rogers  <crogers@google.com>
1501
1502         MediaElementAudioSourceNode destruction triggers ASSERTS
1503         https://bugs.webkit.org/show_bug.cgi?id=67665
1504
1505         Reviewed by Nate Chapin.
1506
1507         Test: webaudio/mediaelementaudiosourcenode-gc.html
1508
1509         * html/HTMLMediaElement.cpp:
1510         (WebCore::HTMLMediaElement::setAudioSourceNode):
1511         * webaudio/AudioContext.cpp:
1512         (WebCore::AudioContext::uninitializeDispatch):
1513         (WebCore::AudioContext::stop):
1514         * webaudio/AudioContext.h:
1515
1516 2011-09-05  Oliver Hunt  <oliver@apple.com>
1517
1518         An object's structure should reference the global object responsible for its creation
1519         https://bugs.webkit.org/show_bug.cgi?id=67624
1520
1521         Reviewed by Gavin Barraclough.
1522
1523         Update calls to Structure::create() to pass the globalObject in,
1524         and update the CodeGenerator to generate appropriate createStructure
1525         methods.
1526
1527         * bindings/js/JSAudioConstructor.h:
1528         (WebCore::JSAudioConstructor::createStructure):
1529         * bindings/js/JSDOMBinding.h:
1530         (WebCore::DOMConstructorObject::createStructure):
1531         (WebCore::getDOMStructure):
1532         * bindings/js/JSDOMGlobalObject.h:
1533         (WebCore::JSDOMGlobalObject::createStructure):
1534         (WebCore::getDOMConstructor):
1535         * bindings/js/JSDOMWindowBase.h:
1536         (WebCore::JSDOMWindowBase::createStructure):
1537         * bindings/js/JSDOMWindowShell.cpp:
1538         (WebCore::JSDOMWindowShell::setWindow):
1539         * bindings/js/JSDOMWindowShell.h:
1540         (WebCore::JSDOMWindowShell::createStructure):
1541         * bindings/js/JSDOMWrapper.h:
1542         (WebCore::JSDOMWrapper::createStructure):
1543         * bindings/js/JSImageConstructor.h:
1544         (WebCore::JSImageConstructor::createStructure):
1545         * bindings/js/JSImageDataCustom.cpp:
1546         (WebCore::toJS):
1547         * bindings/js/JSOptionConstructor.h:
1548         (WebCore::JSOptionConstructor::createStructure):
1549         * bindings/js/JSWorkerContextBase.h:
1550         (WebCore::JSWorkerContextBase::createStructure):
1551         * bindings/js/WorkerScriptController.cpp:
1552         (WebCore::WorkerScriptController::initScript):
1553         * bindings/scripts/CodeGeneratorJS.pm:
1554         (GenerateHeader):
1555         (GenerateImplementation):
1556         (GenerateConstructorDeclaration):
1557         * bridge/c/CRuntimeObject.h:
1558         (JSC::Bindings::CRuntimeObject::createStructure):
1559         * bridge/c/c_instance.cpp:
1560         (JSC::Bindings::CRuntimeMethod::createStructure):
1561         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1562         (JavaRuntimeMethod::createStructure):
1563         * bridge/jni/jsc/JavaRuntimeObject.h:
1564         (JSC::Bindings::JavaRuntimeObject::createStructure):
1565         * bridge/objc/ObjCRuntimeObject.h:
1566         (JSC::Bindings::ObjCRuntimeObject::createStructure):
1567         * bridge/objc/objc_instance.mm:
1568         (ObjCRuntimeMethod::createStructure):
1569         * bridge/objc/objc_runtime.h:
1570         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1571         * bridge/runtime_array.h:
1572         (JSC::RuntimeArray::createStructure):
1573         * bridge/runtime_method.h:
1574         (JSC::RuntimeMethod::createStructure):
1575         * bridge/runtime_object.h:
1576         (JSC::Bindings::RuntimeObject::createStructure):
1577
1578 2011-09-06  Anders Carlsson  <andersca@apple.com>
1579
1580         Move NPAPI headers in bridge to plugins
1581         https://bugs.webkit.org/show_bug.cgi?id=67661
1582
1583         Reviewed by Darin Adler.
1584
1585         * WebCore.gypi:
1586         * WebCore.pro:
1587         * WebCore.vcproj/WebCore.vcproj:
1588         * WebCore.xcodeproj/project.pbxproj:
1589         Update build systems.
1590
1591         * bridge/npapi.h: Removed.
1592         * bridge/npruntime.h: Removed.
1593         * bridge/nptypes.h: Removed.
1594         * plugins/npapi.h: Copied from Source/WebCore/bridge/npapi.h.
1595         * plugins/npruntime.h: Copied from Source/WebCore/bridge/npruntime.h.
1596         * plugins/nptypes.h: Copied from Source/WebCore/bridge/nptypes.h.
1597
1598 2011-09-06  David Hyatt  <hyatt@apple.com>
1599
1600         https://bugs.webkit.org/show_bug.cgi?id=67672
1601         
1602         Improve background-size parsing. Make it actually dump auto values properly, and also make it omit
1603         auto if it is the second value. Fix the parsing to not create a value list when only a singleton value
1604         is specified.
1605
1606         Reviewed by Beth Dakin.
1607
1608         Covered well by existing tests.
1609
1610         * css/CSSComputedStyleDeclaration.cpp:
1611         (WebCore::fillSizeToCSSValue):
1612         * css/CSSParser.cpp:
1613         (WebCore::CSSParser::parseFillSize):
1614         * css/CSSStyleSelector.cpp:
1615         (WebCore::CSSStyleSelector::mapFillSize):
1616
1617 2011-09-06  David Hyatt  <hyatt@apple.com>
1618
1619         https://bugs.webkit.org/show_bug.cgi?id=67657
1620         
1621         Implement border-image-width. This patch stops short of converting -webkit-border-image to a shorthand.
1622         I'll do that in the next patch.
1623
1624         Note that unlike the -webkit-border-image syntax, border-image-width does not actually set the border
1625         width values. It simply makes cuts into the border image drawing area (which for now is just the border
1626         box, but that will change once border-image-outset is implemented).
1627         
1628         This means we need additional storage for the slices, since they are now separate from the border widths.
1629         
1630         For backwards compatibility, -webkit-border-image will continue to set the border widths when
1631         border-image-width is specified in the -webkit-border-image shorthand.
1632
1633         Reviewed by Beth Dakin.
1634
1635         Added new tests in fast/borders.
1636
1637         * css/CSSBorderImageSliceValue.cpp:
1638         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
1639         (WebCore::CSSBorderImageSliceValue::cssText):
1640         * css/CSSBorderImageSliceValue.h:
1641         (WebCore::CSSBorderImageSliceValue::create):
1642         (WebCore::CSSBorderImageSliceValue::slices):
1643         Rename slices() to imageSlices() and add borderSlices() and m_borderSlices to hold the desired cuts
1644         for the border image drawing area. Converted the slices over to the new Quad primitive value (a RectBase
1645         subclass that is identical to Rect but dumps as a quad instead of a rect primitive).
1646
1647         * css/CSSBorderImageValue.cpp:
1648         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1649         (WebCore::CSSBorderImageValue::cssText):
1650         * css/CSSBorderImageValue.h:
1651         (WebCore::CSSBorderImageValue::create):
1652         Make CSSBorderImageValue take the border slices during construction now.
1653     
1654         * css/CSSComputedStyleDeclaration.cpp:
1655         (WebCore::valueForNinePieceImageSlice):
1656         (WebCore::valueForNinePieceImageWidth):
1657         (WebCore::valueForNinePieceImageRepeat):
1658         (WebCore::valueForNinePieceImage):
1659         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1660         Add support for computed style via valueForNinePieceImageWidth. Patch all of the border image properties
1661         to dump the most compact form possible for the property values, e.g., "stretch stretch" becomes "stretch."
1662
1663         * css/CSSParser.cpp:
1664         (WebCore::CSSParser::parseValue):
1665         (WebCore::CSSParser::parseReflect):
1666         (WebCore::BorderImageParseContext::BorderImageParseContext):
1667         (WebCore::BorderImageParseContext::commitImageSlice):
1668         (WebCore::BorderImageParseContext::commitBorderWidth):
1669         (WebCore::BorderImageParseContext::commitBorderImage):
1670         (WebCore::CSSParser::parseBorderImage):
1671         (WebCore::isBorderImageRepeatKeyword):
1672         (WebCore::CSSParser::parseBorderImageRepeat):
1673         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
1674         (WebCore::CSSParser::parseBorderImageSlice):
1675         (WebCore::BorderImageWidthParseContext::BorderImageWidthParseContext):
1676         (WebCore::BorderImageWidthParseContext::allowNumber):
1677         (WebCore::BorderImageWidthParseContext::allowFinalCommit):
1678         (WebCore::BorderImageWidthParseContext::top):
1679         (WebCore::BorderImageWidthParseContext::commitNumber):
1680         (WebCore::BorderImageWidthParseContext::setAllowFinalCommit):
1681         (WebCore::BorderImageWidthParseContext::setTop):
1682         (WebCore::BorderImageWidthParseContext::commitBorderImageWidth):
1683         (WebCore::CSSParser::parseBorderImageWidth):
1684         * css/CSSParser.h:
1685         Modify the border-image code to pass off border-image-width parsing to parseBorderImageWidth.
1686
1687         * css/CSSPrimitiveValue.cpp:
1688         (WebCore::isValidCSSUnitTypeForDoubleConversion):
1689         (WebCore::CSSPrimitiveValue::init):
1690         (WebCore::CSSPrimitiveValue::cleanup):
1691         (WebCore::CSSPrimitiveValue::getQuadValue):
1692         (WebCore::CSSPrimitiveValue::cssText):
1693         * css/CSSPrimitiveValue.h:
1694         (WebCore::CSSPrimitiveValue::getQuadValue):
1695         Add the new Quad value to CSSPrimitiveValue.
1696     
1697         * css/CSSPropertyNames.in:
1698         Add the new properties for border-image-width and -webkit-mask-box-image-width.
1699
1700         * css/CSSStyleSelector.cpp:
1701         (WebCore::CSSStyleSelector::applyProperty):
1702         (WebCore::CSSStyleSelector::mapNinePieceImage):
1703         (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
1704         (WebCore::CSSStyleSelector::mapNinePieceImageWidth):
1705         (WebCore::CSSStyleSelector::loadPendingImages):
1706         * css/CSSStyleSelector.h:
1707         Add the code to map the image width into border slices.
1708     
1709         * css/Rect.h:
1710         (WebCore::RectBase::top):
1711         (WebCore::RectBase::right):
1712         (WebCore::RectBase::bottom):
1713         (WebCore::RectBase::left):
1714         (WebCore::RectBase::setTop):
1715         (WebCore::RectBase::setRight):
1716         (WebCore::RectBase::setBottom):
1717         (WebCore::RectBase::setLeft):
1718         (WebCore::RectBase::RectBase):
1719         (WebCore::RectBase::~RectBase):
1720         (WebCore::Rect::create):
1721         (WebCore::Rect::Rect):
1722         (WebCore::Quad::create):
1723         (WebCore::Quad::Quad):
1724         Adding the new Quad value.
1725
1726         * rendering/RenderBoxModelObject.cpp:
1727         (WebCore::computeBorderImageSide):
1728         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1729         Modify painting to treat the border slices as separate from the border widths.
1730         
1731         * rendering/style/NinePieceImage.cpp:
1732         (WebCore::NinePieceImage::operator==):
1733         * rendering/style/NinePieceImage.h:
1734         (WebCore::NinePieceImage::NinePieceImage):
1735         (WebCore::NinePieceImage::imageSlices):
1736         (WebCore::NinePieceImage::setImageSlices):
1737         (WebCore::NinePieceImage::borderSlices):
1738         (WebCore::NinePieceImage::setBorderSlices):
1739         (WebCore::NinePieceImage::copyImageSlicesFrom):
1740         (WebCore::NinePieceImage::copyBorderSlicesFrom):
1741         * rendering/style/StyleRareNonInheritedData.cpp:
1742         Add the border slices.
1743         
1744         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1745         * rendering/style/StyleReflection.h:
1746         (WebCore::StyleReflection::StyleReflection):
1747         Make sure masks and reflections default border-image-width to auto instead of 1, since that matches
1748         old behavior.
1749
1750 2011-09-06  Noel Gordon  <noel.gordon@gmail.com>
1751
1752         [chromium skia] JPEGImageEncoder: hoist constants out of the encoding loop
1753         https://bugs.webkit.org/show_bug.cgi?id=67589
1754
1755         Reviewed by Kenneth Russell.
1756
1757         Change the row converter function signatures to be the same.  Call them via a function
1758         pointer during the encoding loop.  Minor webkit style cleanup, remove unused include.
1759
1760         No new tests.  Covered by existing canvas 2d and 3d tests.
1761         canvas/philip/tests/toDataURL.jpeg.alpha.html
1762         fast/canvas/webgl/premultiplyalpha-test.html
1763
1764         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
1765         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
1766         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
1767         (WebCore::encodePixels):  Move constants out of the encoding loop: use a function pointer
1768         to call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures), define
1769         and use pixelRowStride constant.
1770         (WebCore::JPEGImageEncoder::encode):
1771
1772 2011-09-06  Aaron Colwell  <acolwell@chromium.org>
1773
1774         Allow MediaSource API to be enabled at runtime.
1775         https://bugs.webkit.org/show_bug.cgi?id=67306
1776
1777         Reviewed by Eric Carlson.
1778
1779         * bindings/generic/RuntimeEnabledFeatures.cpp:
1780         * bindings/generic/RuntimeEnabledFeatures.h:
1781         (WebCore::RuntimeEnabledFeatures::webkitMediaSourceEnabled):
1782         (WebCore::RuntimeEnabledFeatures::setWebkitMediaSourceEnabled):
1783         * html/HTMLMediaElement.idl:
1784
1785 2011-09-06  Mike Reed  <reed@google.com>
1786
1787         [skia] never draw with GDI, so that all text can be gpu-accelerated
1788         https://bugs.webkit.org/show_bug.cgi?id=65203
1789
1790         Reviewed by Kenneth Russell.
1791
1792         * platform/graphics/chromium/FontChromiumWin.cpp:
1793         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter):
1794         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
1795         (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
1796         (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter):
1797         (WebCore::drawGlyphsWin):
1798         (WebCore::Font::drawComplexText):
1799         * platform/graphics/chromium/UniscribeHelper.cpp:
1800         (WebCore::UniscribeHelper::draw):
1801         * platform/graphics/skia/PlatformContextSkia.cpp:
1802         * platform/graphics/skia/PlatformContextSkia.h:
1803         * platform/graphics/skia/SkiaFontWin.cpp:
1804         (WebCore::skiaDrawText):
1805         * platform/graphics/skia/SkiaFontWin.h:
1806
1807 2011-09-06  Nat Duca  <nduca@chromium.org>
1808
1809         [chromium] REGRESSION(94353): requestAnimationFrame not throttled in compositing path
1810         https://bugs.webkit.org/show_bug.cgi?id=67621
1811
1812         CCSingleThreadProxy should not perform layout when called
1813         via the compositeImmediately path. Doing so makes it look
1814         like frame rate is unbounded.
1815
1816         Reviewed by James Robinson.
1817
1818         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1819         (WebCore::CCSingleThreadProxy::compositeAndReadback):
1820         (WebCore::CCSingleThreadProxy::compositeImmediately):
1821         (WebCore::CCSingleThreadProxy::commitIfNeeded):
1822         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1823
1824 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
1825
1826         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
1827         https://bugs.webkit.org/show_bug.cgi?id=67453
1828
1829         Reviewed by Kent Tamura.
1830
1831         Fixed the bug by updating inner text value in setSuggestedValue.
1832
1833         Also added a suggestedValue and setSuggestedValue on window.internals for testing purposes.
1834
1835         Test: fast/forms/suggested-value.html
1836
1837         * WebCore.exp.in:
1838         * testing/Internals.cpp:
1839         (WebCore::Internals::suggestedValue):
1840         (WebCore::Internals::setSuggestedValue):
1841         * testing/Internals.h:
1842         * testing/Internals.idl:
1843
1844 2011-09-06  Eric Carlson  <eric.carlson@apple.com>
1845
1846         load() does not reset the resource selection algorithm
1847         https://bugs.webkit.org/show_bug.cgi?id=64917
1848
1849         Reviewed by Darin Adler.
1850
1851         Test: media/video-source-load.html
1852
1853         * html/HTMLMediaElement.cpp:
1854         (WebCore::HTMLMediaElement::selectMediaResource): Reset m_nextChildNodeToConsider, update
1855             comments and rearrange logic to more closely match logic in spec.
1856         (WebCore::HTMLMediaElement::noneSupported): Update comments.
1857
1858 2011-09-06  Abhishek Arya  <inferno@chromium.org>
1859
1860         Style not propagated to anonymous boxes and anonymous
1861         inline-blocks.
1862         https://bugs.webkit.org/show_bug.cgi?id=67364
1863
1864         Reviewed by James Robinson.
1865
1866         Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange.
1867
1868         * rendering/RenderBlock.cpp:
1869         (WebCore::RenderBlock::styleDidChange):
1870         * rendering/RenderObject.cpp:
1871         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
1872         * rendering/RenderObject.h:
1873
1874 2011-09-06  Robin Cao  <robin.cao@torchmobile.com.cn>
1875
1876         [skia] States of GraphicsContext may never be restored after clipToImageBuffer
1877         https://bugs.webkit.org/show_bug.cgi?id=67358
1878
1879         beginLayerClippedToImage/applyClipFromImage are mismatched when clipping to
1880         an empty ImageBuffer, which will make states of GraphicsContext incorrect.
1881
1882         Reviewed by James Robinson.
1883
1884         Test: fast/repaint/background-clip-text.html
1885
1886         * platform/graphics/skia/PlatformContextSkia.cpp:
1887         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
1888
1889 2011-09-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
1890
1891         [EFL] Do not allocate memory for extremely large surfaces.
1892         https://bugs.webkit.org/show_bug.cgi?id=65192
1893
1894         Reviewed by Martin Robinson.
1895
1896         So far, RenderThemeEfl tried to allocate a buffer and a cairo surface
1897         the size of the whole form element passed to it.
1898
1899         In the case of
1900         fast/overflow/overflow-height-float-not-removed-crash.html and others,
1901         this meant extremely large widgets, which crashed the code.
1902
1903         We now only render the widgets if they are smaller than some hardcoded
1904         and sufficiently large values which should work in most cases.
1905
1906         No new tests, as this was uncovered by existing ones.
1907
1908         * platform/efl/RenderThemeEfl.cpp:
1909         (WebCore::RenderThemeEfl::isFormElementTooLargeToDisplay):
1910         (WebCore::RenderThemeEfl::cacheThemePartNew):
1911         (WebCore::RenderThemeEfl::paintThemePart):
1912         * platform/efl/RenderThemeEfl.h:
1913
1914 2011-08-30  Pavel Podivilov  <podivilov@chromium.org>
1915
1916         Web Inspector: implement source map v3 consumer.
1917         https://bugs.webkit.org/show_bug.cgi?id=67205
1918
1919         Reviewed by Yury Semikhatsky.
1920
1921         Test: inspector/debugger/compiler-source-mapping.html
1922
1923         * WebCore.gypi:
1924         * WebCore.vcproj/WebCore.vcproj:
1925         * inspector/front-end/CompilerSourceMapping.js: Added.
1926         (WebInspector.CompilerSourceMapping):
1927         (WebInspector.CompilerSourceMapping.prototype.compiledLocationToSourceLocation):
1928         (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
1929         (WebInspector.CompilerSourceMapping.prototype.get sources):
1930         (WebInspector.ClosureCompilerSourceMapping):
1931         (WebInspector.ClosureCompilerSourceMapping.prototype.compiledLocationToSourceLocation):
1932         (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
1933         (WebInspector.ClosureCompilerSourceMapping.prototype.get sources):
1934         (WebInspector.ClosureCompilerSourceMapping.prototype._findMapping):
1935         (WebInspector.ClosureCompilerSourceMapping.prototype._parsePayload):
1936         (WebInspector.ClosureCompilerSourceMapping.prototype._isSeparator):
1937         (WebInspector.ClosureCompilerSourceMapping.prototype._decodeVLQ):
1938         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator):
1939         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.next):
1940         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.peek):
1941         (WebInspector.ClosureCompilerSourceMapping.StringCharIterator.prototype.hasNext):
1942         * inspector/front-end/WebKit.qrc:
1943         * inspector/front-end/inspector.html:
1944
1945 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
1946
1947         Web Inspector: re-implement RawSourceCode.
1948         https://bugs.webkit.org/show_bug.cgi?id=67609
1949
1950         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
1951         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
1952         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
1953         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
1954         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
1955         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
1956         source code should be shown to user and raw locations should be converted to ui locations
1957         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
1958         is ready for loading and source mapping is available.
1959         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
1960         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
1961         source code, links and decorations in UI.
1962
1963         Reviewed by Yury Semikhatsky.
1964
1965         * inspector/front-end/DebuggerPresentationModel.js:
1966         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1967         (WebInspector.DebuggerPresentationModel.prototype._addScript):
1968         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
1969         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
1970         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
1971         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
1972         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
1973         * inspector/front-end/ScriptsPanel.js:
1974         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
1975         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
1976         * inspector/front-end/SourceFile.js:
1977         (WebInspector.RawSourceCode):
1978         (WebInspector.RawSourceCode.prototype.addScript):
1979         (WebInspector.RawSourceCode.prototype.contentEdited):
1980         (WebInspector.RawSourceCode.prototype._resourceFinished):
1981         (WebInspector.RawSourceCode.prototype.requestContent):
1982         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
1983         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
1984         (WebInspector.RawSourceCode.prototype.forceLoadContent):
1985         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
1986         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
1987         (WebInspector.RawSourceCode.prototype._createContentProvider):
1988         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
1989         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
1990         (WebInspector.RawSourceCode.prototype._createSourceMapping):
1991         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
1992         (WebInspector.StaticContentProvider):
1993         (WebInspector.StaticContentProvider.prototype.requestContent):
1994
1995 2011-09-06  Csaba Osztrogonác  <ossy@webkit.org>
1996
1997         Unreviewed, rolling out r94564.
1998         http://trac.webkit.org/changeset/94564
1999         https://bugs.webkit.org/show_bug.cgi?id=67555
2000
2001         It broke many tests
2002
2003         * svg/SVGTRefElement.cpp:
2004         (WebCore::SVGTRefElement::svgAttributeChanged):
2005
2006 2011-09-06  Rob Buis  <rbuis@rim.com>
2007
2008         use after free in WebCore::SVGTRefElement::updateReferencedText
2009         https://bugs.webkit.org/show_bug.cgi?id=67555
2010
2011         Reviewed by Nikolas Zimmermann.
2012
2013         Do not install event listener if tref is not part of any document.
2014
2015         Test: svg/custom/tref-clone-crash.html
2016
2017         * svg/SVGTRefElement.cpp:
2018         (WebCore::SVGTRefElement::svgAttributeChanged):
2019
2020 2011-09-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2021
2022         Unreviewed, rolling out r94560.
2023         http://trac.webkit.org/changeset/94560
2024         https://bugs.webkit.org/show_bug.cgi?id=67636
2025
2026         It made inspector/debugger/script-formatter.html flakey
2027         (Requested by Ossy on #webkit).
2028
2029         * inspector/front-end/BreakpointManager.js:
2030         (WebInspector.BreakpointManager.prototype.set reset):
2031         * inspector/front-end/DebuggerPresentationModel.js:
2032         (WebInspector.DebuggerPresentationModel.prototype._addScript.didCreateSourceMapping):
2033         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2034         (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeReplaced):
2035         (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
2036         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
2037         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
2038         (WebInspector.PresenationCallFrame.prototype.select):
2039         * inspector/front-end/ScriptsPanel.js:
2040         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2041         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2042         * inspector/front-end/SourceFile.js:
2043         (WebInspector.RawSourceCode):
2044         (WebInspector.RawSourceCode.prototype.addScript):
2045         (WebInspector.RawSourceCode.prototype.contentEdited):
2046         (WebInspector.RawSourceCode.prototype.requestContent):
2047         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.didRequestContent):
2048         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
2049         (WebInspector.RawSourceCode.prototype._setContentProvider):
2050         (WebInspector.RawSourceCode.prototype.forceLoadContent):
2051         (WebInspector.RawSourceCode.prototype._reload):
2052         (WebInspector.RawSourceCode.prototype._requestContent):
2053         (WebInspector.RawSourceCode.prototype._loadResourceContent):
2054         (WebInspector.RawSourceCode.prototype._loadScriptContent):
2055         (WebInspector.RawSourceCode.prototype._loadAndConcatenateScriptsContent):
2056         (WebInspector.RawSourceCode.prototype._didRequestContent):
2057         (WebInspector.RawSourceCode.prototype._hasPendingResource):
2058         (WebInspector.FormattedContentProvider):
2059         (WebInspector.FormattedContentProvider.prototype.requestContent.didRequestContent.didFormatContent):
2060         (WebInspector.FormattedContentProvider.prototype.requestContent):
2061
2062 2011-09-06  Antti Koivisto  <antti@apple.com>
2063
2064         https://bugs.webkit.org/show_bug.cgi?id=67480
2065         [Chromium] [REGRESSION] Layout Test svg/batik/text/textStyles.svg is failing
2066
2067         Reviewed by Dimitri Glazkov.
2068
2069         The text node needs willRecalcStyle mechanism too.
2070
2071         * dom/Text.cpp:
2072         (WebCore::Text::recalcTextStyle):
2073         * dom/Text.h:
2074         (WebCore::Text::willRecalcTextStyle):
2075         * svg/SVGTRefElement.cpp:
2076         (WebCore::SVGTRefElement::SVGTRefElement):
2077         (WebCore::SVGShadowText::SVGShadowText):
2078         (WebCore::SVGShadowText::willRecalcTextStyle):
2079
2080 2011-09-05  Pavel Podivilov  <podivilov@chromium.org>
2081
2082         Web Inspector: re-implement RawSourceCode.
2083         https://bugs.webkit.org/show_bug.cgi?id=67609
2084
2085         RawSourceCode content and source mapping loading logic is too complex, re-implement it using simpler semantics:
2086         1) Initially, RawSourceCode doesn't have any content or mapping because content loading and
2087         formatting operations are asynchronous, it only has scripts metadata. We don't update UI right
2088         after RawSourceCode creation until full RawSourceCode representation is ready (content + mapping).
2089         2) When RawSourceCode representation is ready (e.g. resource is finished, or content is formatted
2090         if in pretty-print mode) we dispatch SourceMappingUpdated event to notify the listeners that
2091         source code should be shown to user and raw locations should be converted to ui locations
2092         (to show breakpoins, messages, call frames etc in UI). At this moment, all source file's content
2093         is ready for loading and source mapping is available.
2094         3) Later, RawSourceCode representation may change again, e.g. if pretty-print mode is toggled, or
2095         blocked resource is finished etc., in that case SourceMappingUpdated is dispatched again to update
2096         source code, links and decorations in UI.
2097
2098         Reviewed by Yury Semikhatsky.
2099
2100         * inspector/front-end/DebuggerPresentationModel.js:
2101         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
2102         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2103         (WebInspector.DebuggerPresentationModel.prototype._sourceMappingUpdated):
2104         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2105         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage.didGetUILocation):
2106         (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessage):
2107         (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
2108         * inspector/front-end/ScriptsPanel.js:
2109         (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
2110         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
2111         * inspector/front-end/SourceFile.js:
2112         (WebInspector.RawSourceCode):
2113         (WebInspector.RawSourceCode.prototype.addScript):
2114         (WebInspector.RawSourceCode.prototype.contentEdited):
2115         (WebInspector.RawSourceCode.prototype._resourceFinished):
2116         (WebInspector.RawSourceCode.prototype.requestContent):
2117         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded.sourceMappingUpdated):
2118         (WebInspector.RawSourceCode.prototype.createSourceMappingIfNeeded):
2119         (WebInspector.RawSourceCode.prototype.forceLoadContent):
2120         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
2121         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
2122         (WebInspector.RawSourceCode.prototype._createContentProvider):
2123         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
2124         (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
2125         (WebInspector.RawSourceCode.prototype._createSourceMapping):
2126         (WebInspector.RawSourceCode.prototype._saveSourceMapping):
2127         (WebInspector.StaticContentProvider):
2128         (WebInspector.StaticContentProvider.prototype.requestContent):
2129
2130 2011-09-06  Dirk Schulze  <krit@webkit.org>
2131
2132         Return to transform multiplication: motion transform * other transforms
2133         https://bugs.webkit.org/show_bug.cgi?id=67601
2134
2135         Reviewed by Nikolas Zimmermann.
2136         
2137         Right now we take the current transform of a transformable SVG element, post multiply the animation transform
2138         and post multiply the motion transform to the other both:
2139
2140           transform * animation transform * motion transform
2141
2142         We switched to this behavior with the clean up of AffineTransform.
2143         While the specification of SVG demands us to do so, no other SVG viewer is doing it that way. Now switching back to:
2144
2145           motion transform * transform * animation transform
2146
2147         This is done by other SVG viewers as well. While their is no consense about how to multiply the different transforms
2148         on the SVG WG, their is a consense that the current specified behavior is unwanted. See
2149         http://lists.w3.org/Archives/Public/www-svg/2011Jan/0055.html for more details.
2150
2151         We pass the following tests of the official W3C SVG test suite again now:
2152
2153         - animate-elem-24-t.svg
2154         - animate-elem-30-t.svg
2155
2156         * svg/SVGStyledTransformableElement.cpp:
2157         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
2158         * svg/SVGTextElement.cpp:
2159         (WebCore::SVGTextElement::animatedLocalTransform):
2160
2161 2011-09-05  Adam Barth  <abarth@webkit.org>
2162
2163         window.HTMLSpanElement does not exist
2164         https://bugs.webkit.org/show_bug.cgi?id=67571
2165
2166         Reviewed by Sam Weinig.
2167
2168         We have these objects for most other elements and HTMLSpanElement
2169         exists in Firefox and in the HTML5 spec.  This patch adds it.
2170
2171         Test: fast/dom/wrapper-classes.html
2172
2173         * CMakeLists.txt:
2174         * CodeGenerators.pri:
2175         * DerivedSources.cpp:
2176         * DerivedSources.make:
2177         * GNUmakefile.list.am:
2178         * WebCore.gypi:
2179         * WebCore.pro:
2180         * WebCore.vcproj/WebCore.vcproj:
2181         * WebCore.xcodeproj/project.pbxproj:
2182         * html/HTMLElementsAllInOne.cpp:
2183         * html/HTMLSpanElement.cpp: Added.
2184         (WebCore::HTMLSpanElement::HTMLSpanElement):
2185         (WebCore::HTMLSpanElement::create):
2186         * html/HTMLSpanElement.h: Added.
2187         * html/HTMLSpanElement.idl: Added.
2188         * html/HTMLTagNames.in:
2189         * page/DOMWindow.idl:
2190
2191 2011-09-04  Abhishek Arya  <inferno@chromium.org>
2192
2193         Style not propagated to anonymous boxes and anonymous
2194         inline-blocks.
2195         https://bugs.webkit.org/show_bug.cgi?id=67364
2196
2197         Reviewed by James Robinson.
2198
2199         Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html
2200                fast/ruby/ruby-block-style-not-updated.html
2201                fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html
2202                fast/ruby/ruby-inline-style-not-updated.html
2203                fast/table/table-row-style-not-updated-with-after-content.html
2204                fast/table/table-row-style-not-updated-with-before-content.html
2205                fast/table/table-row-style-not-updated.html
2206                fast/table/table-style-not-updated.html
2207
2208         * rendering/RenderObject.cpp:
2209         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
2210         * rendering/RenderObject.h:
2211         (WebCore::RenderObject::isBeforeAfterContent):
2212         * rendering/RenderRuby.cpp:
2213         (WebCore::RenderRubyAsInline::styleDidChange):
2214         (WebCore::RenderRubyAsBlock::styleDidChange):
2215         * rendering/RenderRuby.h:
2216         * rendering/RenderTable.cpp:
2217         (WebCore::RenderTable::styleDidChange):
2218         * rendering/RenderTableRow.cpp:
2219         (WebCore::RenderTableRow::styleDidChange):
2220         (WebCore::RenderTableRow::addChild):
2221         * rendering/RenderTableSection.cpp:
2222         (WebCore::RenderTableSection::styleDidChange):
2223         (WebCore::RenderTableSection::addChild):
2224         * rendering/RenderTableSection.h:
2225
2226 2011-09-05  Abhishek Arya  <inferno@chromium.org>
2227
2228         Crash in RenderObjectChildList::destroyLeftOverChildren()
2229         https://bugs.webkit.org/show_bug.cgi?id=64753
2230
2231         Reviewed by James Robinson.
2232
2233         If any of the ancestors between column span element and containing
2234         column's block is a continuation, then don't attempt to render the
2235         column span by splitting the block into continuations.
2236
2237         Test: fast/multicol/column-span-parent-continuation-crash.html
2238
2239         * rendering/RenderBlock.cpp:
2240         (WebCore::RenderBlock::columnsBlockForSpanningElement):
2241
2242 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2243
2244         Unreviewed, rolling out r94537.
2245         http://trac.webkit.org/changeset/94537
2246         https://bugs.webkit.org/show_bug.cgi?id=67618
2247
2248         Does not compile on Chromium Mac (Requested by abarth_ on
2249         #webkit).
2250
2251         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
2252         (WebCore::preMultipliedBGRAtoRGB):
2253         (WebCore::RGBAtoRGB):
2254         (WebCore::encodePixels):
2255         (WebCore::JPEGImageEncoder::encode):
2256
2257 2011-09-05  Noel Gordon  <noel.gordon@gmail.com>
2258
2259         [chromium skia] JPEGImageEncoder: hoist contants out of the encoding loop
2260         https://bugs.webkit.org/show_bug.cgi?id=67589
2261
2262         Reviewed by Adam Barth.
2263
2264         Change the row converter function signatures to be the same.  Call them via a function
2265         pointer during the encoding loop.  Minor webkit stlye cleanup, remove unused include.
2266
2267         No new tests.  Covered by existing canvas 2d and 3d tests.
2268         canvas/philip/tests/toDataURL.jpeg.alpha.html
2269         fast/canvas/webgl/premultiplyalpha-test.html
2270
2271         * platform/image-encoders/skia/JPEGImageEncoder.cpp:  Remove SkUnPreMultiply.h (not used).
2272         (WebCore::preMultipliedBGRAtoRGB):  Use unsigned char* instead of void* for pixels.
2273         (WebCore::RGBAtoRGB):  pixels & pixelCount to match the preMultipliedBGRAtoRGB() signature.
2274         (WebCore::encodePixels):  Move contants out of the encoding loop: use a function pointer to
2275         call preMultipliedBGRAtoRGB or RGBAtoRGB (now they have identical signatures) during the
2276         image row encoding loop.  Add/use pixelRowStride constant.
2277         (WebCore::JPEGImageEncoder::encode):  webkit style: no need to split lines.
2278
2279 2011-09-05  John Knottenbelt  <jknotten@chromium.org>
2280
2281         Take pageScaleFactor into account for MouseRelatedEvents.
2282         https://bugs.webkit.org/show_bug.cgi?id=67592
2283
2284         Reviewed by Dimitri Glazkov.
2285
2286         Test: fast/events/page-scaled-mouse-click.html
2287
2288         * dom/MouseRelatedEvent.cpp:
2289         (WebCore::MouseRelatedEvent::MouseRelatedEvent):
2290
2291 2011-09-02  Pavel Podivilov  <podivilov@chromium.org>
2292
2293         Web Inspector: rename RawSourceCode.reload to contentEdited.
2294         https://bugs.webkit.org/show_bug.cgi?id=67504
2295
2296         Make RawSourceCode.reload private and remove RawSourceCode.content getter and setter
2297         (RawSourceCode isn't supposed to have any content).
2298
2299         Reviewed by Yury Semikhatsky.
2300
2301         * inspector/front-end/DebuggerPresentationModel.js:
2302         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
2303         (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
2304         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
2305         (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
2306         (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
2307         * inspector/front-end/SourceFile.js:
2308         (WebInspector.RawSourceCode):
2309         (WebInspector.RawSourceCode.prototype.contentEdited):
2310         (WebInspector.RawSourceCode.prototype.forceLoadContent):
2311         (WebInspector.RawSourceCode.prototype._reload):
2312         (WebInspector.RawSourceCode.prototype._didRequestContent):
2313
2314 2011-09-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
2315
2316         Fix the regression of bug 65333 introduced by 60170.
2317         This caused the speech input bubble to appear in the wrong side for RTL text inputs.
2318         https://bugs.webkit.org/show_bug.cgi?id=67597
2319
2320         Reviewed by Tony Gentilcore.
2321
2322         No new tests. Fixing regression.
2323
2324         * html/shadow/TextControlInnerElements.cpp:
2325         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2326
2327 2011-09-05  Alexander Pavlov  <apavlov@chromium.org>
2328
2329         Web Inspector: F5 results in a Web Inspector frontend reload on non-Macs
2330         https://bugs.webkit.org/show_bug.cgi?id=67602
2331
2332         Reviewed by Yury Semikhatsky.
2333
2334         * inspector/front-end/inspector.js:
2335         (WebInspector.documentKeyDown):
2336
2337 2011-09-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2338
2339         Unreviewed, rolling out r94525.
2340         http://trac.webkit.org/changeset/94525
2341         https://bugs.webkit.org/show_bug.cgi?id=67599
2342
2343         WinCE compilation failed. (Requested by loislo on #webkit).
2344
2345         * platform/text/TextBoundaries.cpp:
2346         * platform/text/TextBreakIteratorICU.cpp:
2347         * platform/text/qt/TextBoundariesQt.cpp:
2348         * platform/text/qt/TextBreakIteratorQt.cpp:
2349
2350 2011-09-05  Alexander Færøy  <alexander.faeroy@nokia.com>
2351
2352         [Qt] Compiling using system ICU uses QTextBreakIterator in some cases.
2353         https://bugs.webkit.org/show_bug.cgi?id=67391
2354
2355         Reviewed by Kenneth Rohde Christiansen.
2356
2357         * platform/text/TextBoundaries.cpp:
2358         * platform/text/TextBreakIteratorICU.cpp:
2359         * platform/text/qt/TextBoundariesQt.cpp:
2360         * platform/text/qt/TextBreakIteratorQt.cpp:
2361
2362 2011-09-05  Kaustubh Atrawalkar  <kaustubh@motorola.com>
2363
2364         Logic from HTMLElement::deprecatedCreateContextualFragment moved into
2365         Range::createContextualFragment function.
2366         https://bugs.webkit.org/show_bug.cgi?id=67056
2367
2368         Reviewed by Ryosuke Niwa.
2369
2370         Code Refactoring for deprecatedCreateContextualFragment.
2371
2372         No new tests. Code Re-factoring.
2373
2374         * dom/Element.cpp:
2375         * dom/Element.h:
2376         * dom/Range.cpp:
2377         (WebCore::insertIntoFragment):
2378         (WebCore::Range::createDocumentFragmentForElement):
2379         (WebCore::Range::createContextualFragment):
2380         * dom/Range.h:
2381         * editing/markup.cpp:
2382         (WebCore::createFragmentFromMarkup):
2383         * html/HTMLElement.cpp:
2384         * html/HTMLElement.h:
2385
2386 2011-09-04  James Kozianski  <koz@chromium.org>
2387
2388         Unreviewed, rolling out r94510.
2389         http://trac.webkit.org/changeset/94510
2390         https://bugs.webkit.org/show_bug.cgi?id=66531
2391
2392         Causes layout test crashes.
2393
2394         * dom/Document.cpp:
2395         (WebCore::Document::webkitWillEnterFullScreenForElement):
2396         (WebCore::Document::webkitDidExitFullScreenForElement):
2397         * dom/NodeRenderingContext.cpp:
2398         (WebCore::wrapWithRenderFullScreen):
2399         (WebCore::NodeRendererFactory::createRendererIfNeeded):
2400         * rendering/RenderFullScreen.cpp:
2401         (RenderFullScreen::createFullScreenStyle):
2402         * rendering/RenderFullScreen.h:
2403
2404 2011-09-04  Abhishek Arya  <inferno@chromium.org>
2405
2406         Unreviewed. Compile fix for r94511.
2407
2408         * dom/Range.cpp:
2409         (WebCore::Range::processContents):
2410         (WebCore::Range::processAncestorsAndTheirSiblings):
2411
2412 2011-09-04  Abhishek Arya  <inferno@chromium.org>
2413
2414         Crash in Range::processAncestorsAndTheirSiblings.
2415         https://bugs.webkit.org/show_bug.cgi?id=67556
2416
2417         Reviewed by Ryosuke Niwa.
2418
2419         Create a temporary RefPtr Node vector to keep all the ancestor's
2420         childs so that we don't access removed child nodes.
2421
2422         Test: fast/dom/Range/range-delete-contents-event-fire-crash.html
2423
2424         * dom/Range.cpp:
2425         (WebCore::Range::processContents):
2426         (WebCore::Range::processAncestorsAndTheirSiblings):
2427
2428 2011-09-04  Jeremy Apthorp  <jeremya@google.com>
2429
2430         Don't detach elements from the render tree when entering fullscreen mode
2431         https://bugs.webkit.org/show_bug.cgi?id=66531
2432
2433         This prevents plugin instances from being destroyed and reinstantiated
2434         when entering fullscreen mode.
2435
2436         Reviewed by Darin Fisher.
2437
2438         Test: plugins/fullscreen-plugins-dont-reload.html
2439
2440         * dom/Document.cpp:
2441         (WebCore::Document::webkitWillEnterFullScreenForElement):
2442         (WebCore::Document::webkitDidExitFullScreenForElement):
2443         * dom/NodeRenderingContext.cpp:
2444         (WebCore::NodeRendererFactory::createRendererIfNeeded):
2445         * rendering/RenderFullScreen.cpp:
2446         (createFullScreenStyle):
2447         (RenderFullScreen::wrapRenderer):
2448         (RenderFullScreen::unwrapRenderer):
2449         * rendering/RenderFullScreen.h:
2450
2451 2011-09-04  Dan Bernstein  <mitz@apple.com>
2452
2453         <rdar://problem/10071256> Retain retired custom fonts until the next style recalc
2454
2455         Reviewed by Darin Adler.
2456
2457         Test: fast/css/font-face-used-after-retired.html
2458
2459         During style recalc, existing renderers may reference their old style, including font data.
2460         Allow them to do so safely by keeping retired custom font data around until after style recalc.
2461
2462         * css/CSSFontFace.cpp:
2463         (WebCore::CSSFontFace::retireCustomFont): Added. Calls through to CSSFontSelector, if the font
2464         face is still part of any segmented font face. Otherwise, deletes the custom font data.
2465         * css/CSSFontFace.h:
2466         * css/CSSFontFaceSource.cpp:
2467         (WebCore::CSSFontFaceSource::pruneTable): Changed to call retireCustomFont() instead of deleting
2468         retired font data.
2469         * css/CSSFontSelector.cpp:
2470         (WebCore::CSSFontSelector::retireCustomFont): Added. Calls through to the Document, if this is
2471         still the active font selector for a document. Otherwise, deletes the custom font data.
2472         * css/CSSFontSelector.h:
2473         * css/CSSSegmentedFontFace.cpp:
2474         (WebCore::CSSSegmentedFontFace::pruneTable): Changed to call retireCustomFont() instead of
2475         deleting retired font data.
2476         * dom/Document.cpp:
2477         (WebCore::Document::~Document): Added a call to deleteRetiredCustomFonts(), in case the Document
2478         is destroyed before getting a chance to recalc style after custom fonts have been retired.
2479         (WebCore::Document::recalcStyle): Added a call to deleteRetiredCustomFonts() after style recalc.
2480         (WebCore::Document::deleteRetiredCustomFonts): Added. Deletes all previously-retired custom font
2481         data.
2482         * dom/Document.h:
2483         (WebCore::Document::retireCustomFont): Added.
2484
2485 2011-09-04  Sam Weinig  <sam@webkit.org>
2486
2487         Document.createEvent should support all the interfaces of Event we got
2488         https://bugs.webkit.org/show_bug.cgi?id=67568
2489
2490         Reviewed by Anders Carlsson.
2491
2492         Updated fast/events/event-creation.html
2493
2494         * dom/BeforeLoadEvent.h:
2495         (WebCore::BeforeLoadEvent::create):
2496         (WebCore::BeforeLoadEvent::BeforeLoadEvent):
2497         Added empty create.
2498         
2499         * dom/Document.cpp:
2500         (WebCore::Document::createEvent):
2501         Add missing interfaces.
2502
2503         * dom/HashChangeEvent.h:
2504         (WebCore::HashChangeEvent::create):
2505         (WebCore::HashChangeEvent::HashChangeEvent):
2506         Added empty create.
2507
2508         * page/SpeechInputEvent.cpp:
2509         (WebCore::SpeechInputEvent::create):
2510         (WebCore::SpeechInputEvent::SpeechInputEvent):
2511         (WebCore::SpeechInputEvent::~SpeechInputEvent):
2512         * page/SpeechInputEvent.h:
2513         Added empty create.
2514
2515 2011-09-04  Adam Barth  <abarth@webkit.org>
2516
2517         [Chromium] Add memory threshold values to WebKitPlatformSupport.h
2518         https://bugs.webkit.org/show_bug.cgi?id=67575
2519
2520         Reviewed by Darin Fisher.
2521
2522         Grab these memory thresholds from PlatformSupport rather than hard-coding them.
2523
2524         * bindings/v8/V8GCController.cpp:
2525         (WebCore::V8GCController::checkMemoryUsage):
2526         * platform/chromium/PlatformSupport.h:
2527         * platform/qt/PlatformSupport.h:
2528         (WebCore::PlatformSupport::lowMemoryUsageMB):
2529         (WebCore::PlatformSupport::highMemoryUsageMB):
2530         (WebCore::PlatformSupport::highUsageDeltaMB):
2531
2532 2011-09-04  Kevin Ollivier  <kevino@theolliviers.com>
2533
2534         [wx] Unreviewed build fix. Add new / moved files missing from last commit.
2535
2536         * platform/wx/LocalDC.h: Added.
2537         (WebCore::LocalDC::LocalDC):
2538         (WebCore::LocalDC::context):
2539         (WebCore::LocalDC::~LocalDC):
2540         * platform/wx/wxcode/cairo: Added.
2541         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
2542         (WebCore::pangoFontMap):
2543         (WebCore::createPangoFontForFont):
2544         (WebCore::createScaledFontForFont):
2545         (WebCore::pango_font_get_glyph):
2546         (WebCore::drawTextWithSpacing):
2547         * platform/wx/wxcode/gdiplus: Added.
2548         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
2549         (dmin):
2550         (dmax):
2551         (DegToRad):
2552         (RadToDeg):
2553         (WebCore::drawTextWithSpacing):
2554
2555 2011-09-04  Robin Dunn  <robin@alldunn.com>
2556
2557         [wx] Enable wxWebKit to run using the wxGC Cairo backend on platforms other than GTK.
2558         https://bugs.webkit.org/show_bug.cgi?id=67577
2559
2560         Reviewed by Kevin Ollivier.
2561
2562         * platform/graphics/GlyphBuffer.h:
2563         (WebCore::GlyphBuffer::glyphAt):
2564         (WebCore::GlyphBuffer::add):
2565         * platform/graphics/wx/GraphicsContextWx.cpp:
2566         (WebCore::GraphicsContext::clipOut):
2567         (WebCore::GraphicsContext::clipPath):
2568         * platform/graphics/wx/PathWx.cpp:
2569         (WebCore::Path::Path):
2570         (WebCore::Path::clear):
2571         * platform/graphics/wx/TransformationMatrixWx.cpp:
2572         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
2573         (WebCore::AffineTransform::operator wxGraphicsMatrix):
2574         * platform/image-decoders/wx/ImageDecoderWx.cpp:
2575         (WebCore::ImageFrame::asNewNativeImage):
2576         * platform/wx/ContextMenuWx.cpp:
2577         (ContextMenu::ContextMenu):
2578         * platform/wx/LocalDC.h: Added.
2579         (WebCore::LocalDC::LocalDC):
2580         (WebCore::LocalDC::context):
2581         (WebCore::LocalDC::~LocalDC):
2582         * platform/wx/RenderThemeWx.cpp:
2583         (WebCore::RenderThemeWx::paintButton):
2584         (WebCore::RenderThemeWx::paintTextField):
2585         (WebCore::RenderThemeWx::paintMenuList):
2586         (WebCore::RenderThemeWx::paintMenuListButton):
2587         * platform/wx/ScrollbarThemeWx.cpp:
2588         (WebCore::ScrollbarThemeWx::paint):
2589         * platform/wx/wxcode/cairo: Added.
2590         * platform/wx/wxcode/cairo/non-kerned-drawing.cpp: Added.
2591         (WebCore::pangoFontMap):
2592         (WebCore::createPangoFontForFont):
2593         (WebCore::createScaledFontForFont):
2594         (WebCore::pango_font_get_glyph):
2595         (WebCore::drawTextWithSpacing):
2596         * platform/wx/wxcode/gdiplus: Added.
2597         * platform/wx/wxcode/gdiplus/non-kerned-drawing.cpp: Added.
2598         (dmin):
2599         (dmax):
2600         (DegToRad):
2601         (RadToDeg):
2602         (WebCore::drawTextWithSpacing):
2603         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Removed.
2604         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Removed.
2605         * platform/wx/wxcode/win/scrollbar_render.cpp:
2606         (GraphicsHDC::GraphicsHDC):
2607         (GraphicsHDC::~GraphicsHDC):
2608         (wxRenderer_DrawScrollbar):
2609
2610 2011-09-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2611
2612         REGRESSION (r86268): Fix for qt_networkAccessAllowed()
2613         https://bugs.webkit.org/show_bug.cgi?id=67570
2614
2615         Reviewed by Noam Rosenthal.
2616
2617         No new tests as this change only removes dead code.
2618         Support for Qt 4.6 has  been removed a while back.
2619
2620         * WebCore.pri:
2621         * WebCore.pro:
2622         * features.pri:
2623         * platform/network/NetworkStateNotifier.h:
2624         * platform/network/qt/NetworkStateNotifierQt.cpp:
2625
2626 2011-09-03  Ryosuke Niwa  <rniwa@webkit.org>
2627
2628         REGRESSION(r94274): selection-change-closes-typing.html fails
2629         https://bugs.webkit.org/show_bug.cgi?id=67377
2630
2631         Reviewed by Kent Tamura.
2632
2633         The problem was that when the shadow DOM is updated by setInnerTextValue, WebKit layer detects the selection
2634         change and calls confirmCompositionWithoutDisturbingSelection, which in turn modifies the shadow DOM by
2635         inserting text.
2636
2637         Fixed the bug by not inserting text in confirmCompositionWithoutDisturbingSelection. It turned out that this
2638         function is only used to cancel composition but never to confirming composition and restoring selection.
2639
2640         Test: platform/mac/editing/input/selection-change-closes-typing-2.html
2641
2642         * editing/Editor.cpp:
2643         (WebCore::Editor::confirmCompositionWithoutDisturbingSelection):
2644         (WebCore::Editor::confirmComposition):
2645
2646 2011-09-03  Sam Weinig  <sam@webkit.org>
2647
2648         Add missing Event constructors to DOMWindow.idl
2649         https://bugs.webkit.org/show_bug.cgi?id=67449
2650
2651         Reviewed by Anders Carlsson.
2652
2653         Covered by existing tests.
2654
2655         * page/DOMWindow.idl:
2656
2657 2011-08-27  Robert Hogan  <robert@webkit.org>
2658
2659         div align="center" rendering problem
2660         https://bugs.webkit.org/show_bug.cgi?id=4860
2661
2662         Reviewed by David Hyatt.
2663
2664         When an inline element with absolute position was the sole or first child of a render block with
2665         centred alignment, it wasn't obeying its parent's alignment. However it would obey the
2666         alignment if it was preceded by some text. The problem was that the element's render object
2667         was getting skipped as leading white space, so it was not included in a normal line block in
2668         a bidi run. Instead, its position was getting set by RenderBlockLineLayout::setStaticPositions()
2669         which does not pay attention to alignment. Preceding the element with some text allowed the object
2670         to get included in a Bidi run and so get a linebox which would get properly aligned.
2671
2672         The fix is to get RenderBlockLineLayout::setStaticPositions() to obey the alignment specified by
2673         the object's container. This allows WebKit to get the same result on the test as Firefox and IE.
2674         Opera has the same bug as unpatched WebKit.
2675
2676         Tests: fast/css/bug4860-absolute-block-child-does-not-inherit-alignment.html
2677                - Ensure positioned block elements inherit alignment.
2678                fast/css/bug4860-absolute-inline-child-inherits-alignment.html
2679                - Ensure positioned inline elements inherit alignment.
2680                fast/inline/absolute-positioned-inline-in-centred-block.html
2681                - Ensure positioned inline element that's the sole or first child of a rendered block
2682                  obeys parents alignment.
2683                fast/inline/absolute-positioned-block-in-centred-block.html
2684                - As above, but a positioned block should not inherit alignment.
2685
2686         * rendering/RenderBlock.h:
2687         * rendering/RenderBlockLineLayout.cpp:
2688         (WebCore::RenderBlock::updateLogicalWidthForAlignment):
2689         (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Move the alignment check to updateLogicalWidthForAlignment.
2690         (WebCore::setStaticPositions): use startAlignedOffsetForLine and use startAlignedOffsetForBlock
2691         (WebCore::RenderBlock::startAlignedOffsetForLine): New function, find the aligned offset using updateLogicalWidthForAlignment
2692
2693 2011-09-03  Andreas Kling  <kling@webkit.org>
2694
2695         Remove two unused functions from Element.
2696         https://bugs.webkit.org/show_bug.cgi?id=67492
2697
2698         Reviewed by Benjamin Poulain.
2699
2700         Removed openTagStartToString() and setCStringAttribute() as they are
2701         not called from anywhere.
2702
2703         * dom/Element.cpp:
2704         * dom/Element.h:
2705
2706 2011-09-03  Andrew Wason  <rectalogic@rectalogic.com>
2707
2708         [Qt] Enable support for WebGL OES_standard_derivatives for Qt
2709         https://bugs.webkit.org/show_bug.cgi?id=67430
2710
2711         Reviewed by Noam Rosenthal.
2712
2713         Tested using https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/oes-standard-derivatives.html
2714
2715         Enable existing support for OES_standard_derivatives for Qt.
2716
2717         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2718         (WebCore::Extensions3DOpenGL::ensureEnabled):
2719         (WebCore::Extensions3DOpenGL::isEnabled):
2720
2721 2011-09-03  Yuta Kitamura  <yutak@chromium.org>
2722
2723         WebSocket: Send ArrayBuffer as WebSocket binary message
2724         https://bugs.webkit.org/show_bug.cgi?id=67477
2725
2726         Reviewed by Kent Tamura.
2727
2728         Tests: http/tests/websocket/tests/hybi/send-arraybuffer.html
2729                http/tests/websocket/tests/hybi/workers/send-arraybuffer.html
2730                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
2731
2732         * bindings/js/JSWebSocketCustom.cpp:
2733         (WebCore::JSWebSocket::send):
2734         * bindings/v8/custom/V8WebSocketCustom.cpp:
2735         (WebCore::V8WebSocket::sendCallback):
2736         * websockets/ThreadableWebSocketChannel.h:
2737         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
2738         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2739         (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
2740         (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
2741         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2742         Rename "sent" to "sendRequestResult" to clarify the meaning. Messages from the script may not
2743         be sent immediately, thus the return value of WebSocketChannel::send() indicates whether the
2744         message has been queued successfully, rather than whether the message has been sent or not.
2745         * websockets/WebSocket.cpp:
2746         (WebCore::WebSocket::send):
2747         Case of sending "[object ArrayBuffer]" is covered by an existing test
2748         http/tests/websocket/tests/{hybi,hixie76}/send-object.html.
2749         * websockets/WebSocket.h:
2750         * websockets/WebSocket.idl:
2751         * websockets/WebSocketChannel.cpp:
2752         (WebCore::WebSocketChannel::send):
2753         * websockets/WebSocketChannel.h:
2754         * websockets/WorkerThreadableWebSocketChannel.cpp:
2755         (WebCore::WorkerThreadableWebSocketChannel::send):
2756         (WebCore::workerContextDidSend):
2757         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
2758         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer):
2759         Construct an ArrayBuffer from the data on Vector<char>.
2760         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
2761         Copy the content into temporary buffer of Vector<char>, and send it to the main thread.
2762         * websockets/WorkerThreadableWebSocketChannel.h:
2763
2764 2011-09-02  Kentaro Hara  <haraken@google.com>
2765
2766         Implement a CustomEvent constructor for V8
2767         https://bugs.webkit.org/show_bug.cgi?id=67527
2768
2769         Reviewed by Sam Weinig.
2770
2771         Test: fast/events/constructors/custom-event-constructor.html
2772
2773         * bindings/v8/OptionsObject.h:
2774         (WebCore::OptionsObject::getKeyValue): Returns ScriptValue corresponding to a given key.
2775         * bindings/v8/custom/V8EventConstructors.cpp: Added the CustomEvent constructor.
2776         * dom/CustomEvent.idl: Added a 'V8CustomConstructor' attribute.
2777
2778 2011-09-02  Adrienne Walker  <enne@google.com>
2779
2780         [chromium] Move updateLayers from LayerRendererChromium to CCLayerTreeHost
2781         https://bugs.webkit.org/show_bug.cgi?id=67438
2782
2783         Reviewed by James Robinson.
2784
2785         Covered by existing tests.
2786
2787         Move functionality used by both CCLayerTreeHost and
2788         LayerRendererChromium into CCLayerTreeHostCommon. Move update, paint,
2789         and updateCompositorResource functions into CClayerTreeHost.
2790
2791         * WebCore.gypi:
2792         * platform/graphics/chromium/LayerChromium.cpp:
2793         (WebCore::sortLayers):
2794         * platform/graphics/chromium/LayerChromium.h:
2795         * platform/graphics/chromium/LayerRendererChromium.cpp:
2796         (WebCore::LayerRendererChromium::textureMemoryReclaimLimit):
2797         (WebCore::LayerRendererChromium::drawLayers):
2798         (WebCore::LayerRendererChromium::drawLayersInternal):
2799         * platform/graphics/chromium/LayerRendererChromium.h:
2800         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2801         (WebCore::sortLayers):
2802         * platform/graphics/chromium/cc/CCLayerImpl.h:
2803         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2804         (WebCore::CCLayerTreeHost::commitTo):
2805         (WebCore::CCLayerTreeHost::updateLayers):
2806         (WebCore::paintContentsIfDirty):
2807         (WebCore::CCLayerTreeHost::paintLayerContents):
2808         (WebCore::CCLayerTreeHost::updateCompositorResources):
2809         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2810         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp: Added.
2811         (WebCore::CCLayerTreeHostCommon::isScaleOrTranslation):
2812         (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
2813         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
2814         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h: Added.
2815         (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
2816         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2817         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2818         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2819         (WebCore::CCSingleThreadProxy::commitIfNeeded):
2820
2821 2011-09-02  Chris Marrin  <cmarrin@apple.com>
2822
2823         https://bugs.webkit.org/show_bug.cgi?id=67510
2824         Crash can occur when doing a PlatformCAAnimation::copy() with no valueFunction
2825
2826         Reviewed by Simon Fraser.
2827         
2828         Do a null check in two places to avoid sending nulls to CACF ValueFunction API.
2829
2830         Test: animations/pause-crash.html
2831
2832         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2833         (PlatformCAAnimation::valueFunction):
2834         (PlatformCAAnimation::setValueFunction):
2835
2836 2011-09-02  Bill Budge  <bbudge@chromium.org>
2837
2838         Add a 'didDownloadData' method to ResourceLoader, SubresourceLoader,
2839         SubresourceLoaderClient, DocumentThreadableLoader, ResourceHandleClient,
2840         and ThreadableLoaderClient for the Chromium port only, so we can pass
2841         these notifications from our ResourceHandle implementation through the
2842         WebCore loader framework.
2843         https://bugs.webkit.org/show_bug.cgi?id=67229
2844
2845         Reviewed by Darin Fisher.
2846
2847         No new tests. Exposes no new functionality.
2848
2849         * WebCore.gypi:
2850         * loader/DocumentThreadableLoader.h:
2851         * loader/ResourceLoader.h:
2852         * loader/SubresourceLoader.h:
2853         * loader/SubresourceLoaderClient.h:
2854         (WebCore::SubresourceLoaderClient::didDownloadData):
2855         * loader/ThreadableLoaderClient.h:
2856         (WebCore::ThreadableLoaderClient::didDownloadData):
2857         * loader/ThreadableLoaderClientWrapper.h:
2858         (WebCore::ThreadableLoaderClientWrapper::didDownloadData):
2859         * loader/chromium: Added.
2860         * loader/chromium/DocumentThreadableLoaderChromium.cpp: Added.
2861         (WebCore::DocumentThreadableLoader::didDownloadData):
2862         * loader/chromium/ResourceLoaderChromium.cpp: Added.
2863         (WebCore::ResourceLoader::didDownloadData):
2864         * loader/chromium/SubresourceLoaderChromium.cpp: Added.
2865         (WebCore::SubresourceLoader::didDownloadData):
2866         * platform/network/ResourceHandleClient.h:
2867         (WebCore::ResourceHandleClient::didDownloadData):
2868
2869 2011-09-02  Jeff Miller  <jeffm@apple.com>
2870
2871         Assert that PlatformCALayerWinInternal::displayCallback() is only called on the main thread
2872         https://bugs.webkit.org/show_bug.cgi?id=67541
2873
2874         Reviewed by Simon Fraser.
2875
2876         No new tests, covered by existing media tests.
2877
2878         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
2879         (PlatformCALayerWinInternal::displayCallback): Assert that is function is only called on the main thread.
2880
2881 2011-09-02  Julien Chaffraix  <jchaffraix@webkit.org>
2882
2883         Enable RenderLayer::updateLayerPosition's cachedOffset optimization for more cases
2884         https://bugs.webkit.org/show_bug.cgi?id=66901
2885
2886         Reviewed by Simon Fraser.
2887
2888         Test: fast/layers/assert-RenderLayer-update-positions.html
2889               Also covered by existing tests under the new ASSERT.
2890
2891         This change extends the range of callers making use of the cachedOffset optimization.
2892
2893         Most callers did not make use of cachedOffset as it did not work when called on a subtree.
2894         This limitation is now gone thus we can enable it more widely.
2895
2896         The semantics of the optimization are changed a bit as we now return if it is enabled whereas
2897         the old code would check if it was *disabled*. Also there were some renames done to match more
2898         closely what was going on (s/cachedOffset/offsetFromRoot/ and s/cachedOffsetDisabled/hasLayerOffset/).
2899
2900         Note that this is an optimistic optimization: if cachedOffset is not used, then we have
2901         done at least an extra traversal up to the root. I have found it to be a wash on file
2902         cycler (alexa) but to be a nice improvement (~20%) on some table benchmarks (modifying
2903         a cell, scrolling).
2904
2905         * page/FrameView.cpp:
2906         (WebCore::FrameView::layout): Extended the use of cachedOffset to subtree layouts.
2907         * rendering/RenderBoxModelObject.cpp:
2908         (WebCore::RenderBoxModelObject::styleDidChange): Forbid the use cachedOffset in this
2909         case as we have only a single layer to update.
2910
2911         * rendering/RenderLayer.cpp:
2912         (WebCore::RenderLayer::computeOffsetFromRoot): Added this function to get the offset from the root
2913         layer at a certain point in the RenderLayer's tree. It gets the root layer's checking if no layer
2914         in between would prevent convertToLayerCoords to work and return the position relative to
2915         this layer.
2916
2917         (WebCore::RenderLayer::updateLayerPositions): Added a new ASSERT to make sure our cachedOffset
2918         is always fine. Also added a comment about calling convertToLayerCoords.
2919
2920         (WebCore::RenderLayer::removeOnlyThisLayer): Added cachedOffset here too as we may have to
2921         update several layers. We save the offset prior to being removed from the hierarchy for
2922         correctness.
2923
2924         (WebCore::RenderLayer::paintChildLayerIntoColumns): Added a comment here about calling convertToLayerCoords.
2925
2926         * rendering/RenderLayer.h: Swapped the argument in updateLayerPositions to make
2927         cachedOffset a mandatory field. Patched all the callers.
2928
2929         (WebCore::RenderLayer::canUseConvertToLayerCoords): Added this helper method to know when a
2930         renderer prevents convertToLayerCoords from working. Added some FIXME around suspicious use
2931         of convertToLayerCoords.
2932
2933 2011-08-30  Matthew Delaney  <mdelaney@apple.com>
2934
2935         Read out of bounds in sUnpremultiplyData_RGBA8888 / ImageBufferData::getData
2936         https://bugs.webkit.org/show_bug.cgi?id=65352
2937
2938         Reviewed by Simon Fraser.
2939
2940         New test: fast/canvas/canvas-getImageData-large-crash.html
2941
2942         This patch prevents overflows from happening in getImageData, createImageData, and canvas creation
2943         calls that specify widths and heights that end up overflowing the ints that we store those values in
2944         as well as derived values such as area and maxX / maxY of the bounding rects involved. Overflow of integer
2945         arithmetic is detected via the use of the new Checked type that was introduced in r94207.
2946
2947         * html/HTMLCanvasElement.cpp:
2948         (WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed dependency on ints, using FloatRects/Sizes instead.
2949         (WebCore::HTMLCanvasElement::createImageBuffer): Moved the check for max canvas area and dimensions here.
2950           Added in check that prevents us from having canvases of sizes that will cause overflows.
2951         (WebCore::HTMLCanvasElement::baseTransform): Updated use of convertLogicalToDevice.
2952         * html/HTMLCanvasElement.h: Updated method signatures.
2953         * html/canvas/CanvasRenderingContext2D.cpp:
2954         (WebCore::createEmptyImageData): Added in check to prevent creating ImageData objects that will cause overflow when computing their size.
2955         (WebCore::CanvasRenderingContext2D::createImageData): Avoid creating ImageData objects of size that will overflow later.
2956         (WebCore::CanvasRenderingContext2D::getImageData): Added in check to prevent trying to get ImageData objects that will cause overflow when computing their size.
2957         * platform/graphics/FloatRect.cpp:
2958         (WebCore::FloatRect::isExpressibleAsIntRect): New method that tests whether a FloatRect can become an IntRect without overflow or having to be clamped.
2959         * platform/graphics/FloatRect.h:
2960         * platform/graphics/FloatSize.cpp:
2961         (WebCore::FloatSize::isExpressibleAsIntSize): Same as FloatRect, but for FloatSize->IntSize.
2962         * platform/graphics/FloatSize.h:
2963         * platform/graphics/cg/ImageBufferCG.cpp: Added check for overflow.
2964         (WebCore::ImageBuffer::ImageBuffer):
2965
2966 2011-09-02  Dan Bernstein  <mitz@apple.com>
2967
2968         <rdar://problem/9755843> anonymous RenderMathMLOperator sets itself as the renderer of its parent mfenced node
2969
2970         Reviewed by Darin Adler.
2971
2972         Test: mathml/operator-hijacks-fenced-node.xhtml
2973
2974         * rendering/mathml/RenderMathMLOperator.cpp:
2975         (WebCore::RenderMathMLOperator::updateFromElement): Rather than unconditionally setting the
2976         node’s renderer to this, just restore it to whatever it was before calling destroyLeftoverChildren().
2977
2978 2011-09-02  Mark Hahnenberg  <mhahnenberg@apple.com>
2979
2980         Incorporate newer, faster dtoa library
2981         https://bugs.webkit.org/show_bug.cgi?id=66346
2982
2983         Reviewed by Oliver Hunt.
2984
2985         No new tests.
2986
2987         Added new dtoa library at http://code.google.com/p/double-conversion/.
2988         Replaced old call to dtoa.  The new library is much faster than the old one.
2989         We still use the old dtoa for some stuff in WebCore as well as the old strtod, 
2990         but we can phase these out eventually as well.
2991
2992         * ForwardingHeaders/wtf/dtoa/double-conversion.h: Added.
2993         * WebCore.vcproj/copyForwardingHeaders.cmd:
2994         * css/CSSPrimitiveValue.cpp:
2995         (WebCore::formatNumber):
2996         * html/parser/HTMLParserIdioms.cpp:
2997         (WebCore::serializeForNumberType):
2998         * inspector/InspectorValues.cpp:
2999         (WebCore::InspectorBasicValue::writeJSON):
3000         * platform/graphics/Color.cpp:
3001         (WebCore::Color::serialized):
3002
3003 2011-09-02  Nat Duca  <nduca@chromium.org>
3004
3005         [chromium] Check for null context when reinitializing compositor
3006         https://bugs.webkit.org/show_bug.cgi?id=67507
3007
3008         Reviewed by James Robinson.
3009
3010         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3011         (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
3012
3013 2011-09-02  Sam Weinig  <sam@webkit.org>
3014
3015         Remove BeforeProcessEvent, it was never meant to be
3016         https://bugs.webkit.org/show_bug.cgi?id=67493
3017
3018         Reviewed by Anders Carlsson.
3019
3020         BeforeProcessEvent was added, never hooked up, and never removed.
3021         Now it is being removed.
3022
3023         * CodeGenerators.pri:
3024         * DerivedSources.make:
3025         * GNUmakefile.list.am:
3026         * WebCore.gypi:
3027         * WebCore.pro:
3028         * WebCore.vcproj/WebCore.vcproj:
3029         * WebCore.xcodeproj/project.pbxproj:
3030         * dom/BeforeProcessEvent.cpp: Removed.
3031         * dom/BeforeProcessEvent.h: Removed.
3032         * dom/BeforeProcessEvent.idl: Removed.
3033         * dom/DOMAllInOne.cpp:
3034         * dom/Document.cpp:
3035         (WebCore::Document::addListenerTypeIfNeeded):
3036         * dom/Document.h:
3037         * dom/EventNames.h:
3038         * html/HTMLAttributeNames.in:
3039         * html/HTMLScriptElement.cpp:
3040         (WebCore::HTMLScriptElement::parseMappedAttribute):
3041         * html/HTMLStyleElement.cpp:
3042         (WebCore::HTMLStyleElement::parseMappedAttribute):
3043
3044 2011-09-02  Adrienne Walker  <enne@google.com>
3045
3046         [chromium] Remove LayerRendererChromium references from the LayerChromium tree
3047         https://bugs.webkit.org/show_bug.cgi?id=66430
3048
3049         Reviewed by James Robinson.
3050
3051         Covered by existing tests.
3052
3053         Replace references to LayerRendererChromium in the LayerChromium tree
3054         with references to LayerTreeHost. The LayerRendererChromium property
3055         is no longer synced and instead is set recursively on the CCLayerImpl
3056         tree during commit.
3057
3058         WebGLLayerChromium's paintRenderedResultsToCanvas function is
3059         temporarily turned off for threaded compositing because it needs
3060         access to the compositor context.
3061
3062         Previously, changing the layer renderer on a layer called cleanup
3063         resources on that layer.  Now, call that explicitly clean up all
3064         resources explicitly from the proxy when the layer renderer gets
3065         created. This cleans up all of the ManagedTexture objects which may be
3066         hanging onto stale GraphicsContext3D pointers.
3067
3068         * platform/graphics/chromium/LayerChromium.cpp:
3069         (WebCore::LayerChromium::cleanupResourcesRecursive):
3070         (WebCore::LayerChromium::setLayerTreeHost):
3071         (WebCore::LayerChromium::pushPropertiesTo):
3072         * platform/graphics/chromium/LayerChromium.h:
3073         (WebCore::LayerChromium::layerTreeHost):
3074         * platform/graphics/chromium/LayerRendererChromium.cpp:
3075         (WebCore::LayerRendererChromium::drawLayers):
3076         (WebCore::LayerRendererChromium::paintLayerContents):
3077         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
3078         * platform/graphics/chromium/RenderSurfaceChromium.h:
3079         * platform/graphics/chromium/TiledLayerChromium.cpp:
3080         (WebCore::TiledLayerChromium::TiledLayerChromium):
3081         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
3082         (WebCore::TiledLayerChromium::setLayerTreeHost):
3083         (WebCore::TiledLayerChromium::textureManager):
3084         * platform/graphics/chromium/TiledLayerChromium.h:
3085         * platform/graphics/chromium/VideoLayerChromium.cpp:
3086         (WebCore::VideoLayerChromium::VideoLayerChromium):
3087         (WebCore::VideoLayerChromium::cleanupResources):
3088         (WebCore::VideoLayerChromium::setLayerTreeHost):
3089         (WebCore::VideoLayerChromium::reserveTextures):
3090         * platform/graphics/chromium/VideoLayerChromium.h:
3091         * platform/graphics/chromium/WebGLLayerChromium.cpp:
3092         (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
3093         (WebCore::WebGLLayerChromium::setTextureUpdated):
3094         (WebCore::WebGLLayerChromium::layerRendererContext):
3095         * platform/graphics/chromium/WebGLLayerChromium.h:
3096         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3097         (WebCore::CCLayerImpl::setLayerRendererRecursive):
3098         * platform/graphics/chromium/cc/CCLayerImpl.h:
3099         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3100         (WebCore::CCLayerTreeHost::commitTo):
3101         (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
3102         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3103         (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
3104
3105 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
3106
3107         Build fix.
3108
3109         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
3110         Can't use BUILDING_ON_SNOW_LEOPARD without defined() when not on Snow Leopard.
3111
3112 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3113
3114         Unreviewed, rolling out r94421.
3115         http://trac.webkit.org/changeset/94421
3116         https://bugs.webkit.org/show_bug.cgi?id=67496
3117
3118         Broke a number of tests on Chromium builders (including the
3119         "cr-linux" EWS bot) (Requested by apavlov on #webkit).
3120
3121         * accessibility/AXObjectCache.cpp:
3122         (WebCore::nodeHasRole):
3123         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3124         (webkit_accessible_get_name):
3125         * dom/Document.cpp:
3126         (WebCore::Document::buildAccessKeyMap):
3127         (WebCore::Document::recalcStyleSelector):
3128         * dom/Element.cpp:
3129         (WebCore::Element::baseURI):
3130         (WebCore::Element::formatForDebugger):
3131         (WebCore::Element::spellcheckAttributeState):
3132         * dom/NameNodeList.cpp:
3133         (WebCore::NameNodeList::nodeMatches):
3134         * editing/ApplyStyleCommand.cpp:
3135         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3136         * editing/SplitElementCommand.cpp:
3137         (WebCore::SplitElementCommand::doUnapply):
3138         * editing/markup.cpp:
3139         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
3140         (WebCore::createMarkup):
3141         * html/HTMLAnchorElement.cpp:
3142         (WebCore::HTMLAnchorElement::draggable):
3143         (WebCore::HTMLAnchorElement::href):
3144         (WebCore::HTMLAnchorElement::name):
3145         (WebCore::HTMLAnchorElement::target):
3146         (WebCore::HTMLAnchorElement::sendPings):
3147         (WebCore::HTMLAnchorElement::handleClick):
3148         * html/HTMLAppletElement.cpp:
3149         (WebCore::HTMLAppletElement::createRenderer):
3150         * html/HTMLAreaElement.cpp:
3151         (WebCore::HTMLAreaElement::target):
3152         * html/HTMLBodyElement.cpp:
3153         (WebCore::HTMLBodyElement::aLink):
3154         (WebCore::HTMLBodyElement::bgColor):
3155         (WebCore::HTMLBodyElement::link):
3156         (WebCore::HTMLBodyElement::text):
3157         (WebCore::HTMLBodyElement::vLink):
3158         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
3159         * html/HTMLButtonElement.cpp:
3160         (WebCore::HTMLButtonElement::value):
3161         * html/HTMLCanvasElement.cpp:
3162         (WebCore::HTMLCanvasElement::reset):
3163         * html/HTMLCollection.cpp:
3164         (WebCore::HTMLCollection::checkForNameMatch):
3165         (WebCore::HTMLCollection::updateNameCache):
3166         * html/HTMLDocument.cpp:
3167         (WebCore::HTMLDocument::dir):
3168         * html/HTMLElement.cpp:
3169         (WebCore::HTMLElement::parseMappedAttribute):
3170         (WebCore::HTMLElement::draggable):
3171         (WebCore::HTMLElement::title):
3172         (WebCore::setHasDirAutoFlagRecursively):
3173         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
3174         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
3175         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
3176         * html/HTMLEmbedElement.cpp:
3177         (WebCore::HTMLEmbedElement::updateWidget):
3178         (WebCore::HTMLEmbedElement::insertedIntoDocument):
3179         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
3180         * html/HTMLFormCollection.cpp:
3181         (WebCore::HTMLFormCollection::getNamedFormItem):
3182         (WebCore::HTMLFormCollection::updateNameCache):
3183         * html/HTMLFormControlElement.cpp:
3184         (WebCore::HTMLFormControlElement::autofocus):
3185         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
3186         * html/HTMLFormElement.cpp:
3187         (WebCore::HTMLFormElement::name):
3188         (WebCore::HTMLFormElement::action):
3189         (WebCore::HTMLFormElement::method):
3190         (WebCore::HTMLFormElement::target):
3191         * html/HTMLFrameElement.cpp:
3192         (WebCore::HTMLFrameElement::noResize):
3193         * html/HTMLFrameElementBase.cpp:
3194         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
3195         (WebCore::HTMLFrameElementBase::location):
3196         (WebCore::HTMLFrameElementBase::allowFullScreen):
3197         * html/HTMLHtmlElement.cpp:
3198         (WebCore::HTMLHtmlElement::insertedByParser):
3199         * html/HTMLImageElement.cpp:
3200         (WebCore::HTMLImageElement::altText):
3201         (WebCore::HTMLImageElement::width):
3202         (WebCore::HTMLImageElement::height):
3203         (WebCore::HTMLImageElement::alt):
3204         (WebCore::HTMLImageElement::draggable):
3205         (WebCore::HTMLImageElement::src):
3206         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
3207         * html/HTMLInputElement.cpp:
3208         (WebCore::HTMLInputElement::finishParsingChildren):
3209         (WebCore::HTMLInputElement::altText):
3210         (WebCore::HTMLInputElement::reset):
3211         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
3212         (WebCore::HTMLInputElement::isSpeechEnabled):
3213         * html/HTMLLabelElement.cpp:
3214         (WebCore::HTMLLabelElement::control):
3215         * html/HTMLLinkElement.cpp:
3216         (WebCore::HTMLLinkElement::process):
3217         (WebCore::HTMLLinkElement::href):
3218         (WebCore::HTMLLinkElement::rel):
3219         (WebCore::HTMLLinkElement::target):
3220         (WebCore::HTMLLinkElement::type):
3221         * html/HTMLMapElement.cpp:
3222         (WebCore::HTMLMapElement::imageElement):
3223         * html/HTMLMediaElement.cpp:
3224         (WebCore::HTMLMediaElement::attributeChanged):
3225         (WebCore::HTMLMediaElement::insertedIntoDocument):
3226         * html/HTMLMetaElement.cpp:
3227         (WebCore::HTMLMetaElement::content):
3228         (WebCore::HTMLMetaElement::httpEquiv):
3229         (WebCore::HTMLMetaElement::name):
3230         * html/HTMLMeterElement.cpp:
3231         (WebCore::HTMLMeterElement::min):
3232         (WebCore::HTMLMeterElement::max):
3233         (WebCore::HTMLMeterElement::value):
3234         (WebCore::HTMLMeterElement::low):
3235         (WebCore::HTMLMeterElement::high):
3236         (WebCore::HTMLMeterElement::optimum):
3237         * html/HTMLNameCollection.cpp:
3238         (WebCore::HTMLNameCollection::itemAfter):
3239         * html/HTMLObjectElement.cpp:
3240         (WebCore::HTMLObjectElement::updateWidget):
3241         (WebCore::HTMLObjectElement::containsJavaApplet):
3242         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
3243         * html/HTMLOptGroupElement.cpp:
3244         (WebCore::HTMLOptGroupElement::groupLabelText):
3245         * html/HTMLProgressElement.cpp:
3246         (WebCore::HTMLProgressElement::max):
3247         * html/HTMLScriptElement.cpp:
3248         (WebCore::HTMLScriptElement::sourceAttributeValue):
3249         (WebCore::HTMLScriptElement::charsetAttributeValue):
3250         (WebCore::HTMLScriptElement::typeAttributeValue):
3251         (WebCore::HTMLScriptElement::languageAttributeValue):
3252         (WebCore::HTMLScriptElement::forAttributeValue):
3253         (WebCore::HTMLScriptElement::eventAttributeValue):
3254         * html/HTMLSourceElement.cpp:
3255         (WebCore::HTMLSourceElement::media):
3256         (WebCore::HTMLSourceElement::type):
3257         * html/HTMLStyleElement.cpp:
3258         (WebCore::HTMLStyleElement::media):
3259         (WebCore::HTMLStyleElement::type):
3260         * html/HTMLTableCellElement.cpp:
3261         (WebCore::HTMLTableCellElement::abbr):
3262         (WebCore::HTMLTableCellElement::axis):
3263         (WebCore::HTMLTableCellElement::headers):
3264         (WebCore::HTMLTableCellElement::scope):
3265         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
3266         * html/HTMLTableColElement.cpp:
3267         (WebCore::HTMLTableColElement::width):
3268         * html/HTMLTableElement.cpp:
3269         (WebCore::HTMLTableElement::rules):
3270         (WebCore::HTMLTableElement::summary):
3271         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
3272         * html/HTMLTableSectionElement.cpp:
3273         (WebCore::HTMLTableSectionElement::align):
3274         (WebCore::HTMLTableSectionElement::ch):
3275         (WebCore::HTMLTableSectionElement::chOff):
3276         (WebCore::HTMLTableSectionElement::vAlign):
3277         * html/HTMLTextAreaElement.cpp:
3278         (WebCore::HTMLTextAreaElement::maxLength):
3279         * html/HTMLTextFormControlElement.cpp:
3280         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
3281         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
3282         * html/HTMLTrackElement.cpp:
3283         (WebCore::HTMLTrackElement::src):
3284         (WebCore::HTMLTrackElement::kind):
3285         (WebCore::HTMLTrackElement::srclang):
3286         (WebCore::HTMLTrackElement::label):
3287         (WebCore::HTMLTrackElement::isDefault):
3288         (WebCore::HTMLTrackElement::load):
3289         * html/HTMLVideoElement.cpp:
3290         (WebCore::HTMLVideoElement::width):
3291         (WebCore::HTMLVideoElement::height):
3292         * html/StepRange.cpp:
3293         (WebCore::StepRange::StepRange):
3294         * html/shadow/TextControlInnerElements.cpp:
3295         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
3296         * inspector/InspectorPageAgent.cpp:
3297         (WebCore::InspectorPageAgent::buildObjectForFrame):
3298         * loader/FormSubmission.cpp:
3299         (WebCore::FormSubmission::create):
3300         * loader/ImageLoader.cpp:
3301         (WebCore::ImageLoader::updateFromElement):
3302         * page/Frame.cpp:
3303         (WebCore::Frame::matchLabelsAgainstElement):
3304         * page/PageSerializer.cpp:
3305         (WebCore::PageSerializer::serializeFrame):
3306         * page/mac/FrameMac.mm:
3307         (WebCore::Frame::matchLabelsAgainstElement):
3308         * platform/chromium/ClipboardChromium.cpp:
3309         (WebCore::writeImageToDataObject):
3310         * platform/chromium/PasteboardChromium.cpp:
3311         (WebCore::Pasteboard::writeImage):
3312         * platform/gtk/PasteboardGtk.cpp:
3313         (WebCore::getURLForImageNode):
3314         * platform/mac/HTMLConverter.mm:
3315         (fileWrapperForElement):
3316         * platform/win/ClipboardWin.cpp:
3317         (WebCore::writeImageToDataObject):
3318         (WebCore::ClipboardWin::declareAndWriteDragImage):
3319         * rendering/HitTestResult.cpp:
3320         (WebCore::HitTestResult::altDisplayString):
3321         (WebCore::HitTestResult::absoluteImageURL):
3322         (WebCore::HitTestResult::absoluteLinkURL):
3323         * rendering/RenderDetails.cpp:
3324         (WebCore::RenderDetails::isOpen):
3325         * rendering/RenderMenuList.cpp:
3326         (WebCore::RenderMenuList::itemAccessibilityText):
3327         * rendering/RenderObject.cpp:
3328         (WebCore::RenderObject::addPDFURLRect):
3329         * rendering/RenderTableCell.cpp:
3330         (WebCore::RenderTableCell::computePreferredLogicalWidths):
3331         * rendering/RenderTextControlSingleLine.cpp:
3332         (WebCore::RenderTextControlSingleLine::autosaveName):
3333         * rendering/RenderVideo.cpp:
3334         (WebCore::RenderVideo::calculateIntrinsicSize):
3335         * rendering/mathml/RenderMathMLFenced.cpp:
3336         (WebCore::RenderMathMLFenced::updateFromElement):
3337         * rendering/mathml/RenderMathMLFraction.cpp:
3338         (WebCore::RenderMathMLFraction::updateFromElement):
3339         * rendering/mathml/RenderMathMLOperator.cpp:
3340         (WebCore::RenderMathMLOperator::updateFromElement):
3341         * svg/SVGFontData.cpp:
3342         (WebCore::SVGFontData::applySVGGlyphSelection):
3343
3344 2011-09-02  Alexey Proskuryakov  <ap@apple.com>
3345
3346         REGRESSION (r94093): Private browsing doesn't start with a clean state on Snow Leopard
3347         https://bugs.webkit.org/show_bug.cgi?id=67356
3348
3349         Reviewed by Darin Adler.
3350
3351         * platform/network/mac/CookieStorageMac.mm: (WebCore::setCookieStoragePrivateBrowsingEnabled):
3352         Don't enable old-style private browsing when using sessions - it would take precedence over
3353         session cookie storage on Snow Leopard.
3354
3355 2011-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
3356
3357         BORDER attribute percent with the input image tag not working.
3358         https://bugs.webkit.org/show_bug.cgi?id=66467
3359
3360         Reviewed by Simon Fraser.
3361
3362         This patch fixes 2 issues regarding the border attribute of an input image element.
3363         1. The border attribute, if specified, is now taken into account and the border of the input image element is displayed.
3364         2. If the border attribute contains percent, the border is displayed.
3365         The value of the border attribute for input image element is now parsed according to the rules for parsing non-negative integers.
3366         This implies that when percent is specified in the border attribute, parsing takes place and the percent is ignored.
3367         If after parsing, the value of the border is greater than zero, the border of the input image element is displayed.
3368
3369         * html/HTMLElement.cpp:
3370         (WebCore::parseBorderWidthAttribute):
3371         (WebCore::HTMLElement::applyBorderAttribute):
3372         * html/HTMLElement.h:
3373         * html/HTMLImageElement.cpp:
3374         (WebCore::HTMLImageElement::parseMappedAttribute):
3375         * html/HTMLInputElement.cpp:
3376         (WebCore::HTMLInputElement::parseMappedAttribute):
3377         * html/HTMLObjectElement.cpp:
3378         (WebCore::HTMLObjectElement::parseMappedAttribute):
3379
3380 2011-09-02  Kentaro Hara  <haraken@google.com>
3381
3382         Implement the Event constructor for V8.
3383         https://bugs.webkit.org/show_bug.cgi?id=66756
3384
3385         Reviewed by Adam Barth.
3386
3387         The spec of the Event constructor is here:
3388         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-event-constructor
3389         This patch implements the Event constructor for V8 in V8EventConstructors.cpp,
3390         similar to the implementation for JSC in JSEventConstructors.cpp.
3391
3392         * WebCore.gypi: Added V8EventConstructors.cpp.
3393         * WebCore.pro: Ditto.
3394         * bindings/scripts/CodeGeneratorV8.pm:
3395         * bindings/v8/OptionsObject.cpp:
3396         (WebCore::OptionsObject::getKeyDouble): Returns a value of type double corresponding to a given key.
3397         * bindings/v8/OptionsObject.h:
3398         (WebCore::OptionsObject::getKeyValue): Returns a value corresponding to a given key.
3399         * bindings/v8/custom/V8EventConstructors.cpp: Added.
3400         (WebCore::constructV8Event): AllowAllocation::current() means that a DOM object created by WebCore is going to be just wrapped into a V8 object. In this case, we skip the code of constructorCallback().
3401         * dom/Event.idl: Added |V8CustomConstructor|.
3402
3403 2011-09-02  Anton Muhin  <antonm@chromium.org>
3404
3405         [v8] Use size_t instead of unsigned when iterating over Vector in V8DOMStringMap
3406         https://bugs.webkit.org/show_bug.cgi?id=67484
3407
3408         Reviewed by Yury Semikhatsky.
3409
3410         No new tests, minor cleanup.
3411
3412         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3413         (WebCore::V8DOMStringMap::namedPropertyEnumerator):
3414
3415 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3416
3417         Unreviewed, rolling out r94404.
3418         http://trac.webkit.org/changeset/94404
3419         https://bugs.webkit.org/show_bug.cgi?id=67490
3420
3421         "Patch is wrong, new API needs two reviewers, we are already
3422         working on how to add notifications elsewhere" (Requested by
3423         xan_ on #webkit).
3424
3425         * bindings/gobject/GNUmakefile.am:
3426
3427 2011-09-02  Andreas Kling  <kling@webkit.org>
3428
3429         Use fastGetAttribute() and fastHasAttribute() where appropriate.
3430         https://bugs.webkit.org/show_bug.cgi?id=67394
3431
3432         Reviewed by Darin Adler.
3433
3434         Change call sites that don't check the "style" or SVG animatable
3435         attributes to use fastGetAttribute()/fastHasAttribute() instead
3436         of getAttribute()/hasAttribute().
3437
3438         No new tests, this is a minor performance optimization.
3439
3440         * accessibility/AXObjectCache.cpp:
3441         (WebCore::nodeHasRole):
3442         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3443         (webkit_accessible_get_name):
3444         * dom/Document.cpp:
3445         (WebCore::Document::buildAccessKeyMap):
3446         (WebCore::Document::recalcStyleSelector):
3447         * dom/Element.cpp:
3448         (WebCore::Element::baseURI):
3449         (WebCore::Element::formatForDebugger):
3450         (WebCore::Element::spellcheckAttributeState):
3451         * dom/NameNodeList.cpp:
3452         (WebCore::NameNodeList::nodeMatches):
3453         * editing/ApplyStyleCommand.cpp:
3454         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
3455         * editing/SplitElementCommand.cpp:
3456         (WebCore::SplitElementCommand::doUnapply):
3457         * editing/markup.cpp:
3458         (WebCore::shouldIncludeWrapperForFullySelectedRoot):
3459         (WebCore::createMarkup):
3460         * html/HTMLAnchorElement.cpp:
3461         (WebCore::HTMLAnchorElement::draggable):
3462         (WebCore::HTMLAnchorElement::href):
3463         (WebCore::HTMLAnchorElement::name):
3464         (WebCore::HTMLAnchorElement::target):
3465         (WebCore::HTMLAnchorElement::sendPings):
3466         (WebCore::HTMLAnchorElement::handleClick):
3467         * html/HTMLAppletElement.cpp:
3468         (WebCore::HTMLAppletElement::createRenderer):
3469         * html/HTMLAreaElement.cpp:
3470         (WebCore::HTMLAreaElement::target):
3471         * html/HTMLBodyElement.cpp:
3472         (WebCore::HTMLBodyElement::aLink):
3473         (WebCore::HTMLBodyElement::bgColor):
3474         (WebCore::HTMLBodyElement::link):
3475         (WebCore::HTMLBodyElement::text):
3476         (WebCore::HTMLBodyElement::vLink):
3477         (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
3478         * html/HTMLButtonElement.cpp:
3479         (WebCore::HTMLButtonElement::value):
3480         * html/HTMLCanvasElement.cpp:
3481         (WebCore::HTMLCanvasElement::reset):
3482         * html/HTMLCollection.cpp:
3483         (WebCore::HTMLCollection::checkForNameMatch):
3484         (WebCore::HTMLCollection::updateNameCache):
3485         * html/HTMLDocument.cpp:
3486         (WebCore::HTMLDocument::dir):
3487         * html/HTMLElement.cpp:
3488         (WebCore::HTMLElement::parseMappedAttribute):
3489         (WebCore::HTMLElement::draggable):
3490         (WebCore::HTMLElement::title):
3491         (WebCore::setHasDirAutoFlagRecursively):
3492         (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
3493         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
3494         (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
3495         * html/HTMLEmbedElement.cpp:
3496         (WebCore::HTMLEmbedElement::updateWidget):
3497         (WebCore::HTMLEmbedElement::insertedIntoDocument):
3498         (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
3499         * html/HTMLFormCollection.cpp:
3500         (WebCore::HTMLFormCollection::getNamedFormItem):
3501         (WebCore::HTMLFormCollection::updateNameCache):
3502         * html/HTMLFormControlElement.cpp:
3503         (WebCore::HTMLFormControlElement::autofocus):
3504         (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
3505         * html/HTMLFormElement.cpp:
3506         (WebCore::HTMLFormElement::name):
3507         (WebCore::HTMLFormElement::action):
3508         (WebCore::HTMLFormElement::method):
3509         (WebCore::HTMLFormElement::target):
3510         * html/HTMLFrameElement.cpp:
3511         (WebCore::HTMLFrameElement::noResize):
3512         * html/HTMLFrameElementBase.cpp:
3513         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
3514         (WebCore::HTMLFrameElementBase::location):
3515         (WebCore::HTMLFrameElementBase::allowFullScreen):
3516         * html/HTMLHtmlElement.cpp:
3517         (WebCore::HTMLHtmlElement::insertedByParser):
3518         * html/HTMLImageElement.cpp:
3519         (WebCore::HTMLImageElement::altText):
3520         (WebCore::HTMLImageElement::width):
3521         (WebCore::HTMLImageElement::height):
3522         (WebCore::HTMLImageElement::alt):
3523         (WebCore::HTMLImageElement::draggable):
3524         (WebCore::HTMLImageElement::src):
3525         (WebCore::HTMLImageElement::addSubresourceAttributeURLs):
3526         * html/HTMLInputElement.cpp:
3527         (WebCore::HTMLInputElement::finishParsingChildren):
3528         (WebCore::HTMLInputElement::altText):
3529         (WebCore::HTMLInputElement::reset):
3530         (WebCore::HTMLInputElement::searchEventsShouldBeDispatched):
3531         (WebCore::HTMLInputElement::isSpeechEnabled):
3532         * html/HTMLLabelElement.cpp:
3533         (WebCore::HTMLLabelElement::control):
3534         * html/HTMLLinkElement.cpp:
3535         (WebCore::HTMLLinkElement::process):
3536         (WebCore::HTMLLinkElement::href):
3537         (WebCore::HTMLLinkElement::rel):
3538         (WebCore::HTMLLinkElement::target):
3539         (WebCore::HTMLLinkElement::type):
3540         * html/HTMLMapElement.cpp:
3541         (WebCore::HTMLMapElement::imageElement):
3542         * html/HTMLMediaElement.cpp:
3543         (WebCore::HTMLMediaElement::attributeChanged):
3544         (WebCore::HTMLMediaElement::insertedIntoDocument):
3545         * html/HTMLMetaElement.cpp:
3546         (WebCore::HTMLMetaElement::content):
3547         (WebCore::HTMLMetaElement::httpEquiv):
3548         (WebCore::HTMLMetaElement::name):
3549         * html/HTMLMeterElement.cpp:
3550         (WebCore::HTMLMeterElement::min):
3551         (WebCore::HTMLMeterElement::max):
3552         (WebCore::HTMLMeterElement::value):
3553         (WebCore::HTMLMeterElement::low):
3554         (WebCore::HTMLMeterElement::high):
3555         (WebCore::HTMLMeterElement::optimum):
3556         * html/HTMLNameCollection.cpp:
3557         (WebCore::HTMLNameCollection::itemAfter):
3558         * html/HTMLObjectElement.cpp:
3559         (WebCore::HTMLObjectElement::updateWidget):
3560         (WebCore::HTMLObjectElement::containsJavaApplet):
3561         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
3562         * html/HTMLOptGroupElement.cpp:
3563         (WebCore::HTMLOptGroupElement::groupLabelText):
3564         * html/HTMLProgressElement.cpp:
3565         (WebCore::HTMLProgressElement::max):
3566         * html/HTMLScriptElement.cpp:
3567         (WebCore::HTMLScriptElement::sourceAttributeValue):
3568         (WebCore::HTMLScriptElement::charsetAttributeValue):
3569         (WebCore::HTMLScriptElement::typeAttributeValue):
3570         (WebCore::HTMLScriptElement::languageAttributeValue):
3571         (WebCore::HTMLScriptElement::forAttributeValue):
3572         (WebCore::HTMLScriptElement::eventAttributeValue):
3573         * html/HTMLSourceElement.cpp:
3574         (WebCore::HTMLSourceElement::media):
3575         (WebCore::HTMLSourceElement::type):
3576         * html/HTMLStyleElement.cpp:
3577         (WebCore::HTMLStyleElement::media):
3578         (WebCore::HTMLStyleElement::type):
3579         * html/HTMLTableCellElement.cpp:
3580         (WebCore::HTMLTableCellElement::abbr):
3581         (WebCore::HTMLTableCellElement::axis):
3582         (WebCore::HTMLTableCellElement::headers):
3583         (WebCore::HTMLTableCellElement::scope):
3584         (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
3585         * html/HTMLTableColElement.cpp:
3586         (WebCore::HTMLTableColElement::width):
3587         * html/HTMLTableElement.cpp:
3588         (WebCore::HTMLTableElement::rules):
3589         (WebCore::HTMLTableElement::summary):
3590         (WebCore::HTMLTableElement::addSubresourceAttributeURLs):
3591         * html/HTMLTableSectionElement.cpp:
3592         (WebCore::HTMLTableSectionElement::align):
3593         (WebCore::HTMLTableSectionElement::ch):
3594         (WebCore::HTMLTableSectionElement::chOff):
3595         (WebCore::HTMLTableSectionElement::vAlign):
3596         * html/HTMLTextAreaElement.cpp:
3597         (WebCore::HTMLTextAreaElement::maxLength):
3598         * html/HTMLTextFormControlElement.cpp:
3599         (WebCore::HTMLTextFormControlElement::strippedPlaceholder):
3600         (WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
3601         * html/HTMLTrackElement.cpp:
3602         (WebCore::HTMLTrackElement::src):
3603         (WebCore::HTMLTrackElement::kind):
3604         (WebCore::HTMLTrackElement::srclang):
3605         (WebCore::HTMLTrackElement::label):
3606         (WebCore::HTMLTrackElement::isDefault):
3607         (WebCore::HTMLTrackElement::load):
3608         * html/HTMLVideoElement.cpp:
3609         (WebCore::HTMLVideoElement::width):
3610         (WebCore::HTMLVideoElement::height):
3611         * html/StepRange.cpp:
3612         (WebCore::StepRange::StepRange):
3613         * html/shadow/TextControlInnerElements.cpp:
3614         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
3615         * inspector/InspectorPageAgent.cpp:
3616         (WebCore::InspectorPageAgent::buildObjectForFrame):
3617         * loader/FormSubmission.cpp:
3618         (WebCore::FormSubmission::create):
3619         * loader/ImageLoader.cpp:
3620         (WebCore::ImageLoader::updateFromElement):
3621         * page/Frame.cpp:
3622         (WebCore::Frame::matchLabelsAgainstElement):
3623         * page/PageSerializer.cpp:
3624         (WebCore::PageSerializer::serializeFrame):
3625         * page/mac/FrameMac.mm:
3626         (WebCore::Frame::matchLabelsAgainstElement):
3627         * platform/chromium/ClipboardChromium.cpp:
3628         (WebCore::writeImageToDataObject):
3629         * platform/chromium/PasteboardChromium.cpp:
3630         (WebCore::Pasteboard::writeImage):
3631         * platform/gtk/PasteboardGtk.cpp:
3632         (WebCore::getURLForImageNode):
3633         * platform/mac/HTMLConverter.mm:
3634         (fileWrapperForElement):
3635         * platform/win/ClipboardWin.cpp:
3636         (WebCore::writeImageToDataObject):
3637         (WebCore::ClipboardWin::declareAndWriteDragImage):
3638         * rendering/HitTestResult.cpp:
3639         (WebCore::HitTestResult::altDisplayString):
3640         (WebCore::HitTestResult::absoluteImageURL):
3641         (WebCore::HitTestResult::absoluteLinkURL):
3642         * rendering/RenderDetails.cpp:
3643         (WebCore::RenderDetails::isOpen):
3644         * rendering/RenderMenuList.cpp:
3645         (WebCore::RenderMenuList::itemAccessibilityText):
3646         * rendering/RenderObject.cpp:
3647         (WebCore::RenderObject::addPDFURLRect):
3648         * rendering/RenderTableCell.cpp:
3649         (WebCore::RenderTableCell::computePreferredLogicalWidths):
3650         * rendering/RenderTextControlSingleLine.cpp:
3651         (WebCore::RenderTextControlSingleLine::autosaveName):
3652         * rendering/RenderVideo.cpp:
3653         (WebCore::RenderVideo::calculateIntrinsicSize):
3654         * rendering/mathml/RenderMathMLFenced.cpp:
3655         (WebCore::RenderMathMLFenced::updateFromElement):
3656         * rendering/mathml/RenderMathMLFraction.cpp:
3657         (WebCore::RenderMathMLFraction::updateFromElement):
3658         * rendering/mathml/RenderMathMLOperator.cpp:
3659         (WebCore::RenderMathMLOperator::updateFromElement):
3660         * svg/SVGFontData.cpp:
3661         (WebCore::SVGFontData::applySVGGlyphSelection):
3662
3663 2011-09-01  David Hyatt  <hyatt@apple.com>
3664
3665         https://bugs.webkit.org/show_bug.cgi?id=67431
3666         
3667         Implement border-image-repeat. Similar to how border-image-slice was implemented, the parsing of the two
3668         repeat values has been moved into separate functions. The value is represented as a Pair (similar to how we
3669         handle border radius).
3670
3671         Reviewed by Beth Dakin.
3672
3673         Added fast/borders/border-image-repeat.html.
3674
3675         * css/CSSBorderImageValue.cpp:
3676         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
3677         (WebCore::CSSBorderImageValue::cssText):
3678         * css/CSSBorderImageValue.h:
3679         (WebCore::CSSBorderImageValue::create):
3680         Modified the CSSBorderImageValue (you're living on borrowed time, my friend!) to have a CSSValue that
3681         contains a Pair.
3682
3683         * css/CSSComputedStyleDeclaration.cpp:
3684         (WebCore::valueForRepeatRule):
3685         (WebCore::valueForNinePieceImageRepeat):
3686         (WebCore::valueForNinePieceImage):
3687         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3688         Add support for the new properties. Break out the value retrieval for the image repeat rules into its
3689         own function, valueForNinePieceImageRepeat.
3690
3691         * css/CSSParser.cpp:
3692         (WebCore::CSSParser::parseValue):
3693         (WebCore::BorderImageParseContext::BorderImageParseContext):
3694         (WebCore::BorderImageParseContext::allowRepeat):
3695         (WebCore::BorderImageParseContext::commitSlice):
3696         (WebCore::BorderImageParseContext::commitSlash):
3697         (WebCore::BorderImageParseContext::commitWidth):
3698         (WebCore::BorderImageParseContext::commitRepeat):
3699         (WebCore::BorderImageParseContext::commitBorderImage):
3700         (WebCore::CSSParser::parseBorderImage):
3701         Modified the parsing of border image to call into parseBorderImageRepeat for the repeat values.
3702
3703         (WebCore::isBorderImageRepeatKeyword):
3704         (WebCore::CSSParser::parseBorderImageRepeat):
3705         The new parsing code for border-image-repeat is here. It will build up a CSSValue containing a Pair and
3706         return the result.
3707
3708         * css/CSSParser.h:
3709         * css/CSSPropertyNames.in:
3710         Add the new properties.
3711
3712         * css/CSSStyleSelector.cpp:
3713         (WebCore::CSSStyleSelector::applyProperty):
3714         (WebCore::CSSStyleSelector::mapNinePieceImage):
3715         (WebCore::CSSStyleSelector::mapNinePieceImageRepeat):
3716         * css/CSSStyleSelector.h:
3717         The mapping into the front end is done the same way as border-image-slice. Factor out the image repeat rules
3718         portion into mapNinePieceImageRepeat.
3719
3720         * platform/graphics/Image.cpp:
3721         (WebCore::Image::drawTiled):
3722         * platform/graphics/Image.h:
3723         Add the new 'space' value as a valid image tiling rule. It's not yet supported and, like the 'round' value,
3724         is just mapped to 'repeat' for now.
3725         
3726         * rendering/style/NinePieceImage.h:
3727         (WebCore::NinePieceImage::copyRepeatFrom):
3728         Helper for copying only the repeat rules from another NinePieceImage.
3729
3730 2011-09-02  Jarred Nicholls  <jarred@sencha.com>
3731
3732         [Qt] number input not rendering spin buttons properly in RTL direction
3733         https://bugs.webkit.org/show_bug.cgi?id=67445
3734         
3735         Properly render Qt's number input with RTL direction, and fix Plastique styling.
3736
3737         Reviewed by Andreas Kling.
3738
3739         * platform/qt/RenderThemeQt.cpp:
3740         (WebCore::RenderThemeQt::paintInnerSpinButton):
3741
3742 2011-09-02  Arko Saha  <nghq36@motorola.com>
3743
3744         Resetting media controls when the src is changed from a valid url to an
3745         invalid url.
3746         https://bugs.webkit.org/show_bug.cgi?id=64880
3747
3748         Reviewed by Eric Carlson.
3749
3750         Test: media/media-controls-invalid-url.html
3751
3752         * html/HTMLMediaElement.cpp:
3753         (WebCore::HTMLMediaElement::mediaLoadingFailed):
3754
3755 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
3756
3757         Web Inspector: Make it more clear when requests are loaded from cache on network panel.
3758         https://bugs.webkit.org/show_bug.cgi?id=67396
3759
3760         Reviewed by Pavel Feldman.
3761
3762         * inspector/front-end/NetworkPanel.js:
3763         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
3764         * inspector/front-end/ResourceHeadersView.js:
3765         (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
3766         * inspector/front-end/networkPanel.css:
3767         (.resource-headers-view .outline-disclosure li .status-from-cache):
3768
3769 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
3770
3771         Web Inspector: Should remove resource highlight on sort/filter in network panel.
3772         https://bugs.webkit.org/show_bug.cgi?id=67411
3773
3774         Reviewed by Pavel Feldman.
3775
3776         * inspector/front-end/NetworkPanel.js:
3777         (WebInspector.NetworkLogView.prototype._sortItems):
3778         (WebInspector.NetworkLogView.prototype._sortByTimeline):
3779         (WebInspector.NetworkLogView.prototype._updateFilter):
3780
3781 2011-09-02  Vsevolod Vlasov  <vsevik@chromium.org>
3782
3783         Web Inspector: Network: jump to initiator's record in case of redirect
3784         https://bugs.webkit.org/show_bug.cgi?id=67367
3785
3786         Reviewed by Pavel Feldman.
3787
3788         * English.lproj/localizedStrings.js:
3789         * inspector/front-end/NetworkManager.js:
3790         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
3791         * inspector/front-end/NetworkPanel.js:
3792         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
3793         * inspector/front-end/Resource.js:
3794         (WebInspector.Resource.prototype.get redirectSource):
3795         (WebInspector.Resource.prototype.set redirectSource):
3796
3797 2011-09-02  Antti Koivisto  <antti@apple.com>
3798
3799         De-virtualize recalcStyle()
3800         https://bugs.webkit.org/show_bug.cgi?id=67378
3801
3802         Reviewed by Dimitri Glazkov.
3803
3804         Element::recalcStyle() does not need to be virtual, there are very few legit overrides. This will
3805         also make it possible to de-recursify it later.
3806         
3807         Added willRecalcStyle()/didRecalcStyle() virtual function for subclasses that need custom style recalc.
3808         These are only invoked if hasCustomWillOrDidRecalcStyle() bit is set.
3809
3810         * dom/Document.cpp:
3811         (WebCore::Document::recalcStyle):
3812         * dom/Document.h:
3813         * dom/Element.cpp:
3814         (WebCore::Element::recalcStyle):
3815         * dom/Element.h:
3816         (WebCore::Element::willRecalcStyle):
3817         (WebCore::Element::didRecalcStyle):
3818         * dom/Node.h:
3819         (WebCore::Node::hasCustomWillOrDidRecalcStyle):
3820         (WebCore::Node::setHasCustomWillOrDidRecalcStyle):
3821         * dom/ShadowRoot.cpp:
3822         (WebCore::ShadowRoot::recalcShadowTreeStyle):
3823         * dom/ShadowRoot.h:
3824         * dom/Text.cpp:
3825         (WebCore::Text::recalcTextStyle):
3826         * dom/Text.h:
3827         * html/HTMLFormControlElement.cpp:
3828         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
3829         (WebCore::HTMLFormControlElement::didRecalcStyle):
3830         * html/HTMLFormControlElement.h:
3831         * html/HTMLFrameSetElement.cpp:
3832         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
3833         (WebCore::HTMLFrameSetElement::willRecalcStyle):
3834         * html/HTMLFrameSetElement.h:
3835         * html/HTMLMediaElement.cpp:
3836         (WebCore::HTMLMediaElement::HTMLMediaElement):
3837         (WebCore::HTMLMediaElement::didRecalcStyle):
3838         * html/HTMLMediaElement.h:
3839         * html/HTMLNoScriptElement.cpp:
3840         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
3841         (WebCore::HTMLNoScriptElement::willRecalcStyle):
3842         * html/HTMLNoScriptElement.h:
3843         * html/HTMLPlugInImageElement.cpp:
3844         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
3845         (WebCore::HTMLPlugInImageElement::willRecalcStyle):
3846         * html/HTMLPlugInImageElement.h:
3847         * html/HTMLSelectElement.cpp:
3848         * html/HTMLSelectElement.h:
3849         * svg/SVGTRefElement.cpp:
3850         (WebCore::SVGTRefElement::SVGTRefElement):
3851         (WebCore::SVGShadowText::willRecalcStyle):
3852         * svg/SVGUseElement.cpp:
3853         (WebCore::SVGUseElement::SVGUseElement):
3854         (WebCore::SVGUseElement::willRecalcStyle):
3855         (WebCore::SVGUseElement::didRecalcStyle):
3856         * svg/SVGUseElement.h:
3857
3858 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
3859
3860         WebSocket: Send Blob as WebSocket binary message
3861         https://bugs.webkit.org/show_bug.cgi?id=67465
3862
3863         Reviewed by Kent Tamura.
3864
3865         Re-lands r94399 with a fix for Leopard builds.
3866
3867         * bindings/js/JSWebSocketCustom.cpp:
3868         (WebCore::JSWebSocket::send):
3869         * bindings/v8/custom/V8WebSocketCustom.cpp:
3870         (WebCore::V8WebSocket::sendCallback):
3871         * websockets/ThreadableWebSocketChannel.h:
3872         * websockets/WebSocket.cpp:
3873         (WebCore::WebSocket::send):
3874         * websockets/WebSocket.h:
3875         * websockets/WebSocket.idl:
3876         * websockets/WebSocketChannel.cpp:
3877         (WebCore::WebSocketChannel::send):
3878         * websockets/WebSocketChannel.h:
3879         * websockets/WorkerThreadableWebSocketChannel.cpp:
3880         (WebCore::WorkerThreadableWebSocketChannel::send):
3881         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
3882         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
3883         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
3884         * websockets/WorkerThreadableWebSocketChannel.h:
3885
3886 2011-09-02  Patrick Gansterer  <paroga@webkit.org>
3887
3888         [GTK] Generate gobject bindings for Notification and NotificationCenter
3889         https://bugs.webkit.org/show_bug.cgi?id=67380
3890
3891         Reviewed by Philippe Normand.
3892
3893         * bindings/gobject/GNUmakefile.am:
3894
3895 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
3896
3897         [chromium] editing/selection/regional-indicators.html timing out on Linux
3898         https://bugs.webkit.org/show_bug.cgi?id=66510
3899
3900         Reviewed by Kent Tamura.
3901
3902         Uses SurrogatePairAwareTextIerator in ComplexTextControllerLinux to handle surrogate pairs correctly.
3903
3904         No new tests. editing/selection/regional-indicators.html should pass with this patch.
3905
3906         * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
3907         (WebCore::ComplexTextController::nextScriptRun): Used SurrogatePairAwareTextIterator to split run.
3908         (WebCore::surrogatePairAwareFirstCharacter): Added.
3909         (WebCore::ComplexTextController::setupFontForScriptRun): Used surrogatePairAwareFirstCharacter() to get appropriate FontData.
3910
3911 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3912
3913         Unreviewed, rolling out r94399.
3914         http://trac.webkit.org/changeset/94399
3915         https://bugs.webkit.org/show_bug.cgi?id=67471
3916
3917         Broke Leopard build (Requested by yutak on #webkit).
3918
3919         * bindings/js/JSWebSocketCustom.cpp:
3920         * bindings/v8/custom/V8WebSocketCustom.cpp:
3921         * websockets/ThreadableWebSocketChannel.h:
3922         * websockets/WebSocket.cpp:
3923         * websockets/WebSocket.h:
3924         * websockets/WebSocket.idl:
3925         * websockets/WebSocketChannel.cpp:
3926         (WebCore::WebSocketChannel::send):
3927         * websockets/WebSocketChannel.h:
3928         * websockets/WorkerThreadableWebSocketChannel.cpp:
3929         * websockets/WorkerThreadableWebSocketChannel.h:
3930
3931 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3932
3933         Unreviewed, rolling out r94393.
3934         http://trac.webkit.org/changeset/94393
3935         https://bugs.webkit.org/show_bug.cgi?id=67470
3936
3937         It broke Qt-SL build (Requested by ossy on #webkit).
3938
3939         * WebCore.pro:
3940
3941 2011-09-02  Kenichi Ishibashi  <bashi@chromium.org>
3942
3943         [Chromium] Webfonts display bold in Windows
3944         https://bugs.webkit.org/show_bug.cgi?id=67387
3945
3946         Uses font's default weight for webfonts by setting FW_DONTCARE.
3947
3948         Reviewed by Kent Tamura.
3949
3950         No new tests. We don't have fonts to test this change.
3951
3952         * platform/graphics/skia/FontCustomPlatformData.cpp:
3953         (WebCore::FontCustomPlatformData::fontPlatformData): Sets FW_DONTCARE to use default font weight.
3954
3955 2011-09-02  Yuta Kitamura  <yutak@chromium.org>
3956
3957         WebSocket: Send Blob as WebSocket binary message
3958         https://bugs.webkit.org/show_bug.cgi?id=67465
3959
3960         Reviewed by Kent Tamura.
3961
3962         Tests: http/tests/websocket/tests/hixie76/send-empty.html
3963                http/tests/websocket/tests/hixie76/send-object.html
3964                http/tests/websocket/tests/hybi/send-blob.html
3965                http/tests/websocket/tests/hybi/send-empty.html
3966                http/tests/websocket/tests/hybi/send-file-blob-fail.html
3967                http/tests/websocket/tests/hybi/send-file-blob.html
3968                http/tests/websocket/tests/hybi/workers/send-blob.html
3969                http/tests/websocket/tests/hybi/bufferedAmount-after-close.html (updated)
3970
3971         * bindings/js/JSWebSocketCustom.cpp:
3972         (WebCore::JSWebSocket::send):
3973         * bindings/v8/custom/V8WebSocketCustom.cpp:
3974         (WebCore::V8WebSocket::sendCallback):
3975         * websockets/ThreadableWebSocketChannel.h:
3976         * websockets/WebSocket.cpp:
3977         (WebCore::WebSocket::send):
3978         * websockets/WebSocket.h:
3979         * websockets/WebSocket.idl:
3980         Fixing code generator did not sound easy, because there are some classes depending on
3981         broken behavior of current code generator (one such example is CanvasRenderingContext2D).
3982         As a temporary workaround, new custom handlers for send() are added.
3983         * websockets/WebSocketChannel.cpp:
3984         (WebCore::WebSocketChannel::send):
3985         * websockets/WebSocketChannel.h:
3986         * websockets/WorkerThreadableWebSocketChannel.cpp:
3987         (WebCore::WorkerThreadableWebSocketChannel::send):
3988         (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
3989         (WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob):
3990         A Blob can be deserialized from url, type and size.
3991         (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
3992         KURL, String and long long (corresponding to url, type and size, respectively) can be passed
3993         safely across threads.
3994         * websockets/WorkerThreadableWebSocketChannel.h:
3995
3996 2011-09-02  Philippe Normand  <pnormand@igalia.com>
3997
3998         [WebAudio] Undeclared dependency to VIDEO
3999         https://bugs.webkit.org/show_bug.cgi?id=66893
4000
4001         Reviewed by Kenneth Russell.
4002
4003         Build MediaAudioSourceNode only if VIDEO is enabled
4004
4005         * webaudio/AudioContext.cpp:
4006         * webaudio/AudioContext.h:
4007         * webaudio/AudioContext.idl:
4008         * webaudio/MediaElementAudioSourceNode.cpp:
4009         * webaudio/MediaElementAudioSourceNode.h:
4010         * webaudio/MediaElementAudioSourceNode.idl:
4011
4012 2011-09-02  Csaba Osztrogonác  <ossy@webkit.org>
4013
4014         [Qt][WK2] Unreviewed speculative buildfix.
4015
4016         * WebCore.pro: Add platform/graphics/GlyphPageTreeNode.cpp to SOURCES.
4017
4018 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
4019
4020         Unreviewed, rolling out r94389.
4021         http://trac.webkit.org/changeset/94389
4022         https://bugs.webkit.org/show_bug.cgi?id=67468
4023
4024         breaks mac build (Requested by philn-tp on #webkit).
4025
4026         * webaudio/AudioContext.cpp:
4027         (WebCore::AudioContext::createMediaElementSource):
4028         * webaudio/AudioContext.h:
4029         * webaudio/AudioContext.idl:
4030         * webaudio/MediaElementAudioSourceNode.cpp:
4031         * webaudio/MediaElementAudioSourceNode.h:
4032         * webaudio/MediaElementAudioSourceNode.idl:
4033
4034 2011-09-02  Kentaro Hara  <haraken@google.com>
4035
4036         Generate an EventSource constructor of V8 using the IDL 'Constructor' extended attribute
4037         https://bugs.webkit.org/show_bug.cgi?id=67459