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