b9a57e8acc1913f9f1edebdee2b9ed45aa4322b9
[WebKit-https.git] / WebCore / ChangeLog
1 2010-02-08  Dirk Schulze  <krit@webkit.org>
2
3         Unreviewed windows build-fix.
4
5         * page/win/FrameCGWin.cpp:
6         (WebCore::drawRectIntoContext):
7
8 2010-02-08  Dirk Schulze  <krit@webkit.org>
9
10         Reviewed by Nikolas Zimmermann.
11
12         Add back an AffineTransform class for use by SVG
13         https://bugs.webkit.org/show_bug.cgi?id=33750
14
15         This adds back AffineTransform. This saves additional 4% memory consumption
16         on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721
17         It also makes it possible to optimize the calculations internally of
18         AffineTransform to the needs of 2D transformations (the second benefit for SVG,
19         which uses transformations relative often at the moment.
20         Everything that is 2D related (like images, patterns, gradients, fonts), uses
21         AffineTransform now.
22
23         * WebCore.xcodeproj/project.pbxproj:
24         * bindings/js/JSSVGMatrixCustom.cpp:
25         (WebCore::JSSVGMatrix::multiply):
26         (WebCore::JSSVGMatrix::inverse):
27         (WebCore::JSSVGMatrix::rotateFromVector):
28         * bindings/js/JSSVGPODTypeWrapper.h:
29         * bindings/scripts/CodeGeneratorJS.pm:
30         * bindings/scripts/CodeGeneratorObjC.pm:
31         * bindings/scripts/CodeGeneratorV8.pm:
32         * bindings/v8/V8Index.h:
33         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
34         (WebCore::V8SVGMatrix::multiplyCallback):
35         (WebCore::V8SVGMatrix::inverseCallback):
36         (WebCore::V8SVGMatrix::rotateFromVectorCallback):
37         * html/HTMLCanvasElement.cpp: Changed to AffineTransform now
38         (WebCore::HTMLCanvasElement::baseTransform):
39         * html/HTMLCanvasElement.h:
40         * platform/graphics/FloatPoint.cpp:
41         (WebCore::FloatPoint::matrixTransform):
42         * platform/graphics/FloatPoint.h:
43         * platform/graphics/GeneratedImage.cpp:
44         (WebCore::GeneratedImage::drawPattern):
45         * platform/graphics/GeneratedImage.h:
46         * platform/graphics/Gradient.cpp:
47         (WebCore::Gradient::setGradientSpaceTransform):
48         (WebCore::Gradient::setPlatformGradientSpaceTransform):
49         * platform/graphics/Gradient.h:
50         (WebCore::Gradient::gradientSpaceTransform):
51         * platform/graphics/GraphicsContext.h:
52         * platform/graphics/Image.cpp:
53         (WebCore::Image::drawTiled):
54         * platform/graphics/Image.h:
55         * platform/graphics/ImageBuffer.h:
56         (WebCore::ImageBuffer::baseTransform):
57         * platform/graphics/Path.h:
58         * platform/graphics/Pattern.cpp:
59         (WebCore::Pattern::setPatternSpaceTransform):
60         * platform/graphics/Pattern.h:
61         (WebCore::Pattern::create):
62         (WebCore::Pattern::tileImage):
63         * platform/graphics/cairo/FontCairo.cpp:
64         (WebCore::Font::drawGlyphs):
65         * platform/graphics/cairo/GraphicsContextCairo.cpp:
66         (WebCore::setPlatformFill):
67         (WebCore::setPlatformStroke):
68         (WebCore::GraphicsContext::getCTM):
69         * platform/graphics/cairo/ImageCairo.cpp:
70         (WebCore::Image::drawPattern):
71         * platform/graphics/cairo/PathCairo.cpp:
72         * platform/graphics/cairo/PatternCairo.cpp:
73         (WebCore::Pattern::createPlatformPattern):
74         * platform/graphics/cg/GraphicsContextCG.cpp:
75         (WebCore::GraphicsContext::getCTM):
76         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
77         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
78         * platform/graphics/cg/ImageCG.cpp:
79         (WebCore::Image::drawPattern):
80         * platform/graphics/cg/PathCG.cpp:
81         * platform/graphics/cg/PatternCG.cpp:
82         (WebCore::Pattern::createPlatformPattern):
83         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
84         (WebCore::GraphicsContext::getCTM):
85         * platform/graphics/haiku/ImageHaiku.cpp:
86         (WebCore::Image::drawPattern):
87         * platform/graphics/haiku/PathHaiku.cpp:
88         * platform/graphics/qt/FontQt.cpp:
89         (WebCore::Font::drawComplexText):
90         * platform/graphics/qt/GraphicsContextQt.cpp:
91         (WebCore::GraphicsContext::getCTM):
92         (WebCore::GraphicsContext::fillPath):
93         (WebCore::GraphicsContext::strokePath):
94         (WebCore::GraphicsContext::fillRect):
95         * platform/graphics/qt/ImageQt.cpp:
96         (WebCore::Image::drawPattern):
97         * platform/graphics/qt/PathQt.cpp:
98         * platform/graphics/qt/PatternQt.cpp:
99         (WebCore::Pattern::createPlatformPattern):
100         * platform/graphics/skia/GradientSkia.cpp:
101         (WebCore::Gradient::setPlatformGradientSpaceTransform):
102         * platform/graphics/skia/GraphicsContextSkia.cpp:
103         (WebCore::GraphicsContext::getCTM):
104         * platform/graphics/skia/ImageSkia.cpp:
105         (WebCore::Image::drawPattern):
106         * platform/graphics/skia/PathSkia.cpp:
107         * platform/graphics/skia/PatternSkia.cpp:
108         (WebCore::Pattern::platformPattern):
109         * platform/graphics/skia/SkiaFontWin.cpp:
110         (WebCore::windowsCanHandleTextDrawing):
111         * platform/graphics/transforms/AffineTransform.cpp:
112         (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore
113         (WebCore::AffineTransform::scale): Didn't scale the complete matrix
114         (WebCore::AffineTransform::translate): Didn't respect other transformations
115         (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices
116         (WebCore::AffineTransform::map):
117         (WebCore::AffineTransform::mapPoint):
118         (WebCore::AffineTransform::mapRect):
119         * platform/graphics/transforms/AffineTransform.h:
120         (WebCore::AffineTransform::isIdentityOrTranslation):
121         * platform/graphics/transforms/TransformationMatrix.cpp:
122         (WebCore::TransformationMatrix::toAffineTransform):
123         * platform/graphics/transforms/TransformationMatrix.h:
124         * platform/graphics/win/FontCGWin.cpp:
125         (WebCore::drawGDIGlyphs):
126         * platform/graphics/win/GraphicsContextCGWin.cpp:
127         * platform/graphics/win/GraphicsContextCairoWin.cpp:
128         * platform/graphics/win/GraphicsContextWin.cpp:
129         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
130         * platform/graphics/wince/FontWince.cpp:
131         * platform/graphics/wince/GraphicsContextWince.cpp:
132         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
133         (WebCore::GraphicsContext::fillPath):
134         (WebCore::GraphicsContext::strokePath):
135         (WebCore::GraphicsContext::getCTM):
136         (WebCore::GraphicsContext::drawBitmapPattern):
137         * platform/graphics/wince/ImageBufferWince.cpp:
138         (WebCore::):
139         (WebCore::BufferedImage::drawPattern):
140         * platform/graphics/wince/PathWince.cpp:
141         (WebCore::Path::transform):
142         * platform/graphics/wince/PlatformPathWince.cpp:
143         (WebCore::drawPolygons):
144         (WebCore::PathPolygon::transform):
145         (WebCore::PlatformPathElement::transform):
146         (WebCore::PlatformPath::strokePath):
147         (WebCore::PlatformPath::fillPath):
148         (WebCore::PlatformPath::transform):
149         * platform/graphics/wince/PlatformPathWince.h:
150         (WebCore::):
151         * platform/graphics/wx/GraphicsContextWx.cpp:
152         (WebCore::GraphicsContext::getCTM):
153         * platform/graphics/wx/ImageWx.cpp:
154         (WebCore::BitmapImage::drawPattern):
155         (WebCore::Image::drawPattern):
156         * platform/graphics/wx/PathWx.cpp:
157         * platform/gtk/RenderThemeGtk.cpp:
158         (WebCore::paintMozillaGtkWidget):
159         * plugins/win/PluginViewWin.cpp:
160         (WebCore::PluginView::paintWindowedPluginIntoContext):
161         * rendering/RenderBox.cpp:
162         (WebCore::RenderBox::localTransform):
163         * rendering/RenderBox.h:
164         * rendering/RenderBoxModelObject.cpp:
165         (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
166         (WebCore::RenderBoxModelScaleData::transform):
167         (WebCore::RenderBoxModelScaleData::setTransform):
168         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
169         (WebCore::RenderBoxModelObject::paintBoxShadow):
170         * rendering/RenderForeignObject.cpp:
171         (WebCore::RenderForeignObject::translationForAttributes):
172         (WebCore::RenderForeignObject::localToParentTransform):
173         * rendering/RenderForeignObject.h:
174         (WebCore::RenderForeignObject::localTransform):
175         * rendering/RenderLayer.cpp:
176         (WebCore::RenderLayer::paintLayer):
177         * rendering/RenderObject.cpp:
178         (WebCore::RenderObject::localTransform):
179         (WebCore::RenderObject::localToParentTransform):
180         (WebCore::RenderObject::absoluteTransform):
181         * rendering/RenderObject.h:
182         * rendering/RenderPath.cpp:
183         (WebCore::RenderPath::localToParentTransform):
184         (WebCore::RenderPath::localTransform):
185         * rendering/RenderPath.h:
186         * rendering/RenderSVGHiddenContainer.h:
187         (WebCore::RenderSVGHiddenContainer::absoluteTransform):
188         * rendering/RenderSVGImage.h:
189         (WebCore::RenderSVGImage::localToParentTransform):
190         (WebCore::RenderSVGImage::localTransform):
191         * rendering/RenderSVGRoot.cpp:
192         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
193         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
194         (WebCore::RenderSVGRoot::localToParentTransform):
195         (WebCore::RenderSVGRoot::absoluteTransform):
196         (WebCore::RenderSVGRoot::localTransform):
197         * rendering/RenderSVGRoot.h:
198         * rendering/RenderSVGText.h:
199         (WebCore::RenderSVGText::localToParentTransform):
200         (WebCore::RenderSVGText::localTransform):
201         * rendering/RenderSVGTransformableContainer.cpp:
202         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
203         (WebCore::RenderSVGTransformableContainer::localTransform):
204         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
205         * rendering/RenderSVGTransformableContainer.h:
206         * rendering/RenderSVGViewportContainer.cpp:
207         (WebCore::RenderSVGViewportContainer::markerBoundaries):
208         (WebCore::RenderSVGViewportContainer::markerContentTransformation):
209         (WebCore::RenderSVGViewportContainer::viewportTransform):
210         (WebCore::RenderSVGViewportContainer::localToParentTransform):
211         (WebCore::RenderSVGViewportContainer::absoluteTransform):
212         * rendering/RenderSVGViewportContainer.h:
213         * rendering/SVGCharacterLayoutInfo.cpp:
214         (WebCore::SVGChar::characterTransform):
215         * rendering/SVGCharacterLayoutInfo.h:
216         (WebCore::SVGTextChunkWalker::operator()):
217         * rendering/SVGInlineTextBox.cpp:
218         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
219         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
220         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
221         (WebCore::SVGInlineTextBox::paintCharacters):
222         (WebCore::SVGInlineTextBox::paintDecoration):
223         * rendering/SVGMarkerLayoutInfo.h:
224         (WebCore::MarkerLayout::MarkerLayout):
225         * rendering/SVGRenderSupport.cpp:
226         (WebCore::applyTransformToPaintInfo):
227         * rendering/SVGRenderSupport.h:
228         * rendering/SVGRenderTreeAsText.cpp:
229         (WebCore::operator<<):
230         * rendering/SVGRenderTreeAsText.h:
231         * rendering/SVGRootInlineBox.cpp:
232         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
233         (WebCore::applyTextLengthCorrectionToTextChunk):
234         (WebCore::SVGRootInlineBox::buildLayoutInformation):
235         * rendering/TransformState.cpp:
236         (WebCore::TransformState::applyTransform):
237         * rendering/TransformState.h:
238         * svg/GradientAttributes.h:
239         (WebCore::GradientAttributes::gradientTransform):
240         (WebCore::GradientAttributes::setGradientTransform):
241         * svg/PatternAttributes.h:
242         (WebCore::PatternAttributes::patternTransform):
243         (WebCore::PatternAttributes::setPatternTransform):
244         * svg/SVGAnimateMotionElement.cpp:
245         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
246         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
247         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
248         * svg/SVGAnimateMotionElement.h:
249         * svg/SVGAnimateTransformElement.cpp:
250         * svg/SVGAnimateTransformElement.h:
251         * svg/SVGElement.h:
252         (WebCore::SVGElement::supplementalTransform):
253         * svg/SVGFitToViewBox.cpp:
254         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
255         * svg/SVGFitToViewBox.h:
256         * svg/SVGLocatable.cpp:
257         (WebCore::SVGLocatable::getCTM):
258         (WebCore::SVGLocatable::getScreenCTM):
259         (WebCore::SVGLocatable::getTransformToElement):
260         * svg/SVGLocatable.h:
261         * svg/SVGMarkerElement.cpp:
262         (WebCore::SVGMarkerElement::viewBoxToViewTransform):
263         * svg/SVGMarkerElement.h:
264         * svg/SVGMaskElement.cpp:
265         (WebCore::SVGMaskElement::drawMaskerContent):
266         * svg/SVGMatrix.idl:
267         * svg/SVGPatternElement.cpp:
268         (WebCore::SVGPatternElement::buildPattern):
269         * svg/SVGPreserveAspectRatio.cpp:
270         (WebCore::SVGPreserveAspectRatio::getCTM):
271         * svg/SVGPreserveAspectRatio.h:
272         * svg/SVGSVGElement.cpp:
273         (WebCore::SVGSVGElement::viewport):
274         (WebCore::SVGSVGElement::createSVGMatrix):
275         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
276         (WebCore::SVGSVGElement::getCTM):
277         (WebCore::SVGSVGElement::getScreenCTM):
278         (WebCore::SVGSVGElement::viewBoxToViewTransform):
279         * svg/SVGSVGElement.h:
280         * svg/SVGStyledLocatableElement.cpp:
281         (WebCore::SVGStyledLocatableElement::getCTM):
282         (WebCore::SVGStyledLocatableElement::getScreenCTM):
283         * svg/SVGStyledLocatableElement.h:
284         * svg/SVGStyledTransformableElement.cpp:
285         (WebCore::SVGStyledTransformableElement::getCTM):
286         (WebCore::SVGStyledTransformableElement::getScreenCTM):
287         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
288         (WebCore::SVGStyledTransformableElement::supplementalTransform):
289         * svg/SVGStyledTransformableElement.h:
290         (WebCore::SVGStyledTransformableElement::isStyledTransformable):
291         (WebCore::SVGStyledTransformableElement::toPathData):
292         * svg/SVGTextContentElement.cpp:
293         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
294         * svg/SVGTextElement.cpp:
295         (WebCore::SVGTextElement::getScreenCTM):
296         (WebCore::SVGTextElement::getCTM):
297         (WebCore::SVGTextElement::animatedLocalTransform):
298         (WebCore::SVGTextElement::supplementalTransform):
299         * svg/SVGTextElement.h:
300         * svg/SVGTextPathElement.cpp:
301         * svg/SVGTransform.cpp:
302         (SVGTransform::SVGTransform):
303         (SVGTransform::matrix):
304         (SVGTransform::setMatrix):
305         * svg/SVGTransform.h:
306         * svg/SVGTransformDistance.cpp:
307         (WebCore::SVGTransformDistance::SVGTransformDistance):
308         (WebCore::SVGTransformDistance::scaledDistance):
309         (WebCore::SVGTransformDistance::isZero):
310         * svg/SVGTransformDistance.h:
311         * svg/SVGTransformList.cpp:
312         (SVGTransformList::createSVGTransformFromMatrix):
313         (SVGTransformList::concatenate):
314         (SVGTransformList::valueAsString):
315         * svg/SVGTransformList.h:
316         * svg/SVGTransformable.cpp:
317         (WebCore::SVGTransformable::getCTM):
318         (WebCore::SVGTransformable::getScreenCTM):
319         (WebCore::SVGTransformable::parseTransformValue):
320         * svg/SVGTransformable.h:
321         (WebCore::SVGTransformable::):
322         * svg/graphics/SVGPaintServerGradient.cpp:
323         (WebCore::SVGPaintServerGradient::gradientTransform):
324         (WebCore::SVGPaintServerGradient::setGradientTransform):
325         (WebCore::clipToTextMask):
326         (WebCore::SVGPaintServerGradient::setup):
327         * svg/graphics/SVGPaintServerGradient.h:
328         * svg/graphics/SVGPaintServerPattern.cpp:
329         (WebCore::SVGPaintServerPattern::patternTransform):
330         (WebCore::SVGPaintServerPattern::setPatternTransform):
331         (WebCore::SVGPaintServerPattern::setup):
332         * svg/graphics/SVGPaintServerPattern.h:
333         * svg/graphics/SVGResourceClipper.cpp:
334         (WebCore::SVGResourceClipper::applyClip):
335         * svg/graphics/SVGResourceMarker.cpp:
336         (WebCore::SVGResourceMarker::markerTransformation):
337         (WebCore::SVGResourceMarker::draw):
338         * svg/graphics/SVGResourceMarker.h:
339         * svg/graphics/filters/SVGFEImage.cpp:
340         * svg/graphics/filters/SVGFETile.cpp:
341         (WebCore::FETile::apply):
342
343 2010-02-08  Stephen White  <senorblanco@chromium.org>
344
345         Reviewed by Dimitri Glazkov.
346
347         Make an inline function containing a static var out-of-line.  This is
348         a workaround for Xcode 3.1 bug radar 7070016.  We tripped on this in
349         deviceRGBColorSpaceRef on the Chromium canaries.  This is a proactive
350         fix for the same problem in sRGBColorSpaceRef().
351
352         https://bugs.webkit.org/show_bug.cgi?id=34663
353
354         * platform/graphics/cg/GraphicsContextCG.cpp:
355         (WebCore::sRGBColorSpaceRef):
356         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
357
358 2010-02-08  Nate Chapin  <japhet@chromium.org>
359
360         Reviewed by Dimitri Glazkov.
361
362         [V8] Unify the WorkerContext V8 object wrapping code with
363         the standard V8 object wrapping code.
364
365         https://bugs.webkit.org/show_bug.cgi?id=34658
366
367         * bindings/scripts/CodeGeneratorV8.pm:
368         * bindings/v8/V8DOMWrapper.cpp:
369         (WebCore::V8DOMWrapper::instantiateV8Object):
370         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
371         * bindings/v8/V8WorkerContextEventListener.cpp:
372         (WebCore::V8WorkerContextEventListener::handleEvent):
373         (WebCore::V8WorkerContextEventListener::getReceiverObject):
374         * bindings/v8/WorkerContextExecutionProxy.cpp:
375         * bindings/v8/WorkerContextExecutionProxy.h:
376         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
377         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
378         (WebCore::V8NotificationCenter::createNotificationCallback):
379         * bindings/v8/custom/V8WorkerContextCustom.cpp:
380         (WebCore::toV8):
381
382 2010-02-08  Kwang Yul Seo  <skyul@company100.net>
383
384         Reviewed by Darin Adler.
385
386         Use fastStrDup instead of strdup
387         https://bugs.webkit.org/show_bug.cgi?id=33943
388
389         Replace strdup/free with fastStrDup/fastFree.
390
391         * bridge/IdentifierRep.h:
392         (WebCore::IdentifierRep::IdentifierRep):
393         * bridge/jni/JNIBridge.cpp:
394         (JavaMethod::~JavaMethod):
395         (appendClassName):
396         (JavaMethod::signature):
397         * bridge/jni/jsc/JavaClassJSC.cpp:
398         (JavaClass::JavaClass):
399         (JavaClass::~JavaClass):
400         * platform/network/curl/ResourceHandleCurl.cpp:
401         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
402         * platform/network/curl/ResourceHandleManager.cpp:
403         (WebCore::ResourceHandleManager::~ResourceHandleManager):
404         (WebCore::ResourceHandleManager::setCookieJarFileName):
405         (WebCore::ResourceHandleManager::initializeHandle):
406         * plugins/PluginStream.cpp:
407         (WebCore::PluginStream::~PluginStream):
408         (WebCore::PluginStream::startStream):
409         * xml/XSLTProcessorLibxslt.cpp:
410         (WebCore::xsltParamArrayFromParameterMap):
411         (WebCore::freeXsltParamArray):
412
413 2010-02-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
414
415         Reviewed by Simon Hausmann.
416
417         Fix Qt build on Windows.
418
419         nmake fails to pick the right cpp file, so we have to
420         rename the file to to a unique name.
421
422         * WebCore.pro:
423         * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp.
424
425 2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
426
427         Reviewed by Dirk Schulze.
428
429         All SVG *-expected.txt files contain wrong results
430         https://bugs.webkit.org/show_bug.cgi?id=34703
431
432         Finally dump meaningful information for SVG layout tests.
433         Use 'absoluteClippedOverflowRect' which goes through the same code paths used
434         to actually calculate repaint rects etc - instead of the legacy CSS-unaware
435         code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'.
436         Remove absoluteTransform() - a long standing TODO, finally not needed anymore.
437
438         Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform().
439         Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues
440         when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well.
441
442         As we're now dumping clipped overflow rects any problems with repaint rects will become
443         immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg>
444         element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account).
445         Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers.
446
447         Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them.
448
449         * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden().
450         * rendering/RenderObject.h: Remove absoluteTransform() method.
451         * rendering/RenderSVGHiddenContainer.h: Ditto.
452         * rendering/RenderSVGRoot.cpp:
453         (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
454         (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing
455                                                          along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values.
456         (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
457         * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore.
458         * rendering/RenderSVGText.cpp: 
459         (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text.
460         * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method.
461         (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
462         * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method.
463         * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y.
464         (WebCore::SVGRenderBase::isOverflowHidden):
465         * rendering/SVGRenderSupport.h:
466         * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()).
467         (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees.
468         * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform().
469         (WebCore::absoluteTransformForRenderer):
470         (WebCore::createMaskAndSwapContextForTextGradient):
471         (WebCore::clipToTextMask):
472         (WebCore::SVGPaintServerGradient::setup):
473
474 2010-02-07  Daniel Bates  <dbates@webkit.org>
475
476         Reviewed by Darin Adler.
477
478         https://bugs.webkit.org/show_bug.cgi?id=34402
479
480         Implements all of the numeric CSS3 list-style-types as per
481         section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>.
482
483         Test: fast/lists/w3-css3-list-styles-numeric.html
484
485         * css/CSSPrimitiveValueMappings.h:
486         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
487         * css/CSSValueKeywords.in:
488         * inspector/front-end/SourceCSSTokenizer.re2js:
489         * platform/text/CharacterNames.h: Added constant hyphenMinus.
490         * rendering/RenderListMarker.cpp:
491         (WebCore::): Defined enum SequenceType.
492         (WebCore::toAlphabeticOrNumeric): Added.
493         (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric.
494         (WebCore::toNumeric): Added.
495         (WebCore::listMarkerSuffix):
496         (WebCore::listMarkerText):
497         (WebCore::RenderListMarker::paint):
498         (WebCore::RenderListMarker::calcPrefWidths):
499         (WebCore::RenderListMarker::getRelativeMarkerRect):
500         * rendering/style/RenderStyle.h:
501         (WebCore::):
502         * rendering/style/RenderStyleConstants.h: Added numeric list style types
503         and fixed indent level for the enum values.
504         (WebCore::):
505
506 2010-02-07  Ismail Donmez  <ismail@namtrac.org>
507
508         Reviewed by Darin Adler.
509
510         Include wtf/StringExtras.h for strdup definition, which
511         is needed for WinCE.
512
513         * bridge/IdentifierRep.h:
514
515 2010-02-07  Pavel Feldman  <pfeldman@chromium.org>
516
517         Reviewed by Timothy Hatcher.
518
519         Web Inspector: Fragment-held Elements Not Shown in Inspector.
520
521         https://bugs.webkit.org/show_bug.cgi?id=34680
522
523         * inspector/InspectorDOMAgent.cpp:
524         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
525         (WebCore::InspectorDOMAgent::buildObjectForNode):
526         * inspector/front-end/ElementsTreeOutline.js:
527         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
528
529 2010-02-07  Jian Li  <jianli@chromium.org>
530
531         Reviewed by Darin Fisher.
532
533         [chromium] Change chromium interface to handle DownloadURL format.
534         https://bugs.webkit.org/show_bug.cgi?id=34655
535
536         * platform/chromium/ChromiumDataObject.cpp:
537         (WebCore::ChromiumDataObject::clear):
538         (WebCore::ChromiumDataObject::hasData):
539         (WebCore::ChromiumDataObject::ChromiumDataObject):
540         * platform/chromium/ChromiumDataObject.h:
541         * platform/chromium/ClipboardChromium.cpp:
542         (WebCore::ClipboardChromium::setData):
543
544 2010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
545
546         No review, rolling out r54364.
547         http://trac.webkit.org/changeset/54364
548         https://bugs.webkit.org/show_bug.cgi?id=34464
549
550         Introduced asserts in layout tests, needs more testing
551         locally.
552
553         * accessibility/chromium/AXObjectCacheChromium.cpp:
554         (WebCore::AXObjectCache::postPlatformNotification):
555         * page/chromium/ChromeClientChromium.h:
556
557 2010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
558
559         Reviewed by Adam Barth.
560
561         Using inlines and function-level statics don't mix, according to gcc.
562         https://bugs.webkit.org/show_bug.cgi?id=34663
563
564         De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines.
565
566         It appears that the initialization check, generated by gcc doesn't account
567         for a possibility that the function may be inlined, resulting in lazy
568         initialization failure for more than one inlined instance of the function.
569
570         No behavior change, so no new tests.
571
572         * platform/graphics/cg/GraphicsContextCG.cpp:
573         (WebCore::deviceRGBColorSpaceRef):
574         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
575
576 2010-02-05  Geoffrey Garen  <ggaren@apple.com>
577
578         Reviewed by Dan Bernstein.
579
580         Added an ASSERT to catch an implausible but theoretically possible leak.
581         
582         In theory, if malloc allocated a UChar buffer directly after a StringImpl,
583         the StringImpl might incorrecly assume that the UChar buffer was inline,
584         and fail to delete it.
585         
586         This ASSERT is somewhat academic, since we don't use the same allocator
587         in debug builds, but oh well.
588
589         * platform/text/StringImpl.cpp:
590         (WebCore::StringImpl::StringImpl):
591         (WebCore::StringImpl::createUninitialized):
592         * platform/text/StringImpl.h: Separated the inline buffer StringImpl
593         constructor from the out-of-line buffer StringImpl constructor. Made
594         the former ASSERT that its buffer was indeed inline, and the latter ASSERT
595         that its buffer was indeed not inline.
596
597 2010-02-05  Chris Marrin  <cmarrin@apple.com>
598
599         Reviewed by Simon Fraser.
600
601         Fixed changed virtual function in GraphicsLayerCACF and call order issues
602         https://bugs.webkit.org/show_bug.cgi?id=34348
603         
604         The correct virtual function in GraphicsLayerCACF is now being
605         called. We also fixed an issue in QTMovieWin where the size
606         of the movie was not being set correctly because the call order
607         was changed.
608         
609         I also changed the order of a couple of calls in QTMovieWin to account
610         for changed calling order from the logic above.
611
612         * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API
613         (WebCore::GraphicsLayerCACF::setContentsToMedia):
614         (WebCore::GraphicsLayerCACF::updateContentsMedia):
615         * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API
616         (WebCore::GraphicsLayerCACF::):
617         * platform/graphics/win/QTMovieWin.cpp:
618         (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math
619         (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct
620         (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize()
621         (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places
622
623 2010-02-05  Enrica Casucci  <enrica@apple.com>
624
625         Reviewed by Simon Fraser.
626
627         Horizontal scrollbar works in reverse at milliondollarcu.be
628         <rdar://problem/7556121>
629         https://bugs.webkit.org/show_bug.cgi?id=33848
630         
631         Added a manual test.
632
633         * manual-tests/win: Added.
634         * manual-tests/win/horizontal-scroll-composited.html: Added.
635         * platform/graphics/win/WKCACFLayerRenderer.cpp:
636         (WebCore::WKCACFLayerRenderer::setScrollFrame):
637         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
638
639 2010-02-05  Ryan Leavengood  <leavengood@gmail.com>
640
641         Reviewed by David Levin.
642
643         Implementation of GlyphPage::fill() for Haiku port.
644         https://bugs.webkit.org/show_bug.cgi?id=34527
645
646         Covered by existing tests.
647
648         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp
649
650 2010-01-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
651
652         Reviewed by Dave Hyatt.
653
654         Implement flattening of framesets
655         https://bugs.webkit.org/show_bug.cgi?id=32717
656
657         The following patch, builds ontop of Antti Koivisto's frameset
658         flattening code from the iPhone source, which itself is based on
659         the old Nokia Series 60 source.
660
661         Layout tests have been added to test the functionality and the original
662         code which has then been fixed to make these pass, as well as support
663         frameset grids.
664
665         Tests: fast/frames/flattening/frameset-flattening-advanced.html
666                fast/frames/flattening/frameset-flattening-grid.html
667                fast/frames/flattening/frameset-flattening-simple.html
668                fast/frames/flattening/frameset-flattening-subframe-resize.html
669                fast/frames/flattening/frameset-flattening-subframesets.html
670
671         * page/FrameView.cpp:
672         (WebCore::FrameView::layout):
673         (WebCore::FrameView::scheduleRelayout):
674         * page/Settings.cpp:
675         (WebCore::Settings::Settings):
676         (WebCore::Settings::setFrameSetFlatteningEnabled):
677         * page/Settings.h:
678         (WebCore::Settings::frameSetFlatteningEnabled):
679         * rendering/RenderFrame.cpp:
680         (WebCore::RenderFrame::layoutWithFlattening):
681         * rendering/RenderFrame.h:
682         * rendering/RenderFrameSet.cpp:
683         (WebCore::RenderFrameSet::layout):
684         (WebCore::RenderFrameSet::positionFramesWithFlattening):
685         (WebCore::RenderFrameSet::flattenFrameSet):
686         (WebCore::RenderFrameSet::userResize):
687         * rendering/RenderFrameSet.h:
688
689 2010-02-05  Simon Fraser  <simon.fraser@apple.com>
690
691         Reviewed by Dan Bernstein.
692
693         Changing display type of parent of input on focus causes input field to not receive key events
694         https://bugs.webkit.org/show_bug.cgi?id=34620
695         <rdar://problem/7584572>
696         
697         When layout affects a text input, the RenderTextControl gets destroyed and
698         recreated, which in turn makes a new innerTextElement. However, if the text field was
699         focused, the VisibleSelection is left pointing to the old innerTextElement, so text
700         input no longer works.
701         
702         The fix is to call updateFocusAppearanceSoon() when attaching the input element,
703         which will update the selection if necessary.
704
705         Test: fast/forms/restore-selection-after-layout.html
706
707         * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable,
708         m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires.
709         * dom/Document.cpp:
710         (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection
711         (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter.
712         (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down.
713         * dom/Element.cpp:
714         (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false.
715         * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined.
716         * html/HTMLInputElement.cpp:
717         (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true.
718
719 2010-02-05  Pavel Feldman  <pfeldman@chromium.org>
720
721         Reviewed by Timothy Hatcher.
722
723         Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns.
724
725         https://bugs.webkit.org/show_bug.cgi?id=34646
726
727         * inspector/front-end/CookieItemsView.js:
728         (WebInspector.CookieItemsView):
729         (WebInspector.CookieItemsView.prototype.show):
730         (WebInspector.CookieItemsView.prototype._update):
731         (WebInspector.CookieItemsView.prototype._updateWithCookies):
732         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
733         (WebInspector.CookieItemsView.prototype._createDataGrid):
734         (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare):
735         (WebInspector.CookieItemsView.prototype._populateDataGrid):
736         (WebInspector.CookieItemsView.prototype._createSimpleDataGrid):
737         (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid):
738         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
739         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
740         * inspector/front-end/DOMStorageItemsView.js:
741         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
742         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
743         * inspector/front-end/DataGrid.js:
744         (WebInspector.DataGrid):
745         (WebInspector.DataGrid.prototype.autoSizeColumns):
746         * inspector/front-end/DatabaseQueryView.js:
747         (WebInspector.DatabaseQueryView.prototype._queryFinished):
748         * inspector/front-end/DatabaseTableView.js:
749         (WebInspector.DatabaseTableView.prototype._queryFinished):
750         * inspector/front-end/StoragePanel.js:
751         (WebInspector.StoragePanel.prototype.dataGridForResult):
752
753 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
754
755         Reviewed by Timothy Hatcher.
756
757         Web Inspector: group cookies by frame, show total
758         cookies size, allow sorting cookie table.
759
760         https://bugs.webkit.org/show_bug.cgi?id=34617
761
762         * English.lproj/localizedStrings.js:
763         * inspector/InspectorController.cpp:
764         (WebCore::InspectorController::deleteCookie):
765         * inspector/front-end/CookieItemsView.js:
766         (WebInspector.CookieItemsView):
767         (WebInspector.CookieItemsView.prototype.update):
768         (WebInspector.CookieItemsView.prototype._updateWithCookies):
769         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
770         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
771         (WebInspector.CookieItemsView.prototype._createNodes):
772         (WebInspector.CookieItemsView.prototype._sortData.localeCompare):
773         (WebInspector.CookieItemsView.prototype._sortData.numberCompare):
774         (WebInspector.CookieItemsView.prototype._sortData.expiresCompare):
775         (WebInspector.CookieItemsView.prototype._sortData):
776         * inspector/front-end/StoragePanel.js:
777         (WebInspector.StoragePanel.prototype.showCookies):
778         (WebInspector.CookieSidebarTreeElement):
779         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
780         (WebInspector.CookieSidebarTreeElement.prototype.get subtitle):
781         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
782         * inspector/front-end/inspector.js:
783         (WebInspector.updateResource):
784
785 2010-02-05  Maxime Simone  <simon.maxime@gmail.com>
786
787         Reviewed by David Levin.
788
789         More robust conversion from BString to String for Haiku port.
790         https://bugs.webkit.org/show_bug.cgi?id=34527
791
792         Covered by existing tests.
793
794         * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString.
795
796 2010-02-05  Steve Falkenburg  <sfalken@apple.com>
797
798         Reviewed by Adam Roben.
799
800         Windows build fix.
801
802         * WebCore.vcproj/WebCore.make:
803
804 2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>
805
806         Reviewed by Dirk Schulze.
807         Rubber-stamped by Kenneth Rohde Christiansen.
808
809         [Qt] Modifying SVG path dumping to equal to other ports
810         https://bugs.webkit.org/show_bug.cgi?id=33784
811
812         * platform/graphics/qt/PathQt.cpp:
813         (WebCore::Path::debugString): Path dumping style is aproached to Mac.
814
815 2010-02-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
816
817         Reviewed by Gustavo Noronha.
818
819         Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure
820         https://bugs.webkit.org/show_bug.cgi?id=34317
821
822         * GNUmakefile.am:
823         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
824         (WebCore::mediaPlayerPrivateSourceChangedCallback):
825         (WebCore::doGstInit):
826         * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
827         * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
828         Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure.
829         This makes sure that referer, cookies, authentication information
830         and all kinds of other context are passed to GStreamer for websites
831         like Vimeo or YouTube.
832
833 2010-02-05  Nate Chapin  <japhet@chromium.org>
834
835         Reviewed by Dimitri Glazkov.
836
837         [V8] Clean up code for getting a v8::FunctionTemplate.
838         
839         https://bugs.webkit.org/show_bug.cgi?id=34606
840
841         * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public
842         * bindings/v8/V8Binding.cpp:
843         (WebCore::configureTemplate):
844         * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead.
845         (WebCore::V8DOMWrapper::getConstructor):
846         (WebCore::V8DOMWrapper::instantiateV8Object):
847         * bindings/v8/V8DOMWrapper.h:
848         (WebCore::V8DOMWrapper::lookupDOMWrapper):
849         * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates.
850         (WebCore::V8ClassIndex::getTemplate):
851         * bindings/v8/V8Index.h:
852         * bindings/v8/WorkerContextExecutionProxy.cpp:
853         (WebCore::WorkerContextExecutionProxy::toV8):
854         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
855         (WebCore::v8HTMLAudioElementConstructorCallback):
856         (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
857         * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
858         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
859         (WebCore::v8HTMLImageElementConstructorCallback):
860         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
861         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
862         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
863         (WebCore::v8HTMLOptionElementConstructorCallback):
864         (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
865         * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
866         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
867         (WebCore::createInjectedScriptHostV8Wrapper):
868
869 2010-02-05  Siddharth Mathur  <siddharth.mathur@nokia.com>
870
871         Reviewed by Ariya Hidayat.
872
873         [Qt] Build break in QtWebkit on Symbian
874         https://bugs.webkit.org/show_bug.cgi?id=34597
875
876         * plugins/PluginView.h:
877
878 2010-02-05  Yury Semikhatsky  <yurys@chromium.org>
879
880         Reviewed by Pavel Feldman.
881
882         - Use SerializedScriptValue for passing data between injected script and
883         inspector frontend.
884         - Remove custom JSON implementation from the instpector utility script.
885         - Make sure that only objects created in the same ScriptState can be values
886         of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't
887         want ScriptObjects to leak between contexts.
888         - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing
889         it as additional parameter.
890
891         https://bugs.webkit.org/show_bug.cgi?id=33592
892
893         * bindings/js/JSInjectedScriptHostCustom.cpp:
894         (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
895         * bindings/js/ScriptArray.cpp:
896         (WebCore::ScriptArray::set):
897         * bindings/js/ScriptFunctionCall.cpp:
898         (WebCore::ScriptFunctionCall::ScriptFunctionCall):
899         (WebCore::ScriptFunctionCall::appendArgument):
900         * bindings/js/ScriptFunctionCall.h:
901         * bindings/js/ScriptObject.cpp:
902         (WebCore::ScriptObject::set):
903         * bindings/js/ScriptValue.cpp:
904         (WebCore::ScriptValue::serialize):
905         (WebCore::ScriptValue::deserialize):
906         * bindings/js/ScriptValue.h:
907         * bindings/v8/ScriptArray.cpp:
908         (WebCore::ScriptArray::set):
909         * bindings/v8/ScriptFunctionCall.cpp:
910         (WebCore::ScriptFunctionCall::ScriptFunctionCall):
911         (WebCore::ScriptFunctionCall::appendArgument):
912         * bindings/v8/ScriptFunctionCall.h:
913         * bindings/v8/ScriptObject.cpp:
914         (WebCore::ScriptObject::set):
915         * bindings/v8/ScriptState.h:
916         * bindings/v8/ScriptValue.cpp:
917         (WebCore::ScriptValue::serialize):
918         (WebCore::deserialize):
919         * bindings/v8/ScriptValue.h:
920         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
921         (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
922         * inspector/InjectedScript.cpp:
923         (WebCore::InjectedScript::dispatch):
924         (WebCore::InjectedScript::callFrames):
925         (WebCore::InjectedScript::wrapForConsole):
926         (WebCore::InjectedScript::releaseWrapperObjectGroup):
927         * inspector/InjectedScript.h:
928         * inspector/InjectedScriptHost.cpp:
929         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
930         * inspector/InjectedScriptHost.h:
931         * inspector/InjectedScriptHost.idl:
932         * inspector/InspectorBackend.cpp:
933         (WebCore::InspectorBackend::dispatchOnInjectedScript):
934         * inspector/InspectorController.cpp:
935         (WebCore::InspectorController::setFrontendProxyObject):
936         (WebCore::InspectorController::didPause):
937         (WebCore::InspectorController::didEvaluateForTestInFrontend):
938         * inspector/InspectorFrontend.cpp:
939         (WebCore::InspectorFrontend::InspectorFrontend):
940         (WebCore::InspectorFrontend::newScriptArray):
941         (WebCore::InspectorFrontend::newScriptObject):
942         (WebCore::InspectorFrontend::populateFrontendSettings):
943         (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
944         (WebCore::InspectorFrontend::addConsoleMessage):
945         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
946         (WebCore::InspectorFrontend::updateResource):
947         (WebCore::InspectorFrontend::removeResource):
948         (WebCore::InspectorFrontend::didGetResourceContent):
949         (WebCore::InspectorFrontend::updateFocusedNode):
950         (WebCore::InspectorFrontend::setAttachedWindow):
951         (WebCore::InspectorFrontend::addRecordToTimeline):
952         (WebCore::InspectorFrontend::parsedScriptSource):
953         (WebCore::InspectorFrontend::failedToParseScriptSource):
954         (WebCore::InspectorFrontend::addProfileHeader):
955         (WebCore::InspectorFrontend::setRecordingProfile):
956         (WebCore::InspectorFrontend::didGetProfileHeaders):
957         (WebCore::InspectorFrontend::didGetProfile):
958         (WebCore::InspectorFrontend::pausedScript):
959         (WebCore::InspectorFrontend::setDocument):
960         (WebCore::InspectorFrontend::setDetachedRoot):
961         (WebCore::InspectorFrontend::setChildNodes):
962         (WebCore::InspectorFrontend::childNodeCountUpdated):
963         (WebCore::InspectorFrontend::childNodeInserted):
964         (WebCore::InspectorFrontend::childNodeRemoved):
965         (WebCore::InspectorFrontend::attributesUpdated):
966         (WebCore::InspectorFrontend::didRemoveNode):
967         (WebCore::InspectorFrontend::didGetChildNodes):
968         (WebCore::InspectorFrontend::didApplyDomChange):
969         (WebCore::InspectorFrontend::didGetEventListenersForNode):
970         (WebCore::InspectorFrontend::didGetCookies):
971         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
972         (WebCore::InspectorFrontend::addDatabase):
973         (WebCore::InspectorFrontend::selectDatabase):
974         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
975         (WebCore::InspectorFrontend::addDOMStorage):
976         (WebCore::InspectorFrontend::selectDOMStorage):
977         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
978         (WebCore::InspectorFrontend::didSetDOMStorageItem):
979         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
980         (WebCore::InspectorFrontend::updateDOMStorage):
981         (WebCore::InspectorFrontend::addNodesToSearchResult):
982         (WebCore::InspectorFrontend::contextMenuItemSelected):
983         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
984         (WebCore::InspectorFrontend::callSimpleFunction):
985         * inspector/InspectorFrontend.h:
986         (WebCore::InspectorFrontend::scriptState):
987         * inspector/front-end/InjectedScript.js:
988         (injectedScriptConstructor):
989         (injectedScriptConstructor.):
990         * inspector/front-end/InjectedScriptAccess.js:
991         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
992         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
993         (InjectedScriptAccess._installHandler):
994         * inspector/front-end/inspector.js:
995         (WebInspector.pausedScript):
996         (WebInspector.addConsoleMessage):
997
998 2010-02-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
999
1000         Reviewed by Simon Hausmann.
1001
1002         [Qt] Generate convenience headers (QWebView, etc) using qmake
1003
1004         In Qt this is done using syncqt, but we use a pro-file instead
1005         that generates makefile-rules for each of the extra headers.
1006
1007         These extra headers are installed alongside the normal headers.
1008
1009         * WebCore.pro: Use headers.pri based on DerivedSources instead
1010         of the one previously checked in in the source tree.
1011
1012 2010-02-05  Mikhail Naganov  <mnaganov@chromium.org>
1013
1014         Reviewed by Pavel Feldman.
1015
1016         Enable JAVASCRIPT_DEBUGGER in chromium port.
1017
1018         https://bugs.webkit.org/show_bug.cgi?id=34638
1019
1020         * page/Console.cpp:
1021         * page/Console.h:
1022         * page/Console.idl:
1023
1024 2010-02-05  Pavel Feldman  <pfeldman@chromium.org>
1025
1026         Reviewed by Timothy Hatcher.
1027
1028         Web Inspector: Tab width for javascript source is 8, should be 4
1029
1030         https://bugs.webkit.org/show_bug.cgi?id=31248
1031
1032         * inspector/front-end/SourceFrame.js:
1033         (WebInspector.SourceFrame):
1034         * inspector/front-end/TextEditorModel.js:
1035         (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces):
1036         (WebInspector.TextEditorModel.prototype._innerSetText):
1037         (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded):
1038
1039 2010-02-05  Tony Chang  <tony@chromium.org>
1040
1041         Reviewed by Eric Seidel.
1042
1043         https://bugs.webkit.org/show_bug.cgi?id=24872
1044         When pasting a list into another list should not indent another level.
1045         If the cursor is at the beginning of the line, it should insert the
1046         list items before the current list item.  If the cursor is at the end
1047         of the line, it should insert the list items after the current list item.
1048
1049         This matches Firefox and IE and makes the common activity of reordering a list
1050         work as expected.
1051
1052         This also adds a small helper method (isListItem) to htmlediting.h.
1053
1054         Test: editing/pasteboard/paste-list-002.html
1055
1056         * editing/ReplaceSelectionCommand.cpp:
1057         (WebCore::ReplaceSelectionCommand::doApply):
1058         (WebCore::ReplaceSelectionCommand::insertAsListItems):
1059         * editing/ReplaceSelectionCommand.h:
1060         * editing/htmlediting.cpp:
1061         (WebCore::isListItem):
1062         (WebCore::appendedSublist):
1063         * editing/htmlediting.h:
1064
1065 2010-02-04  Mark Rowe  <mrowe@apple.com>
1066
1067         Reviewed by Timothy Hatcher.
1068
1069         Build fix.  Remove a symbol corresponding to an inline function from the linker export
1070         file to prevent a weak external failure.
1071
1072         * WebCore.base.exp: Remove symbol.
1073         * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
1074
1075 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
1076
1077         Reviewed by Oliver Hunt.
1078
1079         Updated to use new WeakGCPtr::clear interface.
1080
1081         * bindings/js/JSEventListener.cpp:
1082         * bindings/js/JSEventListener.h:
1083         (WebCore::JSEventListener::invalidateJSFunction):
1084
1085 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
1086
1087         Build fix: Added a forwarding header.
1088
1089         * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
1090
1091 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
1092
1093         Reviewed by Alexey Proskuryakov and Darin Adler.
1094
1095         REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
1096         https://bugs.webkit.org/show_bug.cgi?id=33383
1097         <rdar://problem/7559449>
1098         
1099         There were two bugs here:
1100         
1101         1. A stale wrapper would invalidate a node's event listeners, even if
1102         the node had a fresh wrapper keeping it alive.
1103         
1104         The fix for this is for an event listener to keep a WeakGCPtr back-pointer
1105         to the wrapper it expects to mark it. The wrapper destructor checks this
1106         back-pointer, and only invalidates the event listener in the case of a match.
1107
1108         2. Conversely, a stale wrapper would not invalidate a node's event
1109         listeners soon enough, if its destructor didn't have a chance to run
1110         before an event fired on the node. (This can only happen in cases where
1111         we've made some other error and failed to mark a wrapper that was circuitously
1112         observable in the DOM. But we know we have edge case bugs like this, and
1113         we don't want them to be crashes.)
1114         
1115         The fix for this is to check the wrapper back-pointer before firing the
1116         event listener. As long as the the wrapper back-pointer is not null,
1117         it's safe to fire the listener. 
1118
1119         * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
1120
1121         * bindings/js/JSAbstractWorkerCustom.cpp:
1122         (WebCore::JSAbstractWorker::addEventListener):
1123         (WebCore::JSAbstractWorker::removeEventListener):
1124         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1125         (WebCore::JSDOMApplicationCache::addEventListener):
1126         (WebCore::JSDOMApplicationCache::removeEventListener):
1127         * bindings/js/JSDOMWindowCustom.cpp:
1128         (WebCore::JSDOMWindow::markChildren):
1129         (WebCore::JSDOMWindow::addEventListener):
1130         (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper
1131         to the JSEventListener constructor.
1132
1133         * bindings/js/JSEventListener.cpp:
1134         (WebCore::JSEventListener::JSEventListener):
1135         (WebCore::JSEventListener::initializeJSFunction):
1136         (WebCore::JSEventListener::invalidateJSFunction):
1137         * bindings/js/JSEventListener.h:
1138         (WebCore::JSEventListener::create):
1139         (WebCore::JSEventListener::isolatedWorld):
1140         (WebCore::JSEventListener::wrapper):
1141         (WebCore::JSEventListener::setWrapper):
1142         (WebCore::JSEventListener::jsFunction):
1143         (WebCore::createJSAttributeEventListener): Implemented the back-pointer
1144         described above. Refactored the jsFunction() accessor to return 0 if
1145         the wrapper back-pointer is 0.
1146
1147         * bindings/js/JSEventSourceCustom.cpp:
1148         (WebCore::JSEventSource::addEventListener):
1149         (WebCore::JSEventSource::removeEventListener):
1150         * bindings/js/JSLazyEventListener.cpp:
1151         (WebCore::JSLazyEventListener::JSLazyEventListener):
1152         (WebCore::JSLazyEventListener::initializeJSFunction):
1153         * bindings/js/JSLazyEventListener.h:
1154         (WebCore::JSLazyEventListener::create):
1155         * bindings/js/JSMessagePortCustom.cpp:
1156         (WebCore::JSMessagePort::markChildren):
1157         (WebCore::JSMessagePort::addEventListener):
1158         (WebCore::JSMessagePort::removeEventListener):
1159         * bindings/js/JSNodeCustom.cpp:
1160         (WebCore::JSNode::addEventListener):
1161         (WebCore::JSNode::removeEventListener):
1162         (WebCore::JSNode::markChildren):
1163         * bindings/js/JSSVGElementInstanceCustom.cpp:
1164         (WebCore::JSSVGElementInstance::addEventListener):
1165         (WebCore::JSSVGElementInstance::removeEventListener):
1166         * bindings/js/JSWebSocketCustom.cpp:
1167         (WebCore::JSWebSocket::addEventListener):
1168         (WebCore::JSWebSocket::removeEventListener):
1169         * bindings/js/JSWorkerContextCustom.cpp:
1170         (WebCore::JSWorkerContext::markChildren):
1171         (WebCore::JSWorkerContext::addEventListener):
1172         (WebCore::JSWorkerContext::removeEventListener):
1173         * bindings/js/JSXMLHttpRequestCustom.cpp:
1174         (WebCore::JSXMLHttpRequest::markChildren):
1175         (WebCore::JSXMLHttpRequest::addEventListener):
1176         (WebCore::JSXMLHttpRequest::removeEventListener):
1177         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
1178         (WebCore::JSXMLHttpRequestUpload::markChildren):
1179         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1180         (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper
1181         to the JSEventListener constructor.
1182
1183
1184         * bindings/js/ScriptEventListener.cpp:
1185         (WebCore::createAttributeEventListener): Updated to pass a wrapper
1186         to the JSEventListener constructor.
1187         (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction()
1188         is no longer a virtual accessor on the EventHandler base class.
1189
1190         * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction()
1191         is no longer a virtual accessor on the EventHandler base class. Added a "JS"
1192         to invalidateEventListeners and markEventListeners to clarify that these
1193         actions are for JS event listeners only. Added a wrapper parameter to
1194         invalidateEventListeners for the back-pointer check explained above.
1195
1196         * dom/EventListener.h:
1197         (WebCore::EventListener::invalidateJSFunction): ditto
1198
1199         * dom/EventTarget.h:
1200         (WebCore::EventTarget::markJSEventListeners):
1201         (WebCore::EventTarget::invalidateJSEventListeners): ditto
1202
1203 2010-02-04  Tony Chang  <tony@chromium.org>
1204
1205         Reviewed by Eric Seidel.
1206
1207         https://bugs.webkit.org/show_bug.cgi?id=25002
1208         When inserting a new paragraph, avoid nesting empty divs.  When
1209         pasting near the end of a paragraph, this prevents each paste
1210         command for getting nested one level deeper.
1211
1212         Test: editing/inserting/paragraph-outside-nested-divs.html
1213
1214         * editing/InsertParagraphSeparatorCommand.cpp:
1215         (WebCore::highestVisuallyEquivalentDiv):
1216         (WebCore::InsertParagraphSeparatorCommand::doApply):
1217
1218 2010-02-04  Dumitru Daniliuc  <dumi@chromium.org>
1219
1220         Reviewed by Eric Seidel.
1221
1222         1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always
1223         succeeds.
1224         2. Jump straight to the transaction error callback when a
1225         statement fails in a way that makes sqlite automatically rollback
1226         the transaction.
1227         3. Fix the code that handles the "quota reached" failure, as it is
1228         one of the failures that lead to an automatic transaction
1229         rollback.
1230
1231         https://bugs.webkit.org/show_bug.cgi?id=34280
1232
1233         * platform/sql/SQLiteDatabase.cpp:
1234         (WebCore::SQLiteDatabase::isAutoCommitOn):
1235         * platform/sql/SQLiteDatabase.h:
1236         * platform/sql/SQLiteTransaction.cpp:
1237         (WebCore::SQLiteTransaction::begin):
1238         (WebCore::SQLiteTransaction::commit):
1239         (WebCore::SQLiteTransaction::rollback):
1240         (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite):
1241         * platform/sql/SQLiteTransaction.h:
1242         * storage/SQLTransaction.cpp:
1243         (WebCore::SQLTransaction::SQLTransaction):
1244         (WebCore::SQLTransaction::runStatements):
1245         (WebCore::SQLTransaction::runCurrentStatement):
1246         (WebCore::SQLTransaction::handleCurrentStatementError):
1247         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
1248
1249 2010-02-04  Peter Kasting  <pkasting@google.com>
1250
1251         Not reviewed, rollback.
1252
1253         Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
1254
1255         * platform/chromium/ScrollbarThemeChromiumMac.h:
1256
1257 2010-02-04  Stephen White  <senorblanco@chromium.org>
1258
1259         Unreviewed, build fix.
1260
1261         Fix for Chromium/Mac after palindromic scrollbar change (54345).
1262
1263         Covered by many layout tests.
1264
1265         * platform/chromium/ScrollbarThemeChromiumMac.h:
1266         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
1267
1268 2010-02-04  Clemmitt Sigler  <cmsigler@gmail.com>
1269
1270         Reviewed by David Levin.
1271
1272         WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
1273         Updated WebCore/GNUmakefile.am to include needed files in build.
1274         
1275         https://bugs.webkit.org/show_bug.cgi?id=34387
1276
1277         No new tests.
1278
1279         * GNUmakefile.am:
1280
1281 2010-02-04  Stephan Aßmus  <superstippi@gmx.de>
1282
1283         Reviewed by David Levin.
1284
1285         Misc coding style fixes in Haiku port code.
1286         https://bugs.webkit.org/show_bug.cgi?id=34527
1287
1288         No tests needed.
1289
1290         * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0
1291         * platform/haiku/DragImageHaiku.cpp: Trailing white space.
1292         * platform/haiku/FileChooserHaiku.cpp: Sorted headers.
1293         * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h
1294
1295 2010-02-04  Enrica Casucci  <enrica@apple.com>
1296
1297         Reviewed by Csaba Osztrogonac.
1298
1299         Fixed crash on QT introduced with the fix for
1300         https://bugs.webkit.org/show_bug.cgi?id=34609
1301
1302         The test has been added with the original patch.
1303         
1304         * platform/qt/ClipboardQt.cpp:
1305         (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData.
1306
1307 2010-02-04  Christian Dywan  <christian@twotoasts.de>
1308
1309         Reviewed by Xan Lopez.
1310
1311         Conditionalize third party cookie policy for libsoup 2.29.90.
1312
1313         * platform/network/soup/CookieJarSoup.cpp:
1314         (WebCore::setCookies):
1315         * platform/network/soup/DNSSoup.cpp:
1316         (WebCore::prefetchDNS):
1317         * platform/network/soup/ResourceHandleSoup.cpp:
1318         (WebCore::restartedCallback):
1319         (WebCore::startHttp):
1320         * platform/network/soup/ResourceRequestSoup.cpp:
1321         (WebCore::ResourceRequest::toSoupMessage):
1322         (WebCore::ResourceRequest::updateFromSoupMessage):
1323
1324 2010-02-04  Christian Dywan  <christian@twotoasts.de>
1325
1326         Rubber-stamped by Gustavo Noronha Silva.
1327
1328         Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation.
1329
1330         * platform/gtk/GOwnPtrGtk.cpp:
1331
1332 2010-02-04  Alexey Proskuryakov  <ap@apple.com>
1333
1334         Reviewed by Darin Adler.
1335
1336         Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
1337         https://bugs.webkit.org/show_bug.cgi?id=34520
1338
1339         Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html
1340
1341         * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute
1342         properties before attributes. Otherwise, copying "checked" attribute would make the cloned
1343         node checked, unchecking original (they share a name, and are thus in the same radio group).
1344         We do want the original to be unchecked, but we also want to know its original state in
1345         HTMLInputElement::copyNonAttributeProperties().
1346
1347         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties):
1348         Use setChecked instead of plain assignment to prevent m_checked getting out of sync with
1349         checkedRadioButtons. Also, copy field related to default checked state, so that m_checked
1350         won't be overridden when copying attributes.
1351
1352 2010-02-04  Kevin Ollivier  <kevino@theolliviers.com>
1353
1354         [wx] Build fix after addition of Clipboard::writePlainText method.
1355
1356         * platform/wx/ClipboardWx.cpp:
1357         (WebCore::ClipboardWx::writePlainText):
1358         * platform/wx/ClipboardWx.h:
1359
1360 2010-02-04  Enrica Casucci  <enrica@apple.com>
1361
1362         Reviewed by Oliver Hunt.
1363
1364         REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
1365         <rdar://problem/7595685>
1366         https://bugs.webkit.org/show_bug.cgi?id=34609
1367
1368         Test: editing/pasteboard/drop-inputtext-acquires-style.html
1369
1370         The dragging code did not distinguish the case of dragging the content of an input control
1371         as a special case. The markup placed in the pasteboard included the style information.
1372         I've modified the Clipboard class interface adding a new method writePlainText to match the
1373         behavior of the copy and cut commands and modified the drag code to detect the special case.
1374         I've modified all the platform specific implementations of the Clipboard class.
1375         
1376         * dom/Clipboard.h: Added writePlainText pure virtual function.
1377         * editing/Editor.cpp:
1378         (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
1379         (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
1380         * editing/htmlediting.cpp:
1381         (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name
1382         in Editor.cpp
1383         * editing/htmlediting.h:
1384         * page/DragController.cpp:
1385         (WebCore::DragController::startDrag):
1386         * platform/Pasteboard.h:
1387         * platform/android/ClipboardAndroid.cpp:
1388         (WebCore::ClipboardAndroid::writePlainText): Added.
1389         * platform/android/ClipboardAndroid.h:
1390         * platform/chromium/ClipboardChromium.cpp:
1391         (WebCore::ClipboardChromium::writePlainText): Added.
1392         * platform/chromium/ClipboardChromium.h:
1393         * platform/gtk/ClipboardGtk.cpp:
1394         (WebCore::ClipboardGtk::writePlainText): Added.
1395         * platform/gtk/ClipboardGtk.h:
1396         * platform/haiku/ClipboardHaiku.cpp:
1397         (WebCore::ClipboardHaiku::writePlainText): Added.
1398         * platform/haiku/ClipboardHaiku.h:
1399         * platform/mac/ClipboardMac.h:
1400         * platform/mac/ClipboardMac.mm:
1401         (WebCore::ClipboardMac::writePlainText): Added.
1402         * platform/mac/PasteboardMac.mm:
1403         (WebCore::Pasteboard::writePlainText): Added helper function.
1404         * platform/qt/ClipboardQt.cpp:
1405         (WebCore::ClipboardQt::writePlainText): Added.
1406         * platform/qt/ClipboardQt.h:
1407         * platform/win/ClipboardWin.cpp:
1408         (WebCore::ClipboardWin::writePlainText): Added.
1409         * platform/win/ClipboardWin.h:
1410
1411 2010-02-04  Steve Block  <steveblock@google.com>
1412
1413         Reviewed by Nate Chapin.
1414
1415         Fix bug in V8 convertNPVariantToJValue when converting float and double types
1416         https://bugs.webkit.org/show_bug.cgi?id=34593
1417
1418         No new tests, build fix only.
1419
1420         * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified.
1421         (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum.
1422
1423 2010-02-04  Chris Guillory  <chris.guillory@google.com>
1424
1425         Reviewed by Darin Fisher.
1426
1427         [Chromium] Notify ChromeClientChromium of AccessibilityObject state
1428         change notifications.
1429         
1430         https://bugs.webkit.org/show_bug.cgi?id=34464
1431
1432         * accessibility/chromium/AXObjectCacheChromium.cpp:
1433         (WebCore::toChromeClientChromium):
1434         (WebCore::AXObjectCache::postPlatformNotification):
1435         * page/chromium/ChromeClientChromium.h:
1436
1437 2010-02-04  Stephen White  <senorblanco@chromium.org>
1438
1439         Unreviewed, build fix for Chromium.
1440
1441         Revert r54341 ("[v8] Remove clear method from DOM object maps"),
1442         since it causes the worker tests to fail on Chromium.
1443
1444         * bindings/v8/DOMData.h:
1445         (WebCore::DOMData::removeObjectsFromWrapperMap):
1446         * bindings/v8/DOMDataStore.h:
1447         (WebCore::ChunkedTable::clear):
1448         (WebCore::ChunkedTable::clearEntries):
1449         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
1450         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
1451         * bindings/v8/V8DOMMap.cpp:
1452         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
1453         (WebCore::removeAllDOMObjectsInCurrentThread):
1454         * bindings/v8/V8DOMMap.h:
1455         (WebCore::WeakReferenceMap::clear):
1456         * bindings/v8/WorkerScriptController.cpp:
1457         (WebCore::WorkerScriptController::~WorkerScriptController):
1458
1459 2010-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1460
1461         Reviewed by Xan Lopez.
1462
1463         [GTK] Crashes when an invalid hostname is pre-fetched
1464         https://bugs.webkit.org/show_bug.cgi?id=34602
1465
1466         * platform/network/soup/DNSSoup.cpp:
1467         (WebCore::prefetchDNS): NULL-check the SoupURI that is created
1468         from the hostname; that will happen for invalid hostnames.
1469
1470 2010-02-04  José Millán Soto  <jmillan@igalia.com>
1471
1472         Reviewed by Xan Lopez.
1473
1474         [Gtk] webkitgtk crashed when Orca open
1475         https://bugs.webkit.org/show_bug.cgi?id=34463
1476
1477         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1478         (textForObject):
1479         Checking if render objects are texts before calling toRenderText
1480
1481 2010-02-04  Xan Lopez  <xlopez@igalia.com>
1482
1483         Reviewed by Gustavo Noronha.
1484
1485         Set first party URI in all SoupMessages. This allows libsoup to
1486         implement a "no third party cookies" policy in case it wants
1487         to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and
1488         use it for SoupURI.
1489
1490         * platform/network/soup/CookieJarSoup.cpp:
1491         (WebCore::setCookies):
1492         * platform/network/soup/ResourceHandleSoup.cpp:
1493         (WebCore::restartedCallback):
1494         (WebCore::startHttp):
1495         * platform/network/soup/ResourceRequestSoup.cpp:
1496         (WebCore::ResourceRequest::toSoupMessage):
1497         (WebCore::ResourceRequest::updateFromSoupMessage):
1498
1499 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
1500
1501         Reviewed by Timothy Hatcher.
1502
1503         Web Inspector: group cookies by domains, not frame's domains.
1504
1505         https://bugs.webkit.org/show_bug.cgi?id=34599
1506
1507         * inspector/front-end/CookieItemsView.js:
1508         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
1509         * inspector/front-end/inspector.js:
1510         (WebInspector.updateResource):
1511         (WebInspector._addCookieDomain):
1512
1513 2010-02-04  Nate Chapin  <japhet@chromium.org>
1514
1515         Reviewed by Dimitri Glazkov.
1516
1517         [V8] Delete V8CustomBinding.h and all references to V8Custom
1518
1519         https://bugs.webkit.org/show_bug.cgi?id=32638
1520
1521         * bindings/v8/NPV8Object.cpp:
1522         * bindings/v8/V8DOMWindowShell.h:
1523         * bindings/v8/V8NPObject.cpp:
1524         * bindings/v8/V8Utilities.cpp:
1525         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1526         * bindings/v8/custom/V8AttrCustom.cpp:
1527         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1528         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1529         * bindings/v8/custom/V8ClipboardCustom.cpp:
1530         * bindings/v8/custom/V8CoordinatesCustom.cpp:
1531         * bindings/v8/custom/V8CustomBinding.h: Removed.
1532         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
1533         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1534         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
1535         * bindings/v8/custom/V8DatabaseCustom.cpp:
1536         * bindings/v8/custom/V8ElementCustom.cpp:
1537         * bindings/v8/custom/V8EventSourceConstructor.cpp:
1538         * bindings/v8/custom/V8EventSourceCustom.cpp:
1539         * bindings/v8/custom/V8GeolocationCustom.cpp:
1540         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1541         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1542         (WebCore::v8HTMLAudioElementConstructorCallback):
1543         (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
1544         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1545         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
1546         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
1547         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
1548         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1549         (WebCore::v8HTMLImageElementConstructorCallback):
1550         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1551         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1552         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1553         (WebCore::v8HTMLOptionElementConstructorCallback):
1554         (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
1555         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1556         * bindings/v8/custom/V8HistoryCustom.cpp:
1557         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1558         * bindings/v8/custom/V8LocationCustom.cpp:
1559         * bindings/v8/custom/V8MessagePortCustom.cpp:
1560         * bindings/v8/custom/V8NodeCustom.cpp:
1561         * bindings/v8/custom/V8NodeFilterCustom.cpp:
1562         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1563         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1564         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1565         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1566         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
1567         * bindings/v8/custom/V8StorageCustom.cpp:
1568         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
1569         * bindings/v8/custom/V8WebGLArrayCustom.h:
1570         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
1571         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
1572         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
1573         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
1574         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
1575         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
1576         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
1577         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1578         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1579         * bindings/v8/custom/V8WorkerCustom.cpp:
1580         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1581         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1582         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1583
1584 2010-02-04  Ariya Hidayat  <ariya.hidayat@gmail.com>
1585
1586         Reviewed by Simon Hausmann.
1587
1588         [Qt] Unnecessary QBrush construction for doing a solid fill
1589         https://bugs.webkit.org/show_bug.cgi?id=34559
1590
1591         Use the similar trick like r37421, i.e. use the special brush for
1592         solid color to avoid creating QBrush again and again.
1593
1594         * platform/graphics/qt/GraphicsContextQt.cpp:
1595         (WebCore::GraphicsContext::setPlatformFillColor):
1596
1597 2010-02-04  Dan Bernstein  <mitz@apple.com>
1598
1599         Reviewed by Simon Fraser.
1600
1601         REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
1602         https://bugs.webkit.org/show_bug.cgi?id=34371
1603
1604         Allow ScrollbarTheme to cap the overlap between pages, and set a cap of
1605         40 in ScrollbarThemeMac.
1606
1607         * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages().
1608         * editing/EditorCommand.cpp:
1609         (WebCore::verticalScrollDistance): Use Scrollbar methods instead of
1610         constants, and cap the scroll distance if needed.
1611         * platform/ScrollView.cpp:
1612         (WebCore::ScrollView::updateScrollbars): Ditto.
1613         (WebCore::ScrollView::wheelEvent): Ditto.
1614         * platform/Scrollbar.cpp:
1615         (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the
1616         value from the native scrollbar theme.
1617         * platform/Scrollbar.h: Replaced scroll amount constants with static methods.
1618         (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep.
1619         (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging.
1620         * platform/ScrollbarTheme.h:
1621         (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation
1622         that returns the largest int.
1623         * platform/gtk/WheelEventGtk.cpp:
1624         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
1625         constants.
1626         * platform/haiku/PlatformWheelEventHaiku.cpp:
1627         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
1628         constants.
1629         * platform/mac/ScrollbarThemeMac.h:
1630         (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override
1631         that returns 40.
1632         * platform/mac/WheelEventMac.mm:
1633         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
1634         Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep.
1635         * platform/wx/MouseWheelEventWx.cpp:
1636         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
1637         constants.
1638         * platform/wx/ScrollViewWx.cpp:
1639         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar
1640         methods instead of constants, and cap the scroll distance if needed.
1641         * rendering/RenderLayer.cpp:
1642         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto.
1643
1644 2010-02-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
1645
1646         Reviewed by Ariya Hidayat.
1647
1648         [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary
1649         recaching, remove QTimer::singleShot and QPixmap::scaled, more
1650         accurate strategy of handling transform operation blends. Rotating a
1651         bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5.
1652
1653         https://bugs.webkit.org/show_bug.cgi?id=34062
1654
1655         This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements.
1656
1657         * platform/graphics/qt/GraphicsLayerQt.cpp:
1658         (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching
1659         (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs
1660         (WebCore::OpacityAnimationQt::updateState): style change
1661
1662 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
1663
1664         Reviewed by Timothy Hatcher.
1665
1666         Web Inspector: Cookies for resources are not shown in storage panel.
1667
1668         https://bugs.webkit.org/show_bug.cgi?id=34594
1669
1670         * inspector/InspectorController.cpp:
1671         (WebCore::InspectorController::getCookies):
1672         * inspector/InspectorResource.cpp:
1673         (WebCore::InspectorResource::updateScriptObject):
1674         (WebCore::InspectorResource::cachedResource):
1675         * inspector/InspectorResource.h:
1676         (WebCore::InspectorResource::requestURL):
1677
1678 2010-02-04  Anton Muhin  <antonm@chromium.org>
1679
1680         Reviewed by Adam Barth.
1681
1682         [v8] Remove clear method from DOM object maps
1683         https://bugs.webkit.org/show_bug.cgi?id=34530
1684
1685         No new tests. Should be covered by existent testing infrastructure.
1686
1687         * bindings/v8/DOMData.h:
1688         * bindings/v8/DOMDataStore.h:
1689         * bindings/v8/V8DOMMap.cpp:
1690         * bindings/v8/V8DOMMap.h:
1691         * bindings/v8/WorkerScriptController.cpp:
1692         (WebCore::WorkerScriptController::~WorkerScriptController):
1693
1694 2010-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
1695
1696         Reviewed by Xan Lopez.
1697
1698         [Gtk] Check if the renderer() exists in textForObject.
1699
1700         This is fixing a crash in the textForObject method. It can
1701         happen when inspecting AtkObjects in the accerciser, then
1702         navigating to a new page and still inspecting the old tree.
1703
1704         In this case the AccessibilityObjectWrapperAtk was still
1705         valid but the included renderer() was returning 0. Add a
1706         check for the accObject->renderer() before trying to use
1707         the result.
1708
1709         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1710         (textForObject):
1711
1712 2010-02-04  Yury Semikhatsky  <yurys@chromium.org>
1713
1714         Reviewed by Pavel Feldman.
1715
1716         Provide strongly typed C++ interface for inspector's injected script.
1717
1718         https://bugs.webkit.org/show_bug.cgi?id=33616
1719
1720         * GNUmakefile.am:
1721         * WebCore.gypi:
1722         * WebCore.pro:
1723         * WebCore.vcproj/WebCore.vcproj:
1724         * WebCore.xcodeproj/project.pbxproj:
1725         * bindings/js/JSInjectedScriptHostCustom.cpp:
1726         (WebCore::InjectedScriptHost::injectedScriptFor):
1727         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1728         (WebCore::InjectedScriptHost::injectedScriptFor):
1729         * inspector/InjectedScript.cpp: Added.
1730         (WebCore::InjectedScript::InjectedScript):
1731         (WebCore::InjectedScript::dispatch):
1732         (WebCore::InjectedScript::callFrames):
1733         (WebCore::InjectedScript::wrapAndStringifyForConsole):
1734         (WebCore::InjectedScript::releaseWrapperObjectGroup):
1735         * inspector/InjectedScript.h: Added.
1736         (WebCore::InjectedScript::InjectedScript):
1737         (WebCore::InjectedScript::~InjectedScript):
1738         (WebCore::InjectedScript::hasNoValue):
1739         * inspector/InjectedScriptHost.cpp:
1740         (WebCore::InjectedScriptHost::injectedScriptForId):
1741         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
1742         * inspector/InjectedScriptHost.h:
1743         * inspector/InspectorBackend.cpp:
1744         (WebCore::InspectorBackend::dispatchOnInjectedScript):
1745         * inspector/InspectorController.cpp:
1746         (WebCore::InspectorController::InspectorController):
1747         (WebCore::InspectorController::~InspectorController):
1748         (WebCore::InspectorController::inspectedPageDestroyed):
1749         (WebCore::InspectorController::windowScriptObjectAvailable):
1750         (WebCore::InspectorController::scriptObjectReady):
1751         (WebCore::InspectorController::setFrontendProxyObject):
1752         (WebCore::InspectorController::close):
1753         (WebCore::InspectorController::getProfile):
1754         (WebCore::InspectorController::enableDebugger):
1755         (WebCore::InspectorController::didPause):
1756         (WebCore::InspectorController::injectedScriptForNodeId):
1757         * inspector/InspectorController.h:
1758         (WebCore::InspectorController::frontendScriptState):
1759         * inspector/InspectorFrontend.cpp:
1760         (WebCore::InspectorFrontend::addConsoleMessage):
1761         * inspector/front-end/InjectedScript.js:
1762         (injectedScriptConstructor):
1763
1764 2010-02-04  Philippe Normand  <pnormand@igalia.com>
1765
1766         Rubber stamped by Xan Lopez.
1767
1768         Missing include, build fix after landing of patch from the bug 34435.
1769
1770         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1771
1772 2010-02-02  Philippe Normand  <pnormand@igalia.com>
1773
1774         Reviewed by Gustavo Noronha Silva.
1775
1776         [Gtk] libsoup critical warning in media player http cookies injection code
1777         https://bugs.webkit.org/show_bug.cgi?id=34435
1778
1779         Fixed the critical warning and refactored the
1780         User-Agent/Referer/cookies injection code, in that order. Previous
1781         order (cookies first) was wrong because if cookies injection could
1782         not be done neither the User-Agent nor Referer were injected. Also
1783         started a non-JSC-specific, gtk-specific GOwnPtr module.
1784
1785         * GNUmakefile.am:
1786         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1787         (WebCore::mediaPlayerPrivateSourceChangedCallback):
1788         * platform/gtk/GOwnPtrGtk.cpp: Added.
1789         (WTF::SoupURI):
1790         (WTF::GstElement):
1791         * platform/gtk/GOwnPtrGtk.h: Added.
1792
1793 2010-02-04  Mikhail Naganov  <mnaganov@chromium.org>
1794
1795         Reviewed by Timothy Hatcher.
1796
1797         Put JSC-specific debugger & profiler code under "USE(JSC)" defines.
1798         The plan is to enable "JAVASCRIPT_DEBUGGER" in Chromium and then
1799         make this code engine-agnostic.
1800
1801         https://bugs.webkit.org/show_bug.cgi?id=34531
1802
1803         * inspector/InjectedScriptHost.cpp:
1804         * inspector/InjectedScriptHost.h:
1805         * inspector/InspectorBackend.cpp:
1806         * inspector/InspectorBackend.h:
1807         * inspector/InspectorController.cpp:
1808         (WebCore::InspectorController::InspectorController):
1809         (WebCore::InspectorController::setWindowVisible):
1810         (WebCore::InspectorController::scriptObjectReady):
1811         (WebCore::InspectorController::close):
1812         (WebCore::InspectorController::didCommitLoad):
1813         * inspector/InspectorController.h:
1814         * inspector/InspectorFrontend.cpp:
1815         * inspector/InspectorFrontend.h:
1816         * inspector/JavaScriptCallFrame.cpp:
1817         * inspector/JavaScriptCallFrame.h:
1818         * inspector/JavaScriptDebugListener.h:
1819         * inspector/JavaScriptDebugServer.cpp:
1820         * inspector/JavaScriptDebugServer.h:
1821         * inspector/JavaScriptProfile.cpp:
1822         * inspector/JavaScriptProfile.h:
1823         * inspector/JavaScriptProfileNode.cpp:
1824         * inspector/JavaScriptProfileNode.h:
1825         * loader/FrameLoader.cpp:
1826         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1827         * page/Page.cpp:
1828         (WebCore::Page::Page):
1829
1830 2010-02-03  Nicholas Young  <nicholas.young@nokia.com>
1831
1832         Reviewed by Eric Carlson.
1833
1834         Defer formatting of times displayed on media controls to the current theme.
1835         https://bugs.webkit.org/show_bug.cgi?id=34405
1836
1837         No new tests needed. Refactoring Only.
1838
1839         * rendering/MediaControlElements.cpp: Removed formatTime()
1840         (WebCore::MediaControlTimeDisplayElement::setCurrentValue): No longer sets inner text
1841         * rendering/MediaControlElements.h:
1842         * rendering/RenderMedia.cpp:
1843         (WebCore::RenderMedia::updateTimeDisplay): Asks the theme to format the time display elements
1844         * rendering/RenderTheme.cpp:
1845         (WebCore::RenderTheme::formatMediaControlsTime): new virtual method
1846         (WebCore::RenderTheme::formatMediaControlsCurrentTime): new virtual method
1847         (WebCore::RenderTheme::formatMediaControlsRemainingTime): new virtual method
1848         * rendering/RenderTheme.h:
1849
1850 2010-02-03  Steve Falkenburg  <sfalken@apple.com>
1851
1852         Windows Debug_All build fix.
1853
1854         * platform/graphics/win/WKCACFLayer.cpp:
1855
1856 2010-02-03  Brady Eidson  <beidson@apple.com>
1857
1858         Reviewed by Alexey Proskuryakov.
1859
1860         REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
1861         <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550
1862
1863         Tests: fast/loader/document-with-fragment-url-1.html
1864                fast/loader/document-with-fragment-url-2.html
1865                fast/loader/document-with-fragment-url-3.html
1866                fast/loader/document-with-fragment-url-4.html
1867
1868         * platform/KURL.cpp:
1869         (WebCore::KURL::init): When resolving new URL from an empty reference relative to an absolute URL,
1870           any fragment identifier from the absolute URL should be removed from the resulting resolution.
1871
1872 2010-02-03  Kwang Yul Seo  <skyul@company100.net>
1873
1874         Reviewed by Eric Seidel.
1875
1876         [BREWMP] Port TextBreakIteratorInternalICU
1877         https://bugs.webkit.org/show_bug.cgi?id=34515
1878
1879         Port TextBreakIteratorInternalICU.
1880
1881         * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added.
1882         (WebCore::currentSearchLocaleID):
1883         (WebCore::currentTextBreakLocaleID):
1884
1885 2010-02-03  Adele Peterson  <adele@apple.com>
1886
1887         Reviewed by Simon Fraser.
1888
1889         Fix for <rdar://problem/7594212> 
1890         https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
1891         CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319
1892
1893         Test: fast/css/counters/counter-before-selector-crash.html
1894
1895         * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check.
1896
1897 2010-02-03  Adele Peterson  <adele@apple.com>
1898
1899         Reviewed by Brady Eidson.
1900
1901         Initialize the variable in the last checkin to false.  I didn't realize DRT relies on this being false.  
1902         So ports that want visited link tracking need to set that flag.
1903
1904         * page/PageGroup.cpp:
1905
1906 2010-02-03  Adele Peterson  <adele@apple.com>
1907
1908         Reviewed by Brady Eidson.
1909
1910         Fix for https://bugs.webkit.org/show_bug.cgi?id=34547
1911         static shouldTrackVisitedLinks is not initialized
1912
1913         For ports that don't call into WebKit to initialize this, 
1914         we should initialize to true so they get the visited link behavior by default.
1915
1916         * page/PageGroup.cpp:
1917
1918 2010-02-03  Dan Bernstein  <mitz@apple.com>
1919
1920         Reviewed by Simon Fraser.
1921
1922         <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
1923         https://bugs.webkit.org/show_bug.cgi?id=34546
1924
1925         * manual-tests/drag-image-table-part-decorations.html: Added.
1926         * rendering/RenderFieldset.cpp:
1927         (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
1928         paint within the current painting root.
1929         * rendering/RenderTable.cpp:
1930         (WebCore::RenderTable::paintBoxDecorations): Ditto.
1931         * rendering/RenderTableCell.cpp:
1932         (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
1933         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
1934
1935 2010-02-03  Nate Chapin  <japhet@chromium.org>
1936
1937         Unreviewed, Chromium mac build fix.
1938
1939         [V8] Remove unused V8Proxy* variable from generated wrapping code.
1940
1941         * bindings/scripts/CodeGeneratorV8.pm:
1942
1943 2010-02-03  Nate Chapin  <japhet@chromium.org>
1944
1945         Reviewed by Dimitri Glazkov.
1946
1947         [V8] Use toV8() to wrap in the custom bindings, and remove
1948         the old wrapping code from V8DOMWrapper.
1949         
1950         https://bugs.webkit.org/show_bug.cgi?id=32563
1951
1952         * bindings/scripts/CodeGeneratorV8.pm:
1953         * bindings/v8/ScriptController.cpp:
1954         * bindings/v8/ScriptObject.cpp:
1955         * bindings/v8/V8AbstractEventListener.cpp:
1956         * bindings/v8/V8Collection.h:
1957         * bindings/v8/V8DOMWindowShell.cpp:
1958         * bindings/v8/V8DOMWrapper.cpp:
1959         * bindings/v8/V8DOMWrapper.h:
1960         * bindings/v8/V8NodeFilterCondition.cpp:
1961         * bindings/v8/V8Proxy.cpp:
1962         * bindings/v8/WorkerContextExecutionProxy.h
1963         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1964         * bindings/v8/custom/V8CustomPositionCallback.cpp:
1965         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
1966         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
1967         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
1968         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
1969         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
1970         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1971         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
1972         * bindings/v8/custom/V8DocumentCustom.cpp:
1973         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1974         * bindings/v8/custom/V8ElementCustom.cpp:
1975         * bindings/v8/custom/V8EventCustom.cpp:
1976         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1977         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1978         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1979         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1980         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1981         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1982         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1983         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1984         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1985         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1986         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1987         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1988         * bindings/v8/custom/V8MessageEventCustom.cpp:
1989         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1990         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1991         * bindings/v8/custom/V8NodeListCustom.cpp:
1992         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1993         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1994         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1995         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1996         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1997         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1998
1999 2010-02-03  Sam Weinig  <sam@webkit.org>
2000
2001         Reviewed by Anders Carlsson.
2002
2003         Fix drawing buttons in viewless WebKit.
2004
2005         * platform/mac/ThemeMac.mm:
2006         (WebCore::paintButton): If there is no view, make sure to flip the
2007         context so that the button is drawn correctly.
2008
2009 2010-02-03  Yael Aharon  <yael.aharon@nokia.com>
2010
2011         Reviewed by Kenneth Rohde Christiansen.
2012
2013         [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
2014         https://bugs.webkit.org/show_bug.cgi?id=34425
2015
2016         Reverting r54279, it was a misunderstanding.
2017
2018         * platform/network/qt/SocketStreamHandlePrivate.h:
2019         * platform/network/qt/SocketStreamHandleQt.cpp:
2020         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
2021         (WebCore::SocketStreamHandlePrivate::send):
2022         (WebCore::SocketStreamHandlePrivate::close):
2023
2024 2010-02-03  Drew Wilson  <atwilson@chromium.org>
2025
2026         Reviewed by Alexey Proskuryakov.
2027
2028         SharedWorkerScriptLoader should not be an ActiveDOMObject
2029         https://bugs.webkit.org/show_bug.cgi?id=34513
2030
2031         Test: Existing tests suffice (fixes test downstream in Chrome).
2032
2033         * workers/DefaultSharedWorkerRepository.cpp:
2034         (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
2035         Changed to no longer derive from ActiveDOMObject (handles its own refcounting).
2036         (WebCore::SharedWorkerScriptLoader::load):
2037         Now increments own refcount when a load is pending.
2038         (WebCore::SharedWorkerScriptLoader::notifyFinished):
2039         Changed to decrement refcount when load is complete.
2040         * workers/WorkerScriptLoaderClient.h:
2041         Documentation change about reliability of notifyFinished() when used from worker context.
2042
2043 2010-02-03  Pavel Feldman  <pfeldman@chromium.org>
2044
2045         Reviewed by Timothy Hatcher.
2046
2047         Web Inspector: Inspector renders blank scripts on reloading the webpage.
2048
2049         https://bugs.webkit.org/show_bug.cgi?id=34537
2050
2051         * inspector/front-end/ResourcesPanel.js:
2052         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
2053
2054 2010-02-03  Yury Semikhatsky  <yurys@chromium.org>
2055
2056         Reviewed by Pavel Feldman.
2057
2058         Provide strongly typed C++ interface for inspector's injected script.
2059
2060         https://bugs.webkit.org/show_bug.cgi?id=33616
2061
2062         * WebCore.gypi:
2063         * WebCore.pro:
2064         * WebCore.vcproj/WebCore.vcproj:
2065         * WebCore.xcodeproj/project.pbxproj:
2066         * bindings/js/JSInjectedScriptHostCustom.cpp:
2067         (WebCore::InjectedScriptHost::injectedScriptFor):
2068         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2069         (WebCore::InjectedScriptHost::injectedScriptFor):
2070         * inspector/InjectedScript.cpp: Added.
2071         (WebCore::InjectedScript::InjectedScript):
2072         (WebCore::InjectedScript::dispatch):
2073         (WebCore::InjectedScript::callFrames):
2074         (WebCore::InjectedScript::wrapAndStringify):
2075         (WebCore::InjectedScript::releaseWrapperObjectGroup):
2076         * inspector/InjectedScript.h: Added.
2077         (WebCore::InjectedScript::InjectedScript):
2078         (WebCore::InjectedScript::~InjectedScript):
2079         (WebCore::InjectedScript::hasNoValue):
2080         * inspector/InjectedScriptHost.cpp:
2081         (WebCore::InjectedScriptHost::injectedScriptForId):
2082         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
2083         * inspector/InjectedScriptHost.h:
2084         * inspector/InspectorBackend.cpp:
2085         (WebCore::InspectorBackend::dispatchOnInjectedScript):
2086         * inspector/InspectorController.cpp:
2087         (WebCore::InspectorController::InspectorController):
2088         (WebCore::InspectorController::~InspectorController):
2089         (WebCore::InspectorController::inspectedPageDestroyed):
2090         (WebCore::InspectorController::windowScriptObjectAvailable):
2091         (WebCore::InspectorController::scriptObjectReady):
2092         (WebCore::InspectorController::setFrontendProxyObject):
2093         (WebCore::InspectorController::close):
2094         (WebCore::InspectorController::getProfile):
2095         (WebCore::InspectorController::enableDebugger):
2096         (WebCore::InspectorController::didPause):
2097         (WebCore::InspectorController::injectedScriptForNodeId):
2098         * inspector/InspectorController.h:
2099         (WebCore::InspectorController::frontendScriptState):
2100         * inspector/InspectorFrontend.cpp:
2101         (WebCore::InspectorFrontend::addConsoleMessage):
2102
2103 2010-02-03  Andras Becsi  <abecsi@webkit.org>
2104
2105         Unreviewed build fix.
2106
2107         [Qt] Roll-out r54281 because it broke the build on the Qt Release bot.
2108
2109         * platform/graphics/qt/GraphicsLayerQt.cpp:
2110         (WebCore::GraphicsLayerQtImpl::State::State):
2111         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
2112         (WebCore::GraphicsLayerQtImpl::setBaseTransform):
2113         (WebCore::GraphicsLayerQtImpl::drawContents):
2114         (WebCore::GraphicsLayerQtImpl::notifyChange):
2115         (WebCore::GraphicsLayerQtImpl::flushChanges):
2116         (WebCore::GraphicsLayerQt::setNeedsDisplayInRect):
2117         (WebCore::applyTimingFunction):
2118         (WebCore::webkitAnimationToQtAnimationValue):
2119         (WebCore::AnimationQtBase::updateState):
2120         (WebCore::AnimationQt::updateCurrentTime):
2121         (WebCore::TransformAnimationQt::TransformAnimationQt):
2122         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2123         (WebCore::TransformAnimationQt::applyFrame):
2124         (WebCore::TransformAnimationQt::updateState):
2125         (WebCore::OpacityAnimationQt::updateState):
2126         (WebCore::GraphicsLayerQt::pauseAnimation):
2127
2128 2010-02-02  Bryan Yeung  <bryeung@google.com>
2129
2130         Reviewed by Darin Adler.
2131
2132         Avoid using an invalidated KURL object in baseURI.
2133
2134         https://bugs.webkit.org/show_bug.cgi?id=34492
2135
2136         This change fixes baseURI for Chromium (where the KURL implementation
2137         does not allow invalid KURLs to carry relative paths).  This is
2138         regression tested by
2139         LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
2140
2141         This is a re-application of this patch since it was mistakenly identified as
2142         the cause of a big chromium test regression and rolled out in r54264.
2143
2144         * dom/Element.cpp:
2145         (WebCore::Element::baseURI):
2146
2147 2010-02-02  Joel Stanley  <joel@jms.id.au>
2148
2149         Reviewed by David Levin.
2150
2151         [Chromium] Make setCaretBlinkInterval static.
2152         https://bugs.webkit.org/show_bug.cgi?id=31704
2153
2154         This is so it can be called from the newly exposed Chromium API setter
2155         method.
2156
2157         * rendering/RenderThemeChromiumLinux.cpp:
2158         * rendering/RenderThemeChromiumLinux.h:
2159
2160 2010-02-02  Yael Aharon  <yael.aharon@nokia.com>
2161
2162         Reviewed by Kenneth Rohde Christiansen.
2163
2164         [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
2165         https://bugs.webkit.org/show_bug.cgi?id=34425
2166
2167         Buffer the sent data in SocketStreamHandlePrivate instead of relying on
2168         the network layer to do it. This is more robust and more consistent with how 
2169         Qt's HTTP stack works.
2170         Close the socket in SocketStreamHandlePrivate::close() regardless of its state.
2171
2172         No new tests, since no new functionality is introduced.
2173
2174         * platform/network/qt/SocketStreamHandlePrivate.h:
2175         * platform/network/qt/SocketStreamHandleQt.cpp:
2176         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
2177         (WebCore::SocketStreamHandlePrivate::send):
2178         (WebCore::SocketStreamHandlePrivate::close):
2179         (WebCore::SocketStreamHandlePrivate::socketBytesWritten):
2180
2181 2010-02-03  Shinichiro Hamaji  <hamaji@chromium.org>
2182
2183         Unreviewed revert of r54259 as it seems to break chromium's unit tests.
2184         The tests pass with r54257 but fail with r54260.
2185         As r54258 and r54260 don't touch code, I'm reverting this change.
2186
2187         [V8] Generate toV8 conversion helpers, a la JSC bindings.
2188         https://bugs.webkit.org/show_bug.cgi?id=32563
2189
2190         * bindings/v8/ScriptController.cpp:
2191         (WebCore::ScriptController::processingUserGesture):
2192         (WebCore::createScriptObject):
2193         (WebCore::ScriptController::createScriptObjectForPluginElement):
2194         * bindings/v8/ScriptObject.cpp:
2195         (WebCore::ScriptGlobalObject::set):
2196         * bindings/v8/V8AbstractEventListener.cpp:
2197         (WebCore::V8AbstractEventListener::handleEvent):
2198         * bindings/v8/V8Collection.h:
2199         (WebCore::getV8Object):
2200         (WebCore::toNativeCollection):
2201         (WebCore::getNamedPropertyOfCollection):
2202         (WebCore::collectionNamedPropertyGetter):
2203         (WebCore::getIndexedPropertyOfCollection):
2204         (WebCore::collectionIndexedPropertyGetter):
2205         (WebCore::nodeCollectionIndexedPropertyEnumerator):
2206         (WebCore::collectionIndexedPropertyEnumerator):
2207         (WebCore::collectionStringOrNullIndexedPropertyGetter):
2208         (WebCore::collectionStringIndexedPropertyGetter):
2209         (WebCore::setCollectionIndexedGetter):
2210         (WebCore::setCollectionNamedGetter):
2211         (WebCore::setCollectionStringOrNullIndexedGetter):
2212         (WebCore::setCollectionStringIndexedGetter):
2213         * bindings/v8/V8DOMWindowShell.cpp:
2214         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
2215         * bindings/v8/V8DOMWrapper.cpp:
2216         (WebCore::downcastSVGPathSeg):
2217         (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
2218         (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
2219         (WebCore::V8DOMWrapper::convertToV8Object):
2220         (WebCore::V8DOMWrapper::instantiateV8Object):
2221         (WebCore::V8DOMWrapper::isDOMEventWrapper):
2222         (WebCore::V8DOMWrapper::htmlElementType):
2223         (WebCore::V8DOMWrapper::svgElementType):
2224         (WebCore::V8DOMWrapper::convertEventToV8Object):
2225         (WebCore::):
2226         (WebCore::V8DOMWrapper::convertDocumentToV8Object):
2227         (WebCore::V8DOMWrapper::convertNodeToV8Object):
2228         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
2229         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
2230         (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
2231         (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
2232         (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
2233         (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
2234         (WebCore::V8DOMWrapper::convertWindowToV8Object):
2235         (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
2236         * bindings/v8/V8DOMWrapper.h:
2237         (WebCore::V8DOMWrapper::convertToV8Object):
2238         (WebCore::V8DOMWrapper::convertNodeToV8Object):
2239         (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
2240         (WebCore::V8DOMWrapper::convertEventToV8Object):
2241         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
2242         (WebCore::V8DOMWrapper::instantiateV8Object):
2243         * bindings/v8/V8NodeFilterCondition.cpp:
2244         (WebCore::V8NodeFilterCondition::acceptNode):
2245         * bindings/v8/V8Proxy.cpp:
2246         (WebCore::V8Proxy::setDOMException):
2247         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2248         (WebCore::toV8Object):
2249         (WebCore::V8CanvasRenderingContext2D::createPatternCallback):
2250         * bindings/v8/custom/V8CustomPositionCallback.cpp:
2251         (WebCore::V8CustomPositionCallback::handleEvent):
2252         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
2253         (WebCore::V8CustomPositionErrorCallback::handleEvent):
2254         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
2255         (WebCore::V8CustomSQLStatementCallback::handleEvent):
2256         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2257         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
2258         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
2259         (WebCore::V8CustomSQLTransactionCallback::handleEvent):
2260         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
2261         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
2262         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2263         (WebCore::V8DOMWindow::openCallback):
2264         (WebCore::V8DOMWindow::indexedPropertyGetter):
2265         (WebCore::V8DOMWindow::namedPropertyGetter):
2266         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
2267         (WebCore::NAMED_PROPERTY_GETTER):
2268         * bindings/v8/custom/V8DocumentCustom.cpp:
2269         (WebCore::V8Document::evaluateCallback):
2270         (WebCore::V8Document::getCSSCanvasContextCallback):
2271         (WebCore::V8Document::implementationAccessorGetter):
2272         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2273         (WebCore::V8Document::locationAccessorGetter):
2274         * bindings/v8/custom/V8ElementCustom.cpp:
2275         (WebCore::V8Element::setAttributeNodeCallback):
2276         (WebCore::V8Element::setAttributeNodeNSCallback):
2277         * bindings/v8/custom/V8EventCustom.cpp:
2278         (WebCore::V8Event::dataTransferAccessorGetter):
2279         (WebCore::V8Event::clipboardDataAccessorGetter):
2280         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2281         (WebCore::getNamedItems):
2282         (WebCore::getItem):
2283         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
2284         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2285         (WebCore::V8Custom::v8HTMLAudioElementConstructorCallback):
2286         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2287         (WebCore::V8HTMLCanvasElement::getContextCallback):
2288         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2289         (WebCore::getNamedItems):
2290         (WebCore::getItem):
2291         (WebCore::V8HTMLCollection::callAsFunctionCallback):
2292         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2293         (WebCore::V8HTMLDocument::namedPropertyGetter):
2294         (WebCore::V8HTMLDocument::allAccessorGetter):
2295         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2296         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
2297         (WebCore::V8HTMLFormElement::namedPropertyGetter):
2298         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2299         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
2300         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2301         (WebCore::V8Custom::v8HTMLImageElementConstructorCallback):
2302         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2303         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
2304         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2305         (WebCore::V8HTMLSelectElement::namedPropertyGetter):
2306         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
2307         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2308         (WebCore::createInjectedScript):
2309         (WebCore::V8InjectedScriptHost::nodeForIdCallback):
2310         (WebCore::V8InjectedScriptHost::databaseForIdCallback):
2311         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2312         (WebCore::V8MessageChannel::constructorCallback):
2313         * bindings/v8/custom/V8MessageEventCustom.cpp:
2314         (WebCore::V8MessageEvent::portsAccessorGetter):
2315         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2316         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
2317         (WebCore::V8NamedNodeMap::namedPropertyGetter):
2318         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
2319         (WebCore::toV8):
2320         * bindings/v8/custom/V8NodeListCustom.cpp:
2321         (WebCore::V8NodeList::namedPropertyGetter):
2322         (WebCore::V8NodeList::callAsFunctionCallback):
2323         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2324         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
2325         (WebCore::V8NotificationCenter::createNotificationCallback):
2326         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2327         (WebCore::V8SVGMatrix::multiplyCallback):
2328         (WebCore::V8SVGMatrix::inverseCallback):
2329         (WebCore::V8SVGMatrix::rotateFromVectorCallback):
2330         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2331         (WebCore::V8StyleSheetList::namedPropertyGetter):
2332         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
2333         (WebCore::toV8Object):
2334         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2335         (WebCore::toV8Object):
2336         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2337         (WebCore::V8XSLTProcessor::transformToFragmentCallback):
2338         (WebCore::V8XSLTProcessor::transformToDocumentCallback):
2339
2340 2010-02-03  Mikhail Naganov  <mnaganov@chromium.org>
2341
2342         Reviewed by Pavel Feldman.
2343
2344         Start unforking debugger and profiler code.
2345
2346         Remove custom implementation of Console.
2347         Add 'ScriptProfiler' and 'ScriptProfile' types.
2348         Start migration to engine-neutral types in InspectorController.
2349
2350         https://bugs.webkit.org/show_bug.cgi?id=34481
2351
2352         * GNUmakefile.am:
2353         * WebCore.gypi:
2354         * WebCore.pro:
2355         * WebCore.xcodeproj/project.pbxproj:
2356         * bindings/js/JSBindingsAllInOne.cpp:
2357         * bindings/js/JSConsoleCustom.cpp:
2358         * bindings/js/ScriptProfile.h: Added.
2359         * bindings/js/ScriptProfiler.cpp: Added.
2360         (WebCore::ScriptProfiler::start):
2361         (WebCore::ScriptProfiler::stop):
2362         * bindings/js/ScriptProfiler.h: Added.
2363         * bindings/scripts/CodeGeneratorV8.pm:
2364         * bindings/v8/ScriptProfile.h: Added.
2365         (WebCore::ScriptProfile::create):
2366         (WebCore::ScriptProfile::~ScriptProfile):
2367         (WebCore::ScriptProfile::title):
2368         (WebCore::ScriptProfile::uid):
2369         (WebCore::ScriptProfile::ScriptProfile):
2370         * bindings/v8/ScriptProfiler.cpp: Added.
2371         (WebCore::ScriptProfiler::start):
2372         (WebCore::ScriptProfiler::stop):
2373         * bindings/v8/ScriptProfiler.h: Added.
2374         * bindings/v8/custom/V8ConsoleCustom.cpp: Removed.
2375         * inspector/InspectorController.cpp:
2376         (WebCore::InspectorController::endGroup):
2377         (WebCore::InspectorController::show):
2378         (WebCore::InspectorController::setDOMStorageItem):
2379         (WebCore::InspectorController::addProfile):
2380         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
2381         (WebCore::InspectorController::addStartProfilingMessageToConsole):
2382         (WebCore::InspectorController::createProfileHeader):
2383         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2384         (WebCore::InspectorController::startUserInitiatedProfiling):
2385         (WebCore::InspectorController::stopUserInitiatedProfiling):
2386         (WebCore::InspectorController::enableDebugger):
2387         (WebCore::InspectorController::specialPanelForJSName):
2388         * inspector/InspectorController.h:
2389         (WebCore::InspectorController::searchingForNodeInPage):
2390         * page/Console.cpp:
2391         (WebCore::Console::profile):
2392         (WebCore::Console::profileEnd):
2393         * page/Console.h:
2394         (WebCore::):
2395         (WebCore::Console::create):
2396         (WebCore::Console::profiles):
2397         * page/Console.idl:
2398
2399 2010-02-02  Kent Tamura  <tkent@chromium.org>
2400
2401         Reviewed by Darin Adler.
2402
2403         Fix a bug that changes for some constraint attributes doesn't
2404         update validation CSS selectors.
2405         https://bugs.webkit.org/show_bug.cgi?id=31716
2406
2407         - Rename HTMLFormControlElement::updateValidity() to setNeedsValidityCheck()
2408         - Introduce HTMLFormControlElement::setNeedsWillValidate()
2409         - Introduce HTMLFormControlElement::m_hasName to make willValidate()
2410           work in parseMappedAttribute().
2411         - We need to call setNeedsValidityCheck() when HTMLInputElement::step or
2412           HTMLTextAreaElement::maxLength is changed.
2413
2414         * html/HTMLFormControlElement.cpp:
2415         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2416         (WebCore::HTMLFormControlElement::parseMappedAttribute):
2417         (WebCore::HTMLFormControlElement::insertedIntoTree):
2418         (WebCore::HTMLFormControlElement::removedFromTree):
2419         (WebCore::HTMLFormControlElement::formDestroyed):
2420         (WebCore::HTMLFormControlElement::willValidate): Avoids function calls.
2421         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
2422         (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
2423         * html/HTMLFormControlElement.h:
2424         (WebCore::HTMLFormControlElement::disabled): Move the code from .cpp.
2425         * html/HTMLInputElement.cpp:
2426         (WebCore::HTMLInputElement::setInputType):
2427         (WebCore::HTMLInputElement::parseMappedAttribute):
2428         (WebCore::HTMLInputElement::setValue):
2429         (WebCore::HTMLInputElement::setValueFromRenderer):
2430         (WebCore::HTMLInputElement::setFileListFromRenderer):
2431         * html/HTMLTextAreaElement.cpp:
2432         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
2433         (WebCore::HTMLTextAreaElement::setValue):
2434         * rendering/RenderTextControlMultiLine.cpp:
2435         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
2436
2437 2010-02-02  Roland Steiner  <rolandsteiner@chromium.org>
2438
2439         Reviewed by Adele Peterson.
2440
2441         Bug 34198 -  Ruby text should not inherit line-height
2442         (https://bugs.webkit.org/show_bug.cgi?id=34198)
2443         
2444         Resetting line-height to 'normal' in the default UA style sheet.
2445         Adding layout-test to check for this.
2446
2447         Test: fast/ruby/ruby-line-height.html
2448
2449         * css/html.css:
2450
2451 2010-02-02  James Robinson  <jamesr@chromium.org>
2452
2453         Reviewed by Dmitry Titov.
2454
2455         Add a null check for image, which might be NULL if tileSize is empty
2456         https://bugs.webkit.org/show_bug.cgi?id=34510
2457
2458         Test: fast/gradients/crash-on-1px-border.html
2459
2460         * rendering/RenderBoxModelObject.cpp:
2461         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
2462
2463 2010-02-02  Kent Tamura  <tkent@chromium.org>
2464
2465         Reviewed by Darin Adler.
2466
2467         rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
2468         month, time and week
2469         https://bugs.webkit.org/show_bug.cgi?id=34483
2470
2471         Tests: fast/forms/ValidityState-rangeOverflow.html
2472                fast/forms/ValidityState-rangeUnderflow.html
2473
2474         * html/HTMLInputElement.cpp:
2475           Defines the hard limits for the types as double values.
2476         (WebCore::HTMLInputElement::rangeUnderflow): Supports the types.
2477         (WebCore::HTMLInputElement::rangeOverflow): Supports the types.
2478         (WebCore::HTMLInputElement::minimum): Supports the types.
2479         (WebCore::HTMLInputElement::maximum): Supports the types.
2480
2481 2010-02-02  Fumitoshi Ukai  <ukai@chromium.org>
2482
2483         Reviewed by Alexey Proskuryakov.
2484
2485         WebSocket set pending activity to avoid unexpected GC.
2486         https://bugs.webkit.org/show_bug.cgi?id=34014
2487
2488         Test: websocket/tests/websocket-pending-activity.html
2489
2490         * websockets/WebSocket.cpp:
2491         (WebCore::WebSocket::connect): set pending activity until it receives didClose. 
2492         (WebCore::WebSocket::contextDestroyed): check socket is already closed.
2493         (WebCore::WebSocket::stop): close the connection and unset pending activity when it stops.
2494         (WebCore::WebSocket::didClose): unset pending activity.
2495         * websockets/WebSocket.h:
2496         * websockets/WebSocketChannel.cpp:
2497         (WebCore::WebSocketChannel::didReceiveData): protect this while it processes received data.
2498
2499 2010-02-02  Gustavo Noronha Silva  <gns@gnome.org>
2500
2501         No review, rolling out r54261.
2502         http://trac.webkit.org/changeset/54261
2503         https://bugs.webkit.org/show_bug.cgi?id=34435
2504
2505         Causes crashes on release builds
2506
2507         * GNUmakefile.am:
2508         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2509         (WebCore::mediaPlayerPrivateSourceChangedCallback):
2510         * platform/gtk/GOwnPtrGtk.cpp: Removed.
2511         * platform/gtk/GOwnPtrGtk.h: Removed.
2512
2513 2010-02-02  David Levin  <levin@chromium.org>
2514
2515         No review, rolling out r54245.
2516         http://trac.webkit.org/changeset/54245
2517         https://bugs.webkit.org/show_bug.cgi?id=34492
2518
2519         This patch seems to have broken thousands of chromium tests on
2520         Windows (and since it was for chromium, I'm rolling it out).
2521
2522         * dom/Element.cpp:
2523         (WebCore::Element::baseURI):
2524
2525 2010-02-02  Steve Falkenburg  <sfalken@apple.com>
2526
2527         Reviewed by Darin Adler.
2528
2529         Copyright year updating for Windows version resources should be automatic
2530         https://bugs.webkit.org/show_bug.cgi?id=34503
2531
2532         * WebCore.vcproj/QTMovieWin.rc:
2533
2534 2010-02-02  Dimitri Glazkov  <dglazkov@chromium.org>
2535
2536         No review, rolling out r54257.
2537         http://trac.webkit.org/changeset/54257
2538         https://bugs.webkit.org/show_bug.cgi?id=34491
2539
2540         [Chromium] broke thousands of Win tests and a few of Linux tests.
2541
2542         * platform/graphics/skia/GraphicsContextSkia.cpp:
2543         (WebCore::GraphicsContext::beginTransparencyLayer):
2544         * platform/graphics/skia/PlatformContextSkia.cpp:
2545         (PlatformContextSkia::applyAntiAliasedClipPaths):
2546         * platform/graphics/skia/PlatformContextSkia.h:
2547
2548 2010-02-02  Philippe Normand  <pnormand@igalia.com>
2549
2550         Reviewed by Gustavo Noronha Silva.
2551
2552         [Gtk] libsoup critical warning in media player http cookies injection code
2553         https://bugs.webkit.org/show_bug.cgi?id=34435
2554
2555         Fixed the critical warning and refactored the
2556         User-Agent/Referer/cookies injection code, in that order. Previous
2557         order (cookies first) was wrong because if cookies injection could
2558         not be done neither the User-Agent not Referer were injected. Also
2559         started a non-JSC-specific, gtk-specific GOwnPtr module.
2560
2561         * GNUmakefile.am:
2562         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2563         (WebCore::mediaPlayerPrivateSourceChangedCallback):
2564         * platform/gtk/GOwnPtrGtk.cpp: Added.
2565         (WTF::SoupURI):
2566         (WTF::GstElement):
2567         * platform/gtk/GOwnPtrGtk.h: Added.
2568
2569 2010-02-02  Nate Chapin  <japhet@chromium.org>
2570
2571         Reviewed by Dimitri Glazkov.
2572
2573         [V8] Use toV8() to wrap in the custom bindings, and remove
2574         the old wrapping code from V8DOMWrapper.
2575         
2576         https://bugs.webkit.org/show_bug.cgi?id=32563
2577
2578         * bindings/v8/ScriptController.cpp:
2579         * bindings/v8/ScriptObject.cpp:
2580         * bindings/v8/V8AbstractEventListener.cpp:
2581         * bindings/v8/V8Collection.h:
2582         * bindings/v8/V8DOMWindowShell.cpp:
2583         * bindings/v8/V8DOMWrapper.cpp:
2584         * bindings/v8/V8DOMWrapper.h:
2585         * bindings/v8/V8NodeFilterCondition.cpp:
2586         * bindings/v8/V8Proxy.cpp:
2587         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2588         * bindings/v8/custom/V8CustomPositionCallback.cpp:
2589         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
2590         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
2591         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2592         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
2593         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
2594         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2595         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
2596         * bindings/v8/custom/V8DocumentCustom.cpp:
2597         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2598         * bindings/v8/custom/V8ElementCustom.cpp:
2599         * bindings/v8/custom/V8EventCustom.cpp:
2600         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2601         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2602         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2603         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2604         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2605         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2606         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2607         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2608         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2609         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2610         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2611         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2612         * bindings/v8/custom/V8MessageEventCustom.cpp:
2613         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2614         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
2615         * bindings/v8/custom/V8NodeListCustom.cpp:
2616         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2617         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2618         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
2619         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
2620         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2621         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2622
2623 2010-02-02  Garret Kelly  <gdk@chromium.org>
2624
2625         Reviewed by David Levin.
2626
2627         When using the Skia graphics context, the beginTransparencyLayer call
2628         currently creates a new layer, but does not keep the current
2629         compositing mode for use when merging the created layer back onto the
2630         rest of the context. This patch fixes that.
2631         https://bugs.webkit.org/show_bug.cgi?id=34491
2632
2633         fast/backgrounds/svg-as-mask.html is affected by this change in Chromium,
2634         but not fixed. This is the first of a series of patches to fix it.
2635
2636         * platform/graphics/skia/GraphicsContextSkia.cpp:
2637         (WebCore::GraphicsContext::beginTransparencyLayer):
2638         * platform/graphics/skia/PlatformContextSkia.cpp:
2639         (PlatformContextSkia::beginTransparencyLayer):
2640         * platform/graphics/skia/PlatformContextSkia.h:
2641
2642 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
2643
2644         Reviewed by Eric Seidel.
2645
2646         Use WTF::getLocalTime instead of localtime_r in FTPDirectoryDocument
2647         https://bugs.webkit.org/show_bug.cgi?id=34409
2648
2649         Platform guards for localtime_r are not needed because we already have
2650         WTF::getLocalTime which does the same thing.
2651
2652         * loader/FTPDirectoryDocument.cpp:
2653         (WebCore::processFileDateString):
2654         * loader/FTPDirectoryParser.cpp:
2655         (WebCore::gmtimeQt):
2656
2657 2010-02-02  Adam Roben  <aroben@apple.com>
2658
2659         Copy WebCore's bindings generation scripts to the PrivateHeaders
2660         directory on Mac
2661
2662         This will allow other projects to use these scripts.
2663
2664         Fixes <http://webkit.org/b/34498>.
2665
2666         Reviewed by Mark Rowe.
2667
2668         * WebCore.xcodeproj/project.pbxproj: Added the bindings generation
2669         scripst to the Copy Headers phase, and marked them as Private.
2670
2671 2010-02-02  Adam Roben  <aroben@apple.com>
2672
2673         Copy WebCore's bindings generation scripts to a more sensible location
2674
2675         Part of Bug 34496: Clean up WebCore's IDL/script copying
2676         <https://bugs.webkit.org/show_bug.cgi?id=34496>
2677
2678         Reviewed by Steve Falkenburg.
2679
2680         * WebCore.vcproj/WebCore.make:
2681         * WebCore.vcproj/WebCoreGenerated.vcproj:
2682         Instead of copying to obj/WebKit/DOMInterfaces, copy to obj/WebCore/scripts.
2683
2684 2010-02-02  Adam Roben  <aroben@apple.com>
2685
2686         Rename the scripts used to copy WebCore's bindings generation scripts
2687
2688         Part of Bug 34496: Clean up WebCore's IDL/script copying
2689         <https://bugs.webkit.org/show_bug.cgi?id=34496>
2690
2691         Reviewed by Steve Falkenburg.
2692
2693         * WebCore.vcproj/MigrateScripts: Renamed from WebCore/WebCore.vcproj/MigrateIDLAndScripts.
2694         * WebCore.vcproj/migrate-scripts.sh: Renamed from WebCore/WebCore.vcproj/migrate-idls.sh.
2695
2696         * WebCore.vcproj/WebCoreGenerated.vcproj: Updated for renames.
2697
2698 2010-02-02  Adam Roben  <aroben@apple.com>
2699
2700         Stop copying IDL files into $(WebKitOutputDir)
2701
2702         No one uses these anymore (as of r52921).
2703
2704         Part of Bug 34496: Clean up WebCore's IDL/script copying
2705         <https://bugs.webkit.org/show_bug.cgi?id=34496>
2706
2707         Reviewed by Steve Falkenburg.
2708
2709         * WebCore.vcproj/MigrateIDLAndScripts: Don't copy the IDL files
2710         anymore. Keep copying the scripts, though, since other projects
2711         (outside of the WebKit repository) do use those.
2712
2713 2010-02-02  Bryan Yeung  <bryeung@google.com>
2714
2715         Reviewed by Darin Adler.
2716
2717         Avoid using an invalidated KURL object in baseURI.
2718
2719         https://bugs.webkit.org/show_bug.cgi?id=34492
2720
2721         This change fixes baseURI for Chromium (where the KURL implementation
2722         does not allow invalid KURLs to carry relative paths).  This is
2723         regression tested by
2724         LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
2725
2726         * dom/Element.cpp:
2727         (WebCore::Element::baseURI):
2728
2729 2010-02-02  Alexey Proskuryakov  <ap@apple.com>
2730
2731         Reviewed by Darin Adler.
2732
2733         https://bugs.webkit.org/show_bug.cgi?id=34076
2734         <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute
2735
2736         Test: fast/forms/misplaced-img-form-registration.html
2737
2738         * html/HTMLFormElement.cpp:
2739         (WebCore::HTMLFormElement::registerImgElement): Assert that the same image isn't added
2740         to vector again.
2741         (WebCore::HTMLFormElement::removeImgElement): Similarly, assert that we're removing something
2742         that's actually registered.
2743
2744         * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::~HTMLImageElement): If parser fails
2745         to insert the image element, then there will be no removed from tree notification either,
2746         need to unregister right away.
2747
2748 2010-02-02  Alexander Pavlov  <apavlov@chromium.org>
2749
2750         Reviewed by Pavel Feldman.
2751
2752         Web Inspector: Eliminate some of the platform flavor-specific stylesheet selectors
2753
2754         Extract OS version into WebInspector.platformFlavor
2755         https://bugs.webkit.org/show_bug.cgi?id=34469
2756
2757         * inspector/front-end/InspectorBackendStub.js:
2758         * inspector/front-end/InspectorFrontendHostStub.js:
2759         (.WebInspector.InspectorFrontendHostStub.prototype.platform):
2760         * inspector/front-end/inspector.css:
2761         * inspector/front-end/inspector.js:
2762         (WebInspector.pendingDispatches.0.URLRegExp.i.get platform):
2763         (WebInspector.get platformFlavor):
2764         (WebInspector._detectPlatformFlavor):
2765         (WebInspector.loaded):
2766         (WebInspector.toolbarDragStart):
2767         (WebInspector.isMac):
2768
2769 2010-02-02  Steve Block  <steveblock@google.com>
2770
2771         Reviewed by Ariya Hidayat.
2772
2773         Adds utility functions for converting between JavaInstance and NPAPI types
2774         https://bugs.webkit.org/show_bug.cgi?id=34468
2775
2776         This is required by Android for injecting objects into V8 JavaScript.
2777
2778         No new tests, added utility functions only.
2779
2780         * Android.v8bindings.mk: Modified. Added JavaNPObjectV8.cpp
2781         * bridge/jni/v8/JavaNPObjectV8.cpp: Added.
2782         (JSC::Bindings::AllocJavaNPObject):
2783         (JSC::Bindings::FreeJavaNPObject):
2784         (JSC::Bindings::):
2785         (JSC::Bindings::JavaInstanceToNPObject):
2786         (JSC::Bindings::ExtractJavaInstance):
2787         (JSC::Bindings::JavaNPObjectHasMethod):
2788         (JSC::Bindings::JavaNPObjectInvoke):
2789         (JSC::Bindings::JavaNPObjectHasProperty):
2790         (JSC::Bindings::JavaNPObjectGetProperty):
2791         * bridge/jni/v8/JavaNPObjectV8.h: Added.
2792
2793 2010-02-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
2794
2795         Reviewed by Ariya Hidayat.
2796
2797         [Qt] Symbian plugins include a wrong header file for QPixmap
2798         https://bugs.webkit.org/show_bug.cgi?id=34475
2799
2800         * plugins/symbian/PluginViewSymbian.cpp:
2801
2802 2010-02-02  Pavel Feldman  <pfeldman@chromium.org>
2803
2804         Reviewed by Timothy Hatcher.
2805
2806         Web Inspector: URLs are not syntax-higlighted as links in source view.
2807
2808         This change enables linkifier in the NativeTextViewer. It adds
2809         "linkify" and "a_node" parse states into the highlighter in order
2810         to detect links and distinguish between resource and external ones.
2811         Contains drive-by fix for the webkit-html-* styles and moves them to the
2812         common location.
2813
2814         https://bugs.webkit.org/show_bug.cgi?id=34364
2815
2816         * inspector/front-end/NativeTextViewer.js:
2817         (WebInspector.NativeTextViewer):
2818         (WebInspector.NativeTextViewer.prototype._createSpan):
2819         (WebInspector.NativeTextViewer.prototype._createLink):
2820         (WebInspector.NativeTextViewer.prototype._rewriteHref):
2821         * inspector/front-end/SourceFrame.js:
2822         (WebInspector.SourceFrame.prototype.setContent):
2823         (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
2824         * inspector/front-end/SourceHTMLTokenizer.js:
2825         (WebInspector.SourceHTMLTokenizer):
2826         (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttribute):
2827         (WebInspector.SourceHTMLTokenizer.prototype._isExpectingAttributeValue):
2828         (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttribute):
2829         (WebInspector.SourceHTMLTokenizer.prototype._setExpectingAttributeValue):
2830         (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
2831         (WebInspector.SourceHTMLTokenizer.prototype._attrValueTokenType):
2832         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
2833         * inspector/front-end/SourceHTMLTokenizer.re2js:
2834         * inspector/front-end/SourceView.js:
2835         (WebInspector.SourceView.prototype._contentLoaded):
2836         * inspector/front-end/TextEditorHighlighter.js:
2837         (WebInspector.TextEditorHighlighter):
2838         * inspector/front-end/inspector.css:
2839         * inspector/front-end/inspectorSyntaxHighlight.css:
2840
2841 2010-02-02  Simon Hausmann  <simon.hausmann@nokia.com>
2842
2843         Reviewed by Ariya Hidayat.
2844
2845         [Qt] Install libraries and headers in package builds
2846         https://bugs.webkit.org/show_bug.cgi?id=34325
2847
2848         Add the QtWebKit libraries to the installable items, except on
2849         Symbian where the libraries are always linked in their final
2850         destination.
2851
2852         Also include the headers generated by syncqt in the installation.
2853
2854         * WebCore.pro:
2855
2856 2010-02-02  Kavita Kanetkar  <kkanetkar@chromium.org>
2857
2858         Reviewed by Dmitry Titov.
2859
2860         [V8] Raising an exception while setting timeout/interval from a detached frame
2861         https://bugs.webkit.org/show_bug.cgi?id=34453
2862         This fixes the issue/failing test mentioned in Chromium bug:
2863         http://code.google.com/p/chromium/issues/detail?id=32671
2864
2865
2866         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2867         (WebCore::WindowSetTimeoutImpl):
2868
2869 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
2870
2871         Reviewed by Eric Seidel.
2872
2873         [BREWMP] Port Screen
2874         https://bugs.webkit.org/show_bug.cgi?id=34299
2875
2876         Get the screen size and depth from the main display bitmap.
2877
2878         * platform/brew/ScreenBrew.cpp: Added.
2879         (WebCore::getDisplayInfo):
2880         (WebCore::screenRect):
2881         (WebCore::screenAvailableRect):
2882         (WebCore::screenDepth):
2883         (WebCore::screenDepthPerComponent):
2884         (WebCore::screenIsMonochrome):
2885
2886 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
2887
2888         Reviewed by Eric Seidel.
2889
2890         [BREWMP] Port LocalizedStrings
2891         https://bugs.webkit.org/show_bug.cgi?id=34257
2892
2893         Port LocalizedStrings to BREWMP.
2894
2895         * platform/brew/LocalizedStringsBrew.cpp: Added.
2896         (WebCore::submitButtonDefaultLabel):
2897         (WebCore::inputElementAltText):
2898         (WebCore::resetButtonDefaultLabel):
2899         (WebCore::defaultLanguage):
2900         (WebCore::searchableIndexIntroduction):
2901         (WebCore::fileButtonChooseFileLabel):
2902         (WebCore::fileButtonNoFileSelectedLabel):
2903         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2904         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2905         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2906         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2907         (WebCore::contextMenuItemTagDownloadImageToDisk):
2908         (WebCore::contextMenuItemTagCopyImageToClipboard):
2909         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2910         (WebCore::contextMenuItemTagCopy):
2911         (WebCore::contextMenuItemTagGoBack):
2912         (WebCore::contextMenuItemTagGoForward):
2913         (WebCore::contextMenuItemTagStop):
2914         (WebCore::contextMenuItemTagReload):
2915         (WebCore::contextMenuItemTagCut):
2916         (WebCore::contextMenuItemTagPaste):
2917         (WebCore::contextMenuItemTagNoGuessesFound):
2918         (WebCore::contextMenuItemTagIgnoreSpelling):
2919         (WebCore::contextMenuItemTagLearnSpelling):
2920         (WebCore::contextMenuItemTagSearchWeb):
2921         (WebCore::contextMenuItemTagLookUpInDictionary):
2922         (WebCore::contextMenuItemTagOpenLink):
2923         (WebCore::contextMenuItemTagIgnoreGrammar):
2924         (WebCore::contextMenuItemTagSpellingMenu):
2925         (WebCore::contextMenuItemTagShowSpellingPanel):
2926         (WebCore::contextMenuItemTagCheckSpelling):
2927         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2928         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2929         (WebCore::contextMenuItemTagFontMenu):
2930         (WebCore::contextMenuItemTagBold):
2931         (WebCore::contextMenuItemTagItalic):
2932         (WebCore::contextMenuItemTagUnderline):
2933         (WebCore::contextMenuItemTagOutline):
2934         (WebCore::contextMenuItemTagWritingDirectionMenu):
2935         (WebCore::contextMenuItemTagDefaultDirection):
2936         (WebCore::contextMenuItemTagLeftToRight):
2937         (WebCore::contextMenuItemTagRightToLeft):
2938         (WebCore::contextMenuItemTagInspectElement):
2939         (WebCore::searchMenuNoRecentSearchesText):
2940         (WebCore::searchMenuRecentSearchesText):
2941         (WebCore::searchMenuClearRecentSearchesText):
2942         (WebCore::unknownFileSizeText):
2943         (WebCore::AXWebAreaText):
2944         (WebCore::AXLinkText):
2945         (WebCore::AXListMarkerText):
2946         (WebCore::AXImageMapText):
2947         (WebCore::AXHeadingText):
2948         (WebCore::imageTitle):
2949         (WebCore::contextMenuItemTagTextDirectionMenu):
2950         (WebCore::AXButtonActionVerb):
2951         (WebCore::AXTextFieldActionVerb):
2952         (WebCore::AXRadioButtonActionVerb):
2953         (WebCore::AXCheckedCheckBoxActionVerb):
2954         (WebCore::AXUncheckedCheckBoxActionVerb):
2955         (WebCore::AXLinkActionVerb):
2956         (WebCore::AXMenuListPopupActionVerb):
2957         (WebCore::AXMenuListActionVerb):
2958         (WebCore::AXDefinitionListTermText):
2959         (WebCore::AXDefinitionListDefinitionText):
2960         (WebCore::validationMessageValueMissingText):
2961         (WebCore::validationMessageTypeMismatchText):
2962         (WebCore::validationMessagePatternMismatchText):
2963         (WebCore::validationMessageTooLongText):
2964         (WebCore::validationMessageRangeUnderflowText):
2965         (WebCore::validationMessageRangeOverflowText):
2966         (WebCore::validationMessageStepMismatchText):
2967
2968 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
2969
2970         Reviewed by Eric Seidel.
2971
2972         [BREWMP] Port systemBeep
2973         https://bugs.webkit.org/show_bug.cgi?id=33601
2974
2975         Implement systemBeep with IShell_Beep.
2976
2977         * platform/brew/SoundBrew.cpp: Added.
2978         (WebCore::systemBeep):
2979
2980 2010-02-02  Shinichiro Hamaji  <hamaji@chromium.org>
2981
2982         Reviewed by Eric Seidel.
2983
2984         [Win] Utilize PrintContext to share the printing code with other ports
2985         https://bugs.webkit.org/show_bug.cgi?id=34312
2986
2987         No new tests as this is just a small refactoring.
2988
2989 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
2990
2991         Reviewed by Eric Seidel.
2992
2993         [BREWMP] Add conversions between IntPoint and AEEPoint
2994         https://bugs.webkit.org/show_bug.cgi?id=34194
2995
2996         Make it easy to convert between IntPoint and AEEPoint.
2997
2998         * platform/graphics/IntPoint.h:
2999         * platform/graphics/brew/IntPointBrew.cpp: Added.
3000         (WebCore::IntPoint::IntPoint):
3001         (WebCore::IntPoint::operator AEEPoint):
3002
3003 2010-02-02  Steve Block  <steveblock@google.com>
3004
3005         Reviewed by Adam Barth.
3006
3007         Adds virtual destructors for AbstractWeakReferenceMap and AbstractWeakReferenceMap::Visitor
3008         https://bugs.webkit.org/show_bug.cgi?id=34434
3009
3010         No new tests, build fix only.
3011
3012         * bindings/v8/V8DOMMap.h: Modified.
3013         (WebCore::AbstractWeakReferenceMap::~AbstractWeakReferenceMap): Added.
3014         (WebCore::AbstractWeakReferenceMap::Visitor::~Visitor): Added.
3015
3016 2010-02-02  Avi Drissman  <avi@chromium.org>
3017
3018         Reviewed by Eric Seidel.
3019
3020         Sync up Chromium Mac render theme to Mac render theme
3021         https://bugs.webkit.org/show_bug.cgi?id=34340
3022
3023         Covered by existing layout tests.
3024
3025         * platform/chromium/ThemeChromiumMac.mm:
3026         (WebCore::updateStates):
3027         (WebCore::checkbox):
3028         (WebCore::paintCheckbox):
3029         (WebCore::radio):
3030         (WebCore::paintRadio):
3031         (WebCore::listButtonSizes):
3032         (WebCore::setupButtonCell):
3033         (WebCore::button):
3034         (WebCore::paintButton):
3035         (WebCore::ThemeChromiumMac::controlSize):
3036         (WebCore::ThemeChromiumMac::minimumControlSize):
3037         (WebCore::ThemeChromiumMac::controlBorder):
3038         (WebCore::ThemeChromiumMac::paint):
3039         * rendering/RenderThemeChromiumMac.h:
3040         * rendering/RenderThemeChromiumMac.mm:
3041         (-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
3042         (WebCore::convertNSColorToColor):
3043         (WebCore::RenderThemeChromiumMac::systemColor):
3044         (WebCore::RenderThemeChromiumMac::isControlStyled):
3045         (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
3046         (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
3047         (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
3048         (WebCore::RenderThemeChromiumMac::paintMenuList):
3049         (WebCore::RenderThemeChromiumMac::paintMenuListButton):
3050         (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
3051         (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
3052         (WebCore::RenderThemeChromiumMac::paintSliderTrack):
3053         (WebCore::RenderThemeChromiumMac::paintSliderThumb):
3054         (WebCore::RenderThemeChromiumMac::paintSearchField):
3055         (WebCore::RenderThemeChromiumMac::setSearchFieldSize):
3056         (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
3057         (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
3058         (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
3059         (WebCore::RenderThemeChromiumMac::popupButton):
3060         (WebCore::RenderThemeChromiumMac::sliderThumbHorizontal):
3061         (WebCore::RenderThemeChromiumMac::sliderThumbVertical):
3062
3063 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
3064
3065         Reviewed by Eric Seidel.
3066
3067         [BREWMP] Port Logging
3068         https://bugs.webkit.org/show_bug.cgi?id=34300
3069
3070         Log calls to notImplemented() by default.
3071
3072         * platform/brew/LoggingBrew.cpp: Added.
3073         (WebCore::InitializeLoggingChannelsIfNecessary):
3074
3075 2010-02-02  Kwang Yul Seo  <skyul@company100.net>
3076
3077         Reviewed by Eric Seidel.
3078
3079         [BREWMP] Port FileChooser
3080         https://bugs.webkit.org/show_bug.cgi?id=34261
3081
3082         Port FileChooser to BREWMP.
3083
3084         * platform/brew/FileChooserBrew.cpp: Added.
3085         (WebCore::FileChooser::basenameForWidth):
3086
3087 2010-02-01  Zoltan Horvath  <zoltan@webkit.org>
3088
3089         Reviewed by Darin Adler.
3090
3091         Allow custom memory allocation control for IconDatabaseClient class
3092         https://bugs.webkit.org/show_bug.cgi?id=33252
3093
3094         Inherits the following struct from Noncopyable because it is 
3095         instantiated by 'new' and no need to be copyable:
3096
3097         class name               - instantiated at: WebCore/'location'
3098         class IconDatabaseClient - loader/icon/IconDatabase.cpp:89
3099
3100         * loader/icon/IconDatabaseClient.h:
3101
3102 2010-02-01  Kwang Yul Seo  <skyul@company100.net>
3103
3104         Reviewed by Eric Seidel.
3105
3106         [BREWMP] Port MIMETypeRegistry
3107         https://bugs.webkit.org/show_bug.cgi?id=34220
3108
3109         Port MIMETypeRegistry with an extension map as other ports do.
3110
3111         * platform/brew: Added.
3112         * platform/brew/MIMETypeRegistryBrew.cpp: Added.
3113         (WebCore::):
3114         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3115
3116 2010-02-01  Dmitry Titov  <dimich@chromium.org>
3117
3118         Not reviewed, revert r54194 that fails new test on Qt and Chromium.
3119         https://bugs.webkit.org/show_bug.cgi?id=34382
3120
3121         * html/HTMLFrameElementBase.cpp:
3122         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
3123         (WebCore::HTMLFrameElementBase::insertedIntoDocument):
3124         * html/HTMLFrameElementBase.h:
3125         * page/Frame.cpp:
3126         * page/Frame.h:
3127
3128 2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
3129
3130         Reviewed by Eric Seidel.
3131
3132         Provide a way to get page number with layoutTestController
3133         https://bugs.webkit.org/show_bug.cgi?id=33840
3134
3135         Test: printing/page-break-always.html
3136
3137         * WebCore.base.exp:
3138         * WebCore.xcodeproj/project.pbxproj:
3139         * page/PrintContext.cpp:
3140         (WebCore::PrintContext::pageRect): Added a getter function.
3141         (WebCore::PrintContext::computePageRects): Move its logic into computePageRectsWithPageSize.
3142         (WebCore::PrintContext::computePageRectsWithPageSize): Factored out from computePageRects for pageNumberForElement.
3143         (WebCore::enclosingBoxModelObject): Added for pageNumberForElement.
3144         (WebCore::PrintContext::pageNumberForElement): Added for testing.
3145         * page/PrintContext.h:
3146
3147 2010-02-01  Kwang Yul Seo  <skyul@company100.net>
3148
3149         Reviewed by Eric Seidel.
3150
3151         [BREWMP] Add conversions between IntSize and AEESize
3152         https://bugs.webkit.org/show_bug.cgi?id=34197
3153
3154         Make it easy to convert between IntSize and AEESize.
3155
3156         * platform/graphics/IntSize.h:
3157         * platform/graphics/brew/IntSizeBrew.cpp: Added.
3158         (WebCore::IntSize::IntSize):
3159         (WebCore::IntSize::operator AEESize):
3160
3161 2010-02-01  Stephen White  <senorblanco@chromium.org>
3162
3163         Reviewed by Eric Seidel.
3164
3165         Fix for Pattern transformations in Chromium/Skia.  This required 
3166         reworking Pattern a bit to be more like the Gradient implementation.
3167         In particular, it now holds an m_pattern reference to the
3168         platform-specific implementation, and passes along changes to the
3169         m_patternSpaceTransformation, in the same way that Gradient does for
3170         m_gradientSpaceTransformation.  This is necessary since Skia creates the
3171         platform-specific pattern (SkShader) once, rather than recreating it
3172         on each draw.
3173         For platforms other than Skia, m_pattern is unused, they will
3174         continue to use the static createPlatformPattern(), and the new
3175         notification functions are stubbed out.  Other platforms can switch to
3176         the new implementation if they so choose.
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=24534 
3179
3180         Covered by svg/custom/pattern-y-offset.svg,
3181         svg/custom/pattern-cycle-detection.svg, and many more.
3182
3183         * platform/graphics/Pattern.cpp:
3184         (WebCore::Pattern::Pattern):
3185         Initializer for m_pattern.
3186         (WebCore::Pattern::~Pattern):
3187         call platformDestroy().
3188         (WebCore::Pattern::setPatternSpaceTransform):
3189         Pass along the transform via setPlatformPatternSpaceTransform().
3190         (WebCore::Pattern::platformDestroy):
3191         (WebCore::Pattern::setPlatformPatternSpaceTransform):
3192         Stub implementations for non-skia platforms.
3193         * platform/graphics/Pattern.h:
3194         * platform/graphics/skia/GraphicsContextSkia.cpp:
3195         (WebCore::GraphicsContext::setPlatformFillPattern):
3196         (WebCore::GraphicsContext::setPlatformStrokePattern):
3197         Call platformPattern() instead of static version.
3198         Since Pattern now owns its SkShader, no need to unref here.
3199         * platform/graphics/skia/PatternSkia.cpp:
3200         (WebCore::Pattern::platformDestroy):
3201         Unref the SkShader on destroy.
3202         (WebCore::Pattern::platformPattern):
3203         Create the platform pattern (SkShader) once, and cache it.
3204         (WebCore::Pattern::setPlatformPatternSpaceTransform):
3205         Set the shader's local matrix from the m_patternSpaceTransformation.
3206
3207 2010-02-01  Daniel Bates  <dbates@webkit.org>
3208
3209         Reviewed by Adam Barth.
3210
3211         https://bugs.webkit.org/show_bug.cgi?id=27312
3212
3213         Implements support for full page blocking via the X-XSS-Protection header.
3214
3215         Tests: http/tests/security/xssAuditor/full-block-base-href.html
3216                http/tests/security/xssAuditor/full-block-get-from-iframe.html
3217                http/tests/security/xssAuditor/full-block-iframe-javascript-url.html
3218                http/tests/security/xssAuditor/full-block-iframe-no-inherit.php
3219                http/tests/security/xssAuditor/full-block-javascript-link.html
3220                http/tests/security/xssAuditor/full-block-link-onclick.html
3221                http/tests/security/xssAuditor/full-block-object-tag.html
3222                http/tests/security/xssAuditor/full-block-post-from-iframe.html
3223                http/tests/security/xssAuditor/full-block-script-tag-with-source.html
3224                http/tests/security/xssAuditor/full-block-script-tag.html
3225                http/tests/security/xssAuditor/malformed-xss-protection-header.html
3226
3227         * page/XSSAuditor.cpp:
3228         (WebCore::XSSAuditor::shouldFullPageBlockForXSSProtectionHeader): Added.
3229         (WebCore::XSSAuditor::findInRequest): Modified to call method
3230         XSSAuditor::shouldFullPageBlockForXSSProtectionHeader.
3231         * page/XSSAuditor.h: Defined method shouldFullPageBlockForXSSProtectionHeader
3232         and fixed misspelled words in large comment block.
3233
3234 2010-02-01  Kwang Yul Seo  <skyul@company100.net>
3235
3236         Reviewed by Eric Seidel.
3237
3238         [BREWMP] Port SharedTimer with IShell_SetTimerEx.
3239         https://bugs.webkit.org/show_bug.cgi?id=33599
3240
3241         As fireTime passed in setSharedTimerFireTime is the absolute time,
3242         we must calcalute the interval by subtracting currentTime() from
3243         fireTime and pass the result to ISHELL_SetTimerEx.
3244
3245         * platform/brew/SharedTimerBrew.cpp: Added.
3246         (WebCore::invokeCallback):
3247         (WebCore::setSharedTimerFiredFunction):
3248         (WebCore::setSharedTimerFireTime):
3249         (WebCore::stopSharedTimer):
3250
3251 2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>
3252
3253         [Chromium] Unreviewed attempt to fix the chromium build.
3254
3255         Corresponding change: http://trac.webkit.org/changeset/54182
3256
3257         * bindings/scripts/CodeGeneratorV8.pm:
3258         * bindings/v8/ScriptController.cpp:
3259         (WebCore::ScriptController::processingUserGesture):
3260         * bindings/v8/ScriptController.h:
3261
3262 2010-02-01  Dmitry Titov  <dimich@chromium.org>
3263
3264         Reviewed by David Levin.
3265
3266         When a live iframe element is moved between pages, it still depends on the old page.
3267         https://bugs.webkit.org/show_bug.cgi?id=34382
3268
3269         Test: fast/frames/iframe-reparenting-new-page.html
3270
3271         * html/HTMLFrameElementBase.cpp:
3272         (WebCore::HTMLFrameElementBase::setName):
3273         Move the code setting the frame name into a separate function.
3274
3275         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
3276         (WebCore::HTMLFrameElementBase::updateLiveFrame):
3277         Update frame tree, reset page in the contentFrame and re-set the name.
3278
3279         (WebCore::HTMLFrameElementBase::insertedIntoDocument): 
3280         * html/HTMLFrameElementBase.h:
3281
3282         * page/Frame.cpp:
3283         (WebCore::Frame::setPage):
3284         * page/Frame.h: Add setPage method. It is only currently used when iframe is
3285                         moved between pages (so the ASSERT(m_ownerElement).
3286
3287 2010-02-01  Brady Eidson  <beidson@apple.com>
3288
3289         Reviewed by Tim Hatcher.
3290
3291         Add common IRC ports to port blocking.
3292         <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
3293
3294         * platform/KURL.cpp:
3295         (WebCore::portAllowed):
3296
3297 2010-01-29  Jeremy Orlow  <jorlow@chromium.org>
3298
3299         Reviewed by Nate Chapin.
3300
3301         [V8] Add compile time guards for IndexedDB custom functions
3302         https://bugs.webkit.org/show_bug.cgi?id=34368
3303
3304         * bindings/v8/custom/V8IDBRequestCustom.cpp:
3305         * bindings/v8/custom/V8IndexedDatabaseRequestCustom.cpp:
3306
3307 2010-01-29  Gavin Barraclough  <barraclough@apple.com>
3308
3309         Reviewed by Sam Weinig + Oliver Hunt.
3310
3311         Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
3312
3313         Change HTMLMediaElement methods that require checking whether the event is a user gesture to
3314         be passed a boolean.  This may be passed from the JSC bindings (where we have an exec state),
3315         or read from the event.  Add a Flag to the IDL to mark this information is required.
3316
3317         * WebCore.Video.exp:
3318         * bindings/js/JSDOMBinding.cpp:
3319         (WebCore::processingUserGesture):
3320         * bindings/js/JSDOMWindowCustom.cpp:
3321         (WebCore::domWindowAllowPopUp):
3322         (WebCore::JSDOMWindow::open):
3323         (WebCore::JSDOMWindow::showModalDialog):
3324         * bindings/js/JSDocumentCustom.cpp:
3325         (WebCore::JSDocument::setLocation):
3326         * bindings/js/ScriptController.cpp:
3327         (WebCore::ScriptController::processingUserGesture):
3328         (WebCore::ScriptController::processingUserGestureEvent):
3329         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
3330         * bindings/js/ScriptController.h:
3331         * bindings/scripts/CodeGeneratorJS.pm:
3332         * dom/Event.cpp:
3333         (WebCore::Event::isUserEvent):
3334         * dom/Event.h:
3335         * html/HTMLMediaElement.cpp:
3336         (WebCore::HTMLMediaElement::removedFromDocument):
3337         (WebCore::HTMLMediaElement::load):
3338         (WebCore::HTMLMediaElement::play):
3339         (WebCore::HTMLMediaElement::pause):
3340         (WebCore::HTMLMediaElement::beginScrubbing):
3341         (WebCore::HTMLMediaElement::documentDidBecomeActive):
3342         (WebCore::HTMLMediaElement::webkitEnterFullScreen):
3343         * html/HTMLMediaElement.h:
3344         * html/HTMLMediaElement.idl:
3345         * loader/FrameLoader.cpp:
3346         (WebCore::FrameLoader::isProcessingUserGesture):
3347         * loader/MediaDocument.cpp:
3348         (WebCore::MediaDocument::defaultEventHandler):
3349         * page/DOMWindow.cpp:
3350         (WebCore::DOMWindow::allowPopUp):
3351         * rendering/MediaControlElements.cpp:
3352         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
3353
3354 2010-02-01  Andreas Kling  <andreas.kling@nokia.com>
3355
3356         Reviewed by Kenneth Rohde Christiansen.
3357
3358         [Qt] Use the fallback style on Maemo 5
3359
3360         https://bugs.webkit.org/show_bug.cgi?id=34376
3361
3362         * platform/qt/RenderThemeQt.cpp:
3363         (WebCore::RenderThemeQt::RenderThemeQt):
3364         (WebCore::RenderThemeQt::fallbackStyle):
3365         (WebCore::RenderThemeQt::qStyle):
3366         (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
3367         * platform/qt/RenderThemeQt.h:
3368
3369 2010-02-01  Kavita Kanetkar  <kkanetkar@chromium.org>
3370
3371         Reviewed by Nate Chapin.
3372
3373         [V8] Making V8 generated classes' GetTemplate() function public
3374         https://bugs.webkit.org/show_bug.cgi?id=34026
3375
3376         * bindings/scripts/CodeGeneratorV8.pm: Generated code need not depend on V8CustomBinding.h, made GetTemplate() signature public.
3377
3378 2010-02-01  Steve Block  <steveblock@google.com>
3379
3380         Reviewed by Ariya Hidayat.
3381
3382         Adds V8-specific JNI bridge classes
3383         https://bugs.webkit.org/show_bug.cgi?id=34166
3384
3385         This is the V8 equivalent of bridge/jni/jsc/JNIBridgeJSC.
3386
3387         No new tests, build fix only.
3388
3389         * Android.v8bindings.mk: Modified. Added JNIBridge.cpp and JNIBridgeV8.cpp
3390         * bridge/Bridge.h: Modified. Added missing include for Noncopyable.h
3391         * bridge/jni/v8/JNIBridgeV8.cpp: Added.
3392         (JavaField::JavaField):
3393         * bridge/jni/v8/JNIBridgeV8.h: Added.
3394         (JSC::Bindings::JavaField::name):
3395         (JSC::Bindings::JavaField::type):
3396         (JSC::Bindings::JavaField::getJNIType):
3397
3398 2010-02-01  Steve Block  <steveblock@google.com>
3399
3400         Reviewed by Ariya Hidayat.
3401
3402         Adds V8-specific JNI utility functions.
3403         https://bugs.webkit.org/show_bug.cgi?id=33901
3404
3405         This is the V8 equivalent of bridge/jni/jsc/JNIUtilityPrivate.
3406
3407         No new tests, build fix only.
3408
3409         * Android.v8bindings.mk: Modified. Add JNIUtilityPrivate.cpp
3410         * bridge/jni/v8/JNIUtilityPrivate.cpp: Added.
3411         (JSC::Bindings::convertNPVariantToJValue):
3412         (JSC::Bindings::convertJValueToNPVariant):
3413         * bridge/jni/v8/JNIUtilityPrivate.h: Added.
3414
3415 2010-02-01  Steve Block  <steveblock@google.com>
3416
3417         Reviewed by Ariya Hidayat.
3418
3419         Adds V8 version of JavaClass
3420         https://bugs.webkit.org/show_bug.cgi?id=33898
3421
3422         This is the V8 equivalent of bridge/jni/jsc/JavaClassJSC
3423
3424         No new tests, build fix only.
3425
3426         * Android.v8bindings.mk: Modified. Added JavaClassV8.cpp
3427         * bridge/jni/v8/JavaClassV8.cpp: Added.
3428         (JavaClass::JavaClass):
3429         (JavaClass::~JavaClass):
3430         (JavaClass::methodsNamed):
3431         (JavaClass::fieldNamed):
3432         * bridge/jni/v8/JavaClassV8.h: Added.
3433
3434 2010-02-01  Steve Block  <steveblock@google.com>
3435
3436         Reviewed by Ariya Hidayat.
3437
3438         Adds V8 version of JavaInstance
3439         https://bugs.webkit.org/show_bug.cgi?id=33951
3440
3441         This is the V8 equivalent of bridge/jni/jsc/JavaInstanceJSC.
3442         Also fixes a typo in a comment in JavaInstanceJSC.cpp.
3443
3444         No new tests, build fix only.
3445
3446         * Android.v8bindings.mk: Modified. Added JavaInstanceV8.cpp
3447         * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified.
3448         (JavaInstance::invokeMethod): Modified. Fixed comment
3449         * bridge/jni/v8/JavaInstanceV8.cpp: Added.
3450         (JavaInstance::JavaInstance):
3451         (JavaInstance::~JavaInstance):
3452         (JavaInstance::getClass):
3453         (JavaInstance::invokeMethod):
3454         (JObjectWrapper::JObjectWrapper):
3455         (JObjectWrapper::~JObjectWrapper):
3456         * bridge/jni/v8/JavaInstanceV8.h: Added.
3457         (JSC::Bindings::JObjectWrapper::instance):
3458         (JSC::Bindings::JObjectWrapper::setInstance):
3459         (JSC::Bindings::JObjectWrapper::ref):
3460         (JSC::Bindings::JObjectWrapper::deref):
3461         (JSC::Bindings::JavaInstance::javaInstance):
3462         (JSC::Bindings::JavaInstance::begin):
3463         (JSC::Bindings::JavaInstance::end):
3464         (JSC::Bindings::JavaInstance::virtualBegin):
3465         (JSC::Bindings::JavaInstance::virtualEnd):
3466
3467 2010-02-01  Dumitru Daniliuc  <dumi@chromium.org>
3468
3469         Reviewed by Eric Seidel.
3470
3471         Making sure that all in-progress transactions are rolled back on
3472         the database thread before they're destroyed. Otherwise,
3473         SQLiteTransaction's destructor will try to do a rollback and that
3474         would cause an assertion failure, if the object is not destroyed
3475         on the DB thread.
3476
3477         https://bugs.webkit.org/show_bug.cgi?id=34152
3478
3479         * platform/sql/SQLiteTransaction.cpp:
3480         (WebCore::SQLiteTransaction::stop):
3481         * storage/SQLTransaction.cpp:
3482         (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
3483         * storage/SQLTransaction.h:
3484         * storage/SQLTransactionCoordinator.cpp:
3485         (WebCore::SQLTransactionCoordinator::shutdown):
3486
3487 2010-02-01  Sam Weinig  <sam@webkit.org>
3488
3489         Reviewed by Beth Dakin.
3490
3491         Fix EXPERIMENTAL_SINGLE_VIEW_MODE build.
3492
3493         * page/EventHandler.h:
3494         * page/mac/EventHandlerMac.mm:
3495         (WebCore::EventHandler::currentNSEvent):
3496         (WebCore::EventHandler::currentKeyboardEvent):
3497         (WebCore::EventHandler::mouseDown):
3498         (WebCore::EventHandler::mouseDragged):
3499         (WebCore::EventHandler::mouseUp):
3500         (WebCore::EventHandler::mouseMoved):
3501         (WebCore::EventHandler::keyEvent):
3502         (WebCore::EventHandler::wheelEvent):
3503         (WebCore::EventHandler::sendContextMenuEvent):
3504         (WebCore::EventHandler::eventMayStartDrag):
3505         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
3506
3507 2010-02-01  Nate Chapin  <japhet@chromium.org>
3508
3509         Unreviewed, Chromium build fix.
3510
3511         Failed to properly add new files for http://trac.webkit.org/changeset/54150.
3512
3513         * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
3514         * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
3515         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
3516         * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
3517         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
3518         * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
3519         * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
3520         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
3521         * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
3522         * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
3523         * bindings/v8/custom/V8ScreenCustom.cpp: Added.
3524         * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
3525         * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
3526
3527 2010-01-27  Matt Perry  <mpcomplete@chromium.org>
3528
3529         Reviewed by Eric Seidel.
3530
3531         Add support for addUserScript to chromium port.
3532
3533         * bindings/v8/ScriptController.cpp:
3534         (WebCore::ScriptController::evaluateInWorld):
3535         * bindings/v8/ScriptController.h:
3536
3537 2010-02-01  Eric Carlson  <eric.carlson@apple.com>
3538
3539         Reviewed by Dan Bernstein.
3540
3541         https://bugs.webkit.org/show_bug.cgi?id=34448
3542         <rdar://problem/7598130>
3543
3544         RenderVideo::intrinsicSizeChanged infinite recursion
3545
3546         * rendering/RenderImage.h:
3547         (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
3548             be called by RenderVideo.
3549         * rendering/RenderVideo.cpp:
3550         (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
3551             RenderVideo::intrinsicSizeChanged.
3552         (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of 
3553             RenderImage::imageChanged.
3554
3555 2010-02-01  Nate Chapin  <japhet@chromium.org>
3556
3557         Reviewed by Dimitri Glazkov.
3558
3559         [V8] Generate toV8() converter for most WebCore->V8 conversions,
3560         and defined custom converters in their respective V8<class>Custom.cpp.
3561
3562         Old converters in V8DOMWrapper will be deleted in a later patch.
3563
3564         https://bugs.webkit.org/show_bug.cgi?id=32563
3565
3566         * Android.v8bindings.mk:
3567         * WebCore.gyp/WebCore.gyp:
3568         * WebCore.gypi:
3569         * bindings/scripts/CodeGeneratorV8.pm:
3570         * bindings/v8/V8Collection.h:
3571         * bindings/v8/V8DOMWrapper.cpp:
3572         * bindings/v8/V8DOMWrapper.h:
3573         * bindings/v8/V8Proxy.h:
3574         * bindings/v8/custom/V8BarInfoCustom.cpp: Added.
3575         * bindings/v8/custom/V8CSSRuleCustom.cpp: Added.
3576         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Added.
3577         * bindings/v8/custom/V8CSSValueCustom.cpp: Added.
3578         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Added.
3579         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3580         * bindings/v8/custom/V8ConsoleCustom.cpp:
3581         * bindings/v8/custom/V8DOMSelectionCustom.cpp: Added.
3582         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3583         * bindings/v8/custom/V8DocumentCustom.cpp:
3584         * bindings/v8/custom/V8ElementCustom.cpp:
3585         * bindings/v8/custom/V8EventCustom.cpp:
3586         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3587         * bindings/v8/custom/V8HTMLElementCustom.cpp: Added.
3588         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3589         * bindings/v8/custom/V8HistoryCustom.cpp:
3590         * bindings/v8/custom/V8LocationCustom.cpp:
3591         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3592         * bindings/v8/custom/V8NavigatorCustom.cpp:
3593         * bindings/v8/custom/V8NodeCustom.cpp:
3594         * bindings/v8/custom/V8SVGDocumentCustom.cpp: Added.
3595         * bindings/v8/custom/V8SVGElementCustom.cpp: Added.
3596         * bindings/v8/custom/V8SVGPathSegCustom.cpp: Added.
3597         * bindings/v8/custom/V8ScreenCustom.cpp: Added.
3598         * bindings/v8/custom/V8StyleSheetCustom.cpp: Added.
3599         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3600         * bindings/v8/custom/V8WebGLArrayCustom.cpp: Added.
3601         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
3602         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
3603         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
3604         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3605         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
3606         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
3607         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
3608         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
3609         * dom/make_names.pl: Add options to generate wrapper factory for V8 bindings.
3610
3611 2010-02-01  Alexander Pavlov  <apavlov@chromium.org>
3612
3613         Reviewed by Pavel Feldman.
3614
3615         Web Inspector: lazy-load textual resources to avoid UI hangup
3616         https://bugs.webkit.org/show_bug.cgi?id=34332
3617
3618         * inspector/front-end/ResourceView.js:
3619         (WebInspector.ResourceView.prototype._innerSelectContentTab):
3620         * inspector/front-end/SourceView.js:
3621         (WebInspector.SourceView.prototype.show):
3622         (WebInspector.SourceView.prototype.contentTabSelected):
3623
3624 2010-02-01  Brady Eidson  <beidson@apple.com>
3625
3626         Reviewed by Adele Peterson.
3627
3628         Crash in Safari opening new tabs to "same page"
3629         <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444
3630
3631         Test: fast/loader/crash-copying-backforwardlist.html
3632
3633         * loader/FrameLoader.cpp:
3634         (WebCore::FrameLoader::loadItem): Null check currentItem().
3635
3636         * page/Page.cpp:
3637         (WebCore::Page::goToItem): Ditto.
3638
3639 2010-02-01  Kevin Watters  <kevinwatters@gmail.com>
3640
3641         Reviewed by Kevin Ollivier.
3642
3643         [wx] Remove unused file that doesn't seem to belong to the port.
3644         
3645         https://bugs.webkit.org/show_bug.cgi?id=34445
3646
3647         * platform/wx/KeyEventWin.cpp: Removed.
3648
3649 2010-02-01  Eric Carlson  <eric.carlson@apple.com>
3650
3651         Reviewed by Adele Peterson.
3652
3653         Fullscreen API should be on HTMLVideoElement
3654         https://bugs.webkit.org/show_bug.cgi?id=34438
3655         
3656         Move fullscreen DOM APIs from HTMLMediaElement to HTMLVideoElement.
3657
3658         * html/HTMLMediaElement.cpp:
3659         * html/HTMLMediaElement.h:
3660         * html/HTMLMediaElement.idl:
3661         * html/HTMLVideoElement.cpp:
3662         (WebCore::HTMLVideoElement::paint): Removed outdated FIXME.
3663         (WebCore::HTMLVideoElement::paintCurrentFrameInContext): Ditto.
3664         (WebCore::HTMLVideoElement::webkitEnterFullScreen): Moved from HTMLMediaElement.
3665         (WebCore::HTMLVideoElement::webkitExitFullScreen): Ditto.
3666         (WebCore::HTMLVideoElement::webkitSupportsFullscreen): Ditto.
3667         (WebCore::HTMLVideoElement::webkitDisplayingFullscreen): Ditto.
3668         * html/HTMLVideoElement.h:
3669         * html/HTMLVideoElement.idl:
3670
3671 2010-02-01  Pavel Feldman  <pfeldman@chromium.org>
3672
3673         Reviewed by Timothy Hatcher.
3674
3675         Web Inspector: Syntax highlighting in source view of
3676         Resources pane stops half-way.
3677
3678         There were two problems here: (1) styles for html highlighter were not
3679         added into the css file (they used to be injected manually in the
3680         SourceFrame before). (2) 'Tag' needed to be lexer's state, not parser's.
3681         Otherwise unbalanced quotes in the text nodes were matching too match
3682         into the string tokens.
3683
3684         https://bugs.webkit.org/show_bug.cgi?id=34359
3685
3686         * inspector/front-end/NativeTextViewer.js:
3687         (WebInspector.NativeTextViewer.prototype._createLineDivs):
3688         (WebInspector.NativeTextViewer.prototype._lineHeight):
3689         (WebInspector.NativeTextViewer.prototype.initFontMetrics):
3690         * inspector/front-end/SourceFrame.js:
3691         (WebInspector.SourceFrame.prototype._createEditorIfNeeded):
3692         * inspector/front-end/SourceHTMLTokenizer.js:
3693         (WebInspector.SourceHTMLTokenizer):
3694         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
3695         * inspector/front-end/SourceHTMLTokenizer.re2js:
3696         * inspector/front-end/TextEditor.js:
3697         (WebInspector.TextEditor.prototype.initFontMetrics):
3698         (WebInspector.TextEditor.prototype._registerShortcuts):
3699         * inspector/front-end/inspectorSyntaxHighlight.css:
3700
3701 2010-02-01  Ben Murdoch  <benm@google.com>
3702
3703         Reviewed by Darin Adler.
3704
3705         ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
3706         https://bugs.webkit.org/show_bug.cgi?id=34335
3707
3708         * bindings/js/ScriptCallStack.cpp:
3709         (WebCore::ScriptCallStack::ScriptCallStack): If the caller is unknown, the line number and source information is still availble so pass it to the ScriptCallFrame being constructed.
3710
3711 2010-02-01  Dirk Schulze  <krit@webkit.org>
3712
3713         Reviewed by Simon Fraser.
3714
3715         Add back an AffineTransform class for use by SVG
3716         https://bugs.webkit.org/show_bug.cgi?id=33750
3717
3718         These are the first steps on reimplementing AffineTransform. Unlike
3719         the old affine code, this one is platform independent like TransformationMatrix.
3720         AffineTransform has the benefit, that it stores just 6 doubles instead of
3721         16 in TransformationMatrix. The calculations of transformations are not that
3722         complex and can improve the memory usage and speed of SVG.
3723         AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
3724         least for the moment).
3725         HTML Canvas is the first that makes use of the new AffineTransform. Next patches
3726         will introduce the affine code to SVG.
3727
3728         No new tests. The new AffineTransformation code is tested by fast/canvas.
3729
3730         * Android.mk:
3731         * GNUmakefile.am:
3732         * WebCore.gypi:
3733         * WebCore.pro:
3734         * WebCore.vcproj/WebCore.vcproj:
3735         * WebCore.xcodeproj/project.pbxproj:
3736         * html/canvas/CanvasRenderingContext2D.cpp:
3737         (WebCore::CanvasRenderingContext2D::scale):
3738         (WebCore::CanvasRenderingContext2D::rotate):
3739         (WebCore::CanvasRenderingContext2D::translate):
3740         (WebCore::CanvasRenderingContext2D::transform):
3741         (WebCore::CanvasRenderingContext2D::setTransform):
3742         (WebCore::CanvasRenderingContext2D::isPointInPath):
3743         (WebCore::CanvasRenderingContext2D::willDraw):
3744         * html/canvas/CanvasRenderingContext2D.h:
3745         * platform/graphics/GraphicsContext.h:
3746         * platform/graphics/Path.h:
3747         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3748         (WebCore::GraphicsContext::getAffineCTM):
3749         (WebCore::GraphicsContext::concatCTM):
3750         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3751         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
3752         * platform/graphics/cairo/PathCairo.cpp:
3753         (WebCore::Path::transform):
3754         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
3755         (WebCore::AffineTransform::operator cairo_matrix_t):
3756         * platform/graphics/cg/GraphicsContextCG.cpp:
3757         (WebCore::GraphicsContext::concatCTM):
3758         (WebCore::GraphicsContext::getAffineCTM):
3759         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3760         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
3761         * platform/graphics/cg/PathCG.cpp:
3762         (WebCore::Path::transform):
3763         * platform/graphics/cg/TransformationMatrixCG.cpp:
3764         (WebCore::AffineTransform::operator CGAffineTransform):
3765         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3766         (WebCore::GraphicsContext::getAffineCTM):
3767         (WebCore::GraphicsContext::concatCTM):
3768         * platform/graphics/haiku/PathHaiku.cpp:
3769         (WebCore::Path::transform):
3770         * platform/graphics/qt/GraphicsContextQt.cpp:
3771         (WebCore::GraphicsContext::getAffineCTM):
3772         (WebCore::GraphicsContext::concatCTM):
3773         * platform/graphics/qt/PathQt.cpp:
3774         (WebCore::Path::transform):
3775         * platform/graphics/qt/TransformationMatrixQt.cpp:
3776         (WebCore::AffineTransform::operator QTransform):
3777         * platform/graphics/skia/GraphicsContextSkia.cpp:
3778         (WebCore::GraphicsContext::concatCTM):
3779         (WebCore::GraphicsContext::getAffineCTM):
3780         * platform/graphics/skia/PathSkia.cpp:
3781         (WebCore::Path::transform):
3782         * platform/graphics/skia/TransformationMatrixSkia.cpp:
3783         (WebCore::AffineTransform::operator SkMatrix):
3784         * platform/graphics/transforms/AffineTransform.cpp: Added.
3785         (WebCore::affineTransformDecompose):
3786         (WebCore::affineTransformCompose):
3787         (WebCore::AffineTransform::AffineTransform):
3788         (WebCore::AffineTransform::reset):
3789         (WebCore::AffineTransform::setMatrix):
3790         (WebCore::AffineTransform::isIdentity):
3791         (WebCore::AffineTransform::det):
3792         (WebCore::AffineTransform::isInvertible):
3793         (WebCore::AffineTransform::inverse):
3794         (WebCore::AffineTransform::multiply):
3795         (WebCore::AffineTransform::multLeft):
3796         (WebCore::AffineTransform::rotate):
3797         (WebCore::AffineTransform::scale):
3798         (WebCore::AffineTransform::translate):
3799         (WebCore::AffineTransform::scaleNonUniform):
3800         (WebCore::AffineTransform::rotateFromVector):
3801         (WebCore::AffineTransform::flipX):
3802         (WebCore::AffineTransform::flipY):
3803         (WebCore::AffineTransform::shear):
3804         (WebCore::AffineTransform::skew):
3805         (WebCore::AffineTransform::skewX):
3806         (WebCore::AffineTransform::skewY):
3807         (WebCore::makeMapBetweenRects):
3808         (WebCore::AffineTransform::map):
3809         (WebCore::AffineTransform::mapPoint):
3810         (WebCore::AffineTransform::mapRect):
3811         (WebCore::AffineTransform::blend):
3812         (WebCore::AffineTransform::toTransformationMatrix):
3813         * platform/graphics/transforms/AffineTransform.h: Added.
3814         (WebCore::AffineTransform::a):
3815         (WebCore::AffineTransform::setA):
3816         (WebCore::AffineTransform::b):
3817         (WebCore::AffineTransform::setB):
3818         (WebCore::AffineTransform::c):
3819         (WebCore::AffineTransform::setC):
3820         (WebCore::AffineTransform::d):
3821         (WebCore::AffineTransform::setD):
3822         (WebCore::AffineTransform::e):
3823         (WebCore::AffineTransform::setE):
3824         (WebCore::AffineTransform::f):
3825         (WebCore::AffineTransform::setF):
3826         (WebCore::AffineTransform::operator== ):
3827         (WebCore::AffineTransform::operator!=):
3828         (WebCore::AffineTransform::operator*=):
3829         (WebCore::AffineTransform::operator*):
3830         (WebCore::AffineTransform::setMatrix):
3831         * platform/graphics/win/GraphicsContextWin.cpp:
3832         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
3833         * platform/graphics/wince/GraphicsContextWince.cpp:
3834         (WebCore::GraphicsContext::concatCTM):
3835         (WebCore::GraphicsContext::getAffineCTM):
3836         * platform/graphics/wx/GraphicsContextWx.cpp:
3837         (WebCore::GraphicsContext::getAffineCTM):
3838         (WebCore::GraphicsContext::concatCTM):
3839         * platform/graphics/wx/PathWx.cpp:
3840         (WebCore::Path::transform):
3841         * platform/graphics/wx/TransformationMatrixWx.cpp:
3842         (WebCore::AffineTransform::operator wxGraphicsMatrix):
3843
3844 2010-01-29  Philippe Normand  <pnormand@igalia.com>
3845
3846         Reviewed by Eric Carlson.
3847
3848         [GTK] set playbin mute property depending on volume value
3849         https://bugs.webkit.org/show_bug.cgi?id=31586
3850
3851         New API in MediaPlayer for mute control. 3 new methods are
3852         introduced:
3853
3854         - bool supportsMuting() const;
3855         - bool muted() const;
3856         - void setMuted(bool);
3857
3858         Platform MediaPlayer implementations can support it easily if the
3859         underlying sound daemon/API supports muting (eg. not only setting
3860         volume to 0) like PulseAudio for instance on Linux. At the moment
3861         the only player supporting this new API is the
3862         MediaPlayerPrivateGStreamer.
3863
3864         * html/HTMLMediaElement.cpp:
3865         (WebCore::HTMLMediaElement::setMuted):
3866         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
3867         (WebCore::HTMLMediaElement::mediaPlayerMuteChanged):
3868         * html/HTMLMediaElement.h:
3869         * platform/graphics/MediaPlayer.cpp:
3870         (WebCore::NullMediaPlayerPrivate::supportsMuting):
3871         (WebCore::NullMediaPlayerPrivate::setMuted):
3872         (WebCore::MediaPlayer::MediaPlayer):
3873         (WebCore::MediaPlayer::muted):
3874         (WebCore::MediaPlayer::supportsMuting):
3875         (WebCore::MediaPlayer::setMuted):
3876         (WebCore::MediaPlayer::volumeChanged):
3877         (WebCore::MediaPlayer::muteChanged):
3878         * platform/graphics/MediaPlayer.h:
3879         (WebCore::MediaPlayerClient::mediaPlayerMuteChanged):
3880         * platform/graphics/MediaPlayerPrivate.h:
3881         (WebCore::MediaPlayerPrivateInterface::supportsMuting):
3882         (WebCore::MediaPlayerPrivateInterface::setMuted):
3883         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3884         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
3885         (WebCore::notifyVolumeIdleCallback):
3886         (WebCore::mediaPlayerPrivateMuteChangedCallback):
3887         (WebCore::notifyMuteIdleCallback):
3888         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3889         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3890         (WebCore::MediaPlayerPrivate::volumeChangedCallback):
3891         (WebCore::MediaPlayerPrivate::volumeChanged):
3892         (WebCore::MediaPlayerPrivate::supportsMuting):
3893         (WebCore::MediaPlayerPrivate::setMuted):
3894         (WebCore::MediaPlayerPrivate::muteChangedCallback):
3895         (WebCore::MediaPlayerPrivate::muteChanged):
3896         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
3897         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3898
3899 2010-02-01  Henry Haverinen  <henry.haverinen@nokia.com>
3900
3901         Reviewed by Simon Hausmann.
3902
3903         [Qt] Build without SSL support is broken
3904
3905         Added missing #ifdefs for OpenSSL support and one null-pointer
3906         check for the socket.
3907
3908         https://bugs.webkit.org/show_bug.cgi?id=34416
3909
3910         * platform/network/qt/SocketStreamHandlePrivate.h:
3911         * platform/network/qt/SocketStreamHandleQt.cpp:
3912         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
3913         (WebCore::SocketStreamHandlePrivate::send):
3914
3915 2010-02-01  Pavel Feldman  <pfeldman@chromium.org>
3916
3917         Reviewed by Timothy Hatcher.
3918
3919         Web Inspector: Fix rest of the NativeTextViewer (line numbers,
3920         conditional breakpoints, selection).
3921
3922         * inspector/front-end/NativeTextViewer.js:
3923         (WebInspector.NativeTextViewer):
3924         (WebInspector.NativeTextViewer.prototype._updatePreferredSize):
3925         (WebInspector.NativeTextViewer.prototype._registerMouseListeners):
3926         (WebInspector.NativeTextViewer.prototype._mouseDown):
3927         (WebInspector.NativeTextViewer.prototype._contextMenu):
3928         (WebInspector.NativeTextViewer.prototype._lineForMouseEvent):
3929         (WebInspector.NativeTextViewer.prototype._lineHeight):
3930         * inspector/front-end/TextEditor.js:
3931         (WebInspector.TextEditor):
3932         (WebInspector.TextEditor.prototype._registerMouseListeners):
3933         (WebInspector.TextEditor.prototype._offsetToLine):
3934         (WebInspector.TextEditor.prototype._lineHeight):
3935         (WebInspector.TextEditor.prototype.reveal):
3936         (WebInspector.TextEditor.prototype._paint):
3937         (WebInspector.TextEditor.prototype._updateDivDecorations):
3938         (WebInspector.TextEditor.prototype._paintSelection):
3939
3940 2010-02-01  Steve Block  <steveblock@google.com>
3941
3942         Reviewed by Ariya Hidayat.
3943
3944         Adds implementation of JavaString for V8.
3945         https://bugs.webkit.org/show_bug.cgi?id=33953
3946
3947         No new tests, build fix only.
3948
3949         * bridge/jni/JNIBridge.h: Modified. Include JavaStringV8.h for V8
3950         * bridge/jni/v8: Added.
3951         * bridge/jni/v8/JavaStringV8.h: Added.
3952         (JSC::Bindings::JavaStringImpl::init):
3953         (JSC::Bindings::JavaStringImpl::UTF8String):
3954         (JSC::Bindings::JavaStringImpl::uchars):
3955         (JSC::Bindings::JavaStringImpl::length):
3956
3957 2010-02-01  Alex Milowski  <alex@milowski.com>
3958
3959         Reviewed by Darin Adler.
3960
3961         Added compile time debug support for mathml layout (block boundary & baseline)
3962
3963         * mathml/RenderMathMLBlock.cpp:
3964         (WebCore::RenderMathMLBlock::stretchToHeight):
3965         (WebCore::RenderMathMLBlock::paint):
3966         * mathml/RenderMathMLBlock.h:
3967
3968 2010-02-01  Philippe Normand  <pnormand@igalia.com>
3969
3970         Rubber stamped by Xan Lopez.
3971
3972         Fixed compilation warning about unsigned vs signed comparison.
3973
3974         * plugins/gtk/PluginViewGtk.cpp:
3975         (WebCore::PluginView::paint):
3976
3977 2010-01-31  Kent Tamura  <tkent@chromium.org>
3978
3979         Unreviewed. Revert r54112 and r54124 because of Windows build error.
3980
3981         * Android.mk:
3982         * GNUmakefile.am:
3983         * WebCore.gypi:
3984         * WebCore.pro:
3985         * WebCore.vcproj/WebCore.vcproj:
3986         * WebCore.xcodeproj/project.pbxproj:
3987         * html/canvas/CanvasRenderingContext2D.cpp:
3988         (WebCore::CanvasRenderingContext2D::scale):
3989         (WebCore::CanvasRenderingContext2D::rotate):
3990         (WebCore::CanvasRenderingContext2D::translate):
3991         (WebCore::CanvasRenderingContext2D::transform):
3992         (WebCore::CanvasRenderingContext2D::setTransform):
3993         (WebCore::CanvasRenderingContext2D::isPointInPath):
3994         (WebCore::CanvasRenderingContext2D::willDraw):
3995         * html/canvas/CanvasRenderingContext2D.h:
3996         * platform/graphics/GraphicsContext.h:
3997         * platform/graphics/Path.h:
3998         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3999         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
4000         * platform/graphics/cairo/PathCairo.cpp:
4001         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
4002         * platform/graphics/cg/GraphicsContextCG.cpp:
4003         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
4004         * platform/graphics/cg/PathCG.cpp:
4005         * platform/graphics/cg/TransformationMatrixCG.cpp:
4006         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
4007         * platform/graphics/haiku/PathHaiku.cpp:
4008         * platform/graphics/qt/GraphicsContextQt.cpp:
4009         * platform/graphics/qt/PathQt.cpp:
4010         * platform/graphics/qt/TransformationMatrixQt.cpp:
4011         * platform/graphics/skia/GraphicsContextSkia.cpp:
4012         * platform/graphics/skia/PathSkia.cpp:
4013         * platform/graphics/skia/TransformationMatrixSkia.cpp:
4014         * platform/graphics/transforms/AffineTransform.cpp: Removed.
4015         * platform/graphics/transforms/AffineTransform.h: Removed.
4016         * platform/graphics/wince/GraphicsContextWince.cpp:
4017         * platform/graphics/wx/GraphicsContextWx.cpp:
4018         * platform/graphics/wx/PathWx.cpp:
4019         * platform/graphics/wx/TransformationMatrixWx.cpp:
4020         (WebCore::TransformationMatrix::operator wxGraphicsMatrix):
4021
4022 2010-01-31  Kwang Yul Seo  <skyul@company100.net>
4023
4024         Reviewed by Darin Adler.
4025
4026         Limit the scope of packing alignment to avoid MSVC C4103 warning.
4027         https://bugs.webkit.org/show_bug.cgi?id=34390
4028
4029         Use pack(push, 16) and pack(pop) to limit the scope of packing
4030         alignment change.
4031
4032         * bindings/js/JSSVGPODTypeWrapper.h:
4033
4034 2010-01-31  Kent Tamura  <tkent@chromium.org>
4035
4036         Reviewed by Darin Adler.
4037
4038         Fix valueAsNumber calculation for type=month.
4039         https://bugs.webkit.org/show_bug.cgi?id=34304
4040
4041         valueAsNumber calculation for type=month which was checked in as
4042         r53893 was the number of milliseconds since UNIX epoch, and it was
4043         wrong. The correct way is the number months since UNIX epoch.
4044
4045         * html/DateComponents.cpp:
4046         (WebCore::DateComponents::setMonthsSinceEpoch):
4047         (WebCore::DateComponents::monthsSinceEpoch):
4048         * html/DateComponents.h: Declare setMonthsSinceEpoch() and monthsSinceEpoch().
4049         * html/HTMLInputElement.cpp:
4050         (WebCore::HTMLInputElement::parseToDouble):
4051           Switch to monthsSinceEpoch() for type=MONTH.
4052         (WebCore::HTMLInputElement::valueAsDate):
4053           Add code with millisecondsSinceEpoch() for MONTH because
4054           parseToDouble() changed its behavior.
4055         (WebCore::HTMLInputElement::setValueAsNumber):
4056           Use setMonthsSinceEpoch() for MONTH.
4057
4058 2010-01-31  Dan Bernstein  <mitz@apple.com>
4059
4060         Reviewed by Timothy Hatcher.
4061
4062         Web Inspector: REGRESSION: Numbers in bubbles are vertically off-center
4063         https://bugs.webkit.org/show_bug.cgi?id=34398
4064
4065         * inspector/front-end/inspector.css: Specify line-height: normal for
4066         ".console-message .bubble" and ".sidebar-tree-item .status .bubble".
4067
4068 2010-01-28  Ojan Vafai  <ojan@chromium.org>
4069
4070         Reviewed by Darin Adler.
4071
4072         Implement CSSOM Range.getClientRects for collapsed selections
4073         https://bugs.webkit.org/show_bug.cgi?id=34239
4074
4075         When getting the quads for a range on a text node, allow returning
4076         zero width quads. This leaves the case of collapsed selections inside
4077         elements still not fixed, but no worse.
4078
4079         * rendering/InlineTextBox.cpp:
4080         (WebCore::InlineTextBox::selectionRect):
4081         * rendering/RenderText.cpp:
4082         (WebCore::RenderText::absoluteQuadsForRange):
4083
4084 2010-01-31  Oliver Hunt  <oliver@apple.com>
4085
4086         Reviewed by Simon Fraser.
4087
4088         Animated scaling of background-image is too slow
4089         https://bugs.webkit.org/show_bug.cgi?id=33808
4090
4091         Implement a version of the RenderImage animated scaling optimisation
4092         for background images. Due to the possibility of arbitrary transforms
4093         being applied to containing elements we explicitly check the current
4094         CTM of the context for scaling or rotation.
4095
4096         * platform/graphics/GraphicsContext.cpp:
4097         (WebCore::GraphicsContext::drawTiledImage):
4098         * platform/graphics/GraphicsContext.h:
4099         * platform/graphics/transforms/TransformationMatrix.h:
4100         (WebCore::TransformationMatrix::isIdentityOrTranslation):
4101         * rendering/RenderBoxModelObject.cpp:
4102         (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
4103         (WebCore::RenderBoxModelScaleData::~RenderBoxModelScaleData):
4104         (WebCore::RenderBoxModelScaleData::hiqhQualityRepaintTimer):
4105         (WebCore::RenderBoxModelScaleData::size):
4106         (WebCore::RenderBoxModelScaleData::setSize):
4107         (WebCore::RenderBoxModelScaleData::lastPaintTime):
4108         (WebCore::RenderBoxModelScaleData::setLastPaintTime):
4109         (WebCore::RenderBoxModelScaleData::useLowQualityScale):
4110         (WebCore::RenderBoxModelScaleData::transform):
4111         (WebCore::RenderBoxModelScaleData::setTransform):
4112         (WebCore::RenderBoxModelScaleData::setUseLowQualityScale):
4113         (WebCore::RenderBoxModelScaleObserver::boxModelObjectDestroyed):
4114         (WebCore::RenderBoxModelScaleObserver::highQualityRepaintTimerFired):
4115         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
4116         (WebCore::RenderBoxModelObject::highQualityRepaintTimerFired):
4117         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
4118         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
4119         * rendering/RenderBoxModelObject.h:
4120
4121 2010-01-31  Dirk Schulze  <krit@webkit.org>
4122
4123         Reviewed by Simon Fraser.
4124
4125         Add back an AffineTransform class for use by SVG
4126         https://bugs.webkit.org/show_bug.cgi?id=33750
4127
4128         These are the first steps on reimplementing AffineTransform. Unlike
4129         the old affine code, this one is platform independent like TransformationMatrix.
4130         AffineTransform has the benefit, that it stores just 6 doubles instead of
4131         16 in TransformationMatrix. The calculations of transformations are not that
4132         complex and can improve the memory usage and speed of SVG.
4133         AffineTransform can be used by HTML Canvas3D or SVG, since they are 2D related (at
4134         least for the moment).
4135         HTML Canvas is the first that makes use of the new AffineTransform. Next patches
4136         will introduce the affine code to SVG.
4137
4138         No new tests. The new AffineTransformation code is tested by fast/canvas.
4139
4140         * Android.mk:
4141         * GNUmakefile.am:
4142         * WebCore.gypi:
4143         * WebCore.pro:
4144         * WebCore.vcproj/WebCore.vcproj:
4145         * WebCore.xcodeproj/project.pbxproj:
4146         * html/canvas/CanvasRenderingContext2D.cpp:
4147         (WebCore::CanvasRenderingContext2D::scale):
4148         (WebCore::CanvasRenderingContext2D::rotate):
4149         (WebCore::CanvasRenderingContext2D::translate):
4150         (WebCore::CanvasRenderingContext2D::transform):
4151         (WebCore::CanvasRenderingContext2D::setTransform):
4152         (WebCore::CanvasRenderingContext2D::isPointInPath):
4153         (WebCore::CanvasRenderingContext2D::willDraw):
4154         * html/canvas/CanvasRenderingContext2D.h:
4155         * platform/graphics/GraphicsContext.h:
4156         * platform/graphics/Path.h:
4157         * platform/graphics/cairo/GraphicsContextCairo.cpp:
4158         (WebCore::GraphicsContext::getAffineCTM):
4159         (WebCore::GraphicsContext::concatCTM):
4160         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
4161         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
4162         * platform/graphics/cairo/PathCairo.cpp:
4163         (WebCore::Path::transform):
4164         * platform/graphics/cairo/TransformationMatrixCairo.cpp:
4165         (WebCore::AffineTransform::operator cairo_matrix_t):
4166         * platform/graphics/cg/GraphicsContextCG.cpp:
4167         (WebCore::GraphicsContext::concatCTM):
4168         (WebCore::GraphicsContext::getAffineCTM):
4169         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
4170         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
4171         * platform/graphics/cg/PathCG.cpp:
4172         (WebCore::Path::transform):
4173         * platform/graphics/cg/TransformationMatrixCG.cpp:
4174         (WebCore::AffineTransform::operator CGAffineTransform):
4175         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
4176         (WebCore::GraphicsContext::getAffineCTM):
4177         (WebCore::GraphicsContext::concatCTM):
4178         * platform/graphics/haiku/PathHaiku.cpp:
4179         (WebCore::Path::transform):
4180         * platform/graphics/qt/GraphicsContextQt.cpp:
4181         (WebCore::GraphicsContext::getAffineCTM):
4182         (WebCore::GraphicsContext::concatCTM):
4183         * platform/graphics/qt/PathQt.cpp:
4184         (WebCore::Path::transform):
4185         * platform/graphics/qt/TransformationMatrixQt.cpp:
4186         (WebCore::AffineTransform::operator QTransform):
4187         * platform/graphics/skia/GraphicsContextSkia.cpp:
4188         (WebCore::GraphicsContext::getAffineCTM):
4189         * platform/graphics/skia/PathSkia.cpp:
4190         (WebCore::Path::transform):
4191         * platform/graphics/skia/TransformationMatrixSkia.cpp:
4192         (WebCore::AffineTransform::operator SkMatrix):
4193         * platform/graphics/transforms/AffineTransform.cpp: Added.
4194         (WebCore::affineTransformDecompose):
4195         (WebCore::affineTransformCompose):
4196         (WebCore::AffineTransform::AffineTransform):
4197         (WebCore::AffineTransform::reset):
4198         (WebCore::AffineTransform::setMatrix):
4199         (WebCore::AffineTransform::isIdentity):
4200         (WebCore::AffineTransform::det):
4201         (WebCore::AffineTransform::isInvertible):
4202         (WebCore::AffineTransform::inverse):
4203         (WebCore::AffineTransform::multiply):
4204         (WebCore::AffineTransform::multLeft):
4205         (WebCore::AffineTransform::rotate):
4206         (WebCore::AffineTransform::scale):
4207         (WebCore::AffineTransform::translate):
4208         (WebCore::AffineTransform::scaleNonUniform):
4209         (WebCore::AffineTransform::rotateFromVector):
4210         (WebCore::AffineTransform::flipX):
4211         (WebCore::AffineTransform::flipY):
4212         (WebCore::Af