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