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