Fix !ENABLE(3D_CANVAS) build.
[WebKit-https.git] / WebCore / ChangeLog
1 2010-01-18  Anders Carlsson  <andersca@apple.com>
2
3         Fix !ENABLE(3D_CANVAS) build.
4
5         * rendering/RenderLayerBacking.cpp:
6         (WebCore::is3DCanvas):
7
8 2010-01-18  Timothy Hatcher  <timothy@apple.com>
9
10         Adjust the scroll position when doing a full page zoom, so the content
11         stays in relatively the same position.
12
13         <rdar://problem/6150099> Zooming should keep the page content in the same place
14
15         Reviewed by Oliver Hunt.
16
17         * page/Frame.cpp:
18         (WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
19         the scroll position, only when doing a full page zoom.
20
21 2010-01-18  Adam Roben  <aroben@apple.com>
22
23         Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
24         respect it
25
26         WebCore part of fixing <http://webkit.org/b/33806>
27         <rdar://problem/7552837> Would like API to disallow setting of
28         document.domain for pages with certain URL schemes
29
30         Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html
31
32         Reviewed by Sam Weinig.
33
34         * WebCore.base.exp: Export
35         SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.
36
37         * dom/Document.cpp:
38         (WebCore::Document::setDomain): If domain relaxation is forbidden for
39         our security origin's scheme, throw an exception and don't allow
40         the domain to be set.
41
42         * page/SecurityOrigin.cpp:
43         (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
44         global set of schemes.
45         (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
46         Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
47         appropriate.
48         (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
49         Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.
50
51         * page/SecurityOrigin.h: Added
52         {set,is}DomainRelaxationForbiddenForURLScheme.
53
54 2010-01-18  Dan Bernstein  <mitz@apple.com>
55
56         Address review comments on the last change
57
58         * rendering/TrailingFloatsRootInlineBox.h:
59         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
60
61 2010-01-18  Dan Bernstein  <mitz@apple.com>
62
63         Reviewed by Darin Adler.
64
65         <rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
66         <rdar://problem/7546035> Second right floated image misplacment
67         https://bugs.webkit.org/show_bug.cgi?id=33245
68
69         Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html
70
71         When the last line of a block contains a line break and there are floats
72         after the line break, it is incorrect to put those floats in the last line’s
73         floats vector (along with floats from before the break). Instead, create
74         an additional line box (a TrailingFloatsRootInlineBox) and put those floats
75         in its floats vector. 
76
77         * WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
78         * WebCore.xcodeproj/project.pbxproj: Ditto.
79         * rendering/RenderBlock.cpp:
80         (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
81         parameter, which is the highest line to dirty.
82         * rendering/RenderBlock.h:
83         * rendering/RenderBlockLineLayout.cpp:
84         (WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
85         for the floats occurring after the line break on the last line.
86         (WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
87         above the first dirty line.
88         * rendering/TrailingFloatsRootInlineBox.h: Added.
89         (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
90         setHasVirtualHeight().
91         (WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.
92
93 2010-01-18  Gavin Barraclough  <barraclough@apple.com>
94
95         Reviewed by NOBODY (build fix).
96
97         Eeeep! reverting r53416 & r53417, more to be done to fix windows.
98
99         * WebCore.base.exp:
100         * platform/sql/SQLiteFileSystem.cpp:
101         (WebCore::SQLiteFileSystem::openDatabase):
102         * platform/sql/SQLiteStatement.cpp:
103         (WebCore::SQLiteStatement::prepare):
104         * platform/sql/SQLiteStatement.h:
105         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
106         (WebCore::SQLiteFileSystem::openDatabase):
107         * platform/text/PlatformString.h:
108         * platform/text/String.cpp:
109         (WebCore::String::charactersWithNullTermination):
110         * platform/text/StringImpl.cpp:
111         (WebCore::StringImpl::operator new):
112         (WebCore::StringImpl::operator delete):
113         (WebCore::StringImpl::StringImpl):
114         (WebCore::StringImpl::~StringImpl):
115         (WebCore::StringImpl::create):
116         (WebCore::StringImpl::createWithTerminatingNullCharacter):
117         (WebCore::StringImpl::crossThreadString):
118         (WebCore::StringImpl::sharedBuffer):
119         * platform/text/StringImpl.h:
120         (WebCore::StringImpl::hasTerminatingNullCharacter):
121         (WebCore::StringImpl::inTable):
122         (WebCore::StringImpl::setInTable):
123         (WebCore::StringImpl::):
124         * platform/win/ClipboardUtilitiesWin.cpp:
125         (WebCore::createGlobalData):
126         * storage/OriginUsageRecord.cpp:
127         (WebCore::OriginUsageRecord::addDatabase):
128         (WebCore::OriginUsageRecord::markDatabase):
129
130 2010-01-18  Gavin Barraclough  <barraclough@apple.com>
131
132         Reviewed by NOBODY (windows build fix).
133
134         * platform/win/ClipboardUtilitiesWin.cpp:
135         (WebCore::createGlobalData):
136
137 2010-01-15  Gavin Barraclough  <barraclough@apple.com>
138
139         Reviewed by Darin Adler.
140
141         https://bugs.webkit.org/show_bug.cgi?id=33731
142         Remove uses of PtrAndFlags from WebCore::StringImpl.
143
144         These break the OS X Leaks tool.  Move the management of null-terminated copies
145         out from StringImpl to String, and use a bit stolen from the refCount to hold the
146         'InTable' flag.
147
148         * platform/sql/SQLiteFileSystem.cpp:
149         (WebCore::SQLiteFileSystem::openDatabase):
150         * platform/sql/SQLiteStatement.cpp:
151         (WebCore::SQLiteStatement::prepare):
152         * platform/sql/SQLiteStatement.h:
153         * platform/text/PlatformString.h:
154         * platform/text/String.cpp:
155         (WebCore::String::copyWithNullTermination):
156         * platform/text/StringImpl.cpp:
157         (WebCore::StringImpl::StringImpl):
158         (WebCore::StringImpl::~StringImpl):
159         (WebCore::StringImpl::create):
160         (WebCore::StringImpl::crossThreadString):
161         (WebCore::StringImpl::sharedBuffer):
162         * platform/text/StringImpl.h:
163         (WebCore::StringImpl::inTable):
164         (WebCore::StringImpl::setInTable):
165
166 2010-01-18  Chris Marrin  <cmarrin@apple.com>
167
168         Reviewed by Darin Adler.
169
170         Made root compositing layer scroll rather than scroll parent.
171         https://bugs.webkit.org/show_bug.cgi?id=32279
172         
173         There's some general cleanup here so the frames, bounds and
174         positions of all the associated layers are correct.
175         I also changed API of setScrollFrame to use an IntRect.
176
177         * platform/graphics/win/WKCACFLayerRenderer.cpp:
178         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
179         (WebCore::WKCACFLayerRenderer::setScrollFrame):
180         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
181         (WebCore::WKCACFLayerRenderer::createRenderer):
182         (WebCore::WKCACFLayerRenderer::resize):
183         * platform/graphics/win/WKCACFLayerRenderer.h:
184
185 2010-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
186
187         Reviewed by Pavel Feldman.
188
189         WebInspector: Timeline panel scrolling speed can be 2 times faster.
190         https://bugs.webkit.org/show_bug.cgi?id=33794
191
192         * inspector/front-end/TimelinePanel.js:
193         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
194         (WebInspector.TimelinePanel.prototype._refreshRecords):
195         (WebInspector.TimelineCalculator):
196         (WebInspector.TimelineCalculator.prototype.calculateWindow):
197         (WebInspector.TimelineCalculator.prototype.reset):
198         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
199         (WebInspector.TimelineRecordGraphRow.prototype.update):
200
201 2010-01-18  Steve Block  <steveblock@google.com>
202
203         Reviewed by Adam Barth.
204
205         Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
206         https://bugs.webkit.org/show_bug.cgi?id=33672
207
208         No new tests, refactoring only.
209
210         * Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
211         * GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
212         * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
213         * bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
214         * bridge/jni/jni_instance.cpp: Removed.
215         * bridge/jni/jni_instance.h: Removed.
216         * bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
217         * bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
218         * bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
219
220 2010-01-18  Peter Kasting  <pkasting@google.com>
221
222         Reviewed by Adam Barth.
223
224         Simplify image decoders slightly by using OwnPtr instead of raw pointers
225         and eliminating a basically-useless wrapper class in the GIF decoder.
226         https://bugs.webkit.org/show_bug.cgi?id=28751
227
228         * platform/graphics/qt/ImageDecoderQt.cpp:
229         (WebCore::ImageDecoderQt::ImageDecoderQt):
230         (WebCore::ImageDecoderQt::~ImageDecoderQt):
231         (WebCore::ImageDecoderQt::setData):
232         (WebCore::ImageDecoderQt::internalReadImage):
233         (WebCore::ImageDecoderQt::failRead):
234         * platform/graphics/qt/ImageDecoderQt.h:
235         * platform/image-decoders/gif/GIFImageDecoder.cpp:
236         (WebCore::GIFImageDecoder::GIFImageDecoder):
237         (WebCore::GIFImageDecoder::~GIFImageDecoder):
238         (WebCore::GIFImageDecoder::setData):
239         (WebCore::GIFImageDecoder::frameCount):
240         (WebCore::GIFImageDecoder::repetitionCount):
241         (WebCore::GIFImageDecoder::decode):
242         (WebCore::GIFImageDecoder::decodingHalted):
243         (WebCore::GIFImageDecoder::initFrameBuffer):
244         (WebCore::GIFImageDecoder::haveDecodedRow):
245         (WebCore::GIFImageDecoder::gifComplete):
246         * platform/image-decoders/gif/GIFImageDecoder.h:
247         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
248         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
249         (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
250         (WebCore::JPEGImageDecoder::setData):
251         (WebCore::JPEGImageDecoder::decode):
252         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
253         * platform/image-decoders/png/PNGImageDecoder.cpp:
254         (WebCore::PNGImageDecoder::PNGImageDecoder):
255         (WebCore::PNGImageDecoder::~PNGImageDecoder):
256         (WebCore::PNGImageDecoder::setData):
257         (WebCore::PNGImageDecoder::decode):
258         (WebCore::PNGImageDecoder::headerAvailable):
259         (WebCore::PNGImageDecoder::rowAvailable):
260         * platform/image-decoders/png/PNGImageDecoder.h:
261
262 2010-01-18  Daniel Cheng  <dcheng@google.com>
263
264         Reviewed by Adam Roben.
265
266         DataTransfer interface broken on Windows--types member is always
267         undefined, and getData() does not work.
268         https://bugs.webkit.org/show_bug.cgi?id=30527
269
270         * platform/win/ClipboardWin.cpp:
271         (WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
272         (WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
273         (WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.
274
275 2010-01-18  Mikhail Naganov  <mnaganov@chromium.org>
276
277         Reviewed by Timothy Hatcher.
278
279         Don't show Profiles welcome screen on panel switch,
280         if a profile view is shown.
281
282         https://bugs.webkit.org/show_bug.cgi?id=33799
283
284         * inspector/front-end/ProfilesPanel.js:
285         (WebInspector.ProfilesPanel.prototype.show):
286
287 2010-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
288
289         Reviewed by Simon Hausmann.
290
291         [Qt] Force qmake to generate a single makefile for DerivedSources.pro
292
293         * DerivedSources.pro:
294
295 2010-01-18  Jonathan Dixon  <joth@chromium.org>
296
297         Reviewed by Adam Barth.
298
299         Add support for enabling navigator.geolocation at runtime in the V8 bindings.
300         Adds the [EnabledAtRuntime] modifier to the navigator IDL.
301         https://bugs.webkit.org/show_bug.cgi?id=33467
302
303         * WebCore.gypi:
304         * bindings/v8/RuntimeEnabledFeatures.cpp:
305         * bindings/v8/RuntimeEnabledFeatures.h:
306         (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
307         (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
308         * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
309         (WebCore::V8Navigator::GeolocationEnabled):
310         * page/Navigator.cpp:
311         (WebCore::Navigator::geolocation):
312         * page/Navigator.idl:
313
314 2010-01-18  Alexander Pavlov  <apavlov@chromium.org>
315
316         Reviewed by Pavel Feldman.
317
318         Improve Resources panel performance for lots of resources
319
320         DOM properties are extracted into const's, comparisons are faster.
321         https://bugs.webkit.org/show_bug.cgi?id=33790
322
323         * inspector/front-end/AbstractTimelinePanel.js:
324         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
325         * inspector/front-end/Resource.js:
326         (WebInspector.Resource.CompareByStartTime):
327         (WebInspector.Resource.CompareByResponseReceivedTime):
328         (WebInspector.Resource.CompareByEndTime):
329         (WebInspector.Resource.CompareByDuration):
330         (WebInspector.Resource.CompareByLatency):
331         (WebInspector.Resource.CompareBySize):
332         * inspector/front-end/ResourcesPanel.js:
333         (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
334
335 2010-01-18  Daniel Bates  <dbates@rim.com>
336
337         Reviewed by Eric Seidel.
338
339         https://bugs.webkit.org/show_bug.cgi?id=33726
340
341         Following up on changes made with respect to bug #33498, we should
342         fix the the style errors found by the style bot.
343         
344         Moreover, this fixes all the style errors found by check-webkit-style
345         except the use of an underline in the variable name _niflags. We should
346         fix this in a second run through for all the other variables names that
347         contain an underline because there are many.
348
349         No functionality was changed. So, no new tests.
350
351         * rendering/style/SVGRenderStyle.h:
352         (WebCore::SVGRenderStyle::create):
353         (WebCore::SVGRenderStyle::copy):
354         (WebCore::SVGRenderStyle::operator!=):
355         (WebCore::SVGRenderStyle::hasStroke):
356         (WebCore::SVGRenderStyle::hasFill):
357         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
358         (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
359         (WebCore::SVGRenderStyle::NonInheritedFlags::operator==):
360         (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=):
361         (WebCore::SVGRenderStyle::NonInheritedFlags::):
362         (WebCore::SVGRenderStyle::):
363         (WebCore::SVGRenderStyle::setBitDefaults):
364
365 2010-01-18  Andrei Popescu  <andreip@google.com>
366
367         Reviewed by Adam Barth.
368
369         [Android] DOMWrapperMap::Visitor needs virtual destructor
370         https://bugs.webkit.org/show_bug.cgi?id=33675
371
372         Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.
373
374         No new tests needed, functionality not changed.
375
376         * bindings/v8/V8DOMMap.h:
377         (WebCore::DOMWrapperMap::Visitor::~Visitor): Added.
378
379 2010-01-18  Simon Hausmann  <simon.hausmann@nokia.com>
380
381         Unreviewed Symbian build fix.
382
383         If we don't link with def files, then we have to pass EXPORTUNFROZEN,
384         so that the build system still creates the .dso files in
385         release/armv5/lib and we can actually link against the created QtWebKit
386         dlls.
387
388         Thanks Iain for the help!
389
390         * WebCore.pro:
391
392 2010-01-17  Srinidhi Shreedhara  <srinidhi.shreedhara@nokia.com>
393
394         Reviewed by Simon Hausmann.
395
396         [Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
397         https://bugs.webkit.org/show_bug.cgi?id=33573
398
399         * plugins/symbian/PluginViewSymbian.cpp:
400         (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative
401         coordinates for early return.
402
403 2010-01-17  Oliver Hunt  <oliver@apple.com>
404
405         Reviewed by Dan Bernstein.
406
407         REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
408         https://bugs.webkit.org/show_bug.cgi?id=33782
409
410         Test: svg/custom/transformedMaskFails.svg
411
412         When computing the bounds for elements in a mask, we iterate through
413         all of our children requesting their repaint bounds using
414         repaintRectInLocalCoordinates(), but we were not converting that
415         rect into our own coordinate system, thus leading to an incorrect
416         repaint rect.  This patch simply adds the missing localToParent
417         transform.
418
419         * svg/SVGMaskElement.cpp:
420         (WebCore::SVGMaskElement::drawMaskerContent):
421
422 2010-01-17  Maciej Stachowiak  <mjs@apple.com>
423
424         Reviewed by Dan Bernstein.
425
426         Avoid slow access to AX objects on attribute access when AX is off
427         https://bugs.webkit.org/show_bug.cgi?id=33779
428
429         ~4% Dromaeo attributes test speedup
430
431         * dom/Element.cpp:
432         (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
433         AX object cache unless accessibility is on and an AX-related attribute is
434         changed.
435
436 2010-01-17  Kevin Watters  <kevinwatters@gmail.com>
437
438         Reviewed by Kevin Ollivier.
439
440         [wx] On Win and GTK, we need to manually apply the transforms when falling back
441         to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.
442         
443         https://bugs.webkit.org/show_bug.cgi?id=33730
444
445         * platform/wx/RenderThemeWx.cpp:
446         (WebCore::RenderThemeWx::paintButton):
447
448 2010-01-17  Martin Robinson  <martin.james.robinson@gmail.com>
449
450         Reviewed by Gustavo Noronha Silva.
451
452         [GTK] GtkWebKit incompatible with rgba colormaps
453         https://bugs.webkit.org/show_bug.cgi?id=20736
454
455         Fix GTK theme rendering onto drawables with RGBA colormaps. Now
456         each type of colormap has its own collection of GtkWidgets.
457
458         This fix does not introduce any functionality changes, so does not
459         includes new tests.
460
461         * platform/gtk/RenderThemeGtk.cpp:
462         (WebCore::RenderThemeGtk::RenderThemeGtk):
463         (WebCore::RenderThemeGtk::~RenderThemeGtk):
464         (WebCore::RenderThemeGtk::partsForDrawable):
465         (WebCore::adjustMozillaStyle):
466         (WebCore::setMozillaState):
467         (WebCore::paintMozillaGtkWidget):
468         (WebCore::setToggleSize):
469         (WebCore::RenderThemeGtk::setCheckboxSize):
470         (WebCore::RenderThemeGtk::paintCheckbox):
471         (WebCore::RenderThemeGtk::setRadioSize):
472         (WebCore::RenderThemeGtk::paintRadio):
473         (WebCore::RenderThemeGtk::paintButton):
474         (WebCore::RenderThemeGtk::adjustMenuListStyle):
475         (WebCore::RenderThemeGtk::paintMenuList):
476         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
477         (WebCore::RenderThemeGtk::paintTextField):
478         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
479         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
480         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
481         * platform/gtk/RenderThemeGtk.h:
482         * platform/gtk/gtk2drawing.c:
483         (moz_gtk_use_theme_parts):
484         (ensure_window_widget):
485         (setup_widget_prototype):
486         (ensure_button_widget):
487         (ensure_hpaned_widget):
488         (ensure_vpaned_widget):
489         (ensure_toggle_button_widget):
490         (ensure_button_arrow_widget):
491         (ensure_checkbox_widget):
492         (ensure_radiobutton_widget):
493         (ensure_scrollbar_widget):
494         (ensure_spin_widget):
495         (ensure_scale_widget):
496         (ensure_entry_widget):
497         (moz_gtk_get_combo_box_inner_button):
498         (moz_gtk_get_combo_box_button_inner_widgets):
499         (ensure_combo_box_widgets):
500         (moz_gtk_get_combo_box_entry_inner_widgets):
501         (moz_gtk_get_combo_box_entry_arrow):
502         (ensure_combo_box_entry_widgets):
503         (ensure_handlebox_widget):
504         (ensure_toolbar_widget):
505         (ensure_toolbar_separator_widget):
506         (ensure_tooltip_widget):
507         (ensure_tab_widget):
508         (ensure_progress_widget):
509         (ensure_statusbar_widget):
510         (ensure_frame_widget):
511         (ensure_menu_bar_widget):
512         (ensure_menu_bar_item_widget):
513         (ensure_menu_popup_widget):
514         (ensure_menu_item_widget):
515         (ensure_image_menu_item_widget):
516         (ensure_menu_separator_widget):
517         (ensure_check_menu_item_widget):
518         (ensure_tree_view_widget):
519         (ensure_tree_header_cell_widget):
520         (ensure_expander_widget):
521         (ensure_scrolled_window_widget):
522         (moz_gtk_checkbox_get_metrics):
523         (moz_gtk_radio_get_metrics):
524         (moz_gtk_splitter_get_metrics):
525         (moz_gtk_toggle_paint):
526         (moz_gtk_scrollbar_button_paint):
527         (moz_gtk_scrollbar_trough_paint):
528         (moz_gtk_scrollbar_thumb_paint):
529         (moz_gtk_spin_paint):
530         (moz_gtk_spin_updown_paint):
531         (moz_gtk_scale_paint):
532         (moz_gtk_scale_thumb_paint):
533         (moz_gtk_gripper_paint):
534         (moz_gtk_hpaned_paint):
535         (moz_gtk_vpaned_paint):
536         (moz_gtk_caret_paint):
537         (moz_gtk_treeview_paint):
538         (moz_gtk_tree_header_cell_paint):
539         (moz_gtk_tree_header_sort_arrow_paint):
540         (moz_gtk_treeview_expander_paint):
541         (moz_gtk_expander_paint):
542         (moz_gtk_combo_box_paint):
543         (moz_gtk_downarrow_paint):
544         (moz_gtk_combo_box_entry_button_paint):
545         (moz_gtk_container_paint):
546         (moz_gtk_toggle_label_paint):
547         (moz_gtk_toolbar_paint):
548         (moz_gtk_toolbar_separator_paint):
549         (moz_gtk_tooltip_paint):
550         (moz_gtk_resizer_paint):
551         (moz_gtk_frame_paint):
552         (moz_gtk_progressbar_paint):
553         (moz_gtk_progress_chunk_paint):
554         (moz_gtk_get_tab_thickness):
555         (moz_gtk_tab_paint):
556         (moz_gtk_tabpanels_paint):
557         (moz_gtk_tab_scroll_arrow_paint):
558         (moz_gtk_menu_bar_paint):
559         (moz_gtk_menu_popup_paint):
560         (moz_gtk_menu_separator_paint):
561         (moz_gtk_menu_item_paint):
562         (moz_gtk_menu_arrow_paint):
563         (moz_gtk_check_menu_item_paint):
564         (moz_gtk_window_paint):
565         (moz_gtk_get_widget_border):
566         (moz_gtk_get_combo_box_entry_button_size):
567         (moz_gtk_get_tab_scroll_arrow_size):
568         (moz_gtk_get_downarrow_size):
569         (moz_gtk_get_toolbar_separator_width):
570         (moz_gtk_get_expander_size):
571         (moz_gtk_get_treeview_expander_size):
572         (moz_gtk_get_menu_separator_height):
573         (moz_gtk_get_scalethumb_metrics):
574         (moz_gtk_get_scrollbar_metrics):
575         (moz_gtk_images_in_menus):
576         (moz_gtk_widget_paint):
577         (moz_gtk_get_scrollbar_widget):
578         (moz_gtk_shutdown):
579         (moz_gtk_destroy_theme_parts_widgets):
580         * platform/gtk/gtkdrawing.h:
581
582 2010-01-16  Maciej Stachowiak  <mjs@apple.com>
583
584         Reviewed by Oliver Hunt.
585
586         Cache JS string values made from DOM strings (Dromaeo speedup)
587         https://bugs.webkit.org/show_bug.cgi?id=33768
588         <rdar://problem/7353576>
589
590         Added a new cache for JSString values that are created from Strings or AtomicStrings
591         in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
592         and it is wasteful to make a new JS-level string value every time.
593         
594         The string cache is per-world, and thus thread-safe and not a
595         vector for accidental information exchange.
596         
597         ~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.
598
599         * bindings/js/JSDOMBinding.cpp:
600         (WebCore::jsStringCache): Helper function to get the string cache for the current world.
601         (WebCore::jsString): Some new overloads including the caching version.
602         (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
603         * bindings/js/JSDOMBinding.h:
604         (WebCore::jsString): Prototype new overloads (and define a few inline).
605         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
606         (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
607         * bindings/js/ScriptFunctionCall.cpp:
608         (WebCore::ScriptFunctionCall::appendArgument): Ditto.
609         * WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
610
611 2010-01-16  Oliver Hunt  <oliver@apple.com>
612
613         Reviewed by Nikolas Zimmermann.
614
615         SVG Markers are getting culled incorrectly
616         https://bugs.webkit.org/show_bug.cgi?id=33767
617
618         Use applyTransformToPaintInfo to transform the paintInfo, otherwise
619         the paint rect is not updated leading to incorrect culling.
620
621         * svg/graphics/SVGResourceMarker.cpp:
622         (WebCore::SVGResourceMarker::draw):
623
624 2010-01-15  John Sullivan  <sullivan@apple.com>
625
626         https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
627         Zip code field is misidentified as street address because id attribute isn't checked.
628
629         Reviewed by Darin Adler
630
631         No new tests. I believe this code is used only by Safari AutoFill, but in any case
632         it does not affect page rendering or anything else at the WebCore/WebKit level.
633
634         * page/Frame.cpp:
635         (WebCore::matchLabelsAgainstString):
636         New function, split out from matchLabelsAgainstElement.
637         (WebCore::Frame::matchLabelsAgainstElement):
638         Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.
639         
640         * page/mac/FrameMac.mm:
641         (WebCore::matchLabelsAgainstString):
642         Same as above. This is a parallel copy of the function using Mac-specific data structures.
643         (WebCore::Frame::matchLabelsAgainstElement):
644         Ditto.
645
646 2010-01-16  Timothy Hatcher  <timothy@apple.com>
647
648         Use String.trim() instead of a regex in the Web Inspector.
649
650         https://bugs.webkit.org/show_bug.cgi?id=33765
651
652         Reviewed by George Staikos.
653
654         * inspector/front-end/ElementsPanel.js:
655         (WebInspector.ElementsPanel.prototype.performSearch): Use .trim().
656         * inspector/front-end/ObjectPropertiesSection.js:
657         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.
658         * inspector/front-end/ProfileView.js:
659         * inspector/front-end/SourceFrame.js:
660         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.
661         * inspector/front-end/StylesSidebarPane.js:
662         (WebInspector.StylePropertyTreeElement.prototype): Ditto.
663         * inspector/front-end/utilities.js:
664         (String.prototype.trimLeadingWhitespace): Removed.
665         (String.prototype.trimTrailingWhitespace): Removed.
666         (String.prototype.trimWhitespace): Removed.
667
668 2010-01-16  Oliver Hunt  <oliver@apple.com>
669
670         Reviewed by Nikolas Zimmermann.
671
672         Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
673         https://bugs.webkit.org/show_bug.cgi?id=33766
674
675         Make localToParentTransform return by reference to avid copy overhead.
676         This is a little gnarly in places as it means we need to be able to 
677         return temporary values in a few implementations, so we have to add
678         class fields to hold them, heppily the classes that these effect are
679          sufficiently uncommon for this to be okay.
680
681         * rendering/RenderForeignObject.cpp:
682         (WebCore::RenderForeignObject::localToParentTransform):
683         * rendering/RenderForeignObject.h:
684         * rendering/RenderObject.cpp:
685         (WebCore::RenderObject::localTransform):
686         (WebCore::RenderObject::localToParentTransform):
687         * rendering/RenderObject.h:
688         * rendering/RenderPath.cpp:
689         (WebCore::RenderPath::localToParentTransform):
690         (WebCore::RenderPath::nodeAtFloatPoint):
691         * rendering/RenderPath.h:
692         * rendering/RenderSVGImage.h:
693         (WebCore::RenderSVGImage::localToParentTransform):
694         * rendering/RenderSVGRoot.cpp:
695         (WebCore::RenderSVGRoot::localToParentTransform):
696         * rendering/RenderSVGRoot.h:
697         * rendering/RenderSVGText.h:
698         (WebCore::RenderSVGText::localToParentTransform):
699         * rendering/RenderSVGTransformableContainer.cpp:
700         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
701         * rendering/RenderSVGTransformableContainer.h:
702         * rendering/RenderSVGViewportContainer.cpp:
703         (WebCore::RenderSVGViewportContainer::localToParentTransform):
704         * rendering/RenderSVGViewportContainer.h:
705
706 2010-01-16  Darin Adler  <darin@apple.com>
707
708         Reviewed by Oliver Hunt and Alexey Proskuryakov.
709
710         ValidityState can hold a stale pointer to control
711         https://bugs.webkit.org/show_bug.cgi?id=33729
712         rdar://problem/7545114
713
714         Test: fast/forms/ValidityState-removed-control.html
715
716         * html/HTMLFormControlElement.h: Use OwnPtr instead of
717         RefPtr to point to the ValidityState object.
718
719         * html/ValidityState.cpp: Use a constant instead of a
720         macro for the email validation regular expression.
721         (WebCore::ValidityState::validationMessage): Use
722         m_control instead of control function; we don't need
723         a function for this. Also marked const.
724         (WebCore::ValidityState::typeMismatch): Ditto.
725         Fixed some minor style problems.
726         (WebCore::ValidityState::rangeUnderflow): Ditto.
727         (WebCore::ValidityState::rangeOverflow): Ditto.
728         (WebCore::ValidityState::stepMismatch): Ditto.
729         (WebCore::ValidityState::valid): Ditto.
730         (WebCore::ValidityState::isValidEmailAddress):
731         Changed local variable names for clarity. Got rid of
732         an unneeded global variable.
733
734         * html/ValidityState.h: Removed RefCounted as a base
735         class, deriving from Noncopyable instead. Changed
736         creation to use PassOwnPtr instead of PassRefPtr.
737         Eliminated unneeded control function. Added ref and
738         deref functions that forward the reference counting
739         to the control. Moved constructor here and made it
740         inline.
741
742 2010-01-15  Alexey Proskuryakov  <ap@apple.com>
743
744         Reviewed by Darin Adler.
745
746         https://bugs.webkit.org/show_bug.cgi?id=33752
747         Assertion failure when getting a href attribute with prefix
748
749         This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
750         disabled during introduction of QualifiedName, but never re-enabled.
751
752         Tests: fast/dom/bad-href-attribute.html
753                fast/dom/node-prefix-setter-namespace-exception.html
754
755         * dom/Attr.cpp: (WebCore::Attr::setPrefix):
756         * dom/Element.cpp: (WebCore::Element::setPrefix):
757         * dom/Node.cpp: (WebCore::Node::checkSetPrefix):
758         Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox
759         (DOM 3 Core spec says this behavior is implementation defined).
760
761 2010-01-16  Brady Eidson  <beidson@apple.com>
762
763         Reviewed by Darin Adler.
764
765         <rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
766         History traversals to a new document do not get the popstate event
767
768         State objects now live-on in their HistoryItem indefinitely.
769         This means any back/forward navigation might result in a popstate event, not just to 
770         pre-existing documents as was previously the case.
771
772         * history/HistoryItem.cpp:
773         (WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.
774        
775         * loader/FrameLoader.cpp:
776         (WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it
777           on to the Document after the Document is created.
778         (WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,
779           set it as the FrameLoad's pending state object.
780         * loader/FrameLoader.h:
781         
782         * page/Page.cpp:
783         (WebCore::Page::goToItem): Remove a now-invalid ASSERT.
784
785 2010-01-15  Simon Fraser  <simon.fraser@apple.com>
786
787         Reviewed by Dan Bernstein and Adele Peterson.
788
789         Support reflections on composited layers
790         https://bugs.webkit.org/show_bug.cgi?id=31885
791         
792         Implement reflections (via -webkit-box-reflect:) on compositing layers.
793         
794         We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
795         The replica layer is not parented in the tree, but referenced by another layer.
796         RenderLayerBacking sets this up when it finds RenderLayers for reflections.
797         
798         GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
799         and copying their properties, including animations and contents. Deep reflections
800         are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
801         the path down the tree to each replica instance.
802         
803         When GraphicsLayerCA properties are changed, in most cases the clones must also
804         be updated.
805
806         Tests: compositing/masks/direct-image-mask.html
807                compositing/reflections/animation-inside-reflection.html
808                compositing/reflections/compositing-change-inside-reflection.html
809                compositing/reflections/deeply-nested-reflections.html
810                compositing/reflections/masked-reflection-on-composited.html
811                compositing/reflections/nested-reflection-anchor-point.html
812                compositing/reflections/nested-reflection-animated.html
813                compositing/reflections/nested-reflection-mask-change.html
814                compositing/reflections/nested-reflection-on-overflow.html
815                compositing/reflections/nested-reflection-opacity.html
816                compositing/reflections/nested-reflection-size-change.html
817                compositing/reflections/nested-reflection-transformed.html
818                compositing/reflections/nested-reflection-transition.html
819                compositing/reflections/nested-reflection.html
820                compositing/reflections/reflection-opacity.html
821                compositing/reflections/reflection-ordering.html
822                compositing/reflections/reflection-positioning.html
823                compositing/reflections/transform-inside-reflection.html
824
825         * platform/graphics/GraphicsLayer.h:
826         (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer.
827         (WebCore::GraphicsLayer::replicatedLayerPosition):
828         (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be 
829         special-cased; we cannot just copy the position of the original.
830         (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed,
831         which gives us a chance to update clone layers.
832         (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer.
833         (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating.
834         (WebCore::GraphicsLayer::setReplicatedLayer):
835
836         * platform/graphics/GraphicsLayer.cpp:
837         (WebCore::GraphicsLayer::GraphicsLayer):
838         (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer.
839         (WebCore::GraphicsLayer::dumpProperties):
840
841         * platform/graphics/mac/GraphicsLayerCA.h:
842         (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers.
843         (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone
844         down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the
845         root of a replica tree.
846         (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.
847
848         (WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
849         down the tree during recursion, to build cloneID paths.
850
851         (WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.
852
853         * platform/graphics/mac/GraphicsLayerCA.mm:
854         (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers.
855         (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too.
856         (WebCore::GraphicsLayerCA::addChild): ditto
857         (WebCore::GraphicsLayerCA::addChildAtIndex): ditto
858         (WebCore::GraphicsLayerCA::addChildBelow): ditto
859         (WebCore::GraphicsLayerCA::addChildAbove): ditto
860         (WebCore::GraphicsLayerCA::replaceChild): ditto
861         (WebCore::GraphicsLayerCA::removeFromParent): ditto
862         (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas()
863         (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed.
864         (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto
865         (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations.
866         (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto.
867         (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged()
868         (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged()
869         (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers.
870         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
871         (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be
872             committed before we recurse on children.
873         (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be
874             committed after we recurse on children, like clones.
875         (WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
876         (WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
877         (WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
878         (WebCore::GraphicsLayerCA::updateLayerSize): ditto
879         (WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
880         (WebCore::GraphicsLayerCA::updateTransform): ditto
881         (WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
882         (WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
883         (WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
884         (WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
885         (WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
886         (WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
887         (WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
888         flattening, or CATransformLayers for preserve-3d.
889         (WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
890         (WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
891         (WebCore::GraphicsLayerCA::updateContentsImage): ditto
892         (WebCore::GraphicsLayerCA::updateContentsRect): ditto
893         (WebCore::GraphicsLayerCA::updateMaskLayer): ditto
894         (WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
895         and its children, and attach them as sublayers.
896         (WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
897         string serves to identify clones in the hash map.
898         (WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
899         and return it.
900         (WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
901         (WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
902         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
903         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
904         (WebCore::GraphicsLayerCA::suspendAnimations): update clones.
905         (WebCore::GraphicsLayerCA::resumeAnimations): ditto
906         (WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
907         (WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
908         (WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
909         (WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
910         since it doesn't just copy those properties from the original.
911         (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
912         (WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
913         the root of the clone tree.
914         (WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
915         (WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
916         (WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
917         (WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
918         (WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.
919
920         * platform/graphics/mac/WebLayer.mm:
921         (-[WebLayer display]): override -display so we know when to update the contents of clone layers
922
923         * platform/graphics/mac/WebTiledLayer.mm:
924         (-[WebTiledLayer display]): ditto.
925
926         * rendering/RenderLayer.h:
927         (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.
928
929         * rendering/RenderLayer.cpp:
930         (WebCore::RenderLayer::RenderLayer): initialize m_isReflection
931         (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection
932
933         * rendering/RenderLayerBacking.cpp:
934         (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer.
935         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection.
936         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect).
937         Also hook up updating the reflection layer geometry, and the relica position.
938         
939         (WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.
940
941         * rendering/RenderLayerCompositor.cpp:
942         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic.
943         (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected.
944         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer.
945         (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto
946         (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces
947         a reflection ancestor to composite now.
948         (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything.
949         (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode
950         for masks or reflections any more.
951         (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.
952
953         * rendering/RenderObject.h:
954         (WebCore::RenderObject::isReplica):
955         * rendering/RenderReplica.h:
956         (WebCore::RenderReplica::isReplica):
957         New method used to determine if a render is a replica.
958
959 2010-01-15  Carol Szabo  <carol.szabo@nokia.com>
960
961         Reviewed by Darin Adler.
962
963         CSS2.1 Counters not updated when new elements are inserted in the DOM.
964         https://bugs.webkit.org/show_bug.cgi?id=32884
965
966         Test: fast/css/counters/adding-nodes.html
967
968         * rendering/CounterNode.cpp:
969         (WebCore::CounterNode::insertAfter):
970         Modified to handle the addition of nodes with children. Needed when formerly 
971         root nodes become descendants of a new node.
972         * rendering/RenderCounter.cpp:
973         (WebCore::makeCounterNode):
974         Changed to handle the case when root counter nodes lose their root 
975         status as a result of a new root counter node creation. 
976         (WebCore::destroyCounterNodeWithoutMapRemoval):
977         Refactored more code into destroyCounterNodeChildren and renamed the
978         function according to its new action.
979         (WebCore::RenderCounter::destroyCounterNodes):
980         Simplified to share more code with the new destroyCounterNode.
981         (WebCore::RenderCounter::destroyCounterNode):
982         Added to allow for selective counterNode destruction.
983         (WebCore::RenderCounter::rendererSubtreeAttached):
984         Added to refresh counter values in response to DOM changes.
985         For renderers with no attached counters the execution time of this
986         function cannot be discerned in comparison with the time needed to
987         add a node or change the style of a node.
988         (WebCore::updateCounters):
989         Helper function for rendererSubtreeAttached. Updates the counters
990         attached to a Renderer in response to the renderer or its ancestors
991         being attached to the renderer tree.
992         * rendering/RenderCounter.h:
993         * rendering/RenderObject.cpp:
994         (WebCore::RenderObject::addChild):
995         Changed to update counter values if needed.
996
997 2010-01-15  Alejandro G. Castro  <alex@igalia.com>
998
999         Reviewed by Xan Lopez.
1000
1001         Original patch by David Ronis <david.ronis@mcgill.ca>
1002
1003         Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
1004         https://bugs.webkit.org/show_bug.cgi?id=33486
1005
1006         Deprecated symbols replaced for gtk+ versions over 2.18.
1007
1008         * platform/gtk/PlatformScreenGtk.cpp:
1009         (WebCore::getVisual):
1010         (WebCore::screenRect):
1011
1012 2010-01-15  Oliver Hunt  <oliver@apple.com>
1013
1014         Reviewed by Sam Weinig.
1015
1016         Bad DOM performance in large SVG files
1017         https://bugs.webkit.org/show_bug.cgi?id=30055
1018
1019         Improve the performance of the early culling check by avoiding save/restore
1020         of graphics state in culled case.
1021
1022         * rendering/RenderPath.cpp:
1023         (WebCore::RenderPath::paint):
1024
1025 2010-01-15  Eric Seidel  <eric@webkit.org>
1026
1027         No review, rolling out r53344.
1028         http://trac.webkit.org/changeset/53344
1029         https://bugs.webkit.org/show_bug.cgi?id=32920
1030
1031         Broke the Chromium Mac builder.
1032
1033         * WebCore.gypi:
1034         * bindings/scripts/CodeGeneratorV8.pm:
1035         * bindings/v8/SerializedScriptValue.cpp: Removed.
1036         * bindings/v8/SerializedScriptValue.h:
1037         (WebCore::SerializedScriptValue::create):
1038         (WebCore::SerializedScriptValue::release):
1039         (WebCore::SerializedScriptValue::toString):
1040         (WebCore::SerializedScriptValue::SerializedScriptValue):
1041         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1042         (WebCore::V8DOMWindow::postMessageCallback):
1043         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1044         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
1045         * bindings/v8/custom/V8HistoryCustom.cpp:
1046         (WebCore::V8History::pushStateCallback):
1047         (WebCore::V8History::replaceStateCallback):
1048         * bindings/v8/custom/V8MessageEventCustom.cpp:
1049         (WebCore::V8MessageEvent::initMessageEventCallback):
1050         * bindings/v8/custom/V8MessagePortCustom.cpp:
1051         (WebCore::V8MessagePort::postMessageCallback):
1052         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1053         (WebCore::V8PopStateEvent::initPopStateEventCallback):
1054         (WebCore::V8PopStateEvent::stateAccessorGetter):
1055         * bindings/v8/custom/V8WorkerCustom.cpp:
1056         (WebCore::V8Worker::postMessageCallback):
1057
1058 2010-01-15  Darin Fisher  <darin@chromium.org>
1059
1060         Reviewed by Brady Eidson.
1061
1062         history.length does not return number of elements in history list
1063         https://bugs.webkit.org/show_bug.cgi?id=24472
1064
1065         Test: fast/history/history-length.html
1066
1067         * page/Page.cpp:
1068         (WebCore::Page::getHistoryLength):
1069
1070 2010-01-15  Dmitry Titov  <dimich@chromium.org>
1071
1072         Reviewed by Darin Adler.
1073
1074         Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
1075         https://bugs.webkit.org/show_bug.cgi?id=31633
1076
1077         Don't see a way to add test for it, we don't have a way to reproduce the issue currently.
1078
1079         * dom/Document.cpp:
1080         (WebCore::DocumentWeakReference::DocumentWeakReference):
1081         (WebCore::DocumentWeakReference::document):
1082         (WebCore::DocumentWeakReference::clear):
1083         (WebCore::Document::Document): Create a weak reference to this Document.
1084         (WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
1085         (WebCore::PerformTaskContext::PerformTaskContext):
1086         (WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
1087         (WebCore::Document::postTask):
1088         * dom/Document.h:
1089         (WebCore::DocumentWeakReference::create):
1090
1091 2010-01-15  Vitaly Repeshko  <vitalyr@chromium.org>
1092
1093         Reviewed by David Levin.
1094
1095         [V8] Support SerializedScriptValue.
1096         https://bugs.webkit.org/show_bug.cgi?id=32920
1097         http://crbug.com/30620
1098
1099         Initial implementation of SerializedScriptValue which is used to
1100         to create a serialized representation of JavaScript objects.  This
1101         representation is needed for structured clones and worker messages.
1102
1103         * WebCore.gypi: Added SerializedScriptValue.cpp.
1104         * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
1105         * bindings/v8/SerializedScriptValue.cpp: Added.
1106         (WebCore::):
1107         (WebCore::ZigZag::encode):
1108         (WebCore::ZigZag::decode):
1109         (WebCore::Writer::Writer):
1110         (WebCore::Writer::writeUndefined):
1111         (WebCore::Writer::writeNull):
1112         (WebCore::Writer::writeTrue):
1113         (WebCore::Writer::writeFalse):
1114         (WebCore::Writer::writeString):
1115         (WebCore::Writer::writeInt32):
1116         (WebCore::Writer::writeNumber):
1117         (WebCore::Writer::endComposite):
1118         (WebCore::Writer::data):
1119         (WebCore::Writer::doWriteUint32):
1120         (WebCore::Writer::append):
1121         (WebCore::Writer::ensureSpace):
1122         (WebCore::Writer::fillHole):
1123         (WebCore::Writer::charAt):
1124         (WebCore::Serializer::Serializer):
1125         (WebCore::Serializer::serialize):
1126         (WebCore::Serializer::StateBase::~StateBase):
1127         (WebCore::Serializer::StateBase::nextState):
1128         (WebCore::Serializer::StateBase::setNextState):
1129         (WebCore::Serializer::StateBase::composite):
1130         (WebCore::Serializer::StateBase::StateBase):
1131         (WebCore::Serializer::State::composite):
1132         (WebCore::Serializer::State::tag):
1133         (WebCore::Serializer::State::State):
1134         (WebCore::Serializer::StackCleaner::StackCleaner):
1135         (WebCore::Serializer::StackCleaner::~StackCleaner):
1136         (WebCore::Serializer::ArrayState::ArrayState):
1137         (WebCore::Serializer::ArrayState::done):
1138         (WebCore::Serializer::ArrayState::advance):
1139         (WebCore::Serializer::ObjectState::ObjectState):
1140         (WebCore::Serializer::ObjectState::done):
1141         (WebCore::Serializer::ObjectState::advance):
1142         (WebCore::Serializer::ObjectState::nextProperty):
1143         (WebCore::Serializer::doSerialize):
1144         (WebCore::Serializer::push):
1145         (WebCore::Serializer::top):
1146         (WebCore::Serializer::pop):
1147         (WebCore::Serializer::checkComposite):
1148         (WebCore::Reader::Reader):
1149         (WebCore::Reader::isEof):
1150         (WebCore::Reader::read):
1151         (WebCore::Reader::readTag):
1152         (WebCore::Reader::readString):
1153         (WebCore::Reader::readInt32):
1154         (WebCore::Reader::readNumber):
1155         (WebCore::Reader::doReadUint32):
1156         (WebCore::Deserializer::Deserializer):
1157         (WebCore::Deserializer::deserialize):
1158         (WebCore::Deserializer::doDeserialize):
1159         (WebCore::Deserializer::push):
1160         (WebCore::Deserializer::pop):
1161         (WebCore::Deserializer::stackDepth):
1162         (WebCore::Deserializer::element):
1163         (WebCore::SerializedScriptValue::SerializedScriptValue):
1164         (WebCore::SerializedScriptValue::deserialize):
1165         * bindings/v8/SerializedScriptValue.h:
1166         (WebCore::SerializedScriptValue::create):
1167         (WebCore::SerializedScriptValue::createFromWire):
1168         (WebCore::SerializedScriptValue::release):
1169         (WebCore::SerializedScriptValue::toWireString):
1170
1171         Updated uses of SerializedScriptValue:
1172         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1173         (WebCore::V8DOMWindow::postMessageCallback):
1174         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1175         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
1176         * bindings/v8/custom/V8HistoryCustom.cpp:
1177         (WebCore::V8History::pushStateCallback):
1178         (WebCore::V8History::replaceStateCallback):
1179         * bindings/v8/custom/V8MessageEventCustom.cpp:
1180         (WebCore::V8MessageEvent::initMessageEventCallback):
1181         * bindings/v8/custom/V8MessagePortCustom.cpp:
1182         (WebCore::V8MessagePort::postMessageCallback):
1183         * bindings/v8/custom/V8WorkerCustom.cpp:
1184         (WebCore::V8Worker::postMessageCallback):
1185
1186 2010-01-15  Oliver Hunt  <oliver@apple.com>
1187
1188         Reviewed by Dirk Schulze.
1189
1190         Bad DOM performance in large SVG files
1191         https://bugs.webkit.org/show_bug.cgi?id=30055
1192
1193         Add an early return when we go to paint a RenderPath that
1194         isn't in the current clip.
1195
1196         * rendering/RenderPath.cpp:
1197         (WebCore::RenderPath::paint):
1198         * svg/graphics/SVGImage.cpp:
1199         (WebCore::SVGImage::draw):
1200
1201 2010-01-15  Steve Block  <steveblock@google.com>
1202
1203         Reviewed by Eric Seidel.
1204
1205         Make Geolocation::suspend/resume public.
1206         https://bugs.webkit.org/show_bug.cgi?id=33679
1207
1208         These were made private in Bug 32499, but are required by Android to be public.
1209
1210         No new tests, build fix only.
1211
1212         * page/Geolocation.cpp: Modified
1213         (WebCore::Geolocation::suspend): Added back in
1214         (WebCore::Geolocation::resume): Added back in
1215         * page/Geolocation.h: Modified. Make suspend and resume public
1216
1217 2010-01-15  Alexander Pavlov  <apavlov@chromium.org>
1218
1219         Reviewed by Pavel Feldman.
1220
1221         Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane
1222
1223         https://bugs.webkit.org/show_bug.cgi?id=33713
1224
1225         * inspector/front-end/inspector.css:
1226
1227 2010-01-15  Nate Chapin  <japhet@chromium.org>
1228
1229         Reviewed by Dimitri Glazkov.
1230
1231         [V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.
1232
1233         * bindings/scripts/CodeGeneratorV8.pm:
1234         * bindings/v8/V8Binding.cpp:
1235         (WebCore::getToStringName):
1236         (WebCore::constructorToString):
1237         (WebCore::getToStringTemplate):
1238         * bindings/v8/V8Binding.h:
1239         * bindings/v8/V8DOMWindowShell.cpp:
1240         (WebCore::V8DOMWindowShell::createNewContext):
1241         * bindings/v8/V8DOMWrapper.cpp:
1242         (WebCore::V8DOMWrapper::getTemplate):
1243
1244 2010-01-15  Dimitri Glazkov  <dglazkov@chromium.org>
1245
1246         No review, rolling out r53331.
1247         http://trac.webkit.org/changeset/53331
1248         https://bugs.webkit.org/show_bug.cgi?id=30055
1249
1250         Broke fast/borders/svg-as-border-image-3.html. Don't give up,
1251         Oliver! You are really, really close.
1252
1253         * rendering/RenderPath.cpp:
1254         (WebCore::RenderPath::paint):
1255
1256 2010-01-15  Oliver Hunt  <oliver@apple.com>
1257
1258         Reviewed by Nikolas Zimmermann.
1259
1260         Bad DOM performance in large SVG files
1261         https://bugs.webkit.org/show_bug.cgi?id=30055
1262
1263         Add an early return when we go to paint a RenderPath that
1264         isn't in the current clip.
1265
1266         * rendering/RenderPath.cpp:
1267         (WebCore::RenderPath::paint):
1268
1269 2010-01-15  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1270
1271         Reviewed by Antti Koivisto.
1272
1273         Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform
1274
1275         https://bugs.webkit.org/show_bug.cgi?id=33711
1276
1277         * page/NavigatorBase.cpp:
1278
1279 2010-01-14  Philippe Normand  <pnormand@igalia.com>
1280
1281         Reviewed by Xan Lopez.
1282
1283         [Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
1284         https://bugs.webkit.org/show_bug.cgi?id=33575
1285
1286         Patch from Magnus Boman <captain.magnus@gmail.com>
1287
1288         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1289         (WebCore::mimeTypeCache): fix compiler warnings.
1290
1291 2010-01-14  Mikhail Naganov  <mnaganov@chromium.org>
1292
1293         Reviewed by Timothy Hatcher.
1294
1295         Add welcome screen to Profiles pane to provide some instructions for novices.
1296
1297         https://bugs.webkit.org/show_bug.cgi?id=19268
1298
1299         * English.lproj/localizedStrings.js:
1300         * WebCore.gypi:
1301         * WebCore.vcproj/WebCore.vcproj:
1302         * inspector/front-end/ProfileView.js:
1303         (WebInspector.CPUProfileType.prototype.get welcomeMessage):
1304         * inspector/front-end/ProfilesPanel.js:
1305         (WebInspector.ProfileType.prototype.get welcomeMessage):
1306         (WebInspector.ProfilesPanel):
1307         (WebInspector.ProfilesPanel.prototype.show):
1308         (WebInspector.ProfilesPanel.prototype.registerProfileType):
1309         (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked):
1310         (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
1311         (WebInspector.ProfilesPanel.prototype.showProfile):
1312         (WebInspector.ProfilesPanel.prototype.closeVisibleView):
1313         (WebInspector.ProfilesPanel.prototype._updateInterface):
1314         * inspector/front-end/WebKit.qrc:
1315         * inspector/front-end/WelcomeView.js: Added.
1316         (WebInspector.WelcomeView):
1317         (WebInspector.WelcomeView.prototype._windowResized):
1318         (WebInspector.WelcomeView.prototype.addMessage):
1319         * inspector/front-end/inspector.css:
1320         * inspector/front-end/inspector.html:
1321
1322 2010-01-13  Girish Ramakrishnan  <girish@forwardbias.in>
1323
1324         Reviewed by Simon Hausmann.
1325
1326         [Qt/Win] Flash in QGraphicsWebView does not process hover correctly.
1327         
1328         https://bugs.webkit.org/show_bug.cgi?id=33591
1329         
1330         Mouse hover does not work as expected with the flash in some sites.
1331         - http://www.bbc.co.uk/ Hover over the map
1332         - http://www.barbie.com/ Hover over the menu items (Games, Videos)
1333         The problem appears to be that Flash queries NPNVnetscapeWindow on every
1334         mouse hover. I do not how flash uses this value but returning 0 when flash
1335         is in windowless mode solves the problem (When using QGraphicsWebView we
1336         inject wmode opaque, thereby putting the plugin in windowless mode).
1337
1338         * plugins/win/PluginViewWin.cpp:
1339         (windowHandleForPageClient):
1340
1341 2010-01-15  Zoltan Horvath  <zoltan@webkit.org>
1342
1343         Reviewed by Darin Adler.
1344
1345         Allow custom memory allocation control for Peer class
1346         https://bugs.webkit.org/show_bug.cgi?id=33670
1347
1348         Inherits the following class from Noncopyable because it is 
1349         instantiated by 'new' and no need to be copyable:
1350
1351         class name - instantiated at: WebCore/'location'
1352         class Peer - websockets/WebSocketChannelClient.h:38
1353
1354         * websockets/WorkerThreadableWebSocketChannel.h:
1355
1356 2010-01-15  Zoltan Horvath  <zoltan@webkit.org>
1357
1358         Reviewed by Oliver Hunt.
1359
1360         [Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
1361         https://bugs.webkit.org/show_bug.cgi?id=33669
1362
1363         Inherits the following class from Noncopyable because it is 
1364         instantiated by 'new' and no need to be copyable:
1365
1366         class name                           - instantiated at: WebCore/'location'
1367         class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254
1368
1369         * platform/graphics/qt/GraphicsContextQt.cpp:
1370
1371 2010-01-14  Darin Fisher  <darin@chromium.org>
1372
1373         Reviewed by Brady Eidson.
1374
1375         history.pushState should clear the entire forward history
1376         https://bugs.webkit.org/show_bug.cgi?id=33160
1377
1378         Test: fast/loader/stateobjects/pushstate-clears-forward-history.html
1379
1380         * history/BackForwardList.cpp:
1381         (WebCore::BackForwardList::addItem):
1382         (WebCore::BackForwardList::pushStateItem):
1383         * history/BackForwardList.h:
1384
1385 2010-01-14  Gavin Barraclough  <barraclough@apple.com>
1386
1387         Rubber stamped by Sam Weinig.
1388
1389         Make naming & behaviour of UString[Impl] methods more consistent.
1390         https://bugs.webkit.org/show_bug.cgi?id=33702
1391
1392         WebCore change reflecting UString method name change computedHash() -> existingHash().
1393
1394         * platform/text/AtomicString.cpp:
1395         (WebCore::AtomicString::add):
1396         (WebCore::AtomicString::find):
1397
1398 2010-01-14  Dan Bernstein  <mitz@apple.com>
1399
1400         Reviewed by Simon Fraser.
1401
1402         <rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar
1403         https://bugs.webkit.org/show_bug.cgi?id=19650
1404
1405         * platform/graphics/GeneratedImage.cpp:
1406         (WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(),
1407         letting the generator substitute the parameters with visually-equivalent values that
1408         are more efficient.
1409         * platform/graphics/Generator.h:
1410         (WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation
1411         that does nothing.
1412         * platform/graphics/Gradient.cpp:
1413         (WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal
1414         or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile.
1415         * platform/graphics/Gradient.h:
1416
1417 2010-01-14  Norbert Leser  <norbert.leser@nokia.com>
1418
1419         Reviewed by Laszlo Gombos.
1420
1421         Platform Symbian specific:
1422         Added time-based optimization (-Otime) and increased optimization level to -O3,
1423         conditionally for RVCT compiler (for ARM), for increasing performance
1424         (primarily affecting JavaScript execution).
1425         Default settings are -Ospace and -O2.
1426
1427         No new tests needed because no new funtionality is introduced,
1428         only potential regression on existing tests needs to be evaluated.
1429
1430         * WebCore.pro:
1431
1432 2010-01-14  Jungshik Shin  <jshin@chromium.org>
1433
1434         Unreviewed, attempted build fix on chromium.
1435
1436         Fix a Chromium build failure due to an unused variable in V8 binding.(part 2)
1437
1438         * bindings/v8/V8Collection.h:
1439         (WebCore::getNamedPropertyOfCollection):
1440
1441 2010-01-14  Jungshik Shin  <jshin@chromium.org>
1442
1443         Unreviewed, attempted build fix on chromium.
1444
1445         Fix a Chromium build failure due to an unused variable in V8 binding. 
1446
1447         * bindings/v8/V8Collection.h:
1448         (WebCore::getIndexedPropertyOfCollection):
1449
1450 2010-01-14  Peter Kasting  <pkasting@google.com>
1451
1452         Unreviewed, attempted build fix.
1453
1454         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1455         (WebCore::GIFImageDecoder::haveDecodedRow):
1456
1457 2010-01-14  Peter Kasting  <pkasting@google.com>
1458
1459         Reviewed by Adam Barth.
1460
1461         Simplify image decoders by making downsampling functions available at
1462         all times, allowing much duplicated logic to be collapsed.
1463         https://bugs.webkit.org/show_bug.cgi?id=28751
1464
1465         * platform/graphics/ImageSource.cpp:
1466         (WebCore::ImageSource::setData):
1467         * platform/image-decoders/ImageDecoder.cpp:
1468         (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
1469         * platform/image-decoders/ImageDecoder.h:
1470         (WebCore::ImageDecoder::ImageDecoder):
1471         (WebCore::ImageDecoder::scaledSize):
1472         (WebCore::ImageDecoder::setMaxNumPixels):
1473         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1474         (WebCore::GIFImageDecoder::sizeNowAvailable):
1475         (WebCore::GIFImageDecoder::initFrameBuffer):
1476         (WebCore::GIFImageDecoder::haveDecodedRow):
1477         (WebCore::GIFImageDecoder::frameComplete):
1478         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1479         (WebCore::JPEGImageDecoder::setSize):
1480         (WebCore::JPEGImageDecoder::outputScanlines):
1481         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
1482         * platform/image-decoders/png/PNGImageDecoder.cpp:
1483         (WebCore::PNGImageDecoder::headerAvailable):
1484         (WebCore::PNGImageDecoder::rowAvailable):
1485
1486 2010-01-14  Jian Li  <jianli@chromium.org>
1487
1488         Reviewed by Eric Seidel.
1489
1490         [chromium] Remove obsolete CF related files from gyp build.
1491         https://bugs.webkit.org/show_bug.cgi?id=33002
1492
1493         * WebCore.gypi:
1494
1495 2010-01-14  Peter Kasting  <pkasting@google.com>
1496
1497         Reviewed by Adam Barth.
1498
1499         Decoding images to scaled output buffers resulted in garbage for
1500         no-alpha PNGs and CMYK JPEGs.
1501         https://bugs.webkit.org/show_bug.cgi?id=33624
1502         
1503         No layout test since I don't have access to a platform that scales the
1504         output buffers.
1505
1506         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1507         (WebCore::convertCMYKToRGBA):
1508         * platform/image-decoders/png/PNGImageDecoder.cpp:
1509         (WebCore::PNGImageDecoder::rowAvailable):
1510
1511 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
1512
1513         Rubber-stamped by Oliver Hunt.
1514
1515         Fix an assertion that was causing test crashes. Filed a bug
1516         about the weirdness that causes this assertion (inconsistencies 
1517         between DragOperationMove and DragOperationGeneric).
1518
1519         * dom/Clipboard.cpp:
1520         (WebCore::dragOpFromIEOp):
1521         (WebCore::Clipboard::setDestinationOperation):
1522
1523 2010-01-14  Beth Dakin  <bdakin@apple.com>
1524
1525         Reviewed by Sam Weinig.
1526
1527         Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION: 
1528         svg/css/circle-in-mask-with-shadow.svg failing pixel tests
1529         -and corresponding-
1530         <rdar://problem/7544176>
1531
1532         This change makes repaintRectInLocalCoordinates return a rect that 
1533         is -webkit-svg-shadow-aware.
1534
1535         * rendering/RenderPath.cpp:
1536         (WebCore::RenderPath::repaintRectInLocalCoordinates):
1537         * rendering/RenderSVGContainer.cpp:
1538         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
1539         * rendering/RenderSVGImage.cpp:
1540         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
1541         * rendering/RenderSVGRoot.cpp:
1542         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1543         * rendering/RenderSVGText.cpp:
1544         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
1545         * rendering/SVGRenderSupport.cpp:
1546         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1547         * rendering/style/SVGRenderStyle.cpp:
1548         (WebCore::SVGRenderStyle::inflateForShadow):
1549         * rendering/style/SVGRenderStyle.h:
1550
1551 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
1552
1553         Reviewed by Adam Roben.
1554
1555         Drag and Drop source/destination code needs cleanup.
1556         <https://bugs.webkit.org/show_bug.cgi?id=33691>.
1557         
1558         Cleaned up some Drag and Drop code that deals with getting
1559         source and destination operations, and added some ASSERTS to make
1560         sure we don't get in bad states.
1561
1562         * dom/Clipboard.cpp:
1563         (WebCore::Clipboard::sourceOperation): Make this return the operation itself.
1564         (WebCore::Clipboard::destinationOperation): Ditto.
1565         (WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud.
1566         (WebCore::Clipboard::setDestinationOperation): Ditto.
1567         * dom/Clipboard.h:
1568         * page/DragController.cpp:
1569         (WebCore::DragController::tryDHTMLDrag):
1570         * page/EventHandler.cpp:
1571         (WebCore::EventHandler::handleDrag):
1572
1573 2010-01-14  Timothy Hatcher  <timothy@apple.com>
1574
1575         Make the Web Inspector's JavaScript debugger work with isolated worlds.
1576         Console evaluation is not performed in the correct world yet, tracked
1577         by bug http://webkit.org/b/33692.
1578
1579         http://webkit.org/b/33690
1580
1581         Reviewed by Adam Roben.
1582
1583         * bindings/js/ScriptCachedFrameData.cpp:
1584         (WebCore::ScriptCachedFrameData::restore): Attach the debugger to
1585         any window shell, not just for the debugger world.
1586         * bindings/js/ScriptController.cpp:
1587         (WebCore::ScriptController::clearWindowShell): Detach the debugger, and
1588         reattach to all window shells, not just for the debugger world.
1589         (WebCore::ScriptController::initScript): Attach the debugger to
1590         any window shell, not just for the debugger world.
1591         (WebCore::ScriptController::attachDebugger): Changed to loop through
1592         all the window shells and call the new overloaded attachDebugger.
1593         (WebCore::ScriptController::attachDebugger): Added. An overload that
1594         takes a window shell to attach the debugger to. Has most of the
1595         logic from the original attachDebugger.
1596         * bindings/js/ScriptController.h: Added the new attachDebugger.
1597
1598 2010-01-14  Adam Roben  <aroben@apple.com>
1599
1600         Make Cache::requestResource return 0 if the resource's load fails
1601         immediately
1602
1603         Fixes <rdar://problem/7543406> <http://webkit.org/b/33687>
1604         window.onload never fires if page contains a <script src=foo> whose
1605         load is cancelled by resource load delegate returning null from
1606         willSendRequest
1607
1608         Test: fast/loader/onload-willSendRequest-null-for-script.html
1609
1610         Reviewed by Dave Hyatt.
1611
1612         * loader/Cache.cpp:
1613         (WebCore::Cache::requestResource): Moved code to handle immediate load
1614         failure out of the "cache is disabled" block so that it will run even
1615         when the cache is enabled.
1616
1617 2010-01-14  Stephen White  <senorblanco@chromium.org>
1618
1619         Reviewed by mitz@webkit.org.
1620
1621         Fix for crash with gradient on table cell.  Pass the correct
1622         background object down to
1623         RenderBoxModelObject::paintFillLayerExtended().  This also allowed a
1624         rework of the fix to bug 18445 by passing the correct RenderObject
1625         from RenderBox::paintRootBoxDecorations() down to
1626         RenderBoxModelObject::paintFillLayerExtended().
1627         https://bugs.webkit.org/show_bug.cgi?id=28426
1628
1629         Covered by new layout test:  LayoutTests/fast/gradients/crash-on-tr.html
1630
1631         * rendering/RenderBox.cpp:
1632         (WebCore::RenderBox::paintFillLayers):
1633         (WebCore::RenderBox::paintFillLayer):
1634         * rendering/RenderBox.h:
1635         Plumb through the correct background RenderObject.
1636         * rendering/RenderBoxModelObject.cpp:
1637         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1638         Use the passed-in background RenderObject (if present) when painting background images.  Remove the previous fix for bug 18445.
1639         * rendering/RenderBoxModelObject.h:
1640         Plumb through the correct background RenderObject.
1641         * rendering/RenderTableCell.cpp:
1642         Pass in the correct backgroundObject to paintFillLayers().
1643
1644         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1645
1646 2010-01-14  Nate Chapin  <japhet@chromium.org>
1647
1648         Reviewed by Dimitri Glazkov.
1649
1650         Standardize the rest of the v8 bindings on toNative() wherever possible.
1651
1652         https://bugs.webkit.org/show_bug.cgi?id=33677
1653
1654         * bindings/v8/NPV8Object.cpp:
1655         (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
1656         * bindings/v8/NPV8Object.h:
1657         * bindings/v8/ScriptController.cpp:
1658         * bindings/v8/V8Collection.cpp:
1659         * bindings/v8/V8Collection.h:
1660         (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
1661         * bindings/v8/V8DOMWindowShell.cpp:
1662         * bindings/v8/V8DOMWrapper.cpp:
1663         * bindings/v8/V8DOMWrapper.h:
1664         * bindings/v8/V8NPObject.cpp:
1665         * bindings/v8/V8Proxy.cpp:
1666         * bindings/v8/V8SVGPODTypeWrapper.h:
1667         * bindings/v8/WorkerContextExecutionProxy.cpp:
1668
1669 2010-01-14  Evan Stade  <estade@chromium.org>
1670
1671         Reviewed by Eric Seidel.
1672
1673         Chromium Linux: don't stretch checkboxes
1674         https://bugs.webkit.org/show_bug.cgi?id=28631
1675
1676         Make the default size for checkboxes/radio buttons also the maximum
1677         size.
1678
1679         Based on patch by Adam Langley.
1680
1681         Test: fast/css/non-standard-checkbox-size.html
1682
1683         * rendering/RenderThemeChromiumSkia.cpp:
1684         (WebCore::center):
1685         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
1686         (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
1687         (WebCore::RenderThemeChromiumSkia::paintRadio):
1688
1689 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
1690
1691         Reviewed by Adam Roben.
1692
1693         Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.
1694         
1695         Now that dropEffect and effectAllowed are guaranteed to not be
1696         null, change null checks into asserts to make sure we are returning
1697         a proper DragOperation value.
1698
1699         * dom/Clipboard.cpp:
1700         (WebCore::Clipboard::sourceOperation): Change null check to assert.
1701         (WebCore::Clipboard::destinationOperation): Ditto.
1702
1703 2010-01-14  Brian Weinstein  <bweinstein@apple.com>
1704
1705         Reviewed by Oliver Hunt.
1706
1707         [DnD] effectAllowed and dropEffect can be set to bogus values.
1708         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.
1709         
1710         Test to make aure dropEffect and effectAllowed are being set to valid values
1711         when they are being set (list of valid values given by HTML5 specification).
1712         
1713         Also, drive by change to initialize dropEffect to none (as described in spec).
1714
1715         Test: fast/events/bogus-dropEffect-effectAllowed.html
1716
1717         * dom/Clipboard.cpp:
1718         (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
1719         (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
1720         (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.
1721
1722 2010-01-14  Kent Hansen  <kent.hansen@nokia.com>
1723
1724         Reviewed by Darin Adler.
1725
1726         Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
1727         https://bugs.webkit.org/show_bug.cgi?id=33371
1728
1729         RuntimeObjectImp should not reimplement getPropertyNames();
1730         move the implementation to getOwnPropertyNames().
1731
1732         * bridge/runtime_object.cpp:
1733         (JSC::RuntimeObjectImp::getOwnPropertyNames):
1734         * bridge/runtime_object.h:
1735
1736 2010-01-14  Kwang Yul Seo  <skyul@company100.net>
1737
1738         Reviewed by Alexey Proskuryakov.
1739
1740         Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
1741         https://bugs.webkit.org/show_bug.cgi?id=33665
1742
1743         TransformSource is available only when ENABLE(XSLT) guard is true.
1744
1745         * dom/TransformSourceLibxslt.cpp:
1746
1747 2010-01-14  Adam Roben  <aroben@apple.com>
1748
1749         Treat all synchronous loads equally in FrameLoader::loadSubframe
1750
1751         Only loads of the empty URL or about:blank were being treated as
1752         synchronous loads. But other loads can be synchronous (e.g., when we
1753         receive a null ResourceRequest from requestFromDelegate or when a
1754         policy decision of "ignore" is made). We now treat those loads the
1755         same way we treated empty URLs and about:blank.
1756
1757         Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
1758         window.onload never fires if page contains an <iframe> with a bad
1759         scheme or whose load is cancelled by returning null from resource load
1760         delegate's willSendRequest
1761
1762         Tests: fast/loader/onload-bad-scheme-for-frame.html
1763                fast/loader/onload-policy-ignore-for-frame.html
1764                fast/loader/onload-willSendRequest-null-for-frame.html
1765
1766         Reviewed by Brady Eidson.
1767
1768         * loader/FrameLoader.cpp:
1769         (WebCore::FrameLoader::loadSubframe):
1770           - Detect synchronous loads by checking the subframe's loader's
1771             state, rather than by checking its URL
1772           - Removed unnecessary call to completed(), since checkCompleted()
1773             will call completed() if needed (the call to completed() was added
1774             first and wasn't removed when the call to checkCompleted() was
1775             added in r8316)
1776           - Added more comments about the strange thing this function does
1777             with the subframe's loader
1778
1779 2010-01-14  Diego Gonzalez  <diego.gonzalez@openbossa.org>
1780
1781         Reviewed by Kenneth Christiansen.
1782
1783         [Qt] Missing fileSystemPath() method in Qt KURL implementation
1784         https://bugs.webkit.org/show_bug.cgi?id=33614
1785
1786         No new tests.
1787
1788         * platform/qt/KURLQt.cpp:
1789         (WebCore::KURL::fileSystemPath):
1790
1791 2010-01-13  Alexey Proskuryakov  <ap@apple.com>
1792
1793         Reviewed by Brady Eidson.
1794
1795         https://bugs.webkit.org/show_bug.cgi?id=33652
1796         REGRESSION: Frames stop appearing after browsing for a while
1797
1798         <rdar://problem/7308312> REGRESSION: iBench gets slower after several runs
1799
1800         I do not know how not creating renderers for frames could make iBench slower, but it did.
1801
1802         Test: fast/frames/cached-frame-counter.html
1803
1804         * history/CachedFrame.cpp:
1805         (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page,
1806         so decrement frame count here.
1807         (WebCore::CachedFrame::open): Increase frame count when a frame is restored.
1808
1809         * history/CachedFrame.h: Remove unneeded forward declarations.
1810
1811         * history/CachedPage.h: Ditto.
1812
1813         * history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is
1814         zero prior to restoring a page from b/f cache.
1815         
1816         * page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to
1817         check that frame count stored in Page matches the number of frames in frame tree.
1818
1819         * page/Page.h:
1820         (WebCore::Page::decrementFrameCount): Assert that frame count is positive.
1821         (WebCore::Page::frameCount): Call checkFrameCountConsistency().
1822
1823 2010-01-14  Steve Falkenburg  <sfalken@apple.com>
1824
1825         Windows build fixes.
1826         Add forward declarations and additional includes of windows.h.
1827
1828         * platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp.
1829         * platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include.
1830         * platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h.
1831         * platform/win/CursorWin.cpp: Moved destructor of SharedCursor here.
1832         (WebCore::SharedCursor::~SharedCursor): Moved here.
1833         * platform/win/EventLoopWin.cpp: Add include of windows.h.
1834         * platform/win/SystemInfo.cpp: Add include of windows.h.
1835
1836 2010-01-14  Nate Chapin  <japhet@chromium.org>
1837
1838         Reviewed by Dimitri Glazkov.
1839
1840         Switch the custom V8 bindings to use class toNative() functions.
1841
1842         Refactoring, so no new tests.
1843
1844         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1845         * bindings/v8/custom/V8AttrCustom.cpp:
1846         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1847         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1848         * bindings/v8/custom/V8ClipboardCustom.cpp:
1849         * bindings/v8/custom/V8CoordinatesCustom.cpp:
1850         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
1851         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1852         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
1853         * bindings/v8/custom/V8DatabaseCustom.cpp:
1854         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1855         * bindings/v8/custom/V8DocumentCustom.cpp:
1856         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1857         * bindings/v8/custom/V8ElementCustom.cpp:
1858         * bindings/v8/custom/V8EventCustom.cpp:
1859         * bindings/v8/custom/V8GeolocationCustom.cpp:
1860         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1861         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1862         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1863         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1864         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1865         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
1866         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1867         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
1868         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1869         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1870         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1871         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1872         * bindings/v8/custom/V8HistoryCustom.cpp:
1873         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1874         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1875         * bindings/v8/custom/V8LocationCustom.cpp:
1876         * bindings/v8/custom/V8MessageEventCustom.cpp:
1877         * bindings/v8/custom/V8MessagePortCustom.cpp:
1878         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1879         * bindings/v8/custom/V8NodeCustom.cpp:
1880         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1881         * bindings/v8/custom/V8NodeListCustom.cpp:
1882         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1883         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1884         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1885         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1886         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1887         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1888         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1889         * bindings/v8/custom/V8StorageCustom.cpp:
1890         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1891         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1892         * bindings/v8/custom/V8WebGLArrayCustom.h:
1893         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1894         * bindings/v8/custom/V8WebSocketCustom.cpp:
1895         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1896         * bindings/v8/custom/V8WorkerCustom.cpp:
1897         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1898         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1899         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1900
1901 2010-01-14  Martin Robinson  <martin.james.robinson@gmail.com>
1902
1903         Reviewed by Xan Lopez.
1904
1905         [GTK] Enable DOM clipboard and drag-and-drop access
1906         https://bugs.webkit.org/show_bug.cgi?id=30623
1907
1908         Add DataObjectGtk, a container for pasteboard and drag-and-drop data.
1909
1910         No new tests, because functionality has not changed.
1911
1912         * GNUmakefile.am:
1913         * platform/gtk/DataObjectGtk.cpp: Added.
1914         (WebCore::DataObjectGtk::text):
1915         (WebCore::DataObjectGtk::markup):
1916         (WebCore::DataObjectGtk::setText):
1917         (WebCore::DataObjectGtk::setMarkup):
1918         (WebCore::DataObjectGtk::files):
1919         (WebCore::DataObjectGtk::url):
1920         (WebCore::DataObjectGtk::urlLabel):
1921         (WebCore::DataObjectGtk::hasURL):
1922         (WebCore::DataObjectGtk::clear):
1923         (WebCore::DataObjectGtk::forClipboard):
1924         * platform/gtk/DataObjectGtk.h: Added.
1925         (WebCore::DataObjectGtk::create):
1926         (WebCore::DataObjectGtk::uriList):
1927         (WebCore::DataObjectGtk::image):
1928         (WebCore::DataObjectGtk::setRange):
1929         (WebCore::DataObjectGtk::setURIList):
1930         (WebCore::DataObjectGtk::setImage):
1931         (WebCore::DataObjectGtk::setDragContext):
1932         (WebCore::DataObjectGtk::hasText):
1933         (WebCore::DataObjectGtk::hasMarkup):
1934         (WebCore::DataObjectGtk::hasURIList):
1935         (WebCore::DataObjectGtk::hasImage):
1936         (WebCore::DataObjectGtk::dragContext):
1937
1938 2010-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
1939
1940         Reviewed by Pavel Feldman.
1941
1942         WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470.
1943         https://bugs.webkit.org/show_bug.cgi?id=33666
1944
1945         * inspector/front-end/inspector.css:
1946
1947 2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1948
1949         [Qt] Unreviewed fix of builds with the --no-svg switch.
1950
1951         * WebCore.pri:
1952
1953 2010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1954
1955         [Qt] Unreviewed build fix on Windows.
1956
1957         * platform/graphics/transforms/TransformationMatrix.h:
1958
1959 2010-01-14  Andreas Kling  <andreas.kling@nokia.com>
1960
1961         Reviewed by Kenneth Rohde Christiansen.
1962
1963         [Qt] Enable scrolling optimization for pages with embedded widgets
1964
1965         https://bugs.webkit.org/show_bug.cgi?id=33373
1966
1967         Added a basic manual test for scrolling of embedded QWidgets.
1968
1969         * manual-tests/qt/qtplugin-scrolling.html: Added.
1970         * platform/ScrollView.cpp:
1971         (WebCore::ScrollView::scrollContents):
1972         (WebCore::ScrollView::setParent):
1973         * platform/ScrollView.h:
1974         * platform/qt/ScrollViewQt.cpp:
1975         (WebCore::ScrollView::platformInit):
1976         (WebCore::ScrollView::platformAddChild):
1977         (WebCore::ScrollView::platformRemoveChild):
1978         * plugins/qt/PluginViewQt.cpp:
1979         (WebCore::PluginView::updatePluginWidget):
1980         (WebCore::PluginView::invalidateRect):
1981
1982 2009-12-09  Philippe Normand  <pnormand@igalia.com>
1983
1984         Reviewed by Xan Lopez.
1985
1986         [GStreamer] Check return values of gst_element_set_state()
1987         https://bugs.webkit.org/show_bug.cgi?id=30000
1988
1989         Check for state change failure when going from READY/NULL to
1990         PAUSED or PLAYING. Also refactored the common code of play() and
1991         pause() to a new private method of the player.
1992
1993         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1994         (WebCore::MediaPlayerPrivate::changePipelineState):
1995         (WebCore::MediaPlayerPrivate::play):
1996         (WebCore::MediaPlayerPrivate::pause):
1997         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1998
1999 2010-01-14  Eric Seidel  <eric@webkit.org>
2000
2001         No review, rolling out r53248.
2002         http://trac.webkit.org/changeset/53248
2003         https://bugs.webkit.org/show_bug.cgi?id=32641
2004
2005         Caused 2 tests to crash on various bots:
2006         fast/dom/HTMLSelectElement/listbox-select-reset.html and
2007         fast/forms/listbox-typeahead-scroll.html
2008
2009         * dom/SelectElement.cpp:
2010         (WebCore::SelectElement::recalcStyle):
2011         (WebCore::SelectElement::setRecalcListItems):
2012         (WebCore::SelectElement::recalcListItems):
2013         (WebCore::SelectElement::restoreFormControlState):
2014         (WebCore::SelectElement::reset):
2015         (WebCore::SelectElement::typeAheadFind):
2016         * dom/SelectElement.h:
2017         * html/HTMLOptionElement.cpp:
2018         (WebCore::HTMLOptionElement::selected):
2019         (WebCore::HTMLOptionElement::insertedIntoTree):
2020         * html/HTMLSelectElement.cpp:
2021         (WebCore::HTMLSelectElement::recalcStyle):
2022         * html/HTMLSelectElement.h:
2023         * wml/WMLSelectElement.cpp:
2024         (WebCore::WMLSelectElement::recalcStyle):
2025
2026 2010-01-14  Ben Murdoch  <benm@google.com>
2027
2028         Reviewed by Darin Adler.
2029
2030         [Android] [Qt] The document.createEvent API does not support touch events.
2031         https://bugs.webkit.org/show_bug.cgi?id=33605
2032
2033         Test: fast/events/touch/create-touch-event.html
2034
2035         * dom/Document.cpp:
2036         (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied.
2037
2038 2010-01-14  James Robinson  <jamesr@chromium.org>
2039
2040         Reviewed by Alexey Proskuryakov.
2041
2042         Ensures that the 'selected' attribute of an <option> is correct
2043         https://bugs.webkit.org/show_bug.cgi?id=32641
2044
2045         Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
2046         so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.
2047
2048          Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.
2049
2050          Tests: fast/forms/HTMLOptionElement_selected2.html
2051                 fast/forms/HTMLOptionElement_selected3.html
2052
2053         * dom/SelectElement.cpp:
2054         (WebCore::SelectElement::setOptionsChangedOnRenderer):
2055         (WebCore::SelectElement::setRecalcListItems):
2056         (WebCore::SelectElement::recalcListItems):
2057         (WebCore::SelectElement::restoreFormControlState):
2058         (WebCore::SelectElement::reset):
2059         (WebCore::SelectElement::typeAheadFind):
2060         * dom/SelectElement.h:
2061         * html/HTMLOptionElement.cpp:
2062         (WebCore::HTMLOptionElement::selected):
2063         (WebCore::HTMLOptionElement::insertedIntoTree):
2064         * html/HTMLSelectElement.cpp:
2065         (WebCore::HTMLSelectElement::recalcStyle):
2066         (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
2067         * html/HTMLSelectElement.h:
2068         * wml/WMLSelectElement.cpp:
2069         (WebCore::WMLSelectElement::recalcStyle):
2070
2071 2010-01-14  Zoltan Horvath  <zoltan@webkit.org>
2072
2073         Reviewed by Oliver Hunt.
2074
2075         [Qt] Allow custom memory allocation control for TransparencyLayer class
2076         https://bugs.webkit.org/show_bug.cgi?id=33585
2077
2078         Inherits the following class from FastAllocBase because it is 
2079         instantiated by 'new':
2080
2081         class name              - instantiated at: WebCore/'location'
2082         class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906
2083
2084         * platform/graphics/qt/GraphicsContextQt.cpp:
2085
2086 2010-01-14  Zoltan Horvath  <zoltan@webkit.org>
2087
2088         Reviewed by Oliver Hunt.
2089
2090         [Qt] Allow custom memory allocation control for FontPlatformDataPrivate class
2091         https://bugs.webkit.org/show_bug.cgi?id=33583
2092
2093         Inherits the following class from Noncopyable because it is 
2094         instantiated by 'new' and no need to be copyable:
2095
2096         class name                    - instantiated at: WebCore/'location'
2097         class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70
2098
2099         * platform/graphics/qt/FontPlatformData.h:
2100
2101 2010-01-12  Philippe Normand  <pnormand@igalia.com>
2102
2103         Reviewed by Xan Lopez.
2104
2105         [GTK] un-needed seeks
2106         https://bugs.webkit.org/show_bug.cgi?id=33532
2107
2108         Avoid un-needed seeks. Don't seek at current playback position and
2109         don't update the rate if it is already set to target value.
2110
2111         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2112         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2113         (WebCore::MediaPlayerPrivate::seek):
2114         (WebCore::MediaPlayerPrivate::setRate):
2115         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
2116
2117 2010-01-14  Eric Seidel  <eric@webkit.org>
2118
2119         No review.  Tiger build fix after http://trac.webkit.org/changeset/53238.
2120
2121         Need to implement WebGLContextAttributes
2122         https://bugs.webkit.org/show_bug.cgi?id=31169
2123
2124         Fix a build break when ENABLE(3D_CANVAS) is disabled.
2125
2126         * html/HTMLCanvasElement.cpp:
2127         (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled.
2128
2129 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
2130
2131         Reviewed by Timothy Hatcher.
2132
2133         Web Inspector: use hidden text area for clipboard in order to
2134         workaround windows setData bug.
2135
2136         https://bugs.webkit.org/show_bug.cgi?id=33633
2137
2138         * inspector/front-end/TextEditor.js:
2139         (WebInspector.TextEditor):
2140         (WebInspector.TextEditor.prototype._copy):
2141         * inspector/front-end/inspector.css:
2142
2143 2010-01-13  Mads Ager  <ager@chromium.org>
2144
2145         Reviewed by Dimitri Glazkov.
2146
2147         [V8] Slow named property lookup on DOMWindow because of missing fast case
2148         https://bugs.webkit.org/show_bug.cgi?id=33584
2149
2150         Add fast case checks to V8 named property getter on DOMWindow
2151         objects.  If the property is not in the DOM there is no reason to
2152         search the DOM for all occurrences.
2153
2154         Covered by layout tests.
2155
2156         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2157         (WebCore::V8DOMWindow::namedPropertyGetter):
2158
2159 2010-01-13  Gavin Barraclough  <barraclough@apple.com>
2160
2161         Reviewed by Oliver Hunt.
2162
2163         <rdar://problem/7403736> REGRESSION (r49963,r49965): 8% Dromaeo Core DOM test regression
2164
2165         Adding isolated worlds support to the JSC bindings introduced a regression due to
2166         additional map lookups.  Add a mechanism to quickly detect that a lookup is for the
2167         'normal' world, and add fast paths to a couple of methods to check the normal world
2168         first.
2169
2170         * bindings/js/JSDOMBinding.cpp:
2171         (WebCore::Document::getWrapperCache):
2172         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2173         (WebCore::forgetDOMObject):
2174         * bindings/js/JSDOMBinding.h:
2175         (WebCore::DOMWrapperWorld::isNormal):
2176         (WebCore::WebCoreJSClientData::WebCoreJSClientData):
2177         * bindings/js/ScriptController.cpp:
2178         (WebCore::IsolatedWorld::IsolatedWorld):
2179         * dom/Document.cpp:
2180         (WebCore::Document::Document):
2181         (WebCore::Document::createWrapperCache):
2182         * dom/Document.h:
2183
2184 2010-01-13  Kenneth Russell  <kbr@google.com>
2185
2186         Reviewed by Oliver Hunt.
2187
2188         Need to implement WebGLContextAttributes
2189         https://bugs.webkit.org/show_bug.cgi?id=31169
2190
2191         Added the WebGLContextAttributes class and custom JavaScript
2192         bindings to accept a native object as the second argument to
2193         getContext("experimental-webgl") per the WebGL specification.
2194         Added GraphicsContext3D::Attributes struct to isolate DOM and
2195         graphics layers. Added getContextAttributes() to
2196         WebGLRenderingContext. Added test case ensuring that context
2197         attributes can be passed down and returned. Tested in Safari and
2198         Chromium. The attributes will be hooked up to the creation of the
2199         OpenGL context in bug 33416.
2200
2201         Test: fast/canvas/webgl/context-attributes.html
2202
2203         * DerivedSources.make:
2204         * WebCore.gypi:
2205         * WebCore.xcodeproj/project.pbxproj:
2206         * bindings/js/JSHTMLCanvasElementCustom.cpp:
2207         (WebCore::JSHTMLCanvasElement::getContext):
2208         * bindings/scripts/CodeGeneratorV8.pm:
2209         * bindings/scripts/IDLParser.pm:
2210         * bindings/v8/DOMData.cpp:
2211         * bindings/v8/DerivedSourcesAllInOne.cpp:
2212         * bindings/v8/V8DOMWrapper.cpp:
2213         * bindings/v8/V8Index.cpp:
2214         * bindings/v8/V8Index.h:
2215         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2216         (WebCore::V8HTMLCanvasElement::getContextCallback):
2217         * html/HTMLCanvasElement.cpp:
2218         (WebCore::HTMLCanvasElement::getContext):
2219         * html/HTMLCanvasElement.h:
2220         * html/HTMLCanvasElement.idl:
2221         * html/canvas/CanvasContextAttributes.cpp: Added.
2222         (WebCore::CanvasContextAttributes::CanvasContextAttributes):
2223         (WebCore::CanvasContextAttributes::~CanvasContextAttributes):
2224         * html/canvas/CanvasContextAttributes.h: Added.
2225         * html/canvas/WebGLContextAttributes.cpp: Added.
2226         (WebCore::WebGLContextAttributes::create):
2227         (WebCore::WebGLContextAttributes::WebGLContextAttributes):
2228         (WebCore::WebGLContextAttributes::~WebGLContextAttributes):
2229         (WebCore::WebGLContextAttributes::alpha):
2230         (WebCore::WebGLContextAttributes::setAlpha):
2231         (WebCore::WebGLContextAttributes::depth):
2232         (WebCore::WebGLContextAttributes::setDepth):
2233         (WebCore::WebGLContextAttributes::stencil):
2234         (WebCore::WebGLContextAttributes::setStencil):
2235         (WebCore::WebGLContextAttributes::antialias):
2236         (WebCore::WebGLContextAttributes::setAntialias):
2237         (WebCore::WebGLContextAttributes::premultipliedAlpha):
2238         (WebCore::WebGLContextAttributes::setPremultipliedAlpha):
2239         (WebCore::WebGLContextAttributes::attributes):
2240         * html/canvas/WebGLContextAttributes.h: Added.
2241         * html/canvas/WebGLContextAttributes.idl: Added.
2242         * html/canvas/WebGLRenderingContext.cpp:
2243         (WebCore::WebGLRenderingContext::create):
2244         (WebCore::WebGLRenderingContext::getContextAttributes):
2245         * html/canvas/WebGLRenderingContext.h:
2246         * html/canvas/WebGLRenderingContext.idl:
2247         * platform/graphics/GraphicsContext3D.h:
2248         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2249         (WebCore::GraphicsContext3D::create):
2250         (WebCore::GraphicsContext3D::GraphicsContext3D):
2251         (WebCore::GraphicsContext3D::getContextAttributes):
2252
2253 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
2254
2255         Fix Windows build.
2256
2257         * platform/graphics/cg/GraphicsContextCG.cpp:
2258
2259 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
2260
2261         Reviewed by Darin Adler.
2262
2263         Transition followed by animation fails to run the animation sometimes
2264         https://bugs.webkit.org/show_bug.cgi?id=33563
2265
2266         If a transition was closely followed by an animation, it was possible for the cleanup
2267         after the end of the transition to kill the animation.
2268         
2269         Fix this by including the keyframes name (or empty string for transitions) in the labels
2270         used to identify CAAnimations on layers.
2271         
2272         No test because this was a subtle timing issue that is hard to reproduce in a layout test.
2273
2274         * platform/graphics/mac/GraphicsLayerCA.h: Some new methods and signature changes.
2275         
2276         * platform/graphics/mac/GraphicsLayerCA.mm:
2277         (WebCore::animationIdentifier): Pass the keyframes name, since this is included in the identifier string now.
2278         (WebCore::moveAllAnimationsForProperty): Pass the keyframes name.
2279         (WebCore::GraphicsLayerCA::moveAnimationsForProperty): Try to move both transition- and animation-related
2280         CAAnimations, using the list of running animations to get the keyframe names for the latter.
2281
2282         (WebCore::GraphicsLayerCA::ensureStructuralLayer): moveAnimation renamed to moveAnimationsForProperty
2283         and takes the keyframes name.
2284
2285         (WebCore::GraphicsLayerCA::updateLayerAnimations): Pass keyframes name down (or "" for transitions).
2286         (WebCore::GraphicsLayerCA::setAnimationOnLayer): Pass keyframes name down.
2287         (WebCore::GraphicsLayerCA::removeAnimationFromLayer): Pass keyframes name down.
2288         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): Pass keyframes name down.
2289         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Pass keyframes name down.
2290
2291 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
2292
2293         Reviewed by Dan Bernstein.
2294
2295         Fix shadow drawing to do the correct computations using the base coordinate space
2296         https://bugs.webkit.org/show_bug.cgi?id=33629
2297         
2298         Shadows draw using the CGContext base CTM, so we need to convert the shadow offet
2299         and size from user CTM into into base CTM coordinates, via the matix obtained from wkGetUserToBaseCTM().
2300
2301         Test: compositing/shadows/shadow-drawing.html
2302
2303         * platform/graphics/cg/GraphicsContextCG.cpp:
2304         (WebCore::GraphicsContext::setPlatformShadow):
2305
2306 2010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
2307
2308         Reviewed by Oliver Hunt.
2309
2310         SVGClipPathElement shouldn't resolve style manually
2311         https://bugs.webkit.org/show_bug.cgi?id=33647
2312
2313         Build renderers for SVGClipPathElement, so we can query the style from the renderer
2314         instead of re-resolving style on every clip path resource invalidation.
2315
2316         * svg/SVGClipPathElement.cpp:
2317         (WebCore::SVGClipPathElement::createRenderer):
2318         (WebCore::SVGClipPathElement::canvasResource):
2319         * svg/SVGClipPathElement.h:
2320         (WebCore::SVGClipPathElement::isValid):
2321
2322 2010-01-13  Kelly Norton  <knorton@google.com>
2323
2324         Reviewed by Timothy Hatcher.
2325
2326         Web Inspector does not update the DOM tree when attributes change.
2327         https://bugs.webkit.org/show_bug.cgi?id=20162
2328
2329         * dom/Element.cpp: Moves callbacks to InspectorController directly into setAttribute
2330         and removeAttribute and removes the existing call sites. This makes it possible to
2331         see attribute modifications.
2332         (WebCore::Element::setAttribute):
2333         (WebCore::Element::dispatchAttrRemovalEvent):
2334         (WebCore::Element::dispatchAttrAdditionEvent):
2335         (WebCore::Element::removeAttribute):
2336         * inspector/front-end/DOMAgent.js:
2337         (WebInspector.DOMNode.prototype._setAttributesPayload): Clear existing attributes.
2338         (WebInspector.DOMAgent.prototype._didApplyDomChange): Updated call site and fixed style.
2339         (WebInspector.DOMAgent.prototype._attributesUpdated): Added.
2340         * inspector/front-end/ElementsPanel.js:
2341         (WebInspector.ElementsPanel.prototype._attributesUpdated): Added.
2342         (WebInspector.ElementsPanel.prototype.updateModifiedNodes): Updated call site.
2343         * inspector/front-end/ElementsTreeOutline.js: Renamed _updateTitle to updateTitle.
2344         (WebInspector.ElementsTreeElement.prototype.onattach): Updated updateTitle call site.
2345         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto.
2346         (WebInspector.ElementsTreeElement.prototype._editingCancelled): Ditto.
2347
2348 2010-01-13  Carol Szabo <carol.szabo@nokia.com>
2349
2350         Reviewed by Darin Adler.
2351
2352         CounterNode::nextInPreOrderAfterChildren(stayWithin) does not stay within.
2353         https://bugs.webkit.org/show_bug.cgi?id=33625
2354
2355         No new tests because the fix should affect strictly performance.
2356
2357         * rendering/CounterNode.cpp:
2358         (WebCore::CounterNode::nextInPreOrderAfterChildren):
2359
2360 2010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
2361
2362         Reviewed by Oliver Hunt.
2363
2364         Window size changes are not propagated down the render tree
2365         https://bugs.webkit.org/show_bug.cgi?id=33643
2366
2367         Test: svg/custom/relative-sized-content.xhtml
2368
2369         * rendering/RenderSVGContainer.cpp: Fix incorrect markParents=true usage, leading to unnecessary relayouts.
2370         (WebCore::RenderSVGContainer::layout): Use new layoutChildren() method.
2371         (WebCore::RenderSVGContainer::paint): Fix indention.
2372         * rendering/RenderSVGHiddenContainer.cpp: Fix incorrect markParents=true usage.
2373         (WebCore::RenderSVGHiddenContainer::layout): Use new layoutChildren() helper.
2374         * rendering/RenderSVGRoot.cpp: Refactor existing code to layout children in SVGRenderSupport::layoutChildren.
2375         (WebCore::RenderSVGRoot::layout): Make children relayouting depend on width/height changes, if the outermost svg uses relative viewport sizes.
2376         * rendering/SVGRenderSupport.cpp: Add central place handling child layout, skips relayouting non-relative sized children as benefit.
2377         (WebCore::SVGRenderBase::layoutChildren): This methods contains the actual changes.
2378         * rendering/SVGRenderSupport.h:
2379         * svg/SVGGElement.h: Remove dead code.
2380         * svg/SVGSVGElement.h: Make hasRelativeValues() public to remove the need for friendship declarations.
2381         * svg/SVGStyledElement.h: Change default return value for hasRelativeValues() to false, as it was intended.
2382         (WebCore::SVGStyledElement::hasRelativeValues): Make it public, to be usable from SVGRenderSupport.
2383         * svg/SVGSymbolElement.h: Remove dead code.
2384         * svg/SVGUseElement.cpp: Implement hasRelativeValues() - it was simply missing here.
2385         (WebCore::SVGUseElement::hasRelativeValues):
2386         * svg/SVGUseElement.h:
2387
2388 2010-01-13  Fumitoshi Ukai  <ukai@chromium.org>
2389
2390         Reviewed by David Levin.
2391
2392         Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
2393         https://bugs.webkit.org/show_bug.cgi?id=33581
2394
2395         unref m_workerContext when websocket is disconnected, so that avoid
2396         keeping reference to workerContext longer than worker thread runs.
2397
2398         * websockets/WorkerThreadableWebSocketChannel.cpp:
2399         (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
2400         (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
2401
2402 2010-01-12  Jon Honeycutt  <jhoneycutt@apple.com>
2403
2404         MSAA: selected, selectable, extended selectable, and multiple
2405         selectable states are not reported
2406
2407         https://bugs.webkit.org/show_bug.cgi?id=33574
2408         <rdar://problem/7536826>
2409
2410         Reviewed by Darin Adler.
2411
2412         * accessibility/AccessibilityObject.h:
2413         (WebCore::AccessibilityObject::isMultiSelectable):
2414         Use the correct function name - the function name overriden by
2415         and used in AccessiblityRenderObject.
2416
2417         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2418         (setAtkStateSetFromCoreObject):
2419         Update for function rename.
2420         (webkit_accessible_selection_select_all_selection):
2421         Ditto.
2422
2423 2010-01-13  Darin Adler  <darin@apple.com>
2424
2425         Reviewed by Dan Bernstein.
2426
2427         Move more of the selection and caret painting code from Frame to SelectionController.
2428         https://bugs.webkit.org/show_bug.cgi?id=33619
2429
2430         Helpful preparation step for a bug fix I am working on.
2431
2432         * editing/SelectionController.cpp:
2433         (WebCore::SelectionController::SelectionController): Initialize new data members.
2434         Note that m_caretVisible starts as true for the drag caret controller to match the
2435         old behavior for painting.
2436         (WebCore::SelectionController::setSelection): Changed to call selectionLayoutChanged
2437         in its new name and location.
2438         (WebCore::SelectionController::paintCaret): Added checks that were formerly done
2439         at the Frame level. Tweaked formatting and changed to use early return as well.
2440         (WebCore::SelectionController::focusedOrActiveStateChanged): Updated for call
2441         moved into this class.
2442         (WebCore::SelectionController::updateAppearance): Moved the
2443         Frame::selectionLayoutChanged function here. Had to rename it because the word
2444         "layout" is usedfor other purposes in this function.
2445         (WebCore::SelectionController::setCaretVisible): Moved here from Frame.
2446         (WebCore::SelectionController::clearCaretRectIfNeeded): Ditto.
2447         (WebCore::SelectionController::caretBlinkTimerFired): Ditto.
2448
2449         * editing/SelectionController.h: Added new functions. Moved conditional function
2450         out of class definition for clarity. Removed unneeded == and != operators.
2451         Removed unneeded use of bit fields.
2452
2453         * page/Frame.cpp: Moved functions to SelectionController.
2454         (WebCore::Frame::Frame): Removed initialization of moved data members.
2455
2456         * page/Frame.h: Removed things moved to SelectionController as well as unneeded
2457         forward declaration of Timer class template.
2458
2459         * page/FrameView.cpp:
2460         (WebCore::FrameView::layout): Updated for new location of function.
2461
2462         * rendering/RenderBlock.cpp:
2463         (WebCore::RenderBlock::paintCaret): Ditto.
2464
2465 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
2466
2467         Reviewed by Darin Adler.
2468
2469         <rdar://problem/7532544>
2470         
2471         Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
2472         be used for a shadow drawing fix.
2473
2474         * WebCore.base.exp:
2475         * platform/mac/WebCoreSystemInterface.h:
2476         * platform/mac/WebCoreSystemInterface.mm:
2477
2478 2010-01-13  Simon Fraser  <simon.fraser@apple.com>
2479
2480         Reviewed by Dan Bernstein.
2481
2482         Fix shadow drawing to do the correct computations using the base coordinate space
2483         https://bugs.webkit.org/show_bug.cgi?id=33629
2484
2485         Step 1: do some renames in setPlatformShadow():
2486             size -> offset
2487             width -> xOffset
2488             height -> yOffset
2489         
2490         * platform/graphics/cg/GraphicsContextCG.cpp:
2491         (WebCore::GraphicsContext::setPlatformShadow):
2492
2493 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
2494
2495         Reviewed by Darin Fisher.
2496
2497         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
2498         https://bugs.webkit.org/show_bug.cgi?id=33492
2499
2500         * page/Page.cpp:
2501         (WebCore::Page::sessionStorage):
2502         * storage/StorageNamespace.cpp:
2503         (WebCore::StorageNamespace::sessionStorageNamespace):
2504         * storage/StorageNamespace.h:
2505         (WebCore::StorageNamespace::~StorageNamespace):
2506
2507 2010-01-13  Dirk Schulze  <krit@webkit.org>
2508
2509         Reviewed by Beth Dakin.
2510
2511         Repaint bug dragging a star shape with a dash stroke
2512         https://bugs.webkit.org/show_bug.cgi?id=33406
2513
2514         Calculation of repaint rects for RenderPath objects was wrong. We must take the
2515         union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
2516         must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
2517         strokes.
2518
2519         Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg
2520
2521         * rendering/RenderPath.cpp:
2522         (WebCore::RenderPath::strokeBoundingBox):
2523
2524 2010-01-13  Kevin Ollivier  <kevino@theolliviers.com>
2525
2526         [wx] Build fix. Make the XFORM operator work on wx port.
2527
2528         * platform/graphics/transforms/TransformationMatrix.h:
2529         * wscript:
2530
2531 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
2532
2533         Reviewed by Timothy Hatcher.
2534
2535         Web Inspector: Introduce SourceFrame2 with basic breakpoint / execution line
2536         rendering capabilities.
2537
2538         Contains a drive-by naming fix (lineNumberOffset and lineNumberToOffset were
2539         too close to each other, but were unrelated).
2540
2541         https://bugs.webkit.org/show_bug.cgi?id=33618
2542
2543         * WebCore.gypi:
2544         * WebCore.vcproj/WebCore.vcproj:
2545         * inspector/front-end/SourceFrame2.js: Added.
2546         (WebInspector.SourceFrame2):
2547         (WebInspector.SourceFrame2.prototype.set text):
2548         (WebInspector.SourceFrame2.prototype.get executionLine):
2549         (WebInspector.SourceFrame2.prototype.set executionLine):
2550         (WebInspector.SourceFrame2.prototype.revealLine):
2551         (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
2552         (WebInspector.SourceFrame2.prototype.resize):
2553         (WebInspector.BreakpointLineNumberDecorator):
2554         (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
2555         (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
2556         (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
2557         (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
2558         (WebInspector.ExecutionLineDecorator):
2559         (WebInspector.ExecutionLineDecorator.prototype.decorate):
2560         * inspector/front-end/TextEditor.js:
2561         (WebInspector.TextEditor):
2562         (WebInspector.TextEditor.prototype.get textModel):
2563         (WebInspector.TextEditor.prototype.set readOnly):
2564         (WebInspector.TextEditor.prototype.set lineNumberDecorator):
2565         (WebInspector.TextEditor.prototype.set lineDecorator):
2566         (WebInspector.TextEditor.prototype.selectionRange):
2567         (WebInspector.TextEditor.prototype._offsetToLine):
2568         (WebInspector.TextEditor.prototype._lineToOffset):
2569         (WebInspector.TextEditor.prototype.reveal):
2570         (WebInspector.TextEditor.prototype._textChanged):
2571         (WebInspector.TextEditor.prototype._updateSize):
2572         (WebInspector.TextEditor.prototype.updateCanvasSize):
2573         (WebInspector.TextEditor.prototype._repaintAll):
2574         (WebInspector.TextEditor.prototype._paintLines):
2575         (WebInspector.TextEditor.prototype._paintLinesContinuation):
2576         (WebInspector.TextEditor.prototype.paintLineNumbers):
2577         (WebInspector.TextEditor.prototype._paintCurrentLine):
2578         (WebInspector.TextEditor.prototype._mouseDown):
2579         (WebInspector.TextEditor.prototype._caretForMouseEvent):
2580         (WebInspector.TextEditor.prototype._keyDown):
2581         (WebInspector.TextEditor.prototype._handleNavigationKey):
2582         (WebInspector.TextEditor.prototype._textInput):
2583         (WebInspector.TextEditor.prototype._updateCursor):
2584         (WebInspector.TextEditor.prototype._paintSelection):
2585         (WebInspector.TextEditor.prototype._initFont):
2586
2587 2010-01-13  Nate Chapin  <japhet@chromium.org>
2588
2589         Reviewed by Dimitri Glazkov.
2590
2591         Generate a function in the V8 bindings to convert v8 objects
2592         to native WebCore objects.
2593
2594         * bindings/scripts/CodeGeneratorV8.pm: Generate and use toNative().
2595         * bindings/v8/V8Binding.cpp: Remove manually defined conversion helprs.
2596         (WebCore::getElementStringAttr):
2597         (WebCore::setElementStringAttr):
2598         * bindings/v8/V8Binding.h: Remove manually defined conversion helprs.
2599         * bindings/v8/V8SVGPODTypeWrapper.h: Still need a manually defined coversion helper for SVGPODTypes.
2600         (WebCore::V8SVGPODTypeWrapper::toNative):
2601         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2602         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
2603         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
2604         (WebCore::V8WebGLRenderingContext::getUniformCallback):
2605
2606 2010-01-13  Brian Weinstein  <bweinstein@apple.com>
2607
2608         Reviewed by Adam Roben.
2609
2610         REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed
2611         is set (differs from HTML5).
2612         Fixes <https://bugs.webkit.org/show_bug.cgi?id=33607> and <rdar://7507114>.
2613
2614         If no effectAllowed is set in the dragStart operation, we should default to
2615         uninitialized instead of none, so the user doesn't have to manually set the
2616         effectAllowed to enable drag and drop.
2617
2618         * dom/Clipboard.cpp:
2619         (WebCore::Clipboard::Clipboard):
2620
2621 2010-01-13  Dave Hyatt  <hyatt@apple.com>
2622
2623         Reviewed by Dan Bernstein.
2624
2625         https://bugs.webkit.org/show_bug.cgi?id=32495
2626
2627         font-size:small with background-color causes text to get clipped.  Make sure to only paint within the lineTop/lineBottom of
2628         a line for quirky inline flow boxes that didn't contribute to the overall height of the line. 
2629         
2630         Added fast/backgrounds/quirks-mode-line-boxes-backgrounds.html
2631
2632         * rendering/InlineFlowBox.cpp:
2633         (WebCore::InlineFlowBox::computeVerticalOverflow):
2634         (WebCore::InlineFlowBox::paintBoxDecorations):
2635         (WebCore::InlineFlowBox::paintMask):
2636
2637 2010-01-13  Dumitru Daniliuc  <dumi@chromium.org>
2638
2639         Reviewed by Darin Adler.
2640
2641         Refactoring DatabaseAuthorizer to use a CaseFoldingHash function
2642         for the set of whitelisted sqlite functions, and fixing some
2643         indenting issues.
2644
2645         https://bugs.webkit.org/show_bug.cgi?id=33612
2646
2647         * storage/DatabaseAuthorizer.cpp:
2648         (WebCore::DatabaseAuthorizer::allowFunction):
2649         * storage/DatabaseAuthorizer.h:
2650
2651 2010-01-13  Carol Szabo  <carol.szabo@nokia.com>
2652
2653         Reviewed by Darin Adler.
2654
2655         RenderObject::nextInPreOrderAfterChildren(RenderObject* stayWithin) does not stay within
2656         https://bugs.webkit.org/show_bug.cgi?id=33600
2657
2658         No new tests as this fix affects mainly performance.
2659         No test has been found yet that could evidence the bug in the layout
2660         of a page, but the fix to bug 32884 exposes this bug on some pages
2661         such as http://www.w3.org/Style/CSS/Test/CSS2.1/current/html4/counters-scope-implied-001.htm
2662
2663         * rendering/RenderObject.cpp:
2664         (WebCore::RenderObject::nextInPreOrderAfterChildren):
2665
2666 2010-01-13  Jeremy Orlow  <jorlow@chromium.org>
2667
2668         No reviewer.  More or less a build fix.  My 53180 broke some 
2669         stuff on the Chromium port so I'm reverting.
2670
2671         * page/Page.cpp:
2672         (WebCore::Page::sessionStorage):
2673         * storage/StorageNamespace.cpp:
2674         (WebCore::StorageNamespace::sessionStorageNamespace):
2675         * storage/StorageNamespace.h:
2676         (WebCore::StorageNamespace::~StorageNamespace):
2677
2678 2010-01-13  Steve Block  <steveblock@google.com>
2679
2680         Update appendClassName in jni_runtime.cpp to use WebCore::StringBuilder, rather than JSC::StringBuilder.
2681         https://bugs.webkit.org/show_bug.cgi?id=33586
2682
2683         Avoiding the JSC version of StringBuilder allows this file to be used with both JSC and V8 on Android.
2684
2685         No new tests, refactoring only.
2686
2687         * bridge/jni/jni_runtime.cpp: Modified.
2688         (JavaMethod::signature): Modified. Use WebCore::StringBuilder.
2689
2690 2010-01-13  Kent Hansen  <kent.hansen@nokia.com>
2691
2692         Reviewed by Timothy Hatcher.
2693
2694         Some objects in the global scope are not completed
2695         https://bugs.webkit.org/show_bug.cgi?id=19119
2696
2697         Use Object.getOwnPropertyNames instead of for-in to provide completions, since
2698         Object.getOwnPropertyNames reports both enumerable and non-enumerable properties.
2699
2700         * inspector/front-end/InjectedScript.js:
2701         (InjectedScript._getPropertyNames):
2702         (InjectedScript.getCompletions):
2703
2704 2010-01-13  Ben Murdoch  <benm@google.com>
2705
2706         Reviewed by Simon Hausmann.
2707
2708         [Android] [Qt] The JSC ScriptController does not consider Touch Events user gestures.
2709         https://bugs.webkit.org/show_bug.cgi?id=33597
2710
2711         * bindings/js/ScriptController.cpp:
2712         (WebCore::ScriptController::processingUserGestureEvent): Add the touch event types (touchstart, touchmove and touchend) to the set of events that are considered user gestures.
2713
2714 2010-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
2715
2716         Rubber-stamped by Tor Arne Vestbø.
2717
2718         [Qt] REGRESSION(53187) Touchevent related tests fail
2719
2720         https://bugs.webkit.org/show_bug.cgi?id=33602
2721
2722         Pass the ENABLE_TOUCH_EVENTS to the IDL generators.
2723
2724         * WebCore.pri:
2725
2726 2010-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
2727
2728         Reviewed by Pavel Feldman.
2729
2730         WebInspector: Timeline panel scrolling speed can be increased.
2731         https://bugs.webkit.org/show_bug.cgi?id=33579
2732
2733         * inspector/front-end/TimelinePanel.js:
2734         (WebInspector.TimelinePanel):
2735         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
2736         (WebInspector.TimelinePanel.prototype._refresh):
2737         (WebInspector.TimelinePanel.prototype._refreshRecords):
2738
2739 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2740
2741         Reviewed by Simon Hausmann.
2742
2743         [Qt] Split the build process in two different .pro files.
2744         This allows qmake to be run once all source files are available.
2745
2746         * DerivedSources.pro: Added.
2747         * WebCore.pri: Added. Contains common logic between source generation and compilation.
2748         * WebCore.pro: Moved source generation to DerivedSources.pro.
2749
2750 2010-01-13  Pavel Feldman  <pfeldman@chromium.org>
2751
2752         Reviewed by Timothy Hatcher.
2753
2754         Web Inspector: Scrolling editor to the 20Kth line is not smooth.
2755
2756         https://bugs.webkit.org/show_bug.cgi?id=33587
2757
2758         * inspector/front-end/TextEditor.js:
2759         (WebInspector.TextEditor):
2760         (WebInspector.TextEditor.prototype._textChanged):
2761         (WebInspector.TextEditor.prototype._highlightChanged):
2762         (WebInspector.TextEditor.prototype._paintLinesContinuation):
2763         * inspector/front-end/TextEditorHighlighter.js:
2764         (WebInspector.TextEditorHighlighter):
2765         (WebInspector.TextEditorHighlighter.prototype.highlight):
2766         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
2767         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
2768         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
2769         (WebInspector.TextEditorHighlighter.prototype._lex):
2770         * inspector/front-end/TextEditorModel.js:
2771         (WebInspector.TextEditorModel.prototype._setLine):
2772         (WebInspector.TextEditorModel.prototype.setAttribute):
2773         (WebInspector.TextEditorModel.prototype.getAttribute):
2774         (WebInspector.TextEditorModel.prototype.removeAttribute):
2775
2776 2010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2777
2778         Reviewed by Simon Hausmann.
2779
2780         [Qt] Fix the build on Windows.
2781
2782         PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM.
2783
2784         * WebCore.pro: Build TransformationMatrixWin.cpp.
2785         * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM.
2786
2787 2010-01-13  Miikka Heikkinen <miikka.heikkinen@digia.com>
2788
2789         Reviewed by Simon Hausmann.
2790
2791         [Qt/Symbian] Added missing vendor information to qtwebkit.sis
2792
2793         This information is necessary to Symbian sign the package.
2794
2795         http://bugreports.qt.nokia.com/browse/QTBUG-7290
2796
2797         * WebCore.pro:
2798
2799 2010-01-11  Jeremy Orlow  <jorlow@chromium.org>
2800
2801         Reviewed by Darin Fisher.
2802
2803         [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
2804         https://bugs.webkit.org/show_bug.cgi?id=33492
2805
2806         * page/Page.cpp:
2807         (WebCore::Page::sessionStorage):
2808         * storage/StorageNamespace.cpp:
2809         (WebCore::StorageNamespace::sessionStorageNamespace):
2810         * storage/StorageNamespace.h:
2811         (WebCore::StorageNamespace::~StorageNamespace):
2812
2813 2010-01-12  Dumitru Daniliuc  <dumi@chromium.org>
2814
2815         Reviewed by Adam Barth.
2816
2817         Adding a list of whitelisted sqlite functions that users are
2818         allowed to use.
2819
2820         https://bugs.webkit.org/show_bug.cgi?id=33549
2821
2822         * platform/sql/SQLiteDatabase.cpp:
2823         (WebCore::SQLiteDatabase::authorizerFunction):
2824         * storage/DatabaseAuthorizer.cpp:
2825         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
2826         (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
2827         (WebCore::DatabaseAuthorizer::allowFunction):
2828         * storage/DatabaseAuthorizer.h:
2829
2830 2010-01-12  Fumitoshi Ukai  <ukai@chromium.org>
2831
2832         Reviewed by Simon Hausmann.
2833
2834         [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed
2835         https://bugs.webkit.org/show_bug.cgi?id=33077
2836
2837         * WebCore.pro:
2838         * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp.
2839         * platform/network/qt/SocketStreamHandleSoup.cpp: Removed.
2840
2841 2010-01-12  Simon Fraser  <simon.fraser@apple.com>
2842
2843         Reviewed by Dan Bernstein.
2844
2845         position:fixed and transform on same element breaks fixed behavior
2846         https://bugs.webkit.org/show_bug.cgi?id=31283
2847
2848         Fix interactions of transforms and fixed positioning, namely that fixed position
2849         elements with a transformed ancestor are positioned relative to that ancestor,
2850         and an element with both a transform and fixed position respects that positioning.
2851         
2852         Test: transforms/2d/transform-fixed-container.html
2853
2854         * rendering/RenderBox.cpp:
2855         (WebCore::RenderBox::mapLocalToContainer):
2856         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
2857         Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors,
2858         but only if the transformed element is not itself fixed.
2859         
2860         * rendering/RenderLayer.cpp:
2861         (WebCore::RenderLayer::convertToLayerCoords):
2862         Fix this method to behave correctly for fixed position layers whose container is not
2863         the root, but some other (probably transformed) ancestor. In that case, we can fall into
2864         the "position: absolute" code path.
2865
2866 2010-01-12  Tony Chang  <tony@chromium.org>
2867
2868         Reviewed by Adam Barth.
2869
2870         Fix an assert being triggered by how the Chromium port sets the
2871         replacing flag for error pages.  This was caused by r53143.
2872
2873         Covered by existing Chromium UI tests.
2874
2875         * loader/FrameLoader.cpp:
2876         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2877
2878 2010-01-12  Kent Hansen  <kent.hansen@nokia.com>
2879
2880         Reviewed by Geoffrey Garen.
2881
2882         [ES5] Implement Object.getOwnPropertyNames
2883         https://bugs.webkit.org/show_bug.cgi?id=32242
2884
2885         Add new argument to reimplementations of getPropertyNames()
2886         and getOwnPropertyNames(), and update the JS bindings generator.
2887
2888         Test: fast/js/Object-getOwnPropertyNames.html
2889
2890         * bindings/js/JSDOMWindowCustom.cpp:
2891         (WebCore::JSDOMWindow::getPropertyNames):
2892         (WebCore::JSDOMWindow::getOwnPropertyNames):
2893         * bindings/js/JSDOMWindowShell.cpp:
2894         (WebCore::JSDOMWindowShell::getPropertyNames):
2895         (WebCore::JSDOMWindowShell::getOwnPropertyNames):
2896         * bindings/js/JSDOMWindowShell.h:
2897         * bindings/js/JSHistoryCustom.cpp:
2898         (WebCore::JSHistory::getOwnPropertyNames):
2899         * bindings/js/JSLocationCustom.cpp:
2900         (WebCore::JSLocation::getOwnPropertyNames):
2901         * bindings/js/JSQuarantinedObjectWrapper.cpp:
2902         (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
2903         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
2904         * bindings/js/JSQuarantinedObjectWrapper.h:
2905         * bindings/js/JSStorageCustom.cpp:
2906         (WebCore::JSStorage::getOwnPropertyNames):
2907         * bindings/scripts/CodeGeneratorJS.pm:
2908         * bridge/runtime_array.cpp:
2909         (JSC::RuntimeArray::getOwnPropertyNames):
2910         * bridge/runtime_array.h:
2911         * bridge/runtime_object.cpp:
2912         (JSC::RuntimeObjectImp::getPropertyNames):
2913         (JSC::RuntimeObjectImp::getOwnPropertyNames):
2914         * bridge/runtime_object.h:
2915
2916 2010-01-12  Brian Weinstein  <bweinstein@apple.com>
2917
2918         Reviewed by Dave Hyatt.
2919
2920         Safari shows an unneeded horizontal scrollbar on many websites.
2921         Fixes <rdar://6321041> and <http://webkit.org/b/33555>.
2922         
2923         If a div has no children, and its height or width are 0, we can ignore
2924         it in our calculation of lowest, rightmost, and leftmost positions. This
2925         calculation was causing horizontal scrollbars to be drawn when they weren't needed.
2926
2927         Test: fast/block/positioning/absolute-positioning-no-scrollbar.html
2928
2929         * rendering/RenderBlock.cpp:
2930         (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0.
2931         (WebCore::RenderBlock::rightmostPosition): Ditto.
2932         (WebCore::RenderBlock::leftmostPosition): Ditto.
2933
2934 2010-01-12  Alexander Pavlov  <apavlov@chromium.org>
2935
2936         Reviewed by Timothy Hatcher.
2937
2938         Optimize WebInspector.TimelineGrid.prototype.updateDividers()
2939
2940         DOM element property access and modification are slow and should be done as lazily as possible.
2941         https://bugs.webkit.org/show_bug.cgi?id=33536
2942
2943         * inspector/front-end/TimelineGrid.js:
2944         (WebInspector.TimelineGrid.prototype.updateDividers):
2945         (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
2946
2947 2010-01-12  Beth Dakin  <bdakin@apple.com>
2948
2949         Reviewed by Sam Weinig.
2950
2951         Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: -
2952         webkit-svg-shadow with opacity still over-clipped
2953
2954         We need to call inflateForShadow() on the repaintRect before we 
2955         clip for opacity or we will over-clip.
2956         * rendering/SVGRenderSupport.cpp:
2957         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2958
2959 2010-01-12  Steve Falkenburg  <sfalken@apple.com>
2960
2961         Reviewed by Sam Weinig.
2962
2963         Update all-in-one derived sources for Geolocation.
2964
2965         * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp
2966
2967 2010-01-12  Nate Chapin  <japhet@chromium.org>
2968
2969         Reviewed by Dimitri Glazkov.
2970
2971         Remove static const ints from V8CustomBinding.h
2972
2973         https://bugs.webkit.org/show_bug.cgi?id=33547
2974
2975         * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 
2976             internal field indices from lists of custom internal fields.
2977         * bindings/v8/NPV8Object.cpp:
2978         * bindings/v8/NPV8Object.h:
2979         * bindings/v8/V8Binding.cpp:
2980         * bindings/v8/V8DOMWindowShell.cpp:
2981         * bindings/v8/V8DOMWindowShell.h:
2982         * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary
2983             manually calls to setInternalFieldCount().
2984         * bindings/v8/V8DOMWrapper.h:
2985         * bindings/v8/V8Index.h:
2986         * bindings/v8/V8IsolatedContext.cpp:
2987         * bindings/v8/V8IsolatedContext.h:
2988         * bindings/v8/V8NPObject.cpp:
2989         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
2990         * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints.
2991         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
2992         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2993         * bindings/v8/custom/V8DocumentCustom.cpp:
2994         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2995         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2996         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2997         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
2998         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2999         * bindings/v8/custom/V8MessagePortCustom.cpp:
3000         * bindings/v8/custom/V8NodeCustom.cpp:
3001         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3002         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
3003         * bindings/v8/custom/V8WebSocketCustom.cpp:
3004         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3005         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3006         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3007
3008 2010-01-12  Darin Fisher  <darin@chromium.org>
3009
3010         Fixing chromium build bustage.
3011
3012         * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include.
3013
3014 2010-01-12  Darin Fisher  <darin@chromium.org>
3015
3016         Reviewed by Dimitri Glazkov.
3017
3018         Add V8 bindings for PopStateEvent.
3019         https://bugs.webkit.org/show_bug.cgi?id=33546
3020         
3021         This is covered by existing tests for PopStateEvent.
3022
3023         * WebCore.gypi:
3024         * bindings/v8/DOMObjectsInclude.h:
3025         * bindings/v8/DerivedSourcesAllInOne.cpp:
3026         * bindings/v8/V8DOMWrapper.cpp:
3027         (WebCore::V8DOMWrapper::convertEventToV8Object):
3028         * bindings/v8/V8Index.cpp:
3029         * bindings/v8/V8Index.h:
3030         * bindings/v8/custom/V8PopStateEventCustom.cpp: Added.
3031         (WebCore::V8PopStateEvent::initPopStateEventCallback):
3032         (WebCore::V8PopStateEvent::stateAccessorGetter):
3033
3034 2010-01-12  Kelly Norton  <knorton@google.com>
3035
3036         Reviewed by Timothy Hatcher.
3037
3038         Adds source length to ParseHTMLRecords in the inspector timeline.
3039         https://bugs.webkit.org/show_bug.cgi?id=33548
3040
3041         Test: inspector/timeline-parse-html.html
3042
3043         * html/HTMLTokenizer.cpp:
3044         (WebCore::HTMLTokenizer::write):
3045         * inspector/InspectorTimelineAgent.cpp:
3046         (WebCore::InspectorTimelineAgent::willWriteHTML):
3047         * inspector/InspectorTimelineAgent.h:
3048         * inspector/TimelineRecordFactory.cpp:
3049         (WebCore::TimelineRecordFactory::createParseHTMLRecord):
3050         * inspector/TimelineRecordFactory.h:
3051
3052 2010-01-12  Jungshik Shin  <jshin@chromium.org>
3053
3054         Reviewed by Darin Adler
3055
3056         https://bugs.webkit.org/show_bug.cgi?id=31597
3057
3058         Make ICU's text breakiterator and string search use Chrome's UI
3059         language instead of 'en-US' or the OS UI language.
3060
3061         As long as the webkit layout tests are run in en-US locale, there'd be 
3062         no visible change.
3063
3064         * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
3065         (UILanguage):
3066         (WebCore::currentSearchLocaleID):
3067         (WebCore::currentTextBreakLocaleID):
3068
3069 2010-01-12  Beth Dakin  <bdakin@apple.com>
3070
3071         Rubber-stamped by Dave Hyatt.
3072
3073         This patch changes the name of -webkit-shadow to -webkit-svg-shadow 
3074         to avoid giving a custom property an overly-general name.
3075         <rdar://problem/7534590>
3076
3077         * css/CSSComputedStyleDeclaration.cpp:
3078         (WebCore::):
3079         * css/CSSParser.cpp:
3080         (WebCore::CSSParser::parseShadow):
3081         * css/SVGCSSComputedStyleDeclaration.cpp:
3082         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
3083         * css/SVGCSSParser.cpp:
3084         (WebCore::CSSParser::parseSVGValue):
3085         * css/SVGCSSPropertyNames.in:
3086         * css/SVGCSSStyleSelector.cpp:
3087         (WebCore::CSSStyleSelector::applySVGProperty):
3088
3089 2010-01-12  Peter Kasting  <pkasting@google.com>
3090
3091         Not reviewed, build fix.
3092
3093         * WebCore.vcproj/WebCore.vcproj:
3094
3095 2010-01-12  Nate Chapin  <japhet@chromium.org>
3096
3097         Reviewed by Dimitri Glazkov.
3098
3099         Add a null check in case of an event handler with invalid syntax.
3100
3101         Should make fast/js/invalid-syntax--for-function.html not crash in
3102         Chromium's test shell.
3103
3104         * bindings/v8/V8LazyEventListener.cpp:
3105         (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it.
3106
3107 2010-01-12  Peter Kasting  <pkasting@google.com>
3108
3109         Reviewed by Dimitri Glazkov.
3110
3111         Remove XBM support from the open-source image decoders.
3112         https://bugs.webkit.org/show_bug.cgi?id=27823
3113
3114         * GNUmakefile.am:
3115         * WebCore.gypi:
3116         * WebCore.vcproj/WebCore.vcproj:
3117         * WebCoreSources.bkl:
3118         * platform/image-decoders/ImageDecoder.cpp:
3119         (WebCore::ImageDecoder::create):
3120         * platform/image-decoders/xbm: Removed.
3121         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed.
3122         * platform/image-decoders/xbm/XBMImageDecoder.h: Removed.
3123
3124 2010-01-12  Alexey Proskuryakov  <ap@apple.com>
3125
3126         Reviewed by Darin Adler.
3127
3128         https://bugs.webkit.org/show_bug.cgi?id=33540
3129         Make it possible to build in debug mode with assertions disabled
3130
3131         * dom/Element.cpp: (WebCore::Element::getURLAttribute):
3132         * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems):
3133         * editing/TextIterator.cpp:
3134         * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList):
3135         * rendering/RenderArena.cpp: (WebCore::RenderArena::free):
3136
3137 2010-01-12  Eric Carlson  <eric.carlson@apple.com>
3138
3139         Reviewed by Darin Adler and Simon Fraser.
3140
3141         rdar://problem/5684062
3142         https://bugs.webkit.org/show_bug.cgi?id=23094
3143         Flash of white when switching from poster image to video playback
3144         
3145         https://bugs.webkit.org/show_bug.cgi?id=23140
3146         <video> poster should scale like a video frame
3147
3148         * html/HTMLMediaElement.cpp:
3149         (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place
3150
3151         * html/HTMLVideoElement.cpp:
3152         (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster.
3153         (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo.
3154         (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we
3155             should display the poster image. renderer() is never a RenderImage, don't need to check.
3156             m_shouldShowPosterImage -> m_shouldDisplayPoster.
3157         (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster.
3158         (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since
3159             it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster.
3160         (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 
3161             display the poster as long as the attribute is valid and the media engine says it hasn't
3162             rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster.
3163         (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame
3164             is available to render.
3165         * html/HTMLVideoElement.h:
3166         (WebCore::HTMLVideoElement::poster):
3167         (WebCore::HTMLVideoElement::shouldDisplayPoster):
3168
3169         * loader/ImageLoader.cpp:
3170         (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too.
3171
3172         * manual-tests/video-player.html: Remove bit-rot from manual test so it works again.
3173
3174         * platform/graphics/MediaPlayer.cpp:
3175         (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame
3176             is available to render.
3177
3178         * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame.
3179         * platform/graphics/MediaPlayerPrivate.h: Ditto.
3180
3181         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare
3182             all bool variables to aid packing.
3183         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
3184         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup
3185             floating point initializers to match coding guidelines.
3186         (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn.
3187         (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New.
3188         (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn.
3189
3190         (WebCore::RenderImage::paintReplaced): Split part out into paint method.
3191         (WebCore::RenderImage::paint): New.
3192         * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected
3193             instead of private so RenderVideo can use them.
3194
3195         * rendering/RenderMedia.cpp:
3196         (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced
3197         (WebCore::RenderMedia::destroy): Ditto.
3198         (WebCore::RenderMedia::styleDidChange): Ditto.
3199         (WebCore::RenderMedia::layout): Ditto.
3200         (WebCore::RenderMedia::lowestPosition): Ditto.
3201         (WebCore::RenderMedia::rightmostPosition): Ditto.
3202         (WebCore::RenderMedia::leftmostPosition): Ditto.
3203         * rendering/RenderMedia.h: Declare isImage and isRenderImage.
3204
3205         * rendering/RenderVideo.cpp:
3206         (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged
3207             when displaying a poster so it is sized correctly.
3208         (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and
3209         use it when we also know the movie's intrinsic size but still need to draw the poster.
3210         (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster,
3211         use the movie's intrinsic size when drawing frames.
3212         (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster.
3213         (WebCore::RenderVideo::videoElement): New.
3214         (WebCore::RenderVideo::updatePlayer):
3215         * rendering/RenderVideo.h:
3216         (WebCore::RenderVideo::minimumReplacedHeight): Added.
3217
3218 2010-01-12  Tony Chang  <tony@chromium.org>
3219
3220         Reviewed by Maciej Stachowiak.
3221
3222         Fix a crash in Chromium when receiving multipart/x-mixed-replace data.
3223         If we stop a multipart load after ResourceLoader::didReceiveResponse
3224         but before ResourceLoader::didReceiveData, we have a NULL document
3225         loader because it has been moved back to the provisional state.  New
3226         loads that happen after this will dereference the NULL document
3227         loader.
3228
3229         Work around this by moving the provisional document loader back as
3230         the document loader when the request is stopped.
3231
3232         https://bugs.webkit.org/show_bug.cgi?id=31446
3233
3234         Test: http/tests/multipart/multipart-wait-before-boundary.html
3235
3236         * loader/FrameLoader.cpp:
3237         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3238
3239 2010-01-12  Enrica Casucci  <enrica@apple.com>
3240
3241         Reviewed by Darin Adler.
3242
3243         WebKit returns incorrect match count when first string match is on an element with user-select-none style
3244         https://bugs.webkit.org/show_bug.cgi?id=33508
3245         <rdar://problem/7482143>
3246
3247         If we use VisiblePosition to calculate the start of the new search range,
3248         we skip all the nodes with user-select-none style, producing an incorrect
3249         match count.
3250         
3251         No new tests: there are no API's available to Javascript to verify the
3252         number of matches found.
3253
3254         * page/Frame.cpp:
3255         (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous
3256         result range as the start of the new search range.
3257
3258 2010-01-12  Mikhail Naganov  <mnaganov@chromium.org>
3259
3260         Reviewed by Timothy Hatcher.
3261
3262         Changed ".sidebar" style to allow v-scroll to appear in
3263         "Profiles" panel sidebar.
3264
3265         https://bugs.webkit.org/show_bug.cgi?id=33470
3266
3267         No new tests -- no code changed.
3268
3269         * inspector/front-end/inspector.css:
3270
3271 2010-01-12  Adam Roben  <aroben@apple.com>
3272
3273         Windows accelerated compositing build fix after r53110
3274
3275         * plugins/PluginWidget.h:
3276         (WebCore::PluginWidget::platformLayer): Define platformLayer() for
3277         non-Mac platforms that have accelerated compositing turned on. It
3278         would probably be better to make PluginWidget not be used at all on
3279         non-Mac platforms, but this fix is much simpler.
3280
3281 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
3282
3283         Reviewed by Pavel Feldman.
3284
3285         Support injection of inspector scripts into the inspected context.
3286
3287         https://bugs.webkit.org/show_bug.cgi?id=33523
3288
3289         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3290         (WebCore::WeakReferenceCallback):
3291         (WebCore::createInjectedScriptHostV8Wrapper):
3292         (WebCore::createInjectedScript):
3293         (WebCore::InjectedScriptHost::injectedScriptFor):
3294
3295 2010-01-12  Ben Murdoch  <benm@google.com>
3296
3297         Reviewed by Darin Adler.
3298
3299         Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value
3300         https://bugs.webkit.org/show_bug.cgi?id=31539
3301
3302         Added manual test: manual-tests/textarea-reset-default-value.html.
3303
3304         * html/HTMLTextAreaElement.cpp:
3305         (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored.
3306         * manual-tests/resources/textarea-form-back-on-submit.html: Added.
3307         * manual-tests/textarea-reset-default-value.html: Added.
3308
3309 2010-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
3310
3311         Reviewed by Holger Freyther.
3312
3313         [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap
3314         https://bugs.webkit.org/show_bug.cgi?id=33466
3315
3316         WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a
3317         QPainterPath, which itself is a pointer to the elements (QVector).
3318         That creates unecessary allocations in PathQt.cpp.
3319
3320         Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which
3321         is a plain QPainterPath.
3322
3323         * platform/graphics/Path.h:
3324         (WebCore::Path::platformPath):
3325         * platform/graphics/qt/GraphicsContextQt.cpp:
3326         (WebCore::drawFilledShadowPath):
3327         (WebCore::GraphicsContext::fillPath):
3328         (WebCore::GraphicsContext::fillRoundedRect):
3329         (WebCore::GraphicsContext::addPath):
3330         (WebCore::GraphicsContext::clip):
3331         (WebCore::GraphicsContext::clipOut):
3332         * platform/graphics/qt/PathQt.cpp:
3333         (WebCore::Path::~Path):
3334         (WebCore::Path::operator=):
3335         (WebCore::Path::contains):
3336         (WebCore::Path::strokeContains):
3337         (WebCore::Path::translate):
3338         (WebCore::Path::boundingRect):
3339         (WebCore::Path::strokeBoundingRect):
3340         (WebCore::Path::moveTo):
3341         (WebCore::Path::addLineTo):
3342         (WebCore::Path::addQuadCurveTo):
3343         (WebCore::Path::addBezierCurveTo):
3344         (WebCore::Path::addArcTo):
3345         (WebCore::Path::closeSubpath):
3346         (WebCore::Path::addArc):
3347         (WebCore::Path::addRect):
3348         (WebCore::Path::addEllipse):
3349         (WebCore::Path::clear):
3350         (WebCore::Path::isEmpty):
3351         (WebCore::Path::debugString):
3352         (WebCore::Path::apply):
3353         (WebCore::Path::transform):
3354
3355 2010-01-12  Jakub Wieczorek  <faw217@gmail.com>
3356
3357         Reviewed by Adam Barth.
3358
3359         [Qt] XSL stylesheets can load documents from a different origin
3360
3361         https://bugs.webkit.org/show_bug.cgi?id=33423
3362
3363         * xml/XSLTProcessorQt.cpp:
3364         (WebCore::XSLTUriResolver::XSLTUriResolver):
3365         (WebCore::XSLTUriResolver::resolve):
3366         (WebCore::XSLTProcessor::transformToString):
3367
3368 2010-01-12  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3369
3370         Reviewed by Gustavo Noronha Silva.
3371
3372         https://bugs.webkit.org/show_bug.cgi?id=30883
3373         [Gtk] Implement AtkText for HTML elements which contain text
3374
3375         Tweak/correction: Eliminate a needless variable.
3376
3377         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3378         (webkit_accessible_text_get_caret_offset):
3379
3380 2010-01-12  Yury Semikhatsky  <yurys@chromium.org>
3381
3382         Reviewed by Geoffrey Garen.
3383
3384         Allow creating injected script for the inspected script state. The InjectedScript is
3385         cached on the inspected ExecState global object and will be garbage collected when the
3386         object is collected. Each InjectedScript object is assigned unique id.
3387
3388         https://bugs.webkit.org/show_bug.cgi?id=33469
3389
3390         * bindings/js/JSDOMGlobalObject.cpp:
3391         (WebCore::JSDOMGlobalObject::markChildren):
3392         (WebCore::JSDOMGlobalObject::setInjectedScript):
3393         (WebCore::JSDOMGlobalObject::injectedScript):
3394         * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a
3395         field that is not visible from the inspected code. This InjectedScript should be alive as long as
3396         the global object is alive and should be accessible from Web Inspector's native code.
3397         (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
3398         * bindings/js/JSInjectedScriptHostCustom.cpp:
3399         (WebCore::createInjectedScript): Creates injected script using the lexical global object of the
3400         inspected ScriptState. Reference to the object is stored on the global DOM object.
3401         (WebCore::InjectedScriptHost::injectedScriptFor):
3402         * inspector/InjectedScriptHost.cpp:
3403         (WebCore::InjectedScriptHost::InjectedScriptHost):
3404         (WebCore::InjectedScriptHost::injectedScriptForId):
3405         (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the
3406         the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 
3407         * inspector/InjectedScriptHost.h:
3408         (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source.
3409         The source may be loaded in a platform specific way.
3410
3411 2010-01-11  Darin Adler  <darin@apple.com>
3412
3413         Reviewed by Dan Bernstein.
3414
3415         Fix handling of unusual kana sequences in search
3416         https://bugs.webkit.org/show_bug.cgi?id=33506
3417
3418         * editing/TextIterator.cpp:
3419         (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a
3420         non-kana-letter character. This function only works for kana letters.
3421         (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to
3422         properly handle cases where one character has a shorter list of
3423         combining voiced sound marks than the other.
3424
3425 2010-01-11  Victor Wang  <victorw@chromium.org>
3426
3427         Reviewed by Dimitri Glazkov.
3428
3429         Clear m_acceptedIndexOnAbandon flag when user accepts the selected index.
3430
3431         https://bugs.webkit.org/show_bug.cgi?id=33499
3432
3433         TEST: manual-tests/chromium/onchange-reload-popup.html
3434         It should be covered by the above test. The current
3435         test shell does not support sending keyboard events to popup
3436         list so use manual test for it.
3437
3438         * platform/chromium/PopupMenuChromium.cpp:
3439         (WebCore::PopupListBox::acceptIndex):
3440
3441 2010-01-11  Gustavo Noronha Silva  <gns@gnome.org>
3442
3443         Reviewed by Eric Seidel.
3444
3445         [GTK] Debug bots crashing in plugins/iframe-shims.html
3446         https://bugs.webkit.org/show_bug.cgi?id=33472
3447
3448         Call computeOffsetInContainerNode() instead of
3449         offsetInContainerNode(), since we are not sure this is always
3450         parent-anchored.
3451
3452         plugins/iframe-shims.html no longer ASSERTS
3453
3454         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3455         (objectAndOffsetUnignored):
3456
3457 2010-01-11  Simon Fraser  <simon.fraser@apple.com>
3458
3459         Reviewed by Kevin Decker.
3460
3461         https://bugs.webkit.org/show_bug.cgi?id=33455
3462         Allows plugins to participate in accelerated compositing
3463
3464         For plugins using the CoreAnimation rendering mode, host their CALayers in the
3465         accelerated compositing layer tree.
3466         
3467         This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent
3468         a plugin using this mode.
3469         
3470         * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit.
3471         * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting.
3472
3473         * rendering/RenderEmbeddedObject.h:
3474         * rendering/RenderEmbeddedObject.cpp:
3475         (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using
3476         accelerated compositing mode.
3477         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has
3478         a layer, via PluginWidget.
3479
3480         * rendering/RenderLayer.cpp:
3481         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
3482         (WebCore::RenderLayer::isSelfPaintingLayer):
3483         RenderEmbeddedObjects should be normal flow layers, and self-painting layers.
3484         
3485         * rendering/RenderLayerBacking.cpp:
3486         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
3487         Parent the plugin's layer in the GraphicsLayer when updating the layer configuration.
3488         
3489         * rendering/RenderLayerCompositor.h:
3490         * rendering/RenderLayerCompositor.cpp:
3491         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
3492         (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
3493         RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode
3494         for the page.
3495
3496 2010-01-11  Andreas Kling  <andreas.kling@nokia.com>
3497
3498         Reviewed by Darin Adler.
3499
3500         Fixed an uninitialized PluginView member (m_mode) which wasn't
3501         set when constructed with a null PluginPackage*
3502
3503         https://bugs.webkit.org/show_bug.cgi?id=33468
3504
3505         * plugins/PluginView.cpp:
3506         (WebCore::PluginView::PluginView):
3507
3508 2010-01-11  Dirk Schulze  <krit@webkit.org>
3509
3510         Reviewed by Nikolas Zimmermann.
3511
3512         SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails
3513         https://bugs.webkit.org/show_bug.cgi?id=32201
3514
3515         This patch moves every focalPoint that lies outside the circle defined by the radial
3516         gradients central point and its radius to stay inside this circle, as demanded by the
3517         SVG 1.1 specification.
3518         We use r * 0.99 as maximum radius for the aforementioned circle, when determining where
3519         the focalPoint is lying, to achieve compatibility with Firefox.
3520
3521         * svg/SVGRadialGradientElement.cpp:
3522         (WebCore::SVGRadialGradientElement::buildGradient):
3523
3524 2010-01-11  Alexey Proskuryakov  <ap@apple.com>
3525
3526         Reviewed by Oliver Hunt.
3527
3528         https://bugs.webkit.org/show_bug.cgi?id=33493
3529         Log redirect details to Network channel
3530
3531         * platform/network/mac/ResourceHandleMac.mm:
3532         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
3533         Log response code and Location header field value. Also, removed a redundant null check.
3534
3535 2010-01-11  Beth Dakin  <bdakin@apple.com>
3536
3537         Reviewed by Oliver Hunt.
3538
3539         Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 
3540         Many SVG -webkit-shadow tests are currently failing (in the pixel 
3541         tests)
3542         -and-
3543         <rdar://problem/7501200>
3544
3545         The real fix here is to call inflateForShadow() on the repaintRect 
3546         in prepareToRenderSVGContent(). But in order to do that, I had to 
3547         move inflateForShadow() to a different class since functions in 
3548         SVGRenderBase cannot call each other. inflateForShadow() now exists 
3549         in SVGRenderStyle which I think makes some sense because a similar 
3550         function that returns a box shadow's extent exists on RenderStyle.
3551
3552         Now call inflateForShadow() through the SVGRenderStyle.
3553         * rendering/RenderForeignObject.cpp:
3554         (WebCore::RenderForeignObject::computeRectForRepaint):
3555         * rendering/RenderSVGImage.cpp:
3556         (WebCore::RenderSVGImage::computeRectForRepaint):
3557         * rendering/RenderSVGModelObject.cpp:
3558         (WebCore::RenderSVGModelObject::computeRectForRepaint):
3559         * rendering/RenderSVGRoot.cpp:
3560         (WebCore::RenderSVGRoot::computeRectForRepaint):
3561         * rendering/RenderSVGText.cpp:
3562         (WebCore::RenderSVGText::computeRectForRepaint):
3563
3564         No longer implement inflateForShadow() here.
3565         * rendering/SVGRenderSupport.cpp:
3566         (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new