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