Unreviewed: Chromium build fix.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-02-16  Julie Parent  <jparent@chromium.org>
2
3         Unreviewed: Chromium build fix.
4
5         http://trac.webkit.org/changeset/54823 introduced an unused variable.  Remove it.
6
7         * platform/image-decoders/ImageDecoder.cpp:
8         (WebCore::ImageDecoder::create):
9
10 2010-02-16  Mark Rowe  <mrowe@apple.com>
11
12         Reviewed by Alexey Proskuryakov.
13
14         Bug 34974: Leak of ScheduledAction during layout tests
15         <https://bugs.webkit.org/show_bug.cgi?id=34974>
16
17         ScheduledAction::create was returning a raw pointer which was threaded down through to an OwnPtr in DOMTimer.
18         If any of the code paths in between hit an error case and returned early the raw pointer would be leaked.  We
19         can avoid this by passing it as a PassOwnPtr.  This will ensure that the ScheduledAction is cleaned up should
20         an error case be hit.
21
22         * bindings/js/JSDOMWindowCustom.cpp:
23         (WebCore::JSDOMWindow::setTimeout): Store the newly-created ScheduledAction in an OwnPtr and then hand it off
24         as the function argument.
25         (WebCore::JSDOMWindow::setInterval): Ditto.
26         * bindings/js/JSWorkerContextCustom.cpp:
27         (WebCore::JSWorkerContext::setTimeout): Ditto.
28         (WebCore::JSWorkerContext::setInterval): Ditto.
29         * bindings/js/ScheduledAction.cpp:
30         (WebCore::ScheduledAction::create): Return a PassOwnPtr.
31         * bindings/js/ScheduledAction.h:
32         * page/DOMTimer.cpp:
33         (WebCore::DOMTimer::DOMTimer): Update argument type.
34         (WebCore::DOMTimer::install): Ditto.
35         * page/DOMTimer.h:
36         * page/DOMWindow.cpp:
37         (WebCore::DOMWindow::setTimeout): Ditto.
38         (WebCore::DOMWindow::setInterval): Ditto.
39         * page/DOMWindow.h:
40
41 2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>
42
43         Reviewed by David Hyatt.
44
45         SVG units don't stay consistently sized on zoom
46         https://bugs.webkit.org/show_bug.cgi?id=14004
47
48         Large step towards making WebKit an usable SVG viewer.
49
50         Make zooming into SVG documents work as expected, in both standalone and XHTML/SVG compound documents.
51         SVG applies a global scale to the document, whereas CSS zooms all individual length units (on full-page-zoom).
52         Scaling has to be avoided for all SVG specific CSS properties (already works) and for some selected CSS
53         properties shared between CSS & SVG that explicitely need a different treatment in the context of SVG.
54         To name a few: font-size, letter-spacing, etc. should stay invariant under zoom in SVG document fragments.
55
56         Some new rules regarding zooming:
57         - "Zoom text only" should never affect SVG documents, neither text nor content should zoom.
58           This option doesn't make much sense for SVG, so it's wise to avoid side-effects and disable it.
59           In compound documents the SVG would stay as-is and only text of surrounding XHTML content would zoom.
60
61         - "Full page zoom" is the only zoom mode affecting SVG. (Panning only works in standalone documents.)
62
63         Cover all mentioned cases above by a new set of layout tests.
64
65         Tests: svg/zoom/page/absolute-sized-document-no-scrollbars.svg
66                svg/zoom/page/absolute-sized-document-scrollbars.svg
67                svg/zoom/page/relative-sized-document-scrollbars.svg
68                svg/zoom/page/zoom-coords-viewattr-01-b.svg
69                svg/zoom/page/zoom-foreignObject.svg
70                svg/zoom/page/zoom-hixie-mixed-008.xml
71                svg/zoom/page/zoom-hixie-mixed-009.xml
72                svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
73                svg/zoom/page/zoom-svg-float-border-padding.xml
74                svg/zoom/text/absolute-sized-document-no-scrollbars.svg
75                svg/zoom/text/absolute-sized-document-scrollbars.svg
76                svg/zoom/text/relative-sized-document-scrollbars.svg
77                svg/zoom/text/zoom-coords-viewattr-01-b.svg
78                svg/zoom/text/zoom-foreignObject.svg
79                svg/zoom/text/zoom-hixie-mixed-008.xml
80                svg/zoom/text/zoom-hixie-mixed-009.xml
81                svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
82                svg/zoom/text/zoom-svg-float-border-padding.xml
83
84         * css/CSSStyleSelector.cpp: Blacklist certain properties not to be zoomed for SVG elements.
85         (WebCore::CSSStyleSelector::styleForDocument): Don't zoom font-sizes.
86         (WebCore::CSSStyleSelector::applyProperty): Ditto (+ letter/word-spacing).
87         (WebCore::CSSStyleSelector::setFontSize): Ditto.
88         (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Never apply text zoom to SVG.
89         * css/CSSStyleSelector.h:
90         * css/SVGCSSStyleSelector.cpp: -webkit-shadow + SVG was incorrectly respecting zoom factor.
91         (WebCore::CSSStyleSelector::applySVGProperty):
92         * page/Frame.cpp:
93         (WebCore::Frame::shouldApplyTextZoom): Remove SVG special cases.
94         (WebCore::Frame::shouldApplyPageZoom): Ditto.
95         (WebCore::Frame::setZoomFactor): Don't force setZoomsTextOnly() - SVG now uses FPZ as well.
96         * rendering/RenderSVGRoot.cpp:
97         (WebCore::RenderSVGRoot::calcReplacedWidth): CSSPropertyWidth is explicitely not scaled by CSSStyleSelector, fix that for outermost <svg> elements.
98         (WebCore::RenderSVGRoot::calcReplacedHeight): Ditto for CSSPropertyHeight.
99         (WebCore::RenderSVGRoot::layout): Simplify & cleanup code, take advantage of new calcWidth/Height functionality, no need to scale anything here.
100         (WebCore::RenderSVGRoot::paint): Use parentOriginToBorderBox() instead of duplicating code.
101         (WebCore::RenderSVGRoot::calcViewport): Simplify code.
102         (WebCore::RenderSVGRoot::localToBorderBoxTransform): Calculate viewBoxToViewTransformation() against unscaled width()/height() values.
103         * rendering/RenderSVGRoot.h:
104         * svg/SVGLength.cpp:
105         (WebCore::SVGLength::PercentageOfViewport): Cleanup & document function.
106         * svg/SVGSVGElement.cpp:
107         (WebCore::SVGSVGElement::currentScale): Return pageZoomFactor(), not just the zoomFactor() - as we want to ignore text-only zoom.
108         (WebCore::SVGSVGElement::setCurrentScale): Pass isTextOnly=false to setZoomFactor().
109
110 2010-02-16  Julie Parent  <jparent@chromium.org>
111
112         Unreviewed: Chromium build fix.
113
114         https://bugs.webkit.org/show_bug.cgi?id=34998
115
116         Move include of JavaScriptProfile.h behind if (USE_JSC).
117
118         * inspector/InspectorController.cpp:
119
120 2010-02-16  Alexey Proskuryakov  <ap@apple.com>
121
122         Reviewed by Geoffrey Garen and Kevin Decker.
123
124         https://bugs.webkit.org/show_bug.cgi?id=34989
125         <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
126
127         * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::defaultEventHandler): Added some
128         comments about the way we pass events down to plug-ins.
129
130 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
131
132         Reviewed by Eric Carlson.
133
134         With hardware acceleration turned off, video frames never display if poster
135         image is specified
136         https://bugs.webkit.org/show_bug.cgi?id=34965
137         
138         HTMLVideoElement's m_shouldDisplayPosterImage was never updated after
139         the movie supplied its first video frame, so the poster would continue to show.
140         
141         Fixed by calling updatePosterImage() from mediaPlayerRepaint(), which is called
142         each time a new frame is available. updatePosterImage() is cheap.
143         
144         Also made updatePosterImage() virtual on HTMLMediaElement to avoid a number of
145         ugly casts.
146
147         Test: manual-tests/media-elements/video-replaces-poster.html
148
149         * html/HTMLMediaElement.cpp:
150         (WebCore::HTMLMediaElement::noneSupported): Call updatePosterImage() without video check.
151         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
152         (WebCore::HTMLMediaElement::setReadyState): Ditto.
153         (WebCore::HTMLMediaElement::mediaPlayerRepaint): Call udpatePosterImage().
154         * html/HTMLMediaElement.h:
155         (WebCore::HTMLMediaElement::updatePosterImage): Make this an empty virtual
156         method on the base class.
157         * html/HTMLVideoElement.h: Override updatePosterImage().
158
159 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
160
161         Build fix for platforms without ACCELERATED_COMPOSITING defined.
162
163         mediaPlayerRenderingModeChanged() is only available when ACCELERATED_COMPOSITING is defined.
164         
165         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
166         (WebCore::MediaPlayerPrivate::setUpVideoRendering):
167
168 2010-02-16  Simon Fraser  <simon.fraser@apple.com>
169
170         Reviewed by Eric Carlson.
171
172         Autoplaying video with poster doesn't reliably show up
173         https://bugs.webkit.org/show_bug.cgi?id=34966
174         
175         A timing issue with compositing updates when replacing the poster image
176         with the video could cause the video to not display.
177         
178         Fix by making video layer hook up more similar to WebGL etc, by having the
179         video kick off a recalcStyle() via a SyntheticStyleChange. This requires
180         vending a PlaformLayer* from the media player, up through the element.
181
182         Test: media/video-replaces-poster.html
183
184         * html/HTMLMediaElement.cpp:
185         (WebCore::HTMLMediaElement::mediaPlayerRenderingModeChanged): Use setNeedsStyleRecalc()
186         to kick off a compositing update.
187
188         * html/HTMLMediaElement.h:
189         (WebCore::HTMLMediaElement::platformLayer): Export the media engine's layer.
190
191         * platform/graphics/MediaPlayer.cpp:
192         (WebCore::NullMediaPlayerPrivate::platformLayer): Method to vend the media layer.
193         (WebCore::MediaPlayer::platformLayer):
194
195         * platform/graphics/MediaPlayer.h:
196         (WebCore::MediaPlayerClient::mediaPlayerRenderingModeChanged): New client callback
197         to indicate that the rendering mode changed. The element uses this to kick off a
198         recalcStyle.
199
200         * platform/graphics/MediaPlayerPrivate.h:
201         (WebCore::MediaPlayerPrivateInterface::platformLayer): Method to vend the media layer.
202         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto
203         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
204         (WebCore::MediaPlayerPrivate::createQTMovieLayer): No longer parent the layer directly
205         via setContentsToMedia().
206         (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): Ditto.
207         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Tell the client that the
208         rendering mode changed.
209         (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
210         * rendering/RenderLayerBacking.cpp:
211         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Call setContentsToMedia()
212         here.
213
214         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Add platformLayer().
215         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
216         (WebCore::MediaPlayerPrivate::platformLayer): Method to vend the media layer.
217         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Call mediaPlayerRenderingModeChanged()
218         (WebCore::MediaPlayerPrivate::createLayerForMovie): Don't parent the layer ourselves any more.
219
220         * rendering/RenderVideo.h: videoGraphicsLayer() is no longer needed.
221         * rendering/RenderVideo.cpp: Ditto.
222
223 2010-02-12  Peter Kasting  <pkasting@google.com>
224
225         Reviewed by Adam Barth.
226
227         Code cleanup in ImageDecoders; no functional change.
228         https://bugs.webkit.org/show_bug.cgi?id=28751
229
230         * Make code mostly comply with the style guide (switch indenting, use of
231           "!" vs. "== 0", don't unnecessarily wrap lines, etc.)
232         * Eliminate m_allDataReceived in ICO/BMP decoders since it's in the
233           base ImageDecoder class
234         * Remove some useless or wrong comments, add others
235         * Wrap comments at 80 columns (most already were) for
236           consistency/readability
237         * Avoid casts by using correct variable types
238         * Consistent naming of decode() function/args
239         * Shorter code in some places
240         * Make declaration and definition order match
241
242         * platform/graphics/qt/ImageDecoderQt.cpp:
243         (WebCore::ImageDecoderQt::frameCount):
244         (WebCore::ImageDecoderQt::frameBufferAtIndex):
245         (WebCore::ImageDecoderQt::forceLoadEverything):
246         * platform/image-decoders/ImageDecoder.cpp:
247         (WebCore::ImageDecoder::create):
248         (WebCore::RGBA32Buffer::clear):
249         (WebCore::RGBA32Buffer::setSize):
250         * platform/image-decoders/ImageDecoder.h:
251         (WebCore::RGBA32Buffer::):
252         (WebCore::ImageDecoder::ImageDecoder):
253         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
254         (WebCore::BMPImageDecoder::BMPImageDecoder):
255         (WebCore::BMPImageDecoder::setData):
256         (WebCore::BMPImageDecoder::isSizeAvailable):
257         (WebCore::BMPImageDecoder::frameBufferAtIndex):
258         (WebCore::BMPImageDecoder::decode):
259         (WebCore::BMPImageDecoder::decodeHelper):
260         (WebCore::BMPImageDecoder::processFileHeader):
261         * platform/image-decoders/bmp/BMPImageDecoder.h:
262         (WebCore::BMPImageDecoder::readUint32):
263         * platform/image-decoders/bmp/BMPImageReader.cpp:
264         (WebCore::BMPImageReader::BMPImageReader):
265         (WebCore::BMPImageReader::decodeBMP):
266         (WebCore::BMPImageReader::readInfoHeaderSize):
267         (WebCore::BMPImageReader::processInfoHeader):
268         (WebCore::BMPImageReader::readInfoHeader):
269         (WebCore::BMPImageReader::isInfoHeaderValid):
270         (WebCore::BMPImageReader::processBitmasks):
271         (WebCore::BMPImageReader::processColorTable):
272         (WebCore::BMPImageReader::processRLEData):
273         (WebCore::BMPImageReader::processNonRLEData):
274         * platform/image-decoders/bmp/BMPImageReader.h:
275         (WebCore::BMPImageReader::readUint32):
276         (WebCore::BMPImageReader::pastEndOfImage):
277         (WebCore::BMPImageReader::readCurrentPixel):
278         (WebCore::BMPImageReader::getComponent):
279         (WebCore::BMPImageReader::getAlpha):
280         (WebCore::BMPImageReader::setI):
281         (WebCore::BMPImageReader::setRGBA):
282         * platform/image-decoders/gif/GIFImageDecoder.cpp:
283         (WebCore::GIFImageDecoder::GIFImageDecoder):
284         (WebCore::GIFImageDecoder::setData):
285         (WebCore::GIFImageDecoder::isSizeAvailable):
286         (WebCore::GIFImageDecoder::frameCount):
287         (WebCore::GIFImageDecoder::frameBufferAtIndex):
288         (WebCore::GIFImageDecoder::clearFrameBufferCache):
289         (WebCore::GIFImageDecoder::sizeNowAvailable):
290         (WebCore::GIFImageDecoder::haveDecodedRow):
291         (WebCore::GIFImageDecoder::frameComplete):
292         (WebCore::GIFImageDecoder::decode):
293         (WebCore::GIFImageDecoder::initFrameBuffer):
294         * platform/image-decoders/gif/GIFImageDecoder.h:
295         (WebCore::GIFImageDecoder::):
296         (WebCore::GIFImageDecoder::filenameExtension):
297         * platform/image-decoders/gif/GIFImageReader.cpp:
298         (GIFImageReader::do_lzw):
299         (GIFImageReader::read):
300         * platform/image-decoders/gif/GIFImageReader.h:
301         (GIFImageReader::~GIFImageReader):
302         * platform/image-decoders/ico/ICOImageDecoder.cpp:
303         (WebCore::ICOImageDecoder::ICOImageDecoder):
304         (WebCore::ICOImageDecoder::~ICOImageDecoder):
305         (WebCore::ICOImageDecoder::setData):
306         (WebCore::ICOImageDecoder::isSizeAvailable):
307         (WebCore::ICOImageDecoder::frameSizeAtIndex):
308         (WebCore::ICOImageDecoder::frameCount):
309         (WebCore::ICOImageDecoder::frameBufferAtIndex):
310         (WebCore::ICOImageDecoder::compareEntries):
311         (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex):
312         (WebCore::ICOImageDecoder::decode):
313         (WebCore::ICOImageDecoder::decodeDirectory):
314         (WebCore::ICOImageDecoder::decodeAtIndex):
315         (WebCore::ICOImageDecoder::processDirectoryEntries):
316         (WebCore::ICOImageDecoder::readDirectoryEntry):
317         * platform/image-decoders/ico/ICOImageDecoder.h:
318         (WebCore::ICOImageDecoder::readUint16):
319         (WebCore::ICOImageDecoder::readUint32):
320         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
321         (WebCore::):
322         (WebCore::JPEGImageReader::JPEGImageReader):
323         (WebCore::JPEGImageReader::skipBytes):
324         (WebCore::JPEGImageReader::decode):
325         (WebCore::error_exit):
326         (WebCore::fill_input_buffer):
327         (WebCore::term_source):
328         (WebCore::JPEGImageDecoder::setData):
329         (WebCore::JPEGImageDecoder::setSize):
330         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
331         (WebCore::JPEGImageDecoder::jpegComplete):
332         (WebCore::JPEGImageDecoder::decode):
333         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
334         (WebCore::JPEGImageDecoder::filenameExtension):
335         * platform/image-decoders/png/PNGImageDecoder.cpp:
336         (WebCore::decodingFailed):
337         (WebCore::decodingWarning):
338         (WebCore::headerAvailable):
339         (WebCore::rowAvailable):
340         (WebCore::pngComplete):
341         (WebCore::PNGImageReader::PNGImageReader):
342         (WebCore::PNGImageReader::close):
343         (WebCore::PNGImageReader::decode):
344         (WebCore::PNGImageReader::createInterlaceBuffer):
345         (WebCore::PNGImageDecoder::setData):
346         (WebCore::PNGImageDecoder::frameBufferAtIndex):
347         (WebCore::PNGImageDecoder::headerAvailable):
348         (WebCore::PNGImageDecoder::rowAvailable):
349         (WebCore::PNGImageDecoder::pngComplete):
350         (WebCore::PNGImageDecoder::decode):
351         * platform/image-decoders/png/PNGImageDecoder.h:
352         (WebCore::PNGImageDecoder::filenameExtension):
353         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
354         (WebCore::RGBA32Buffer::setDecodedImage):
355
356 2010-02-16  Csaba Osztrogonác  <ossy@webkit.org>
357
358         [Qt] Unreviewed buildfix.
359
360         * WebCore.pro: Missing backslash added.
361
362 2010-02-16  Mikhail Naganov  <mnaganov@chromium.org>
363
364         Reviewed by Pavel Feldman.
365
366         Move JSC-specific wrappers for Profile and ProfileNode to bindings/js.
367
368         https://bugs.webkit.org/show_bug.cgi?id=34848
369
370         * GNUmakefile.am:
371         * WebCore.gypi:
372         * WebCore.pro:
373         * WebCore.vcproj/WebCore.vcproj:
374         * WebCore.xcodeproj/project.pbxproj:
375         * bindings/js/JavaScriptProfile.cpp: Added.
376         (WebCore::profileCache):
377         (WebCore::getTitleCallback):
378         (WebCore::getHeadCallback):
379         (WebCore::getUniqueIdCallback):
380         (WebCore::focus):
381         (WebCore::exclude):
382         (WebCore::restoreAll):
383         (WebCore::finalize):
384         (WebCore::ProfileClass):
385         (WebCore::toJS):
386         * bindings/js/JavaScriptProfile.h: Added.
387         * bindings/js/JavaScriptProfileNode.cpp: Added.
388         (WebCore::profileNodeCache):
389         (WebCore::getFunctionName):
390         (WebCore::getURL):
391         (WebCore::getLineNumber):
392         (WebCore::getTotalTime):
393         (WebCore::getSelfTime):
394         (WebCore::getNumberOfCalls):
395         (WebCore::getChildren):
396         (WebCore::getVisible):
397         (WebCore::getCallUID):
398         (WebCore::finalize):
399         (WebCore::ProfileNodeClass):
400         (WebCore::toJS):
401         * bindings/js/JavaScriptProfileNode.h: Added.
402         * inspector/JavaScriptProfile.cpp: Removed.
403         * inspector/JavaScriptProfile.h: Removed.
404         * inspector/JavaScriptProfileNode.cpp: Removed.
405         * inspector/JavaScriptProfileNode.h: Removed.
406
407 2010-02-16  Alexander Pavlov  <apavlov@chromium.org>
408
409         Reviewed by Pavel Feldman.
410
411         Web Inspector: Elements Panel: Limit the number of initially loaded element children
412         https://bugs.webkit.org/show_bug.cgi?id=34421
413
414         Test: inspector/elements-panel-limited-children.html
415
416         * English.lproj/localizedStrings.js:
417         * inspector/front-end/DOMAgent.js:
418         (WebInspector.DOMNode.prototype._insertChild):
419         * inspector/front-end/ElementsPanel.js:
420         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
421         * inspector/front-end/ElementsTreeOutline.js:
422         (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
423         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
424         (WebInspector.ElementsTreeElement):
425         (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
426         (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
427         (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
428         (WebInspector.ElementsTreeElement.prototype.showChild):
429         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
430         (WebInspector.ElementsTreeElement.prototype.moveChild):
431         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
432         (WebInspector.ElementsTreeElement.prototype._updateChildren):
433         (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
434         (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
435         ():
436         * inspector/front-end/inspector.css:
437
438 2010-02-16  Ismail Donmez  <ismail@namtrac.org>
439
440         Reviewed by Pavel Feldman.
441
442         Fix compilation with inspector disabled.
443         https://bugs.webkit.org/show_bug.cgi?id=32724
444
445         * rendering/RenderLayerBacking.cpp:
446         (WebCore::inspectorTimelineAgent):
447
448 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
449
450         Reviewed by Timothy Hatcher.
451
452         Web Inspector: turn off line wrapping in source view.
453
454         https://bugs.webkit.org/show_bug.cgi?id=34935
455
456         * inspector/front-end/TextViewer.js:
457         (WebInspector.TextViewer.prototype.markAndRevealRange):
458         (WebInspector.TextViewer.prototype._paintLine):
459         * inspector/front-end/textViewer.css:
460         * inspector/front-end/utilities.js:
461
462 2010-02-16  Pavel Feldman  <pfeldman@chromium.org>
463
464         Reviewed by Timothy Hatcher.
465
466         Web Inspector: let search iterate over views in Resources
467         and keep the view in Scripts.
468
469         https://bugs.webkit.org/show_bug.cgi?id=34968
470
471         * inspector/front-end/Panel.js:
472         (WebInspector.Panel.prototype.jumpToNextSearchResult):
473         (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
474         (WebInspector.Panel.prototype.showSourceLineForURL):
475         (WebInspector.Panel.prototype.searchIteratesOverViews):
476         * inspector/front-end/ResourcesPanel.js:
477         (WebInspector.ResourcesPanel.prototype.get _resources):
478         (WebInspector.ResourcesPanel.prototype.searchIteratesOverViews):
479         * inspector/front-end/SourceView.js:
480         (WebInspector.SourceView.prototype.showingLastSearchResult):
481         * inspector/front-end/inspector.js:
482         (WebInspector.documentKeyDown):
483         (WebInspector.focusSearchField):
484
485 2010-02-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
486
487         Reviewed by Ariya Hidayat.
488
489         [Qt] canvas clipping is buggy
490         https://bugs.webkit.org/show_bug.cgi?id=32405
491
492         Apparently the bug was in GraphicsContext::roundToDevicePixels, we
493         didn't take unto accounts rotation, so the device pixels were rounded
494         incorrectly. The new formula is a 1:1 copy from GraphicsContextCG so
495         it should be rather safe
496
497         Test: http://glimr.rubyforge.org/cake/canvas.html#Polaroids now looks right
498
499         * platform/graphics/qt/GraphicsContextQt.cpp:
500         (WebCore::GraphicsContext::roundToDevicePixels): Copy the formula from
501         GraphicsContextCG
502
503 2010-02-16  Yury Semikhatsky  <yurys@chromium.org>
504
505         Not Reviewed, build fix.
506
507         * platform/graphics/FloatRect.h:
508         (WebCore::FloatRect::center): make conversion from float to int explicit so that compiler
509         doesn't complain about that.
510
511 2010-02-15  Dan Bernstein  <mitz@apple.com>
512
513         Reviewed by Simon Fraser.
514
515         <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout
516
517         Refine the fix for https://bugs.webkit.org/show_bug.cgi?id=34923 by using the center of
518         a quad’s bounding box, rather than its top left, as the reference point passed to
519         offsetFromContainer(). This ensures that if a sliver off the top of the selection rect is in
520         one column, but most of it is on another column, the single rect we return will be for the
521         second column.
522
523         * platform/graphics/FloatRect.h:
524         (WebCore::FloatRect::center): Added.
525         * rendering/RenderObject.cpp:
526         (WebCore::RenderObject::localToContainerQuad): Use the center instead of the top left.
527
528 2010-02-15  MORITA Hajime  <morrita@gmail.com>
529
530         Reviewed by Nikolas Zimmermann.
531
532         SVG text refactor: reduce paint specific callbacks on SVGTextChunkWalker
533
534         https://bugs.webkit.org/show_bug.cgi?id=34831
535
536         No new tests, no change of functionality.
537
538         * rendering/SVGCharacterLayoutInfo.h:
539         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
540         Removed setupBackground(), setupFill(), setupFillSelection(),
541         setupStroke(), setupStrokeSelection(), setupForeground()
542         and associated member variables.
543         
544         * rendering/SVGRootInlineBox.cpp:
545         (WebCore::SVGRootInlineBoxPaintWalker::setupBackground):
546         renamed from chunkSetupBackgroundCallback.
547         (WebCore::SVGRootInlineBoxPaintWalker::setupFill):
548         renamed from chunkSetupFillCallback.
549         (WebCore::SVGRootInlineBoxPaintWalker::setupFillSelection):
550         renamed from chunkSetupFillSelectionCallback.
551         (WebCore::SVGRootInlineBoxPaintWalker::setupStroke):
552         renamed from chunkSetupStrokeCallback.
553         (WebCore::SVGRootInlineBoxPaintWalker::setupStrokeSelection):
554         renamed from chunkSetupStrokeSelectionCallback.
555         (WebCore::SVGRootInlineBoxPaintWalker::setupForeground):
556         renamed from chunkSetupForegroundCallback.
557         (WebCore::SVGRootInlineBoxPaintWalker::paintChunk):
558         renamed from chunkPortionCallback.
559         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
560         extracted from walkTextChunks.
561         (WebCore::SVGRootInlineBox::paint):
562         follow SVGTextChunkWalker change.
563         (WebCore::SVGRootInlineBox::walkTextChunks):
564         moved paint some specific code to SVGRootInlineBoxPaintWalker::chunkPortionCallback().
565         
566 2010-02-15  Dan Bernstein  <mitz@apple.com>
567
568         Try to fix the Chromium build.
569
570         * rendering/RenderThemeChromiumMac.mm:
571         (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
572
573 2010-02-14  Gavin Barraclough  <barraclough@apple.com>
574
575         Reviewed by Darin Adler.
576
577         https://bugs.webkit.org/show_bug.cgi?id=33731
578         Many false leaks in release builds due to PtrAndFlags
579
580         PtrAndFlags has now been removed; remove forwarding header.
581
582         * ForwardingHeaders/wtf/PtrAndFlags.h: Removed.
583
584 2010-02-15  Gavin Barraclough  <barraclough@apple.com>
585
586         Reviewed by Geoff Garen.
587
588         Bug 34952 - String lengths in UString should be unsigned.
589         This matches WebCore::StringImpl, and better unifies behaviour throughout JSC.
590
591         * bindings/js/JSDOMWindowCustom.cpp:
592         (WebCore::JSDOMWindow::atob):
593         (WebCore::JSDOMWindow::btoa):
594
595 2010-02-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
596
597         Reviewed by Xan Lopez.
598
599         [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
600         https://bugs.webkit.org/show_bug.cgi?id=34944
601
602         Set the URL in the newly created response, when parsing data:
603         URIs.
604
605         Test: fast/harness/page-cache-crash-on-data-urls.html
606
607         * platform/network/soup/ResourceHandleSoup.cpp:
608         (WebCore::parseDataUrl):
609
610 2010-02-15  Dan Bernstein  <mitz@apple.com>
611
612         Reviewed by Simon Fraser.
613
614         <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
615         https://bugs.webkit.org/show_bug.cgi?id=34923
616
617         Test: fast/multicol/client-rects.html
618
619         In column layout, a different transform applies to different points in
620         the block and its descendants, depending on their y coordinate within the
621         block. offsetFromContainer() used to return the offset that applied to
622         the origin. With this change, it returns the offset that applies to a
623         given reference point. When mapping a quad from local to absolute
624         coordinates, the top left of the quad’s bounding box is used as that
625         reference point.
626
627         * editing/SelectionController.cpp:
628         (WebCore::SelectionController::layout): Pass the caret’s origin as the
629         reference point to offsetFromContainer().
630         * rendering/RenderBlock.cpp:
631         (WebCore::RenderBlock::adjustForColumns): Adds the offset between the
632         given point and its image under the column paint-time transform to the
633         given offset. Used by offsetFromContainer() where it had previously used
634         adjustRectForColumns(), which takes a rect and operates less efficiently.
635         * rendering/RenderBlock.h:
636         * rendering/RenderBox.cpp:
637         (WebCore::RenderBox::mapLocalToContainer): Pass the transformed point as
638         the reference point to offsetFromContainer().
639         (WebCore::RenderBox::mapAbsoluteToLocalPoint): Pass a point to
640         offsetFromContainer().
641         (WebCore::RenderBox::offsetFromContainer): Use adjustForColumns() instead
642         of adjustRectForColumns(), and use the reference point to get the right
643         adjustment for the point of interest, instead of the origin, in case this
644         box spans multiple columns.
645         * rendering/RenderBox.h:
646         * rendering/RenderInline.cpp:
647         (WebCore::RenderInline::offsetFromContainer): Ditto. Actually apply the
648         column offset to the computation, which previously this function didn’t
649         do.
650         (WebCore::RenderInline::mapLocalToContainer): Pass the transformed point
651         as the reference point to offsetFromContainer().
652         (WebCore::RenderInline::mapAbsoluteToLocalPoint): Pass a point to
653         offsetFromContainer().
654         * rendering/RenderInline.h:
655         * rendering/RenderObject.cpp:
656         (WebCore::RenderObject::mapLocalToContainer): Apply column adjustment,
657         based on the reference point, to the transform if needed.
658         (WebCore::RenderObject::localToContainerQuad): Initialize the
659         TransformState with the top left corner of the quad’s bounding box. It
660         is later used as the reference point when deciding on which column to
661         base the calculations.
662         (WebCore::RenderObject::offsetFromContainer): Adjust for columns.
663         (WebCore::RenderObject::offsetFromAncestorContainer): Pass the origin
664         as the reference point to offsetFromContainer().
665         * rendering/RenderObject.h:
666         (WebCore::RenderObject::adjustForColumns): Added.
667         * rendering/RenderTableCell.cpp:
668         (WebCore::RenderTableCell::offsetFromContainer): Pass the reference
669         point through.
670         * rendering/RenderTableCell.h:
671         * rendering/RenderText.cpp:
672         (WebCore::RenderText::absoluteRectsForRange): Map (the origin of) each
673         rect to absolute coordinates individually.
674         * rendering/RenderThemeMac.mm:
675         (WebCore::RenderThemeMac::convertToPaintingRect): Pass a point to
676         offsetFromContainer().
677
678 2010-02-12  Alexey Proskuryakov  <ap@apple.com>
679
680         Reviewed by Kevin Decker.
681
682         <rdar://problem/7130641> Browser objects identity is not preserved by Safari
683
684         Test: plugins/netscape-browser-object-identity.html
685
686         * bridge/runtime_root.h: (JSC::Bindings::RootObject::addInvalidationCallback):
687         RootObject can now call out during invalidation, making it possible for other code to know
688         when this happens.
689
690         * bridge/runtime_root.cpp:
691         (JSC::Bindings::RootObject::InvalidationCallback::~InvalidationCallback): Empty destructor,
692         in cpp file since it's virtual.
693         (JSC::Bindings::RootObject::invalidate): Invoke invalidation callbacks.
694
695         * bridge/NP_jsobject.cpp:
696         (ObjectMap): Keep a JSObject->NPObject map for each RootObject. It somewhat cleaner to
697         keep it outside RootObject, because (1) it is agnostic of what kinds of objects can wrap
698         JSObject, and (2) out of process NPAPI implementation also keeps its corresponding map
699         separately, due to supporting per-instance granularity (as opposed to per-RootObject here).
700         (jsDeallocate): Remove the corresponding map entry.
701         (_NPN_CreateScriptObject): Try to fetch existing object from the map, incrementing refcount.
702
703 2010-02-15  Philippe Normand  <pnormand@igalia.com>
704
705         Rubber-stamped by Gustavo Noronha Silva.
706
707         Removed redefine of LOG_VERBOSE. This should not have commited in
708         the first place.
709
710         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
711
712 2010-02-15  Pavel Feldman  <pfeldman@chromium.org>
713
714         Reviewed by Timothy Hatcher.
715
716         Web Inspector: incorrect syntax highlighting as HTML in a script tag.
717         We were preserving initial lexer state upon entering other tags while in <script>
718         but were not doing it for <script tag itself. As a result, nested script
719         tags were failing to highlight.
720
721         https://bugs.webkit.org/show_bug.cgi?id=34934
722
723         * inspector/front-end/SourceHTMLTokenizer.js:
724         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
725         * inspector/front-end/SourceHTMLTokenizer.re2js:
726
727 2010-02-15  Brady Eidson  <beidson@apple.com>
728
729         Reviewed by Dan Bernstein.
730
731         Add a progress-indicator logging channel to WebCore, and convert the old WebKit Logging
732         messages over to WebCore-style.
733
734         No new tests. (Logging changes only)
735
736         * loader/ProgressTracker.cpp:
737         (WebCore::ProgressTracker::progressStarted):
738         (WebCore::ProgressTracker::progressCompleted):
739         (WebCore::ProgressTracker::finalProgressComplete):
740         (WebCore::ProgressTracker::incrementProgress):
741
742         * platform/Logging.cpp:
743         (WebCore::):
744         (WebCore::getChannelFromName):
745         * platform/Logging.h:
746
747 2010-02-15  Noam Rosenthal  <noam.rosenthal@nokia.com>
748
749         Reviewed by Simon Hausmann.
750
751         [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
752         https://bugs.webkit.org/show_bug.cgi?id=34901
753
754         When a signal/slot/property is of type QWebElement, it can seamlessly
755         connect with JS objects that hold a WebCore element.
756
757         New tests, see WebKit/qt/ChangeLog
758
759         * bridge/qt/qt_runtime.cpp:
760         (JSC::Bindings::QtWebElementRuntime::create): A proxy to QWebElement
761         constructor
762         (JSC::Bindings::QtWebElementRuntime::get): A proxy to
763         QWebElement::element
764         (JSC::Bindings::convertValueToQVariant): handle QWebElement
765         (JSC::Bindings::convertQVariantToValue): handle QWebElement
766
767 2010-02-15  Pavel Feldman  <pfeldman@chromium.org>
768
769         Not reviewed, Chromium build fix (force conversion of property names to
770         strings in Web Inspector's injected script).
771
772         * inspector/front-end/InjectedScript.js:
773         (injectedScriptConstructor):
774
775 2010-02-15  Pavel Feldman  <pfeldman@chromium.org>
776
777         Not reviewed: touch InspectorController in order to kick win bot tests
778         with new injected script contents.
779
780         * inspector/InspectorController.cpp:
781
782 2010-02-14  Pavel Feldman  <pfeldman@chromium.org>
783
784         Reviewed by Timothy Hatcher.
785
786         Web Inspector: highlight actual search match in elements panel.
787
788         https://bugs.webkit.org/show_bug.cgi?id=34251
789
790         * inspector/front-end/ElementsPanel.js:
791         (WebInspector.ElementsPanel.prototype.searchCanceled):
792         (WebInspector.ElementsPanel.prototype.performSearch):
793         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
794         (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
795         (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
796         (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
797         (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
798         * inspector/front-end/InjectedScript.js:
799         * inspector/front-end/SourceFrame.js:
800         (WebInspector.SourceFrame.prototype.findSearchMatches):
801         * inspector/front-end/TextViewer.js:
802         (WebInspector.TextViewer.prototype._paintLine):
803         * inspector/front-end/textViewer.css:
804         * inspector/front-end/utilities.js:
805
806 2010-02-14  Pavel Feldman  <pfeldman@chromium.org>
807
808         Reviewed by Timothy Hatcher.
809
810         Web Inspector: XPathResult objects are not expanded in console.
811
812         https://bugs.webkit.org/show_bug.cgi?id=34926
813
814         * inspector/front-end/InjectedScript.js:
815         (injectedScriptConstructor):
816         * inspector/front-end/ObjectPropertiesSection.js:
817         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
818         (WebInspector.ObjectPropertiesSection.CompareProperties):
819         (WebInspector.ObjectPropertyTreeElement.prototype.update):
820         * inspector/front-end/Section.js:
821         (WebInspector.Section):
822         * inspector/front-end/inspector.css:
823
824 2010-02-10  Philippe Normand  <pnormand@igalia.com>
825
826         Reviewed by Gustavo Noronha Silva.
827
828         [Gtk] wrong video aspect ratio
829         https://bugs.webkit.org/show_bug.cgi?id=34790
830
831         Fixed natural size calculation regarding pixel aspect ratio and
832         display aspect ratio.
833
834         Test: media/video-display-aspect-ratio.html
835
836         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
837         (WebCore::greatestCommonDivisor):
838         (WebCore::MediaPlayerPrivate::naturalSize):
839
840 2010-02-14  Adam Barth  <abarth@webkit.org>
841
842         Reviewed by Darin Adler.
843
844         HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
845         https://bugs.webkit.org/show_bug.cgi?id=33277
846
847         submitForm wasn't respecting shouldAllowNavigation.  Instead of calling
848         the wrapper function, we need to call shouldAllowNavigation because we
849         need to handle the "frame not found" case differently than the
850         "navigation denied" case.
851
852         Test: http/tests/security/sandboxed-iframe-form-top.html
853
854         * loader/FrameLoader.cpp:
855         (WebCore::FrameLoader::submitForm):
856
857 2010-02-14  Kent Tamura  <tkent@chromium.org>
858
859         No review. Touch RenderRuny*.cpp to fix Chromium/Windows build bot.
860
861         * rendering/RenderRuby.cpp: Add a comment for #endf.
862         * rendering/RenderRubyBase.cpp: Add a comment for #endf.
863         * rendering/RenderRubyRun.cpp: Add a comment for #endf.
864         * rendering/RenderRubyText.cpp: Add a comment for #endf.
865
866 2010-02-13  Pavel Feldman  <pfeldman@chromium.org>
867
868         Reviewed by Timothy Hatcher.
869
870         Web Inspector: cache created row, span and text elements
871         in TextView to improve scroller performance on debug build.
872
873         https://bugs.webkit.org/show_bug.cgi?id=34921
874
875         * inspector/front-end/SourceFrame.js:
876         (WebInspector.SourceFrame.prototype.set visible):
877         * inspector/front-end/TextViewer.js:
878         (WebInspector.TextViewer):
879         (WebInspector.TextViewer.prototype.freeCachedElements):
880         (WebInspector.TextViewer.prototype._buildChunks):
881         (WebInspector.TextViewer.prototype._makeLineAChunk):
882         (WebInspector.TextViewer.prototype._paintLine):
883         (WebInspector.TextViewer.prototype._releaseLines):
884         (WebInspector.TextViewer.prototype._appendSpan):
885         (WebInspector.TextViewer.prototype._appendTextNode):
886         (WebInspector.TextChunk):
887         (WebInspector.TextChunk.prototype.set expanded):
888         (WebInspector.TextChunk.prototype._lineNumberText):
889         (WebInspector.TextChunk.prototype._createRow):
890
891 2010-02-13  Kent Tamura  <tkent@chromium.org>
892
893         Reviewed by Darin Adler.
894
895         Refactor parsing/serialization functions in HTMLInputElement.
896         https://bugs.webkit.org/show_bug.cgi?id=34852
897
898         - Rename formStringToDouble() to parseToDoubleForNumberType()
899         - Rename formStringToDateComponents() to parseToDateComponents()
900         - Rename formStringFromDouble() to serializeForNumberType()
901         - Add serializeForDateTimeTypes()
902           The code is moved from setValueAsDate() and setDateValue().
903         - Add serialize()
904         
905         parseToDouble() is the top-level function to parse a
906         type-dependent string and return a double
907         value. parseToDoubleForNumber() and parseToDateComponents()
908         functions are helper functions for it. serialize() is the
909         top-level function to serialize a double value to a type-dependent
910         string, and serializeForNumberType() and
911         serializeForDateTimeTypes() are helper functions for it.
912
913         No tests because of no functional changes.
914
915         * html/HTMLInputElement.cpp:
916         (WebCore::HTMLInputElement::stepMismatch):
917         (WebCore::HTMLInputElement::getAllowedValueStep):
918         (WebCore::HTMLInputElement::parseToDouble):
919         (WebCore::HTMLInputElement::valueAsDate):
920         (WebCore::HTMLInputElement::setValueAsDate):
921         (WebCore::HTMLInputElement::setValueAsNumber):
922         (WebCore::HTMLInputElement::serializeForDateTimeTypes):
923         (WebCore::HTMLInputElement::serialize):
924         (WebCore::HTMLInputElement::serializeForNumberType):
925         (WebCore::HTMLInputElement::parseToDoubleForNumberType):
926         (WebCore::HTMLInputElement::parseToDateComponents):
927         * html/HTMLInputElement.h:
928         * html/ValidityState.cpp:
929         (WebCore::ValidityState::typeMismatch):
930         * rendering/RenderSlider.cpp:
931         (WebCore::SliderRange::valueFromElement):
932         (WebCore::RenderSlider::updateFromElement):
933         (WebCore::RenderSlider::setValueForPosition):
934
935 2010-01-05  Ojan Vafai  <ojan@chromium.org>
936
937         Reviewed by Dan Bernstein.
938
939         Improve text control intrinsic widths.
940         https://bugs.webkit.org/show_bug.cgi?id=25566
941         https://bugs.webkit.org/show_bug.cgi?id=25581
942         https://bugs.webkit.org/show_bug.cgi?id=25958
943
944         For Mac fonts that have invalid avgCharWidth entries in the OS/2 table,
945         fallback to the Safari 4- behavior of using the width of a zero. For other
946         fonts, make Mac match Windows (and thus IE) metrics.
947
948         Lucida Grande is hard-coded to match MS Shell Dlg for inputs and
949         Courier New for textareas in order to match Safari Win, Firefox and, in
950         some cases IE (IE uses different default fonts depending on encoding).
951
952         The only case where we still don't match Windows is if no font-size is
953         set. The default font-size for form controls on the Mac is smaller and
954         thus text-control widths will be slightly smaller.
955
956         No new tests. Covered by existing tests.
957
958         * platform/graphics/mac/SimpleFontDataMac.mm:
959         (WebCore::SimpleFontData::platformCharWidthInit):
960         * rendering/RenderTextControl.cpp:
961         (WebCore::):
962         (WebCore::RenderTextControl::hasValidAvgCharWidth):
963         (WebCore::RenderTextControl::getAvgCharWidth):
964         (WebCore::RenderTextControl::calcPrefWidths):
965         * rendering/RenderTextControl.h:
966         (WebCore::RenderTextControl::scaleEmToUnits):
967         * rendering/RenderTextControlMultiLine.cpp:
968         (WebCore::RenderTextControlMultiLine::getAvgCharWidth):
969         * rendering/RenderTextControlMultiLine.h:
970         * rendering/RenderTextControlSingleLine.cpp:
971         (WebCore::RenderTextControlSingleLine::getAvgCharWidth):
972         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
973         * rendering/RenderTextControlSingleLine.h:
974
975 2010-02-11  Ariya Hidayat  <ariya.hidayat@gmail.com>
976
977         Reviewed by Kenneth Rohde Christiansen.
978
979         [Qt] Unnecessary QBrush construction for doing a solid color stroke
980         https://bugs.webkit.org/show_bug.cgi?id=34874
981
982         Use the similar trick like in r54347, i.e. use the special brush for
983         solid color to avoid expensive QBrush constructor.
984
985         * platform/graphics/qt/GraphicsContextQt.cpp:
986         (WebCore::GraphicsContext::setPlatformStrokeColor):
987
988 2010-02-11  Darin Fisher  <darin@chromium.org>
989
990         Reviewed by Jeremy Orlow.
991
992         Pass the Document along to the ChromiumBridge cookie methods.
993
994         https://bugs.webkit.org/show_bug.cgi?id=34878
995
996         * platform/chromium/ChromiumBridge.h:
997         * platform/network/chromium/CookieJarChromium.cpp:
998         (WebCore::setCookies):
999         (WebCore::cookies):
1000         (WebCore::cookiesEnabled):
1001         (WebCore::getRawCookies):
1002         (WebCore::deleteCookie):
1003
1004 2010-02-12  Eric Seidel  <eric@webkit.org>
1005
1006         No review, rolling out r54694.
1007         http://trac.webkit.org/changeset/54694
1008         https://bugs.webkit.org/show_bug.cgi?id=34633
1009
1010         This appears to have caused crashes on the Leopard bot.  See
1011         bug 34898.
1012
1013         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1014         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1015         * websockets/WebSocket.cpp:
1016         (WebCore::WebSocket::WebSocket):
1017         (WebCore::WebSocket::send):
1018         (WebCore::WebSocket::close):
1019         (WebCore::WebSocket::bufferedAmount):
1020         (WebCore::WebSocket::didConnect):
1021         (WebCore::WebSocket::didClose):
1022         * websockets/WebSocket.h:
1023         * websockets/WebSocketChannel.cpp:
1024         (WebCore::WebSocketChannel::WebSocketChannel):
1025         (WebCore::WebSocketChannel::send):
1026         (WebCore::WebSocketChannel::bufferedAmount):
1027         (WebCore::WebSocketChannel::didClose):
1028         * websockets/WebSocketChannel.h:
1029         * websockets/WebSocketChannelClient.h:
1030         (WebCore::WebSocketChannelClient::didClose):
1031         * websockets/WorkerThreadableWebSocketChannel.cpp:
1032         (WebCore::workerContextDidClose):
1033         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
1034         * websockets/WorkerThreadableWebSocketChannel.h:
1035
1036 2010-02-12  Gavin Barraclough  <barraclough@apple.com>
1037
1038         Reviewed by Sam Weinig.
1039
1040         Workers' EventListeners should be removed before JSGlobalData is destroyed
1041         https://bugs.webkit.org/show_bug.cgi?id=34903
1042
1043         (Patch co-developed with Alexey Proskuryakov).
1044
1045         Since http://trac.webkit.org/changeset/54460 the EventListeners registered by a
1046         worker thread are not removed until after the thread's JSGlobalData has been
1047         destroyed.  This is slightly worrisome since the JSEventListener contains
1048         JSObject*s, which will be dangling once the heap is destroyed.  The
1049         JSEventListeners may also reference the worker thread's normal world, which
1050         again it makes no sense to keep around after the JSGlobalData is freed.
1051
1052         Remove all event listeners immediately prior to tearing down the JSGlobalData.
1053
1054         https://bugs.webkit.org/show_bug.cgi?id=34728 addressed the symptoms of this
1055         problem, and it is probably cleaner to make the client data's normal world no
1056         longer be a member (since it is a ref-counted object), however they should be
1057         no requirement to 'detatch' – it makes no sense for anyone to be referencing
1058         the world after the JSGlobalData has gone away (the world's purpose is to hold
1059         wrapper objects in the JSGlobalData's heap).  Keep the restructuring that makes
1060         the normal world no longer be a member, but remove the detach mechanism this
1061         patch added & replace with stronger ASSERTs.
1062
1063         * bindings/js/JSDOMBinding.cpp:
1064         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
1065         * bindings/js/JSDOMBinding.h:
1066         (WebCore::WebCoreJSClientData::~WebCoreJSClientData):
1067         * workers/WorkerThread.cpp:
1068         (WebCore::WorkerThreadShutdownStartTask::performTask):
1069
1070 2010-02-12  Gavin Barraclough  <barraclough@apple.com>
1071
1072         Reviewed by Sam Weinig.
1073
1074         https://bugs.webkit.org/show_bug.cgi?id=33731
1075         Remove uses of PtrAndFlags from WebCore::StringImpl.
1076
1077         These break the OS X Leaks tool.  Use a bits stolen from the refCount to hold the
1078         'InTable' and 'HasTerminatingNullCharacter' flags, along with the string type
1079         (fixes a leak where the string data is allocated at the address (this + 1), and is
1080         misinterpreted as being an internal buffer).
1081
1082         * WebCore.base.exp:
1083         * platform/text/StringImpl.cpp:
1084         (WebCore::StringImpl::StringImpl):
1085         (WebCore::StringImpl::~StringImpl):
1086         (WebCore::StringImpl::create):
1087         (WebCore::StringImpl::createWithTerminatingNullCharacter):
1088         (WebCore::StringImpl::crossThreadString):
1089         (WebCore::StringImpl::sharedBuffer):
1090         * platform/text/StringImpl.h:
1091         (WebCore::StringImpl::):
1092         (WebCore::StringImpl::hasTerminatingNullCharacter):
1093         (WebCore::StringImpl::inTable):
1094         (WebCore::StringImpl::setInTable):
1095         (WebCore::StringImpl::ref):
1096         (WebCore::StringImpl::deref):
1097         (WebCore::StringImpl::hasOneRef):
1098         (WebCore::StringImpl::operator new):
1099         (WebCore::StringImpl::bufferOwnership):
1100         * storage/OriginUsageRecord.cpp:
1101         (WebCore::OriginUsageRecord::addDatabase):
1102         (WebCore::OriginUsageRecord::markDatabase):
1103
1104 2010-02-12  Nikolas Zimmermann  <nzimmermann@rim.com>
1105
1106         Reviewed by Dirk Schulze.
1107
1108         Repaint bug on Text selection in foreignObject
1109         https://bugs.webkit.org/show_bug.cgi?id=16939
1110
1111         Tests: svg/overflow/overflow-on-foreignObject.svg
1112                svg/text/foreignObject-text-clipping-bug.xml
1113
1114         Selecting text contained in <foreignObject> leads to artefacts. Same for zooming/panning.
1115         RenderForeignObject contained old legacy code returning FloatRect() for repaintRectInLocalCoordinates,
1116         which is obviously wrong. Fixing that leads to even more problems, as the underlying RenderBlock
1117         did not reflect the x/y translation set on the <foreignObject>. This is problematic, as laying out
1118         positioned objects in the XHTML subtree depends on proper size/location values of the frameRect.
1119
1120         Correctly clip on overflow="hidden". overflow="scroll" & friends are not yet supported, see lengthy
1121         comment in RenderSVGBlock why we either need RenderLayer for RenderForeignObject or need to rework
1122         overflow handling to avoid RenderLayer.
1123
1124         SVGForeignObjectElement uses a hacky custom solution to synchronize CSS width/height properties with
1125         the SVG width/height attributes. Remove all of that code and just implement calcWidth/calcHeight in
1126         RenderForeignObject, grabbing the right values from SVGForeignObjectElement::width/height upon layout.
1127
1128         * rendering/RenderForeignObject.cpp:
1129         (WebCore::RenderForeignObject::paint): Clip properly to the actual bounds of the foreignObject, respecting that x/y translation is handled by RenderBlock now.
1130         (WebCore::RenderForeignObject::clippedOverflowRectForRepaint): Added missing function, forward to SVGRenderBase just like all other SVG renderers.
1131         (WebCore::RenderForeignObject::computeRectForRepaint): Remove manual implementation, forward to SVGRenderBase.
1132         (WebCore::RenderForeignObject::localToParentTransform): Respect x/y translation here _after_ applying localTransform().
1133         (WebCore::RenderForeignObject::calcWidth): Override RenderBlock::calcWidth to grab width() from SVGForeignObjectElement.
1134         (WebCore::RenderForeignObject::calcHeight): Override RenderBlock::calcHeight to grab height() from SVGForeignObjectElement.
1135         (WebCore::RenderForeignObject::layout): Calculate viewport once and cache it. Push x/y location down to RenderBlock - analogous to RenderSVGText.
1136         (WebCore::RenderForeignObject::nodeAtFloatPoint): Adapt to x/y translation changes (map through localTransform, not localToParentTransform). Respect overflow clipping.
1137         (WebCore::RenderForeignObject::mapLocalToContainer): Set useTransforms=true, to avoid assertions when selecting text in foreign objects.
1138         * rendering/RenderForeignObject.h:
1139         (WebCore::RenderForeignObject::objectBoundingBox): Return cached m_viewport.
1140         (WebCore::RenderForeignObject::strokeBoundingBox): Ditto.
1141         (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): Ditto.
1142         * rendering/RenderSVGBlock.cpp:
1143         (WebCore::RenderSVGBlock::setStyle): Cleanup code, move setHasOverflowClip() overrides in updateBoxModelInfoFromStyle where it belongs.
1144         (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle): Added to force setting setHasOverflowClip(false).
1145         * rendering/RenderSVGBlock.h:
1146         * svg/SVGForeignObjectElement.cpp: Kill a lot of custom code - it was just plain wrong to utilize CSS to push width/height information down to RenderBlock.
1147         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1148
1149 2010-02-12  Dan Bernstein  <mitz@apple.com>
1150
1151         Reviewed by Simon Fraser.
1152
1153         <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
1154         https://bugs.webkit.org/show_bug.cgi?id=34865
1155
1156         Test: fast/text/glyph-reordering.html
1157
1158         * platform/graphics/mac/ComplexTextController.cpp:
1159         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
1160         (WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic): Added. Sets m_isMonotonic
1161         and populates m_glyphEndOffsets with the end offsets of each glyph’s corresponding character range.
1162         (WebCore::ComplexTextController::advance): For non-monotonic runs, use endOffsetAt() to get
1163         glyphs’ end offsets.
1164         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Check for monotonicity and call
1165         setIsNonMonotonic() if needed.
1166         * platform/graphics/mac/ComplexTextController.h:
1167         (WebCore::ComplexTextController::ComplexTextRun::lastIndexAt): Added this getter.
1168         (WebCore::ComplexTextController::ComplexTextRun::isMonotonic): Ditto.
1169         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
1170         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_isMonotonic.
1171         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1172         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Ditto.
1173
1174 2010-02-12  Alexey Proskuryakov  <ap@apple.com>
1175
1176         Reviewed by David Levin.
1177
1178         https://bugs.webkit.org/show_bug.cgi?id=34866
1179         Leopard Debug Bot crashed on fast/forms/old-names.html
1180
1181         * html/HTMLFormCollection.cpp: (WebCore::HTMLFormCollection::formCollectionInfo): Removed
1182         a misplaced checkConsistency() call. We are not looking at cache content at this point, and
1183         caches will be reset on next access.
1184
1185 2010-02-12  Pavel Feldman  <pfeldman@chromium.org>
1186
1187         Reviewed by Timothy Hatcher.
1188
1189         Web Inspector: restore highlighting animation, bring back
1190         keyboard navigation, beautify search results.
1191
1192         https://bugs.webkit.org/show_bug.cgi?id=34853
1193
1194         * inspector/front-end/TextViewer.js:
1195         (WebInspector.TextViewer):
1196         (WebInspector.TextViewer.prototype.highlightLine):
1197         * inspector/front-end/textViewer.css:
1198
1199 2010-02-12  Anton Muhin  <antonm@chromium.org>
1200
1201         Reviewed by Adam Barth.
1202
1203         [v8] handle to the document can only own Objects, not Values
1204         https://bugs.webkit.org/show_bug.cgi?id=34854
1205
1206         * bindings/v8/V8DOMWindowShell.cpp:
1207         (WebCore::V8DOMWindowShell::updateDocumentWrapper):
1208         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
1209         * bindings/v8/V8DOMWindowShell.h:
1210         * bindings/v8/custom/V8DocumentCustom.cpp:
1211         (WebCore::toV8):
1212
1213 2010-02-12  Simon Hausmann  <simon.hausmann@nokia.com>
1214
1215         Reviewed by Holger Freyther.
1216
1217         Replaced stray CRLF with LF.
1218
1219         * wml/WMLInputElement.cpp:
1220         (WebCore::WMLInputElement::suggestedValue):
1221         * wml/WMLInputElement.h:
1222
1223 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1224
1225         Reviewed by Tor Arne Vestbø.
1226
1227         [Qt] Make qtlauncher and qgvlauncher use the generated headers
1228         path to make sure they are correctly generated.
1229
1230         * WebCore.pro:
1231
1232 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1233
1234         Reviewed by Tor Arne Vestbø.
1235
1236         [Qt] Ensure relative paths in generated .pri files to ensure that
1237         a source package with pre-generated derived sources can be compiled.
1238
1239         - Re-add a separate headers.pri file for WEBKIT_API_HEADERS
1240         - Rename the generated headers.pri to classheaders.pri to avoid
1241         confusion with the one generated by synqt since they don't have the
1242         same content.
1243         - Remove private headers list variable from classheaders.pri
1244         - Use $$PWD in classheaders.pri
1245         - Remove classheaders.pri from the installed files
1246
1247         * WebCore.pro:
1248
1249 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1250
1251         Reviewed by Tor Arne Vestbø.
1252
1253         [Qt] Manually add support for the install target on Symbian.
1254
1255         This is required to copy the headers over the ones in Qt.
1256
1257         * WebCore.pro:
1258
1259 2010-02-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1260
1261         Reviewed by Tor Arne Vestbø.
1262
1263         [Qt] Minor fixes on QtWebKit headers generation.
1264
1265         - Adds QtWebKit to the generated headers destination path
1266         - Improve compatibility with MinGW
1267
1268         * WebCore.pro:
1269
1270 2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
1271
1272         Reviewed by Alexey Proskuryakov.
1273
1274         WebSocket ignores HttpOnly cookies, but should use in Handshake.
1275         https://bugs.webkit.org/show_bug.cgi?id=34289
1276
1277         Test: websocket/tests/cookies/httponly-cookie.pl
1278
1279         * platform/CookieJar.h: add cookieRequestHeaderFieldValue()
1280         * platform/chromium/ChromiumBridge.h:
1281         * platform/haiku/CookieJarHaiku.cpp:
1282         (WebCore::cookieRequestHeaderFieldValue):
1283         * platform/mac/CookieJar.mm:
1284         (WebCore::cookies):
1285         (WebCore::cookieRequestHeaderFieldValue):
1286         * platform/network/android/CookieJarAndroid.cpp:
1287         (WebCore::cookieRequestHeaderFieldValue):
1288         * platform/network/chromium/CookieJarChromium.cpp:
1289         (WebCore::cookieRequestHeaderFieldValue):
1290         * platform/network/curl/CookieJarCurl.cpp:
1291         (WebCore::cookieRequestHeaderFieldValue):
1292         * platform/network/soup/CookieJarSoup.cpp:
1293         (WebCore::cookieRequestHeaderFieldValue):
1294         * platform/network/win/CookieJarCFNetWin.cpp:
1295         (WebCore::cookieRequestHeaderFieldValue):
1296         * platform/network/win/CookieJarWin.cpp:
1297         (WebCore::cookieRequestHeaderFieldValue):
1298         * platform/qt/CookieJarQt.cpp:
1299         (WebCore::cookieRequestHeaderFieldValue):
1300         * websockets/WebSocketHandshake.cpp:
1301         (WebCore::WebSocketHandshake::clientHandshakeMessage): use cookieRequestHeaderFieldValue() instead of cookies() to include HttpOnly cookies.
1302
1303 2010-02-11  Ariya Hidayat  <ariya.hidayat@gmail.com>
1304
1305         Reviewed by Kenneth Rohde Christiansen.
1306
1307         [Qt] Use clipRegion instead of clipPath to save lots of CPU cycles.
1308
1309         https://bugs.webkit.org/show_bug.cgi?id=32375
1310
1311         * platform/graphics/qt/GraphicsContextQt.cpp:
1312         (WebCore::GraphicsContext::clipOut):
1313         (WebCore::GraphicsContext::clipOutEllipseInRect):
1314
1315 2010-02-11  Yuzo Fujishima  <yuzo@google.com>
1316
1317         Reviewed by Shinichiro Hamaji.
1318
1319         Rename underscored identifiers in WebCore/css/CSSParser.cpp.
1320         https://bugs.webkit.org/show_bug.cgi?id=34877
1321         Also fix whitespace erros that surface due to the above fix.
1322
1323         This doesn't change the code logic. Hence no new tests are required.
1324
1325         * css/CSSParser.cpp:
1326         (WebCore::CSSParser::parseValue):
1327
1328 2010-02-11  Joseph Pecoraro  <joepeck@webkit.org>
1329
1330         Reviewed by Timothy Hatcher.
1331
1332         Web Inspector: Focusing a resource in the inspector should default to content not header
1333         https://bugs.webkit.org/show_bug.cgi?id=34861
1334
1335         * inspector/front-end/Settings.js:
1336         (WebInspector.Settings.prototype._load): changed initial default to content tab
1337
1338 2010-02-11  Joseph Pecoraro  <joepeck@webkit.org>
1339
1340         Reviewed by Timothy Hatcher.
1341
1342         Web Inspector: Editing Styles Cannot Tab Backwards from a New Style Item
1343         https://bugs.webkit.org/show_bug.cgi?id=34872
1344
1345         * inspector/front-end/StylesSidebarPane.js:
1346         (WebInspector.StylePropertiesSection.prototype.update): triggers afterUpdate
1347         (WebInspector.StylePropertiesSection.prototype.afterUpdate): factored out _afterUpdate handling
1348
1349 2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1350
1351         Reviewed by Eric Seidel.
1352
1353         Add roundedIntSize() convenience method converting FloatSize to IntSize, just like roundedIntPoint() converting FloatPoint to IntPoint.
1354
1355         * platform/graphics/FloatSize.h:
1356         (WebCore::roundedIntSize):
1357
1358 2010-02-11  Kent Tamura  <tkent@chromium.org>
1359
1360         Reviewed by Darin Adler.
1361
1362         Fix two issues on maxLength.
1363         https://bugs.webkit.org/show_bug.cgi?id=34783
1364
1365         - ValidityState.tooLong behavior was inconsistent with UIs of
1366         <input> and <textarea>. tooLong checked Unicode code point length
1367         though the UIs checks grapheme cluster length.
1368
1369         - Setting HTMLTextAreaElement::value didn't update the dirty flag.
1370
1371         * html/HTMLInputElement.cpp:
1372         (WebCore::HTMLInputElement::tooLong): Use numGraphemeClusters() instead of length().
1373         * html/HTMLTextAreaElement.cpp:
1374           Rename setValue() to setNonDirtyValue(), and introduce setValue()
1375           which calls setNonDirtyValue() and sets the dirty flag.
1376         (WebCore::HTMLTextAreaElement::childrenChanged):
1377         (WebCore::HTMLTextAreaElement::reset):
1378         (WebCore::HTMLTextAreaElement::setValue):
1379         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
1380         (WebCore::HTMLTextAreaElement::setDefaultValue):
1381         (WebCore::HTMLTextAreaElement::tooLong): Use numGraphemeClusters() instead of length().
1382         * html/HTMLTextAreaElement.h:
1383
1384 2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
1385
1386         Reviewed by Alexey Proskuryakov.
1387
1388         WebSocket bufferedAmount should not be 0 when send after close.
1389         https://bugs.webkit.org/show_bug.cgi?id=34633
1390
1391         Test: websocket/tests/bufferedAmount-after-close.html
1392
1393         * websockets/ThreadableWebSocketChannelClientWrapper.h:
1394         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
1395         * websockets/WebSocket.cpp:
1396         (WebCore::WebSocket::WebSocket):
1397         (WebCore::WebSocket::send):
1398         (WebCore::WebSocket::close):
1399         (WebCore::WebSocket::bufferedAmount):
1400         (WebCore::WebSocket::didConnect):
1401         (WebCore::WebSocket::didClose):
1402         * websockets/WebSocket.h:
1403         * websockets/WebSocketChannel.cpp:
1404         (WebCore::WebSocketChannel::WebSocketChannel):
1405         (WebCore::WebSocketChannel::send):
1406         (WebCore::WebSocketChannel::bufferedAmount):
1407         (WebCore::WebSocketChannel::didClose):
1408         * websockets/WebSocketChannel.h:
1409         * websockets/WebSocketChannelClient.h:
1410         (WebCore::WebSocketChannelClient::didClose):
1411         * websockets/WorkerThreadableWebSocketChannel.cpp:
1412         (WebCore::workerContextDidClose):
1413         (WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
1414         * websockets/WorkerThreadableWebSocketChannel.h:
1415
1416 2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>
1417
1418         Reviewed by Alexey Proskuryakov.
1419
1420         WebSocket in Worker failed to close
1421         https://bugs.webkit.org/show_bug.cgi?id=34785
1422
1423         Tests: websocket/tests/workers/close-in-shared-worker.html
1424                websocket/tests/workers/close-in-worker.html
1425
1426         * websockets/WorkerThreadableWebSocketChannel.cpp:
1427         (WebCore::WorkerThreadableWebSocketChannel::close):
1428
1429 2010-02-11  Kwang Yul Seo  <skyul@company100.net>
1430
1431         Reviewed by Eric Seidel.
1432
1433         [BREWMP] Add dummy Cursor
1434         https://bugs.webkit.org/show_bug.cgi?id=34672
1435
1436         * platform/brew/CursorBrew.cpp: Added.
1437         (WebCore::Cursor::Cursor):
1438         (WebCore::Cursor::~Cursor):
1439         (WebCore::Cursor::operator=):
1440         (WebCore::dummyCursor):
1441         (WebCore::pointerCursor):
1442         (WebCore::crossCursor):
1443         (WebCore::handCursor):
1444         (WebCore::moveCursor):
1445         (WebCore::iBeamCursor):
1446         (WebCore::waitCursor):
1447         (WebCore::helpCursor):
1448         (WebCore::eastResizeCursor):
1449         (WebCore::northResizeCursor):
1450         (WebCore::northEastResizeCursor):
1451         (WebCore::northWestResizeCursor):
1452         (WebCore::southResizeCursor):
1453         (WebCore::southEastResizeCursor):
1454         (WebCore::southWestResizeCursor):
1455         (WebCore::westResizeCursor):
1456         (WebCore::northSouthResizeCursor):
1457         (WebCore::eastWestResizeCursor):
1458         (WebCore::northEastSouthWestResizeCursor):
1459         (WebCore::northWestSouthEastResizeCursor):
1460         (WebCore::columnResizeCursor):
1461         (WebCore::rowResizeCursor):
1462         (WebCore::verticalTextCursor):
1463         (WebCore::cellCursor):
1464         (WebCore::contextMenuCursor):
1465         (WebCore::noDropCursor):
1466         (WebCore::copyCursor):
1467         (WebCore::progressCursor):
1468         (WebCore::aliasCursor):
1469         (WebCore::noneCursor):
1470         (WebCore::notAllowedCursor):
1471         (WebCore::zoomInCursor):
1472         (WebCore::zoomOutCursor):
1473         (WebCore::middlePanningCursor):
1474         (WebCore::eastPanningCursor):
1475         (WebCore::northPanningCursor):
1476         (WebCore::northEastPanningCursor):
1477         (WebCore::northWestPanningCursor):
1478         (WebCore::southPanningCursor):
1479         (WebCore::southEastPanningCursor):
1480         (WebCore::southWestPanningCursor):
1481         (WebCore::westPanningCursor):
1482         (WebCore::grabCursor):
1483         (WebCore::grabbingCursor):
1484
1485 2010-02-11  Nate Chapin  <japhet@chromium.org>
1486
1487         Reviewed by Dimitri Glazkov.
1488
1489         [V8] Add back in a fast path for v8 object wrapping
1490         when it's not possible we're in a WorkerContext (the fast
1491         path is important for performance).
1492
1493         https://bugs.webkit.org/show_bug.cgi?id=34805
1494
1495         * bindings/scripts/CodeGeneratorV8.pm:
1496         * bindings/v8/V8DOMWrapper.cpp:
1497         (WebCore::V8DOMWrapper::instantiateV8ObjectInWorkerContext):
1498         (WebCore::V8DOMWrapper::instantiateV8Object):
1499         * bindings/v8/V8DOMWrapper.h:
1500
1501 2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
1502
1503         Reviewed by Dirk Schulze.
1504
1505         Small cleanups in SVG render tree code.
1506         Centralize calls to inflateShadow(), in SVGRenderSupport::computeRectForRepaint,
1507         instead of spreading them around the subclasses. All classes should inherit
1508         protected from SVGRenderBase, made it consistent.
1509         
1510         Doesn't affect layout tests.
1511
1512         * rendering/RenderSVGImage.cpp:
1513         (WebCore::RenderSVGImage::computeRectForRepaint):
1514         * rendering/RenderSVGImage.h:
1515         * rendering/RenderSVGModelObject.cpp:
1516         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1517         * rendering/RenderSVGRoot.h:
1518         * rendering/RenderSVGText.cpp:
1519         (WebCore::RenderSVGText::computeRectForRepaint):
1520         (WebCore::RenderSVGText::layout):
1521         * rendering/SVGRenderSupport.cpp:
1522         (WebCore::SVGRenderBase::computeRectForRepaint):
1523         * rendering/SVGRootInlineBox.h:
1524
1525 2010-02-11  David Hyatt  <hyatt@apple.com>
1526
1527         Reviewed by Dan Bernstein.
1528
1529         https://bugs.webkit.org/show_bug.cgi?id=34857
1530         Move InlineIterator and BidiRun into new files so subclasses can access them.
1531
1532         * GNUmakefile.am:
1533         * WebCore.gypi:
1534         * WebCore.pro:
1535         * WebCore.vcproj/WebCore.vcproj:
1536         * WebCore.xcodeproj/project.pbxproj:
1537         * rendering/BidiRun.cpp: Added.
1538         (WebCore::BidiRun::destroy):
1539         (WebCore::throw):
1540         (WebCore::BidiRun::operator delete):
1541         * rendering/BidiRun.h: Added.
1542         (WebCore::BidiRun::BidiRun):
1543         (WebCore::BidiRun::next):
1544         * rendering/InlineIterator.h: Added.
1545         (WebCore::InlineIterator::InlineIterator):
1546         (WebCore::operator==):
1547         (WebCore::operator!=):
1548         (WebCore::bidiNext):
1549         (WebCore::bidiFirst):
1550         (WebCore::InlineIterator::increment):
1551         (WebCore::InlineIterator::atEnd):
1552         (WebCore::InlineIterator::current):
1553         (WebCore::InlineIterator::direction):
1554         (WebCore::InlineBidiResolver::increment):
1555         (WebCore::InlineBidiResolver::appendRun):
1556         * rendering/RenderBlock.h:
1557         * rendering/RenderBlockLineLayout.cpp:
1558         (WebCore::RenderBlock::appendRunsForObject):
1559         (WebCore::RenderBlock::requiresLineBox):
1560
1561 2010-02-11  Steve Block  <steveblock@google.com>
1562
1563         Reviewed by Dimitri Glazkov.
1564
1565         Fixes CodeGeneratorV8.pm to include the header for the indexer type when using setCollectionIndexedGetter()
1566         https://bugs.webkit.org/show_bug.cgi?id=34836
1567
1568         setCollectionIndexedGetter() uses getIndexedPropertyOfCollection(),
1569         which in turn uses toV8() with the indexer type, which is declared in
1570         the header for the indexer type.
1571
1572         No new tests, build fix only.
1573
1574         * bindings/scripts/CodeGeneratorV8.pm:
1575
1576 2010-02-11  Pavel Feldman  <pfeldman@chromium.org>
1577
1578         Reviewed by Timothy Hatcher.
1579
1580         Web Inspector: split source code into chunks in order to improve text
1581         viewer performance on large files.
1582
1583         https://bugs.webkit.org/show_bug.cgi?id=34816
1584
1585         This change brings back SourceFrame's canvas+style magic, restores line
1586         wrapping and makes things a lot like they used to be.
1587         It removes TextEditor for now and renames NativeTextViewer into TextViewer.
1588         TextViewer is no longer derived from TextEditor.
1589         This TextViewer is still based on TextEditorModel, no iframes are involved.
1590
1591         Instead of creating div per line, TextViewer splits source code into 50 line
1592         chunks. Upon scroll event, visible chunks are sharded into lines and individual
1593         lines are highlighted. Whenever highlighted region gets outside of the visible
1594         area, highlight spans are thrown away and region is replaced with the original
1595         plain text chunk.
1596
1597         Complex stuff:
1598         - Whenever there is a need to manipulate individual lines (add message bubble /
1599         set breakpoint / reveal / etc.), individual chunks for such lines are created.
1600         - There is also an implicit machinery that is maintaining selection when it
1601         goes beyond the visible area.
1602         - Search occurrences are implemented as artificial spans interweaving
1603         highlighting markup.
1604
1605         * WebCore.gypi:
1606         * WebCore.vcproj/WebCore.vcproj:
1607         * inspector/front-end/NativeTextViewer.js: Removed.
1608         * inspector/front-end/ScriptView.js:
1609         (WebInspector.ScriptView):
1610         * inspector/front-end/Settings.js:
1611         * inspector/front-end/SourceFrame.js:
1612         (WebInspector.SourceFrame):
1613         (WebInspector.SourceFrame.prototype.set visible):
1614         (WebInspector.SourceFrame.prototype.set executionLine):
1615         (WebInspector.SourceFrame.prototype.revealLine):
1616         (WebInspector.SourceFrame.prototype.addBreakpoint):
1617         (WebInspector.SourceFrame.prototype.removeBreakpoint):
1618         (WebInspector.SourceFrame.prototype.addMessage):
1619         (WebInspector.SourceFrame.prototype.clearMessages):
1620         (WebInspector.SourceFrame.prototype.sizeToFitContentHeight):
1621         (WebInspector.SourceFrame.prototype.setContent):
1622         (WebInspector.SourceFrame.prototype.highlightLine):
1623         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
1624         (WebInspector.SourceFrame.prototype.markAndRevealRange):
1625         (WebInspector.SourceFrame.prototype.clearMarkedRange):
1626         (WebInspector.SourceFrame.prototype._breakpointChanged):
1627         (WebInspector.SourceFrame.prototype._updateExecutionLine):
1628         (WebInspector.SourceFrame.prototype._addMessageToSource):
1629         (WebInspector.SourceFrame.prototype._addExistingBreakpointsToSource):
1630         (WebInspector.SourceFrame.prototype._addBreakpointToSource):
1631         (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
1632         (WebInspector.SourceFrame.prototype._mouseDown):
1633         (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
1634         (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
1635         (WebInspector.SourceFrame.prototype._editBreakpointCondition):
1636         (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
1637         (WebInspector.SourceFrame.prototype._createConditionElement):
1638         (WebInspector.SourceFrame.prototype._keyDown):
1639         (WebInspector.SourceFrame.prototype.resize):
1640         (WebInspector.SourceFrame.prototype._drawProgramCounterInContext):
1641         (WebInspector.SourceFrame.prototype._drawProgramCounterImageIfNeeded):
1642         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
1643         (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
1644         * inspector/front-end/SourceView.js:
1645         (WebInspector.SourceView):
1646         (WebInspector.SourceView.prototype._removeBreakpoint):
1647         (WebInspector.SourceView.prototype.searchCanceled):
1648         (WebInspector.SourceView.prototype._jumpToSearchResult):
1649         * inspector/front-end/TextEditor.js: Removed.
1650         * inspector/front-end/TextViewer.js: Added.
1651         (WebInspector.TextViewer):
1652         (WebInspector.TextViewer.prototype.set mimeType):
1653         (WebInspector.TextViewer.prototype.get textModel):
1654         (WebInspector.TextViewer.prototype.revealLine):
1655         (WebInspector.TextViewer.prototype.addDecoration):
1656         (WebInspector.TextViewer.prototype.removeDecoration):
1657         (WebInspector.TextViewer.prototype.markAndRevealRange):
1658         (WebInspector.TextViewer.prototype.highlightLine):
1659         (WebInspector.TextViewer.prototype._textChanged):
1660         (WebInspector.TextViewer.prototype._createChunkRow):
1661         (WebInspector.TextViewer.prototype._makeLineAChunk):
1662         (WebInspector.TextViewer.prototype._indexChunks):
1663         (WebInspector.TextViewer.prototype._highlightChanged):
1664         (WebInspector.TextViewer.prototype._scroll):
1665         (WebInspector.TextViewer.prototype.setCoalescingUpdate):
1666         (WebInspector.TextViewer.prototype._repaintAll):
1667         (WebInspector.TextViewer.prototype._chunkForOffset):
1668         (WebInspector.TextViewer.prototype._chunkNumberForLine):
1669         (WebInspector.TextViewer.prototype._chunkStartLine):
1670         (WebInspector.TextViewer.prototype._restoreChunks):
1671         (WebInspector.TextViewer.prototype._repaint):
1672         (WebInspector.TextViewer.prototype._getSelection):
1673         (WebInspector.TextViewer.prototype._restoreSelection):
1674         (WebInspector.TextViewer.prototype._selectionToPosition):
1675         (WebInspector.TextViewer.prototype._createLineRow):
1676         (WebInspector.TextViewer.prototype._paintLine):
1677         (WebInspector.TextViewer.prototype._createSpan):
1678         (WebInspector.TextViewer.prototype._createLink):
1679         (WebInspector.TextViewer.prototype._rewriteHref):
1680         (WebInspector.TextViewer.prototype._markRange):
1681         (WebInspector.TextViewer.prototype._decimalDigits):
1682         (WebInspector.TextViewer.prototype.resize):
1683         * inspector/front-end/WebKit.qrc:
1684         * inspector/front-end/inspector.css:
1685         * inspector/front-end/inspector.html:
1686         * inspector/front-end/textEditor.css: Removed.
1687         * inspector/front-end/textViewer.css: Added.
1688         * inspector/front-end/utilities.js:
1689         (Node.prototype.traverseNextTextNode):
1690         (Node.prototype.rangeBoundaryForOffset):
1691
1692 2010-02-11  Csaba Osztrogonác  <ossy@webkit.org>
1693
1694         Reviewed by Tor Arne Vestbø.
1695
1696         [Qt] ENABLE_RUBY flag was restored by r54649, but default value wasn't added for Qt port.
1697         https://bugs.webkit.org/show_bug.cgi?id=34698
1698
1699         * WebCore.pri: Add ENABLE_RUBY=1 as default setting.
1700
1701 2010-02-11  Steve Block  <steveblock@google.com>
1702
1703         Reviewed by Jeremy Orlow.
1704
1705         Updates Android V8 Makefile to generate Notifications and WebSockets headers required by V8DOMWrapper.cpp
1706         https://bugs.webkit.org/show_bug.cgi?id=34815
1707
1708         No new tests, build fix only.
1709
1710         * Android.derived.v8bindings.mk:
1711
1712 2010-02-11  Steve Block  <steveblock@google.com>
1713
1714         Reviewed by Jeremy Orlow.
1715
1716         Updates Android V8 Makefile to generate XPath header required by V8Proxy.cpp
1717         https://bugs.webkit.org/show_bug.cgi?id=34814
1718
1719         No new tests, build fix only.
1720
1721         * Android.derived.v8bindings.mk:
1722
1723 2010-02-11  Steve Block  <steveblock@google.com>
1724
1725         Reviewed by Nate Chapin.
1726
1727         Update Android V8 Makefile to generate Inspector headers required by V8 ScriptObject.cpp
1728         https://bugs.webkit.org/show_bug.cgi?id=34806
1729
1730         No new tests, build fix only.
1731
1732         * Android.derived.v8bindings.mk:
1733
1734 2010-02-11  Steve Block  <steveblock@google.com>
1735
1736         Reviewed by David Levin.
1737
1738         Guards SVG code in V8 bindings with ENABLE(SVG)
1739         https://bugs.webkit.org/show_bug.cgi?id=34812
1740
1741         Also updates Android V8 Makefile to generate required SVG headers.
1742
1743         No new tests, build fix only.
1744
1745         * Android.derived.v8bindings.mk:
1746         * bindings/v8/custom/V8CSSValueCustom.cpp:
1747         (WebCore::toV8):
1748         * bindings/v8/custom/V8DocumentCustom.cpp:
1749         (WebCore::toV8):
1750         * bindings/v8/custom/V8ElementCustom.cpp:
1751         (WebCore::toV8):
1752
1753 2010-02-08  Maciej Stachowiak  <mjs@apple.com>
1754
1755         Reviewed by Cameron Zwarich.
1756
1757         Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
1758         https://bugs.webkit.org/show_bug.cgi?id=34698
1759
1760         * Configurations/FeatureDefines.xcconfig:
1761         * DerivedSources.make:
1762         * GNUmakefile.am:
1763         * html/HTMLTagNames.in: Make the ruby-related tag names conditional.
1764         * rendering/RenderObject.cpp:
1765         (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements.
1766         * rendering/RenderObject.h: ditto above
1767         * rendering/RenderRuby.cpp: ifdef this whole file
1768         * rendering/RenderRuby.h: ditto
1769         * rendering/RenderRubyBase.cpp: ditto
1770         * rendering/RenderRubyBase.h: ditto
1771         * rendering/RenderRubyRun.cpp: ditto
1772         * rendering/RenderRubyRun.h: ditto
1773         * rendering/RenderRubyText.cpp: ditto
1774         * rendering/RenderRubyText.h: ditto
1775
1776 2010-02-11  Kent Tamura  <tkent@chromium.org>
1777
1778         Reviewed by Darin Adler.
1779
1780         Step attribute support for date&time types.
1781         https://bugs.webkit.org/show_bug.cgi?id=30847
1782
1783         - Add implementation for ValidityState.stepMismatch, stepUp() and
1784           stepDown() for date, datetime, datetime-local, month, time, week types.
1785         - Fix string representation of DateComponents.
1786
1787         Tests: fast/forms/ValidityState-stepMismatch.html
1788                fast/forms/input-stepup-stepdown.html
1789
1790         * html/HTMLInputElement.cpp:
1791           - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow.
1792         (WebCore::HTMLInputElement::stepBase):
1793         (WebCore::HTMLInputElement::stepMismatch):
1794         (WebCore::HTMLInputElement::getStepParameters):
1795         (WebCore::HTMLInputElement::getAllowedValueStep):
1796         (WebCore::HTMLInputElement::applyStep):
1797           Renamed from applyStepForNumberOrRange(), and add support for other types.
1798         (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange().
1799         (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange().
1800         (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue().
1801         (WebCore::HTMLInputElement::setDateValue):
1802           A helper function to make the best representation of DateComponents.
1803         (WebCore::HTMLInputElement::setValueAsNumber):  Use setDateValue().
1804         * html/HTMLInputElement.h:
1805
1806 2010-02-10  Oliver Hunt  <oliver@apple.com>
1807
1808         Reviewed by Gavin Barraclough.
1809
1810         postMessage does not send ImageData
1811         https://bugs.webkit.org/show_bug.cgi?id=34825
1812
1813         Implement serialisation of ImageData, and for testing reasons
1814         expose the ImageData constructor (which should already have
1815         been exposed).
1816
1817         * bindings/js/SerializedScriptValue.cpp:
1818         (WebCore::SerializedImageData::create):
1819         (WebCore::SerializedImageData::width):
1820         (WebCore::SerializedImageData::height):
1821         (WebCore::SerializedImageData::data):
1822         (WebCore::SerializedImageData::SerializedImageData):
1823         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
1824         (WebCore::SharedSerializedData::asImageData):
1825         (WebCore::SerializingTreeWalker::convertIfTerminal):
1826         (WebCore::DeserializingTreeWalker::convertIfTerminal):
1827         (WebCore::TeardownTreeWalker::convertIfTerminal):
1828         * bindings/js/SerializedScriptValue.h:
1829         (WebCore::SerializedScriptValueData::):
1830         (WebCore::SerializedScriptValueData::asImageData):
1831         * html/canvas/CanvasPixelArray.h:
1832         (WebCore::CanvasPixelArray::data):
1833         * page/DOMWindow.idl:
1834
1835 2010-02-10  Adam Barth  <abarth@webkit.org>
1836
1837         Reviewed by Darin Adler.
1838
1839         Address last round of review comments on r53607
1840         https://bugs.webkit.org/show_bug.cgi?id=33940
1841
1842         Mostly renaming and cleaning up.
1843
1844         * css/CSSImportRule.cpp:
1845         (WebCore::CSSImportRule::insertedIntoParent):
1846         * css/CSSStyleSheet.h:
1847         (WebCore::CSSStyleSheet::create):
1848         (WebCore::CSSStyleSheet::createInline):
1849         * css/StyleBase.cpp:
1850         (WebCore::StyleBase::baseURL):
1851         * css/StyleSheet.cpp:
1852         (WebCore::StyleSheet::StyleSheet):
1853         * css/StyleSheet.h:
1854         (WebCore::StyleSheet::href):
1855         (WebCore::StyleSheet::setFinalURL):
1856         (WebCore::StyleSheet::finalURL):
1857         * dom/Document.cpp:
1858         (WebCore::Document::updateBaseURL):
1859         * dom/ProcessingInstruction.cpp:
1860         (WebCore::ProcessingInstruction::checkStyleSheet):
1861         * xml/XSLImportRule.cpp:
1862         (WebCore::XSLImportRule::loadSheet):
1863         * xml/XSLStyleSheet.h:
1864         (WebCore::XSLStyleSheet::create):
1865         (WebCore::XSLStyleSheet::createInline):
1866         * xml/XSLStyleSheetLibxslt.cpp:
1867         (WebCore::XSLStyleSheet::XSLStyleSheet):
1868         (WebCore::XSLStyleSheet::parseString):
1869         (WebCore::XSLStyleSheet::loadChildSheets):
1870         * xml/XSLStyleSheetQt.cpp:
1871         (WebCore::XSLStyleSheet::XSLStyleSheet):
1872
1873 2010-02-10  Noam Rosenthal  <noam.rosenthal@nokia.com>
1874
1875         Reviewed by Ariya Hidayat.
1876
1877         [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation
1878         This is because we try to delete the animation when finished: that is
1879         unnecessary. WebCore manages the animation's lifecycle and makes sure
1880         to call the right function when the animation can be deleted.
1881
1882         https://bugs.webkit.org/show_bug.cgi?id=34761
1883
1884         No new tests.
1885
1886         * platform/graphics/qt/GraphicsLayerQt.cpp:
1887         (WebCore::GraphicsLayerQt::addAnimation): No need to delete here
1888         (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater
1889
1890 2010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
1891
1892         [wx] Build fix for wxMac/Cocoa.
1893
1894         * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed.
1895         * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp.
1896         * wscript:
1897
1898 2010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
1899
1900         REGRESSION(24929): PDF page doesn't load in background tab
1901
1902         Reviewed by Dan Bernstein.
1903
1904         * plugins/PluginView.cpp:
1905         (WebCore::PluginView::startOrAddToUnstartedList):
1906         Only delay loading of the plug-in if we'll kick off our own load of the
1907         plug-in data later, in start().
1908
1909 2010-02-10  Enrica Casucci  <enrica@apple.com>
1910
1911         Reviewed by Simon Fraser.
1912
1913         Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site        
1914         <rdar://problem/7557201>
1915         https://bugs.webkit.org/show_bug.cgi?id=34823
1916         
1917         No tests added because the code is exercised by the existing tests.
1918         
1919         The root cause was the fact that we were not releasing a reference that was held by CA.
1920         In debug builds we had an assert in the destructor of WKCACFLayer.
1921         
1922         * platform/graphics/win/GraphicsLayerCACF.cpp:
1923         (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF):
1924
1925 2010-02-10  Kwang Yul Seo  <skyul@company100.net>
1926
1927         Reviewed by Eric Seidel.
1928
1929         [BREWMP] Typedef DragImageRef
1930         https://bugs.webkit.org/show_bug.cgi?id=34791
1931
1932         Use IImage* as it is the BREW's image type.
1933
1934         * platform/DragImage.h:
1935
1936 2010-02-10  Beth Dakin  <bdakin@apple.com>
1937
1938         Reviewed by Simon Fraser and Darin Adler.
1939
1940         Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: 
1941         Mask not invalidating
1942
1943         SVGMaskElement is the only class that keeps a HashMap of canvas 
1944         resources rather than just a pointer to a resource. This 
1945         patch makes SVGMaskElement invalidate all of its resources in the 
1946         HashMap instead of just one.
1947
1948         * svg/SVGMaskElement.cpp:
1949         (WebCore::SVGMaskElement::svgAttributeChanged):
1950         (WebCore::SVGMaskElement::childrenChanged):
1951         (WebCore::SVGMaskElement::invalidateCanvasResources):
1952         * svg/SVGMaskElement.h:
1953         * svg/SVGStyledElement.cpp:
1954         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
1955         (WebCore::SVGStyledElement::invalidateCanvasResources):
1956         * svg/SVGStyledElement.h:
1957
1958 2010-02-10  Stephan Aßmus  <superstippi@gmx.de>
1959
1960         Reviewed by David Levin.
1961
1962         Fixes to rect conversion and image rendering on Haiku
1963         https://bugs.webkit.org/show_bug.cgi?id=34684
1964
1965         Covered by existing tests.
1966
1967         The changes to the rect conversions are indeed correct. In Haiku (to stay
1968         compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel
1969         *indices*, even though the values are floating point. So a rectangle covering
1970         just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other
1971         frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the
1972         width and height of rectangles refer to the distance between pixels, while on
1973         Haiku, a one pixel rect has indeed a width and height of 0, as confusing as
1974         that may be.
1975
1976         The part of the patch that affects
1977         WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing
1978         methods more correctly. Image observers are notified, and pattern drawing takes
1979         the "phase" into account which makes scrolled backgrounds render correctly.
1980         Transformations are still not supported, since the Haiku drawing backend itself
1981         does not yet support them.
1982
1983         Use OwnPtr when creating the BBitmap to avoid future leaks with early returns.
1984
1985         Convert the bitmap data to non pre-multiplied until Haiku supports drawing
1986         pre-multiplied bitmaps.
1987
1988         * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion
1989         * platform/graphics/haiku/ImageHaiku.cpp:
1990         (WebCore::BitmapImage::draw): Fixed placement, notify observers
1991         (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers
1992         * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion
1993         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion
1994
1995 2010-02-10  Simon Fraser  <simon.fraser@apple.com>
1996
1997         Reviewed by David Levin.
1998
1999         Clean up unused member var and initialization in Document
2000         https://bugs.webkit.org/show_bug.cgi?id=34820
2001
2002         Remove unused m_secureForms member variable in Document.
2003         
2004         * dom/Document.cpp:
2005         (WebCore::Document::Document):
2006         * dom/Document.h:
2007
2008 2010-02-10  Kevin Watters  <kevinwatters@gmail.com>
2009
2010         Reviewed by Kevin Ollivier.
2011
2012         [wx] Add Windows complex text support and Mac support for containsCharacters.
2013         
2014         https://bugs.webkit.org/show_bug.cgi?id=34759
2015         
2016         * platform/graphics/SimpleFontData.h:
2017         * platform/graphics/wx/FontPlatformData.h:
2018         (WebCore::FontPlatformData::roundsGlyphAdvances):
2019         * platform/graphics/wx/FontPlatformDataWx.cpp:
2020         (WebCore::FontPlatformData::useGDI):
2021         (WebCore::FontPlatformData::hfont):
2022         * platform/graphics/wx/FontWx.cpp:
2023         (WebCore::Font::canReturnFallbackFontsForComplexText):
2024         (WebCore::Font::selectionRectForComplexText):
2025         (WebCore::Font::drawComplexText):
2026         (WebCore::Font::floatWidthForComplexText):
2027         (WebCore::Font::offsetForPositionForComplexText):
2028         * platform/graphics/wx/SimpleFontDataWx.cpp:
2029         (WebCore::SimpleFontData::platformInit):
2030         (WebCore::SimpleFontData::platformDestroy):
2031         (WebCore::SimpleFontData::containsCharacters):
2032         (WebCore::SimpleFontData::platformWidthForGlyph):
2033         (WebCore::SimpleFontData::scriptFontProperties):
2034         (WebCore::SimpleFontData::initGDIFont):
2035         (WebCore::SimpleFontData::platformCommonDestroy):
2036         (WebCore::SimpleFontData::widthForGDIGlyph):
2037         * platform/wx/wxcode/fontprops.h:
2038         * platform/wx/wxcode/gtk/fontprops.cpp:
2039         (wxFontContainsCharacters):
2040         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
2041         (wxFontContainsCharacters):
2042         * platform/wx/wxcode/win/fontprops.cpp:
2043         (wxFontContainsCharacters):
2044         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
2045         (WebCore::drawTextWithSpacing):
2046         * wscript:
2047
2048 2010-02-10  Kwang Yul Seo  <skyul@company100.net>
2049         Reviewed by Eric Seidel.
2050
2051         [BREWMP] Add dummy Frame::dragImageForSelection
2052         https://bugs.webkit.org/show_bug.cgi?id=34792
2053
2054         Add FrameBrew.cpp which contains a dummy implementation of
2055         Frame::dragImageForSelection.
2056
2057         * page/brew/FrameBrew.cpp: Added.
2058         (WebCore::Frame::dragImageForSelection):
2059
2060 2010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
2061
2062         [wx] Build fix. Switch drawPattern to Image class like other platforms.
2063
2064         * platform/graphics/BitmapImage.h:
2065         * platform/graphics/wx/ImageWx.cpp:
2066         (WebCore::Image::drawPattern):
2067
2068 2010-02-10  Chris Marrin  <cmarrin@apple.com>
2069
2070         Reviewed by Darin Adler.
2071
2072         Added CA_PRINT_TREE functionality to WKCACFLayer implementation
2073         https://bugs.webkit.org/show_bug.cgi?id=34779
2074         
2075         I've tried to duplicate the look of the output on Mac, but
2076         it's not quite the same. It shows all the useful information though.
2077         It is enabled by setting the environment variable CA_PRINT_TREE=1
2078         
2079         * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree
2080         (WebCore::WKCACFLayer::isTransformLayer):
2081             Moved function to cpp file because it needs to use the function form
2082             of kCACFTransformLayer because the DLL is delay loaded, and that function
2083             can only be called from the cpp file.
2084         (WebCore::WKCACFLayer::sublayerAtIndex):
2085         (WebCore::printIndent):
2086         (WebCore::printTransform):
2087         (WebCore::WKCACFLayer::printTree):Prints from this layer down
2088         (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers
2089         * platform/graphics/win/WKCACFLayer.h:
2090         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2091         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
2092         (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers
2093         (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1
2094         * platform/graphics/win/WKCACFLayerRenderer.h:
2095         
2096 2010-02-10  Nate Chapin  <japhet@chromium.org>
2097
2098         Reviewed by Adam Barth.
2099
2100         Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate()
2101         to not use V8ClassIndex.
2102
2103         https://bugs.webkit.org/show_bug.cgi?id=34768
2104
2105         * bindings/scripts/CodeGeneratorV8.pm:
2106         * bindings/v8/V8Binding.cpp:
2107         * bindings/v8/V8Binding.h:
2108         * bindings/v8/V8DOMWindowShell.cpp:
2109         * bindings/v8/V8DOMWrapper.cpp:
2110         * bindings/v8/V8DOMWrapper.h:
2111         * bindings/v8/V8Proxy.cpp:
2112         * bindings/v8/WorkerContextExecutionProxy.cpp:
2113         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2114         * bindings/v8/custom/V8LocationCustom.cpp:
2115         * bindings/v8/custom/V8MessageEventCustom.cpp:
2116
2117 2010-02-10  Nate Chapin  <japhet@chromium.org>
2118
2119         Reviewed by Dimitri Glazkov.
2120
2121         [V8] Handle the possibility that ScheduledAction::execute() may
2122         retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if
2123         JS was disallowed).
2124
2125         * bindings/v8/ScheduledAction.cpp:
2126         (WebCore::ScheduledAction::execute):
2127
2128 2010-02-10  Kenneth Russell  <kbr@google.com>
2129
2130         Reviewed by Oliver Hunt.
2131
2132         Remove automatic viewport resizing
2133         https://bugs.webkit.org/show_bug.cgi?id=34766
2134
2135         Removed automatic viewport resizing per conclusions on the WebGL
2136         mailing list. Added test verifying new behavior and updated a
2137         couple of previous tests failing after this change.
2138
2139         Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html
2140
2141         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2142         (WebCore::GraphicsContext3D::reshape):
2143
2144 2010-02-10  Ariya Hidayat  <ariya.hidayat@gmail.com>
2145
2146         Reviewed by Kenneth Rohde Christiansen.
2147
2148         [Qt] Implement image interpolation quality.
2149
2150         https://bugs.webkit.org/show_bug.cgi?id=34629
2151
2152         * platform/graphics/qt/GraphicsContextQt.cpp:
2153         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2154         (WebCore::GraphicsContext::setImageInterpolationQuality):
2155         (WebCore::GraphicsContext::imageInterpolationQuality):
2156
2157 2010-02-10  Eric Seidel  <eric@webkit.org>
2158
2159         No review, Mac build fix.
2160
2161         Crash in Flash at http://www.cctv.com/
2162         https://bugs.webkit.org/show_bug.cgi?id=34673
2163
2164         * plugins/PluginViewNone.cpp:
2165         (WebCore::PluginView::getValueStatic):
2166
2167 2010-02-10  Gustavo Noronha Silva  <gns@gnome.org>
2168
2169         Reviewed by Xan Lopez.
2170
2171         [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
2172         https://bugs.webkit.org/show_bug.cgi?id=34773
2173
2174         When unsetting the adjustments from a ScrollView, also disconnect
2175         them from the Scrollbars.
2176
2177         Test: fast/frames/frame-crash-with-page-cache.html
2178
2179         * platform/gtk/ScrollViewGtk.cpp:
2180         (WebCore::ScrollView::setGtkAdjustments):
2181         * platform/gtk/ScrollbarGtk.cpp:
2182         (ScrollbarGtk::~ScrollbarGtk):
2183         (ScrollbarGtk::detachAdjustment):
2184         * platform/gtk/ScrollbarGtk.h:
2185
2186 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
2187
2188         Reviewed by Geoffrey Garen.
2189
2190         https://bugs.webkit.org/show_bug.cgi?id=34490
2191         WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
2192
2193         Test: fast/images/destroyed-image-load-event.html
2194
2195         * ForwardingHeaders/wtf/ValueCheck.h: Added.
2196
2197         * loader/ImageLoader.cpp:
2198         (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements,
2199         so check the owner instead.
2200         (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor.
2201         (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers
2202         in ImageEventSender.
2203         (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous
2204         image. The only client using this method that I could find was DeleteButton, which doesn't
2205         care about load events for the new image, so I didn't add any code for firing those.
2206         (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers -
2207         there wasn't any meaningful code shared (callers just undid most assignments made there).
2208         Merged the logic into callers.
2209         (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its
2210         old events, too.
2211         (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case
2212         no one is going to dispatch the event "soon". So, don't queue it.
2213         (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't
2214         help catch this particuar bug, but seems like a useful check anyway.
2215
2216         * loader/ImageLoader.h: Removed setLoadingImage().
2217
2218 2010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
2219
2220         Mac build fix. Unreviewed.
2221
2222         * WebCore.xcodeproj/project.pbxproj:
2223         Add PluginViewNone.cpp to the Mac project.
2224
2225 2010-02-10  Adam Roben  <aroben@apple.com>
2226
2227         Optimize ImageBuffer::toDataURL's CG implementation
2228
2229         There was some unused code that could have been removed in r31830 when
2230         this function was changed not to flip the CG image anymore.
2231
2232         Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates
2233         unnecessary memory under CoreGraphics
2234
2235         Reviewed by Sam Weinig.
2236
2237         * platform/graphics/cg/ImageBufferCG.cpp:
2238         (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef
2239         and buffer, and switch to the new overload of base64Encode that
2240         doesn't require us to copy all the image data into a Vector first.
2241
2242         * platform/text/Base64.cpp:
2243         (WebCore::base64Encode):
2244         * platform/text/Base64.h:
2245         Added an overload that takes a raw data pointer and length, just like
2246         we have for base64Decode. The overload that takes a Vector as input
2247         just calls through to the new overload.
2248
2249 2010-02-10  Dan Bernstein  <mitz@apple.com>
2250
2251         Reviewed by Dave Hyatt.
2252
2253         Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
2254         https://bugs.webkit.org/show_bug.cgi?id=34546
2255
2256         * manual-tests/drag-image-table-part-decorations.html:
2257         * rendering/RenderTableCell.cpp:
2258         (WebCore::RenderTableCell::paint): Don’t paint collapsed borders if this object shouldn’t
2259         paint within the current painting root.
2260
2261 2010-02-08  Jon Honeycutt  <jhoneycutt@apple.com>
2262
2263         <rdar://problem/7436875> Crash in Flash when visiting
2264         http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
2265
2266         Reviewed by Darin Adler.
2267
2268         Test: platform/win/plugins/plugin-delayed-destroy.html
2269
2270         * bridge/NP_jsobject.cpp:
2271         (_NPN_Evaluate):
2272         If Flash calls this to evaluate a script that destroys the PluginView,
2273         we crash when returning to Flash code. Before evaluating the script,
2274         call PluginView::keepAlive() to hold a ref to this instance (and release
2275         it asynchronously).
2276
2277         * plugins/PluginView.cpp:
2278         (WebCore::instanceMap):
2279         Return a map from the NPP to the PluginView.
2280         (WebCore::PluginView::~PluginView):
2281         Assert that the keep alive timer is not running; remove ourselves from
2282         the instance map.
2283         (WebCore::PluginView::performRequest):
2284         The parent Frame is now a RefPtr; use .get().
2285         (WebCore::PluginView::status):
2286         Ditto.
2287         (WebCore::PluginView::didReceiveResponse):
2288         Ditto.
2289         (WebCore::PluginView::PluginView):
2290         Add the view to the instance map.
2291         (WebCore::PluginView::lifeSupportTimerFired):
2292         Deref the PluginView.
2293         (WebCore::PluginView::keepAlive):
2294         Ref the PluginView, then start a time to release the reference
2295         asynchronously.
2296         (WebCore::PluginView::keepAlive):
2297         Find the PluginView in the map, and call its keepAlive() function.
2298
2299         * plugins/PluginView.h:
2300         Made m_parentFrame a RefPtr, so that it will remain valid when the
2301         keep alive timer fires.
2302         (WebCore::PluginView::parentFrame):
2303         Use .get().
2304
2305         * plugins/gtk/PluginViewGtk.cpp:
2306         (WebCore::PluginView::updatePluginWidget):
2307         Use .get().
2308         (WebCore::PluginView::handleKeyboardEvent):
2309         Use .get().
2310         (WebCore::PluginView::handleMouseEvent):
2311         Use .get().
2312
2313         * plugins/PluginViewNone.cpp:
2314         (WebCore::PluginView::keepAlive):
2315         Stubbed.
2316
2317 2010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2318
2319         Reviewed by Kenneth Rohde Christiansen.
2320
2321         Support frameset flattening
2322         https://bugs.webkit.org/show_bug.cgi?id=32717
2323
2324         Add support for enabling/disabling FrameSet Flattening on the Mac port.
2325
2326         * WebCore.base.exp:
2327
2328 2010-02-10  Jeremy Orlow  <jorlow@chromium.org>
2329
2330         Revert 54599 because it breaks a lot of tests on Windows Chrome
2331
2332         * inspector/front-end/DOMAgent.js:
2333         (WebInspector.DOMNode.prototype._insertChild):
2334         * inspector/front-end/ElementsPanel.js:
2335         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
2336         * inspector/front-end/ElementsTreeOutline.js:
2337         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
2338         (WebInspector.ElementsTreeElement):
2339         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
2340         (WebInspector.ElementsTreeElement.prototype._updateChildren):
2341         ():
2342         * inspector/front-end/inspector.css:
2343
2344 2010-02-10  Adam Roben  <aroben@apple.com>
2345
2346         Fix bad paths in WebCore.vcproj
2347
2348         These were harmless in VS2005, but cause project conversion errors in
2349         VS2010 RC.
2350
2351         Fixes <http://webkit.org/b/34801>.
2352
2353         Reviewed by Dan Bernstein.
2354
2355         * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to
2356         JSHTMLFrameSetElement.{cpp,h}.
2357
2358 2010-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
2359
2360         Not reviewed (build fix).
2361
2362         * platform/graphics/win/FontCacheWin.cpp:
2363         (WebCore::FontCache::getLastResortFallbackFont): Return a
2364         SimpleFontData here.
2365
2366 2010-02-10 Julien Chaffraix  <jchaffraix@pleyo.com>
2367
2368         Reviewed by Eric Seidel.
2369
2370         Bug 23287 -  Avoid using FontPlatformData outside the FontCache
2371
2372         No functional change, only refactored the code using FontPlatformData to use SimpleFontData.
2373
2374         This change leaves the class FontCached as it needs some thoughts and more refactoring.
2375
2376         * css/CSSFontFaceSource.cpp:
2377         (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly.
2378         * css/CSSFontSelector.cpp:
2379         (WebCore::fontDataForGenericFamily): Ditto.
2380         * platform/graphics/FontCache.cpp:
2381         (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData
2382         that was moved in the private section of the class. It calls getCachedFontPlatformData and cache
2383         the returned FontPlatformData if it is not null.
2384         (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData.
2385         * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a
2386         FontPlatformData. Moved some method in the private sections.
2387
2388         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2389         (WebCore::FontCache::getSimilarFontPlatformData):
2390         (WebCore::FontCache::getLastResortFallbackFont):
2391         * platform/graphics/chromium/FontCacheLinux.cpp:
2392         (WebCore::FontCache::getSimilarFontPlatformData):
2393         (WebCore::FontCache::getLastResortFallbackFont):
2394         * platform/graphics/gtk/FontCacheGtk.cpp:
2395         (WebCore::FontCache::getSimilarFontPlatformData):
2396         (WebCore::FontCache::getLastResortFallbackFont):
2397         * platform/graphics/haiku/FontCacheHaiku.cpp:
2398         (WebCore::FontCache::getSimilarFontPlatformData):
2399         (WebCore::FontCache::getLastResortFallbackFont):
2400         * platform/graphics/qt/FontCacheQt.cpp:
2401         (WebCore::FontCache::getLastResortFallbackFont):
2402         * platform/graphics/win/FontCacheWin.cpp:
2403         (WebCore::FontCache::getSimilarFontPlatformData):
2404         (WebCore::FontCache::getLastResortFallbackFont):
2405         * platform/graphics/wince/FontCacheWince.cpp:
2406         * platform/graphics/wx/FontCacheWx.cpp:
2407         (WebCore::FontCache::getSimilarFontPlatformData):
2408         (WebCore::FontCache::getLastResortFallbackFont):
2409         Updated all the previous platform methods to return a SimpleFontData.
2410
2411         * platform/graphics/mac/FontCacheMac.mm:
2412         (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData.
2413         (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code
2414         and moved a DEFINE_STATIC_LOCAL where it is needed.
2415
2416 2010-02-10  Alexander Pavlov  <apavlov@chromium.org>
2417
2418         Reviewed by Pavel Feldman.
2419
2420         Web Inspector: Elements Panel: Limit the number of initially loaded element children
2421         https://bugs.webkit.org/show_bug.cgi?id=34421
2422
2423         Test: inspector/elements-panel-limited-children.html
2424
2425         * English.lproj/localizedStrings.js:
2426         * inspector/front-end/DOMAgent.js:
2427         (WebInspector.DOMNode.prototype._insertChild):
2428         * inspector/front-end/ElementsPanel.js:
2429         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
2430         * inspector/front-end/ElementsTreeOutline.js:
2431         (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
2432         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
2433         (WebInspector.ElementsTreeElement):
2434         (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
2435         (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
2436         (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
2437         (WebInspector.ElementsTreeElement.prototype.showChild):
2438         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
2439         (WebInspector.ElementsTreeElement.prototype.moveChild):
2440         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
2441         (WebInspector.ElementsTreeElement.prototype._updateChildren):
2442         (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
2443         (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
2444         ():
2445         * inspector/front-end/inspector.css:
2446
2447 2010-02-10  Mikhail Naganov  <mnaganov@chromium.org>
2448
2449         Reviewed by Pavel Feldman.
2450
2451         Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for
2452         making JavaScriptDebugServer engine-agnostic.
2453
2454         https://bugs.webkit.org/show_bug.cgi?id=34795
2455
2456         * GNUmakefile.am:
2457         * WebCore.gypi:
2458         * WebCore.pro:
2459         * WebCore.xcodeproj/project.pbxproj:
2460         * bindings/js/JSBindingsAllInOne.cpp:
2461         * bindings/js/ScriptDebugServer.cpp: Added.
2462         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
2463         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
2464         * bindings/js/ScriptDebugServer.h: Added.
2465         * bindings/v8/ScriptDebugServer.cpp: Added.
2466         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
2467         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
2468         * bindings/v8/ScriptDebugServer.h: Added.
2469         * inspector/InspectorController.cpp:
2470         (WebCore::InspectorController::startUserInitiatedProfiling):
2471         (WebCore::InspectorController::enableProfiler):
2472         (WebCore::InspectorController::disableProfiler):
2473         * page/Console.cpp:
2474         (WebCore::Console::profile):
2475         (WebCore::Console::profileEnd):
2476
2477 2009-10-06  Yongjun Zhang  <yongjun.zhang@nokia.com>
2478
2479         Reviewed by Simon Hausmann.
2480
2481         Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
2482
2483         Will be reverted when the following winscw compiler bug is fixed.
2484         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
2485
2486         https://bugs.webkit.org/show_bug.cgi?id=28054
2487
2488         * bridge/jni/jsc/JavaInstanceJSC.h:
2489         * bridge/jni/v8/JavaInstanceV8.h:
2490
2491 2010-02-10  Yaar Schnitman  <yaar@chromium.org>
2492
2493         Reviewed by Adam Barth.
2494
2495         Simplified RuntimeEnabledFeatures and corresponding v8 generated code
2496         https://bugs.webkit.org/show_bug.cgi?id=34667
2497
2498         * WebCore.gypi:
2499         * bindings/generic/RuntimeEnabledFeatures.cpp: Added.
2500         (WebCore::RuntimeEnabledFeatures::audioEnabled):
2501         (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
2502         (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
2503         (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
2504         (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
2505         (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
2506         (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
2507         (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
2508         * bindings/generic/RuntimeEnabledFeatures.h: Added.
2509         (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
2510         (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
2511         (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
2512         (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
2513         (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
2514         (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
2515         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
2516         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
2517         (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
2518         (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
2519         (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled):
2520         (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
2521         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
2522         * bindings/scripts/CodeGenerator.pm:
2523         * bindings/scripts/CodeGeneratorV8.pm:
2524         * bindings/v8/RuntimeEnabledFeatures.cpp: Removed.
2525         * bindings/v8/RuntimeEnabledFeatures.h: Removed.
2526         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2527         * bindings/v8/custom/V8NavigatorCustom.cpp:
2528         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2529
2530 2010-02-09  Alexander Pavlov  <apavlov@chromium.org>
2531
2532         Reviewed by Pavel Feldman.
2533
2534         Web Inspector: Add two basic categories for the Audits panel
2535         https://bugs.webkit.org/show_bug.cgi?id=32930
2536
2537         * WebCore.gypi:
2538         * WebCore.vcproj/WebCore.vcproj:
2539         * inspector/front-end/AuditCategories.js: Added.
2540         (WebInspector.AuditCategories.PagePerformance):
2541         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
2542         (WebInspector.AuditCategories.NetworkUtilization):
2543         (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
2544         * inspector/front-end/AuditLauncherView.js:
2545         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
2546         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
2547         (WebInspector.AuditLauncherView.prototype.show):
2548         * inspector/front-end/AuditRules.js: Added.
2549         (WebInspector.AuditRules.arrayAsUL):
2550         (WebInspector.AuditRules.getDomainToResourcesMap):
2551         (WebInspector.AuditRules.evaluateInTargetWindow):
2552         (WebInspector.AuditRules.GzipRule):
2553         (WebInspector.AuditRules.GzipRule.prototype.doRun):
2554         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
2555         (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
2556         (WebInspector.AuditRules.CombineExternalResourcesRule):
2557         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
2558         (WebInspector.AuditRules.CombineJsResourcesRule):
2559         (WebInspector.AuditRules.CombineCssResourcesRule):
2560         (WebInspector.AuditRules.MinimizeDnsLookupsRule):
2561         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
2562         (WebInspector.AuditRules.ParallelizeDownloadRule):
2563         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
2564         (WebInspector.AuditRules.UnusedCssRule):
2565         (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage):
2566         (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage):
2567         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
2568         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
2569         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
2570         (WebInspector.AuditRules.CacheControlRule):
2571         (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun):
2572         (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
2573         (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
2574         (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
2575         (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
2576         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
2577         (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
2578         (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
2579         (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
2580         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
2581         (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
2582         (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
2583         (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
2584         (WebInspector.AuditRules.BrowserCacheControlRule):
2585         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
2586         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
2587         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
2588         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
2589         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
2590         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
2591         (WebInspector.AuditRules.ProxyCacheControlRule):
2592         (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
2593         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
2594         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
2595         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
2596         (WebInspector.AuditRules.ImageDimensionsRule):
2597         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2598         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension):
2599         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth):
2600         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight):
2601         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine):
2602         (WebInspector.AuditRules.CssInHeadRule):
2603         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
2604         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews):
2605         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
2606         (WebInspector.AuditRules.StylesScriptsOrderRule):
2607         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
2608         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
2609         (WebInspector.AuditRules.CookieRuleBase):
2610         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
2611         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
2612         (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
2613         (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
2614         (WebInspector.AuditRules.CookieSizeRule):
2615         (WebInspector.AuditRules.CookieSizeRule.prototype._average):
2616         (WebInspector.AuditRules.CookieSizeRule.prototype._max):
2617         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
2618         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter):
2619         (WebInspector.AuditRules.StaticCookielessRule):
2620         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
2621         (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
2622         * inspector/front-end/AuditsPanel.js:
2623         (WebInspector.AuditsPanel.prototype._constructCategories):
2624         (WebInspector.AuditsPanel.prototype._reloadResources):
2625         (WebInspector.AuditsPanel.prototype.show):
2626         (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
2627         (WebInspector.AuditCategory):
2628         (WebInspector.AuditCategory.prototype.get id):
2629         (WebInspector.AuditCategory.prototype.get ruleCount):
2630         (WebInspector.AuditCategory.prototype.runRules):
2631         (WebInspector.AuditCategory.prototype._ensureInitialized):
2632         (WebInspector.AuditCategoryResult):
2633         * inspector/front-end/WebKit.qrc:
2634         * inspector/front-end/audits.css:
2635         * inspector/front-end/inspector.html:
2636         * inspector/front-end/inspector.js:
2637         (WebInspector.loaded):
2638         (WebInspector.addPanelToolbarIcon):
2639         (WebInspector.documentKeyDown):
2640
2641 2010-02-10  Adam Barth  <abarth@webkit.org>
2642
2643         Reviewed by Darin Adler.
2644
2645         Freeze sandbox attributes on creation
2646         https://bugs.webkit.org/show_bug.cgi?id=34184
2647
2648         This is how the spec works now.
2649
2650         Test: fast/frames/sandboxed-iframe-forms-dynamic.html
2651
2652         * bindings/ScriptControllerBase.cpp:
2653         (WebCore::ScriptController::canExecuteScripts):
2654         * bindings/generic/BindingDOMWindow.h:
2655         (WebCore::::createWindow):
2656         * bindings/js/JSDOMWindowCustom.cpp:
2657         (WebCore::createWindow):
2658         * dom/Document.cpp:
2659         * dom/Document.h:
2660         * loader/FrameLoader.cpp:
2661         (WebCore::FrameLoader::submitForm):
2662         (WebCore::FrameLoader::requestObject):
2663         (WebCore::FrameLoader::shouldAllowNavigation):
2664         (WebCore::FrameLoader::updateSandboxFlags):
2665         * page/SecurityOrigin.cpp:
2666         * page/SecurityOrigin.h:
2667
2668 2010-02-09  Ariya Hidayat  <ariya.hidayat@gmail.com>
2669
2670         Rubber-stamped by Kenneth Rohde Christiansen.
2671
2672         [Qt] Remove old, outdated unused code block.
2673
2674         * platform/graphics/qt/GraphicsContextQt.cpp:
2675
2676 2010-02-09  Chris Guillory  <ctguil@google.com>
2677
2678         Reviewed by Darin Fisher.
2679
2680         [Chromium] Notify ChromeClientChromium of state change notifications.
2681         
2682         https://bugs.webkit.org/show_bug.cgi?id=34464
2683
2684         * accessibility/chromium/AXObjectCacheChromium.cpp:
2685         (WebCore::toChromeClientChromium):
2686         (WebCore::AXObjectCache::postPlatformNotification):
2687         * page/chromium/ChromeClientChromium.h:
2688
2689 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
2690
2691         Reviewed by Adam Barth.
2692
2693         [BREWMP] Port PlatformMouseEvent
2694         https://bugs.webkit.org/show_bug.cgi?id=34600
2695
2696         Retrieve the event type, position, key modifiers, time stamp
2697         and click count from AEEEvent.
2698
2699         * platform/PlatformMouseEvent.h:
2700         * platform/brew/PlatformMouseEventBrew.cpp: Added.
2701         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2702
2703 2010-02-09  Avi Drissman  <avi@chromium.org>
2704
2705         Reviewed by Timothy Hatcher.
2706
2707         [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons
2708         https://bugs.webkit.org/show_bug.cgi?id=34544
2709
2710         Covered by layout tests when run on SL.
2711
2712         * platform/chromium/ThemeChromiumMac.mm:
2713         (-[TCMVisibleView _focusRingVisibleRect]):
2714         (-[TCMVisibleView _focusRingClipAncestor]):
2715         (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug):
2716         (FocusIndicationFix::swizzleFocusView):
2717         (FocusIndicationFix::ScopedFixer::ScopedFixer):
2718         (FocusIndicationFix::ScopedFixer::~ScopedFixer):
2719         (+[NSView TCMInterposing_focusView]):
2720         (WebCore::paintCheckbox):
2721         (WebCore::paintRadio):
2722         (WebCore::paintButton):
2723
2724 2010-02-09  Anton Muhin  <antonm@chromium.org>
2725
2726         Reviewed by Nate Chapin.
2727
2728         [v8] Check if returned wrapper is empty before operating on it.
2729         https://bugs.webkit.org/show_bug.cgi?id=34746
2730
2731         * bindings/v8/custom/V8DocumentCustom.cpp:
2732         (WebCore::toV8):
2733         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2734         (WebCore::toV8):
2735         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2736         (WebCore::toV8):
2737
2738 2010-02-09  Mikhail Naganov  <mnaganov@chromium.org>
2739
2740         Reviewed by Pavel Feldman.
2741
2742         Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs.
2743         Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required
2744         for really enabling it in V8 bindings generation.
2745
2746         https://bugs.webkit.org/show_bug.cgi?id=34706
2747
2748         * inspector/InjectedScriptHost.idl:
2749         * inspector/InspectorBackend.cpp:
2750         (WebCore::InspectorBackend::currentCallFrame):
2751         (WebCore::InspectorBackend::getProfile):
2752         * inspector/InspectorBackend.h:
2753         * inspector/InspectorBackend.idl:
2754         * inspector/InspectorController.cpp:
2755         (WebCore::InspectorController::InspectorController):
2756         (WebCore::InspectorController::addProfile):
2757         (WebCore::InspectorController::getProfile):
2758         (WebCore::InspectorController::startUserInitiatedProfiling):
2759         (WebCore::InspectorController::stopUserInitiatedProfiling):
2760         (WebCore::InspectorController::enableProfiler):
2761         (WebCore::InspectorController::disableProfiler):
2762         * inspector/InspectorController.h:
2763         * inspector/InspectorFrontend.cpp:
2764         (WebCore::InspectorFrontend::pausedScript):
2765         (WebCore::InspectorFrontend::resumedScript):
2766         (WebCore::InspectorFrontend::profilerWasEnabled):
2767         (WebCore::InspectorFrontend::profilerWasDisabled):
2768         (WebCore::InspectorFrontend::didGetProfile):
2769         * inspector/InspectorFrontend.h:
2770         * page/Console.idl:
2771
2772 2010-02-09  Gavin Barraclough  <barraclough@apple.com>
2773
2774         Rubber Stamped by Geoff Garen.
2775
2776         Rename StringBuilder::release && JSStringBuilder::releaseJSString
2777         to 'build()'.
2778
2779         * bindings/js/ScriptString.h:
2780         (WebCore::ScriptString::operator+=):
2781
2782 2010-02-09  Dan Bernstein  <mitz@apple.com>
2783
2784         Reviewed by Anders Carlsson.
2785
2786         <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
2787         https://bugs.webkit.org/show_bug.cgi?id=34776
2788
2789         Tests: plugins/instance-available-before-stylesheets-loaded-object.html
2790                plugins/instance-available-before-stylesheets-loaded.html
2791
2792         * html/HTMLEmbedElement.cpp:
2793         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call
2794         updateLayoutIgnorePendingStylesheets() before checking for a renderer. 
2795         * html/HTMLObjectElement.cpp:
2796         (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto.
2797
2798 2010-02-09  Alejandro G. Castro  <alex@igalia.com>
2799
2800         Reviewed by Darin Adler.
2801
2802         Problems navigating by caret in links whose text wraps onto
2803         subsequent lines.
2804         https://bugs.webkit.org/show_bug.cgi?id=25676
2805
2806         We should not search ahead if we are not in the last element.
2807
2808         * dom/Position.cpp:
2809
2810 2010-02-09  Dirk Schulze  <krit@webkit.org>
2811
2812         Reviewed by Nikolas Zimmermann.
2813
2814         More optimization for AffineTransform with SVG
2815         https://bugs.webkit.org/show_bug.cgi?id=34774
2816
2817         Some optimizations to safe unnecessary summations and multiplications.
2818         Optimize AffineTransform to handle an identity or translation matrix
2819         more efficient.
2820         Added translationRight to avoid multiplications of matrices as much as
2821         possible.
2822
2823         No tests added, no change of functionality.   
2824
2825         * platform/graphics/transforms/AffineTransform.cpp:
2826         (WebCore::AffineTransform::inverse):
2827         (WebCore::AffineTransform::translate):
2828         (WebCore::AffineTransform::translateRight):
2829         * platform/graphics/transforms/AffineTransform.h:
2830         * rendering/RenderForeignObject.cpp:
2831         (WebCore::RenderForeignObject::translationForAttributes):
2832         (WebCore::RenderForeignObject::localToParentTransform):
2833         * rendering/RenderForeignObject.h:
2834         * rendering/RenderSVGRoot.cpp:
2835         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
2836         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
2837         (WebCore::RenderSVGRoot::localToParentTransform):
2838         * rendering/RenderSVGViewportContainer.cpp:
2839         (WebCore::RenderSVGViewportContainer::localToParentTransform):
2840         * rendering/SVGRootInlineBox.cpp:
2841         (WebCore::applyTextLengthCorrectionToTextChunk):
2842
2843 2010-02-09  Dirk Schulze  <krit@webkit.org>
2844
2845         Reviewed by Nikolas Zimmermann.
2846
2847         SVG patterns with some scale patternTransform are not displayed correctly for small elements
2848         https://bugs.webkit.org/show_bug.cgi?id=25484
2849
2850         SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
2851         causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
2852
2853         Tests: svg/custom/pattern-excessive-malloc.svg
2854                svg/custom/pattern-size-bigger-than-target-size.svg
2855                svg/custom/pattern-skew-transformed.svg
2856
2857         * svg/SVGPatternElement.cpp:
2858         (WebCore::SVGPatternElement::buildPattern):
2859
2860 2010-02-09  Darin Adler  <darin@apple.com>
2861
2862         * rendering/RenderObject.cpp:
2863         (WebCore::RenderObject::styleDidChange): Fixed typo in comment.
2864
2865 2010-02-09  MORITA Hajime  <morrita@gmail.com>
2866
2867         Reviewed by Nikolas Zimmermann.
2868
2869         SVG selection text foreground colour does not respect user settings
2870         https://bugs.webkit.org/show_bug.cgi?id=15997
2871
2872         Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
2873         SVGTextPaintSubphaseGlyphStrokeSelection for painting selected
2874         text on SVG. Selected texts are painted with style from
2875         getCachedPseudoStyle() instead of style().
2876         
2877         Tests: svg/text/selection-styles.xhtml
2878
2879         * rendering/SVGCharacterLayoutInfo.h:
2880         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
2881         (WebCore::SVGTextChunkWalker::setupFillSelection):
2882         (WebCore::SVGTextChunkWalker::setupStrokeSelection):
2883         * rendering/SVGRootInlineBox.cpp:
2884         (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
2885         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback):
2886         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback):
2887         (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):
2888         (WebCore::SVGRootInlineBox::paint):
2889         (WebCore::SVGRootInlineBox::walkTextChunks):
2890         * rendering/SVGInlineTextBox.h:
2891         (WebCore::):        
2892         Add callback hooks and its implementation for handle new
2893         subphases.
2894         
2895         * rendering/SVGInlineTextBox.cpp:
2896         (WebCore::SVGInlineTextBox::chunkSelectionStartEnd):
2897         (WebCore::SVGInlineTextBox::paintCharacters):
2898         Split box text into selected part and non-selected part, and use
2899         separate subphases to paint them.
2900         
2901         * svg/SVGFont.cpp:
2902         (WebCore::SVGTextRunWalker::walk):
2903         Relax ASSERT() condition to accept a part of text.
2904         
2905         * svg/graphics/SVGPaintServer.cpp:
2906         (WebCore::applyStrokeStyleToContext):
2907         (WebCore::SVGPaintServer::setup):
2908         * svg/graphics/SVGPaintServer.h:
2909         * svg/graphics/SVGPaintServerGradient.cpp:
2910         (WebCore::SVGPaintServerGradient::setup):
2911         * svg/graphics/SVGPaintServerGradient.h:
2912         * svg/graphics/SVGPaintServerPattern.cpp:
2913         (WebCore::SVGPaintServerPattern::setup):
2914         * svg/graphics/SVGPaintServerPattern.h:
2915         * svg/graphics/SVGPaintServerSolid.cpp:
2916         (WebCore::SVGPaintServerSolid::setup):
2917         * svg/graphics/SVGPaintServerSolid.h:
2918         Change setup() signature to accept RenderStyle instead of always
2919         using RenderObject::style().
2920
2921 2010-02-09  Nikolas Zimmermann  <nzimmermann@rim.com>
2922
2923         Reviewed by Dirk Schulze.
2924
2925         No scroll bars are displayed for standalone SVG image
2926         https://bugs.webkit.org/show_bug.cgi?id=11225
2927
2928         Height and width defined for svg element are not honored
2929         https://bugs.webkit.org/show_bug.cgi?id=24033
2930
2931         SVG file does not pan and has no scroll bars
2932         https://bugs.webkit.org/show_bug.cgi?id=24448
2933
2934         Adapt to SVG 1.1 errata to change the overflow handling:
2935         Replace "svg { overflow: hidden }"  by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars.
2936         Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support).
2937
2938         Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements.
2939
2940         Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg
2941                svg/overflow/overflow-on-inner-svg-element.svg
2942                svg/overflow/overflow-on-outermost-svg-element-defaults.svg
2943                svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg
2944                svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg
2945                svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg
2946                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml
2947                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml
2948                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml
2949                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml
2950                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml
2951
2952         * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements.
2953         * page/FrameView.cpp: 
2954         (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents.
2955         * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata.
2956         (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size.
2957         (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
2958         (WebCore::RenderSVGRoot::nodeAtPoint): Simplify.
2959         * rendering/RenderSVGViewportContainer.cpp:
2960         (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision.
2961         * rendering/SVGRenderSupport.cpp:
2962         (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects.
2963
2964 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
2965
2966         Reviewed by Eric Seidel.
2967
2968         [BREWMP] Port KURL::fileSystemPath
2969         https://bugs.webkit.org/show_bug.cgi?id=34516
2970
2971         Convert a file URL to a file path by prefixing
2972         AEEFS_HOME_DIR to access files relative to the current
2973         module directory in a case-sensitive manner.
2974
2975         As IWeb "file:" engine opens files in BREW's application-relative
2976         file namespace, we follow the same policy here.
2977
2978         * platform/brew/KURLBrew.cpp: Added.
2979         (WebCore::KURL::fileSystemPath):
2980
2981 2010-02-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
2982
2983         Reviewed by Kenneth Rohde Christiansen.
2984
2985         [Qt] the above website does not render properly when in compositing mode
2986         https://bugs.webkit.org/show_bug.cgi?id=34681
2987
2988         http://media.24ways.org/2009/15/spinner-alt.html now renders correctly
2989
2990         * platform/graphics/qt/GraphicsLayerQt.cpp:
2991         (WebCore::MaskEffectQt::MaskEffectQt): implement mask as
2992         QGraphicsEffect
2993         (WebCore::MaskEffectQt::draw): reimp
2994         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect
2995         (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents
2996         (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the
2997         mask layer, not just the actual children
2998
2999 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
3000
3001         Reviewed by Laszlo Gombos.
3002
3003         [BREWMP] Fix macro redefinition error in BREWMP simulator build.
3004         https://bugs.webkit.org/show_bug.cgi?id=34738
3005
3006         Remove warning: 'FAR' macro redefinition.
3007
3008         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3009
3010 2010-02-07  Yuzo Fujishima  <yuzo@google.com>
3011
3012         Reviewed by Dan Bernstein.
3013
3014         Fix the following bugs:
3015         https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
3016         https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail
3017
3018         Tests: fast/css/inline-element-line-break.html
3019                fast/css/pseudo-element-line-break.html
3020
3021         findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found,
3022         but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks.
3023
3024         * rendering/RenderBlockLineLayout.cpp:
3025         (WebCore::RenderBlock::findNextLineBreak):
3026
3027 2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>
3028
3029         Reviewed by Darin Adler.
3030
3031         Provide a way to get total number of pages to be printed
3032         https://bugs.webkit.org/show_bug.cgi?id=34699
3033
3034         Test: printing/numberOfPages.html
3035
3036         * WebCore.base.exp:
3037         * page/PrintContext.cpp:
3038         (WebCore::PrintContext::pageNumberForElement):
3039         (WebCore::PrintContext::numberOfPages):
3040         * page/PrintContext.h:
3041         (WebCore::PrintContext::pageRects):
3042
3043 2010-02-08  Dominic Cooney  <dominicc@google.com>
3044
3045         Reviewed by Adam Barth.
3046
3047         [V8] Move Element custom methods into generic bindings
3048
3049         This patch moves the security checks in setAttribute,
3050         setAttributeNode, setAttributeNS and setAttributeNodeNS from
3051         V8ElementCustom into the generic bindings so that they can be
3052         reused in other bindings. This is in a similar vein to
3053         <https://bugs.webkit.org/attachment.cgi?id=45872>.
3054
3055         https://bugs.webkit.org/show_bug.cgi?id=34554
3056
3057         LayoutTests: None
3058
3059         * WebCore.gypi:
3060         * bindings/generic/BindingElement.h: Added.
3061         (WebCore::::setAttribute):
3062         (WebCore::::setAttributeNode):
3063         (WebCore::::setAttributeNS):
3064         (WebCore::::setAttributeNodeNS):
3065         * bindings/v8/V8Binding.h:
3066         * bindings/v8/custom/V8ElementCustom.cpp:
3067         (WebCore::V8Element::setAttributeCallback):
3068         (WebCore::V8Element::setAttributeNodeCallback):
3069         (WebCore::V8Element::setAttributeNSCallback):
3070         (WebCore::V8Element::setAttributeNodeNSCallback):
3071
3072 2010-02-08  Hayato Ito  <hayato@chromium.org>
3073
3074         Reviewed by Darin Adler.
3075
3076         Schedule a loading request when there are many in-flight requests beyond
3077         the limit to avoid forever page loading.
3078
3079         https://bugs.webkit.org/show_bug.cgi?id=31227
3080
3081         Test: http/tests/loading/load-javascript-after-many-xhrs.html
3082
3083         * loader/loader.cpp:
3084         (WebCore::Loader::Host::servePendingRequests):
3085
3086 2010-02-08  David Levin  <levin@chromium.org>
3087
3088         Reviewed by Gavin Barraclough.
3089
3090         REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot.
3091         https://bugs.webkit.org/show_bug.cgi?id=34728
3092
3093         The core part of the fix is to change WebCoreJSClientData::m_normalWorld
3094         from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld
3095         is really ref counted.
3096
3097         No new tests because current tests sufficiently cover this as evidenced as
3098         the buildbot crashes.
3099
3100         * bindings/js/JSDOMBinding.cpp:
3101         (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData
3102         being 0.
3103         * bindings/js/JSDOMBinding.h:
3104         (WebCore::DOMWrapperWorld::create): Made this class follow the standard
3105         create pattern for RefCounted classes.
3106         (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can
3107         now outlive JSGlobalData, this method tells it to stop using its JSGlobalData.
3108         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to
3109         m_normalWorld being a RefPtr.
3110         (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added
3111         asserts for the FIXME).
3112         (WebCore::WebCoreJSClientData::normalWorld): Ditto.
3113         * bindings/js/ScriptController.cpp:
3114         (WebCore::IsolatedWorld::create): Made the constructor protected.
3115         (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so
3116         that code would have to use the create method.
3117
3118 2010-02-08  Kinuko Yasuda  <kinuko@chromium.org>
3119
3120         Reviewed by David Levin.
3121
3122         Remove special utf-8 tag from Chromium cilpboard code because
3123         we now have the corresponding code in generic clipboard framework
3124         code in chromium (since it's needed by other places than in Web
3125         page rendering) and no longer need the separate workaround code in
3126         WebKit.
3127         https://bugs.webkit.org/show_bug.cgi?id=34567
3128
3129         Test: (for regression) editing/pasteboard
3130
3131         * platform/chromium/ClipboardChromium.cpp:
3132         (WebCore::ClipboardChromium::writeRange):
3133         * platform/chromium/PasteboardChromium.cpp:
3134         (WebCore::Pasteboard::writeSelection):
3135         (WebCore::Pasteboard::documentFragment):
3136
3137 2010-02-08  Darin Adler  <darin@apple.com>
3138
3139         Reviewed by Dan Bernstein.
3140
3141         Crash due to layout not done in case involving removal of absolute positioning
3142         https://bugs.webkit.org/show_bug.cgi?id=34734
3143         rdar://problem/7588280
3144
3145         Test: fast/dynamic/position-change-layout.html
3146
3147         * rendering/RenderObject.cpp:
3148         (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in
3149         a case where the object already needs layout, but might have a new containing
3150         block and so needs to mark the new containing block.
3151
3152 2010-02-08  Charlie Reis  <creis@chromium.org>
3153
3154         Reviewed by Darin Adler.
3155
3156         onbeforeunload not called at window close + frame or iframe focused
3157         https://bugs.webkit.org/show_bug.cgi?id=27481
3158         
3159         Chromium and WebKit on Windows will now fire beforeunload handlers
3160         even if an inner frame is focused.  
3161
3162         Layout tests aren't able to test this bug, since it requires closing
3163         the actual browser window, not calling window.close().  Instead,
3164         test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
3165
3166         * manual-tests/onbeforeunload-focused-iframe.html: Added.
3167         * manual-tests/resources/focused-iframe.html: Added.
3168
3169 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
3170
3171         Addressing review feedback.
3172
3173         * bridge/c/c_instance.h: Removed argument name.
3174
3175 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
3176
3177         Reviewed by Darin Adler.
3178
3179         https://bugs.webkit.org/show_bug.cgi?id=34727
3180         Assertion crashes and freezes when plug-in property access results in an exception
3181
3182         Test: plugins/netscape-plugin-property-access-exception.html
3183
3184         * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to
3185         be called from CField.
3186
3187         * bridge/c/c_runtime.cpp:
3188         (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without
3189         this, not only didn't we get exceptions, but we also got an assertion failure because of
3190         dangling global exception on next call into plug-in.
3191         (JSC::Bindings::CField::setValueToInstance): Ditto.
3192
3193 2010-02-08  Dirk Schulze  <krit@webkit.org>
3194
3195         Unreviewed build fix of ChromiumWin.
3196
3197         * platform/graphics/chromium/TransparencyWin.cpp:
3198         (WebCore::):
3199         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
3200         (WebCore::TransparencyWin::setupTransformForKeepTransform):
3201         * platform/graphics/chromium/TransparencyWin.h:
3202         * rendering/RenderThemeChromiumWin.cpp:
3203         (WebCore::):
3204
3205 2010-02-05  Dumitru Daniliuc  <dumi@chromium.org>
3206
3207         Reviewed by Jeremy Orlow.
3208
3209         Adding a way to get the set of all open database handles pointing
3210         to a given database.
3211         https://bugs.webkit.org/show_bug.cgi?id=34619
3212
3213         Sometimes we need to be able to close all handles to a database as
3214         soon as possible (to delete the DB file, for example).
3215
3216         * storage/DatabaseTracker.cpp:
3217         (WebCore::DatabaseTracker::getOpenDatabases):
3218         * storage/DatabaseTracker.h:
3219         * storage/chromium/DatabaseTrackerChromium.cpp:
3220         (WebCore::DatabaseTracker::addOpenDatabase):
3221         (WebCore::DatabaseTracker::removeOpenDatabase):
3222         (WebCore::DatabaseTracker::getOpenDatabases):
3223
3224 2010-02-08  Dirk Schulze  <krit@webkit.org>
3225
3226         Unreviewed windows build-fix.
3227
3228         * page/win/FrameCGWin.cpp:
3229         (WebCore::drawRectIntoContext):
3230
3231 2010-02-08  Dirk Schulze  <krit@webkit.org>
3232
3233         Reviewed by Nikolas Zimmermann.
3234
3235         Add back an AffineTransform class for use by SVG
3236         https://bugs.webkit.org/show_bug.cgi?id=33750
3237
3238         This adds back AffineTransform. This saves additional 4% memory consumption
3239         on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721
3240         It also makes it possible to optimize the calculations internally of
3241         AffineTransform to the needs of 2D transformations (the second benefit for SVG,
3242         which uses transformations relative often at the moment.
3243         Everything that is 2D related (like images, patterns, gradients, fonts), uses
3244         AffineTransform now.
3245
3246         * WebCore.xcodeproj/project.pbxproj:
3247         * bindings/js/JSSVGMatrixCustom.cpp:
3248         (WebCore::JSSVGMatrix::multiply):
3249         (WebCore::JSSVGMatrix::inverse):
3250         (WebCore::JSSVGMatrix::rotateFromVector):
3251         * bindings/js/JSSVGPODTypeWrapper.h:
3252         * bindings/scripts/CodeGeneratorJS.pm:
3253         * bindings/scripts/CodeGeneratorObjC.pm:
3254         * bindings/scripts/CodeGeneratorV8.pm:
3255         * bindings/v8/V8Index.h:
3256         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
3257         (WebCore::V8SVGMatrix::multiplyCallback):
3258         (WebCore::V8SVGMatrix::inverseCallback):
3259         (WebCore::V8SVGMatrix::rotateFromVectorCallback):
3260         * html/HTMLCanvasElement.cpp: Changed to AffineTransform now
3261         (WebCore::HTMLCanvasElement::baseTransform):
3262         * html/HTMLCanvasElement.h:
3263         * platform/graphics/FloatPoint.cpp:
3264         (WebCore::FloatPoint::matrixTransform):
3265         * platform/graphics/FloatPoint.h:
3266         * platform/graphics/GeneratedImage.cpp:
3267         (WebCore::GeneratedImage::drawPattern):
3268         * platform/graphics/GeneratedImage.h:
3269         * platform/graphics/Gradient.cpp:
3270         (WebCore::Gradient::setGradientSpaceTransform):
3271         (WebCore::Gradient::setPlatformGradientSpaceTransform):
3272         * platform/graphics/Gradient.h:
3273         (WebCore::Gradient::gradientSpaceTransform):
3274         * platform/graphics/GraphicsContext.h:
3275         * platform/graphics/Image.cpp:
3276         (WebCore::Image::drawTiled):
3277         * platform/graphics/Image.h:
3278         * platform/graphics/ImageBuffer.h:
3279         (WebCore::ImageBuffer::baseTransform):
3280         * platform/graphics/Path.h:
3281         * platform/graphics/Pattern.cpp:
3282         (WebCore::Pattern::setPatternSpaceTransform):
3283         * platform/graphics/Pattern.h:
3284         (WebCore::Pattern::create):
3285         (WebCore::Pattern::tileImage):
3286         * platform/graphics/cairo/FontCairo.cpp:
3287         (WebCore::Font::drawGlyphs):
3288         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3289         (WebCore::setPlatformFill):
3290         (WebCore::setPlatformStroke):
3291         (WebCore::GraphicsContext::getCTM):
3292         * platform/graphics/cairo/ImageCairo.cpp:
3293         (WebCore::Image::drawPattern):
3294         * platform/graphics/cairo/PathCairo.cpp:
3295         * platform/graphics/cairo/PatternCairo.cpp:
3296         (WebCore::Pattern::createPlatformPattern):
3297         * platform/graphics/cg/GraphicsContextCG.cpp:
3298         (WebCore::GraphicsContext::getCTM):
3299         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
3300         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
3301         * platform/graphics/cg/ImageCG.cpp:
3302         (WebCore::Image::drawPattern):
3303         * platform/graphics/cg/PathCG.cpp:
3304         * platform/graphics/cg/PatternCG.cpp:
3305         (WebCore::Pattern::createPlatformPattern):
3306         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3307         (WebCore::GraphicsContext::getCTM):
3308         * platform/graphics/haiku/ImageHaiku.cpp:
3309         (WebCore::Image::drawPattern):
3310         * platform/graphics/haiku/PathHaiku.cpp:
3311         * platform/graphics/qt/FontQt.cpp:
3312         (WebCore::Font::drawComplexText):
3313         * platform/graphics/qt/GraphicsContextQt.cpp:
3314         (WebCore::GraphicsContext::getCTM):
3315         (WebCore::GraphicsContext::fillPath):
3316         (WebCore::GraphicsContext::strokePath):
3317         (WebCore::GraphicsContext::fillRect):
3318         * platform/graphics/qt/ImageQt.cpp:
3319         (WebCore::Image::drawPattern):
3320         * platform/graphics/qt/PathQt.cpp:
3321         * platform/graphics/qt/PatternQt.cpp:
3322         (WebCore::Pattern::createPlatformPattern):
3323         * platform/graphics/skia/GradientSkia.cpp:
3324         (WebCore::Gradient::setPlatformGradientSpaceTransform):
3325         * platform/graphics/skia/GraphicsContextSkia.cpp:
3326         (WebCore::GraphicsContext::getCTM):
3327         * platform/graphics/skia/ImageSkia.cpp:
3328         (WebCore::Image::drawPattern):
3329         * platform/graphics/skia/PathSkia.cpp:
3330         * platform/graphics/skia/PatternSkia.cpp:
3331         (WebCore::Pattern::platformPattern):
3332         * platform/graphics/skia/SkiaFontWin.cpp:
3333         (WebCore::windowsCanHandleTextDrawing):
3334         * platform/graphics/transforms/AffineTransform.cpp:
3335         (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore
3336         (WebCore::AffineTransform::scale): Didn't scale the complete matrix
3337         (WebCore::AffineTransform::translate): Didn't respect other transformations
3338         (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices
3339         (WebCore::AffineTransform::map):
3340         (WebCore::AffineTransform::mapPoint):
3341         (WebCore::AffineTransform::mapRect):
3342         * platform/graphics/transforms/AffineTransform.h:
3343         (WebCore::AffineTransform::isIdentityOrTranslation):
3344         * platform/graphics/transforms/TransformationMatrix.cpp:
3345         (WebCore::TransformationMatrix::toAffineTransform):
3346         * platform/graphics/transforms/TransformationMatrix.h:
3347         * platform/graphics/win/FontCGWin.cpp:
3348         (WebCore::drawGDIGlyphs):
3349         * platform/graphics/win/GraphicsContextCGWin.cpp:
3350         * platform/graphics/win/GraphicsContextCairoWin.cpp:
3351         * platform/graphics/win/GraphicsContextWin.cpp:
3352         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
3353         * platform/graphics/wince/FontWince.cpp:
3354         * platform/graphics/wince/GraphicsContextWince.cpp:
3355         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
3356         (WebCore::GraphicsContext::fillPath):
3357         (WebCore::GraphicsContext::strokePath):
3358         (WebCore::GraphicsContext::getCTM):
3359         (WebCore::GraphicsContext::drawBitmapPattern):
3360         * platform/graphics/wince/ImageBufferWince.cpp:
3361         (WebCore::):
3362         (WebCore::BufferedImage::drawPattern):
3363         * platform/graphics/wince/PathWince.cpp:
3364         (WebCore::Path::transform):
3365         * platform/graphics/wince/PlatformPathWince.cpp:
3366         (WebCore::drawPolygons):
3367         (WebCore::PathPolygon::transform):
3368         (WebCore::PlatformPathElement::transform):
3369         (WebCore::PlatformPath::strokePath):
3370         (WebCore::PlatformPath::fillPath):
3371         (WebCore::PlatformPath::transform):
3372         * platform/graphics/wince/PlatformPathWince.h:
3373         (WebCore::):
3374         * platform/graphics/wx/GraphicsContextWx.cpp:
3375         (WebCore::GraphicsContext::getCTM):
3376         * platform/graphics/wx/ImageWx.cpp:
3377         (WebCore::BitmapImage::drawPattern):
3378         (WebCore::Image::drawPattern):
3379         * platform/graphics/wx/PathWx.cpp:
3380         * platform/gtk/RenderThemeGtk.cpp:
3381         (WebCore::paintMozillaGtkWidget):
3382         * plugins/win/PluginViewWin.cpp:
3383         (WebCore::PluginView::paintWindowedPluginIntoContext):
3384         * rendering/RenderBox.cpp:
3385         (WebCore::RenderBox::localTransform):
3386         * rendering/RenderBox.h:
3387         * rendering/RenderBoxModelObject.cpp:
3388         (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
3389         (WebCore::RenderBoxModelScaleData::transform):
3390         (WebCore::RenderBoxModelScaleData::setTransform):
3391         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
3392         (WebCore::RenderBoxModelObject::paintBoxShadow):
3393         * rendering/RenderForeignObject.cpp:
3394         (WebCore::RenderForeignObject::translationForAttributes):
3395         (WebCore::RenderForeignObject::localToParentTransform):
3396         * rendering/RenderForeignObject.h:
3397         (WebCore::RenderForeignObject::localTransform):
3398         * rendering/RenderLayer.cpp:
3399         (WebCore::RenderLayer::paintLayer):
3400         * rendering/RenderObject.cpp:
3401         (WebCore::RenderObject::localTransform):
3402         (WebCore::RenderObject::localToParentTransform):
3403         (WebCore::RenderObject::absoluteTransform):
3404         * rendering/RenderObject.h:
3405         * rendering/RenderPath.cpp:
3406         (WebCore::RenderPath::localToParentTransform):
3407         (WebCore::RenderPath::localTransform):
3408         * rendering/RenderPath.h:
3409         * rendering/RenderSVGHiddenContainer.h:
3410         (WebCore::RenderSVGHiddenContainer::absoluteTransform):
3411         * rendering/RenderSVGImage.h:
3412         (WebCore::RenderSVGImage::localToParentTransform):
3413         (WebCore::RenderSVGImage::localTransform):
3414         * rendering/RenderSVGRoot.cpp:
3415         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
3416         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
3417         (WebCore::RenderSVGRoot::localToParentTransform):
3418         (WebCore::RenderSVGRoot::absoluteTransform):
3419         (WebCore::RenderSVGRoot::localTransform):
3420         * rendering/RenderSVGRoot.h:
3421         * rendering/RenderSVGText.h:
3422         (WebCore::RenderSVGText::localToParentTransform):
3423         (WebCore::RenderSVGText::localTransform):
3424         * rendering/RenderSVGTransformableContainer.cpp:
3425         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
3426         (WebCore::RenderSVGTransformableContainer::localTransform):
3427         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
3428         * rendering/RenderSVGTransformableContainer.h:
3429         * rendering/RenderSVGViewportContainer.cpp:
3430         (WebCore::RenderSVGViewportContainer::markerBoundaries):
3431         (WebCore::RenderSVGViewportContainer::markerContentTransformation):
3432         (WebCore::RenderSVGViewportContainer::viewportTransform):
3433         (WebCore::RenderSVGViewportContainer::localToParentTransform):
3434         (WebCore::RenderSVGViewportContainer::absoluteTransform):
3435         * rendering/RenderSVGViewportContainer.h:
3436         * rendering/SVGCharacterLayoutInfo.cpp:
3437         (WebCore::SVGChar::characterTransform):
3438         * rendering/SVGCharacterLayoutInfo.h:
3439         (WebCore::SVGTextChunkWalker::operator()):
3440         * rendering/SVGInlineTextBox.cpp:
3441         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
3442         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
3443         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
3444         (WebCore::SVGInlineTextBox::paintCharacters):
3445         (WebCore::SVGInlineTextBox::paintDecoration):
3446         * rendering/SVGMarkerLayoutInfo.h:
3447         (WebCore::MarkerLayout::MarkerLayout):
3448         * rendering/SVGRenderSupport.cpp:
3449         (WebCore::applyTransformToPaintInfo):
3450         * rendering/SVGRenderSupport.h:
3451         * rendering/SVGRenderTreeAsText.cpp:
3452         (WebCore::operator<<):
3453         * rendering/SVGRenderTreeAsText.h:
3454         * rendering/SVGRootInlineBox.cpp:
3455         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
3456         (WebCore::applyTextLengthCorrectionToTextChunk):
3457         (WebCore::SVGRootInlineBox::buildLayoutInformation):
3458         * rendering/TransformState.cpp:
3459         (WebCore::TransformState::applyTransform):
3460         * rendering/TransformState.h:
3461         * svg/GradientAttributes.h:
3462         (WebCore::GradientAttributes::gradientTransform):
3463         (WebCore::GradientAttributes::setGradientTransform):
3464         * svg/PatternAttributes.h:
3465         (WebCore::PatternAttributes::patternTransform):
3466         (WebCore::PatternAttributes::setPatternTransform):
3467         * svg/SVGAnimateMotionElement.cpp:
3468         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
3469         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
3470         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
3471         * svg/SVGAnimateMotionElement.h:
3472         * svg/SVGAnimateTransformElement.cpp:
3473         * svg/SVGAnimateTransformElement.h:
3474         * svg/SVGElement.h:
3475         (WebCore::SVGElement::supplementalTransform):
3476         * svg/SVGFitToViewBox.cpp:
3477         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
3478         * svg/SVGFitToViewBox.h:
3479         * svg/SVGLocatable.cpp:
3480         (WebCore::SVGLocatable::getCTM):
3481         (WebCore::SVGLocatable::getScreenCTM):
3482         (WebCore::SVGLocatable::getTransformToElement):
3483         * svg/SVGLocatable.h:
3484         * svg/SVGMarkerElement.cpp:
3485         (WebCore::SVGMarkerElement::viewBoxToViewTransform):
3486         * svg/SVGMarkerElement.h:
3487         * svg/SVGMaskElement.cpp:
3488         (WebCore::SVGMaskElement::drawMaskerContent):
3489         * svg/SVGMatrix.idl:
3490         * svg/SVGPatternElement.cpp:
3491         (WebCore::SVGPatternElement::buildPattern):
3492         * svg/SVGPreserveAspectRatio.cpp:
3493         (WebCore::SVGPreserveAspectRatio::getCTM):
3494         * svg/SVGPreserveAspectRatio.h:
3495         * svg/SVGSVGElement.cpp:
3496         (WebCore::SVGSVGElement::viewport):
3497         (WebCore::SVGSVGElement::createSVGMatrix):
3498         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
3499         (WebCore::SVGSVGElement::getCTM):
3500         (WebCore::SVGSVGElement::getScreenCTM):
3501         (WebCore::SVGSVGElement::viewBoxToViewTransform):
3502         * svg/SVGSVGElement.h:
3503         * svg/SVGStyledLocatableElement.cpp:
3504         (WebCore::SVGStyledLocatableElement::getCTM):
3505         (WebCore::SVGStyledLocatableElement::getScreenCTM):
3506         * svg/SVGStyledLocatableElement.h:
3507         * svg/SVGStyledTransformableElement.cpp:
3508         (WebCore::SVGStyledTransformableElement::getCTM):
3509         (WebCore::SVGStyledTransformableElement::getScreenCTM):
3510         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
3511         (WebCore::SVGStyledTransformableElement::supplementalTransform):
3512         * svg/SVGStyledTransformableElement.h:
3513         (WebCore::SVGStyledTransformableElement::isStyledTransformable):
3514         (WebCore::SVGStyledTransformableElement::toPathData):
3515         * svg/SVGTextContentElement.cpp:
3516         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
3517         * svg/SVGTextElement.cpp:
3518         (WebCore::SVGTextElement::getScreenCTM):
3519         (WebCore::SVGTextElement::getCTM):
3520         (WebCore::SVGTextElement::animatedLocalTransform):
3521         (WebCore::SVGTextElement::supplementalTransform):
3522         * svg/SVGTextElement.h:
3523         * svg/SVGTextPathElement.cpp:
3524         * svg/SVGTransform.cpp:
3525         (SVGTransform::SVGTransform):
3526         (SVGTransform::matrix):
3527         (SVGTransform::setMatrix):
3528         * svg/SVGTransform.h:
3529         * svg/SVGTransformDistance.cpp:
3530         (WebCore::SVGTransformDistance::SVGTransformDistance):
3531         (WebCore::SVGTransformDistance::scaledDistance):
3532         (WebCore::SVGTransformDistance::isZero):
3533         * svg/SVGTransformDistance.h:
3534         * svg/SVGTransformList.cpp:
3535         (SVGTransformList::createSVGTransformFromMatrix):
3536         (SVGTransformList::concatenate):
3537         (SVGTransformList::valueAsString):
3538         * svg/SVGTransformList.h:
3539         * svg/SVGTransformable.cpp:
3540         (WebCore::SVGTransformable::getCTM):
3541         (WebCore::SVGTransformable::getScreenCTM):
3542         (WebCore::SVGTransformable::parseTransformValue):
3543         * svg/SVGTransformable.h:
3544         (WebCore::SVGTransformable::):
3545         * svg/graphics/SVGPaintServerGradient.cpp:
3546         (WebCore::SVGPaintServerGradient::gradientTransform):
3547         (WebCore::SVGPaintServerGradient::setGradientTransform):
3548         (WebCore::clipToTextMask):
3549         (WebCore::SVGPaintServerGradient::setup):
3550         * svg/graphics/SVGPaintServerGradient.h:
3551         * svg/graphics/SVGPaintServerPattern.cpp: