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