c7ffb47f150c8a675a8eb2dcc94f88115c7a995c
[WebKit.git] / WebCore / ChangeLog
1 2010-04-22  Shinichiro Hamaji  <hamaji@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         REGRESSION: TextIterator may use freed memory
6         https://bugs.webkit.org/show_bug.cgi?id=37973
7
8         Added TextIterator::m_text to hold the returned String.
9
10         No new tests because there are no behavior change, but
11         copy-backslash-with-euc.html on chromium-win should test this.
12
13         * editing/TextIterator.cpp:
14         (WebCore::TextIterator::emitText):
15         * editing/TextIterator.h:
16
17 2010-04-22  Michael Forney  <mforney@mforney.org>
18
19         Reviewed by Adam Barth.
20
21         https://bugs.webkit.org/show_bug.cgi?id=37761
22
23         Only include JSDatabase.h and JSDatabaseCallback.h when database is
24         enabled. This partially fixes building with --disable-database.
25
26         * bindings/js/JSDOMWindowCustom.cpp: Add a check for database around
27         database-related headers.
28
29 2010-04-22  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
30
31         Reviewed by Darin Adler.
32
33         In HTMLInputElement.cpp, shouldUseInputMethod does not return true for
34         some text input types (TELEPHONE, NUMBER, URL, and EMAIL). Addressed
35         this by changing shouldUseInputMethod to use internal methods to 
36         check that the field is a text field that isn't a password field. 
37
38         No new tests.
39
40         Fixes <https://bugs.webkit.org/show_bug.cgi?id=37719>
41
42         * html/HTMLInputElement.cpp:
43         (WebCore::HTMLInputElement::shouldUseInputMethod):
44
45 2010-04-22  Yaar Schnitman  <yaar@chromium.org>
46
47         Reviewed by Adam Barth.
48
49         Integrate v8 testing utility with webkit tests
50         https://bugs.webkit.org/show_bug.cgi?id=37731
51
52         * bindings/v8/test/run_tests.py: Removed.
53
54 2010-04-22  Zhenyao Mo  <zmo@google.com>
55
56         Reviewed by Darin Fisher.
57
58         Add isGLES2Compliant to GraphicsContext3D
59         https://bugs.webkit.org/show_bug.cgi?id=37872
60
61         * html/canvas/WebGLRenderingContext.cpp: Add isGLES2Compliant().
62         (WebCore::WebGLRenderingContext::isGLES2Compliant):
63         * html/canvas/WebGLRenderingContext.h: Ditto.
64         * platform/graphics/GraphicsContext3D.h: Ditto.
65         * platform/graphics/mac/GraphicsContext3DMac.cpp: Ditto.
66         (WebCore::GraphicsContext3D::isGLES2Compliant):
67
68 2010-04-22  Fumitoshi Ukai  <ukai@chromium.org>
69
70         Reviewed by Adam Barth.
71
72         MD5 is required for WebSocket new protocol implementation
73         https://bugs.webkit.org/show_bug.cgi?id=37913
74
75         * ForwardingHeaders/wtf/MD5.h: Added.
76
77 2010-04-22  Alexey Proskuryakov  <ap@apple.com>
78
79         Reviewed by Darin Adler.
80
81         https://bugs.webkit.org/show_bug.cgi?id=38012
82         REGRESSION: Ctrl- and Option- shortcuts get wrong keyCode on non-QWERTY keyboard
83
84         * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Also look at unmodified
85         characters, to avoid falling through to virtual key code lookup for Roman characters.
86
87 2010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
88
89         Reviewed by Darin Adler.
90
91         Fix the MSVC 64bit build.
92         https://bugs.webkit.org/show_bug.cgi?id=37980
93
94         * platform/text/TextStream.cpp:
95         * platform/text/TextStream.h:
96         * plugins/win/PluginViewWin.cpp:
97         (WebCore::PluginView::platformStart):
98
99 2010-04-22  Dave Moore  <davemoore@chromium.org>
100
101         Reviewed by Dimitri Glazkov.
102
103         Added notification when the favicons for a page are changed
104         from a script.
105         The Document object will notify the frame loader, which will
106         notify the client. Implementations of FrameLoaderClient will
107         have to add one method; dispatchDidChangeIcons().
108
109         https://bugs.webkit.org/show_bug.cgi?id=33812
110
111         Test: fast/dom/icon-url-property.html
112
113         * dom/Document.cpp:
114         (WebCore::Document::setIconURL):
115         * loader/DocumentLoader.cpp:
116         (WebCore::DocumentLoader::setIconURL):
117         * loader/DocumentLoader.h:
118         (WebCore::DocumentLoader::iconURL):
119         * loader/EmptyClients.h:
120         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
121         * loader/FrameLoader.cpp:
122         (WebCore::FrameLoader::setIconURL):
123         (WebCore::FrameLoader::didChangeIcons):
124         * loader/FrameLoader.h:
125         * loader/FrameLoaderClient.h:
126
127 2010-04-22  Xan Lopez  <xlopez@igalia.com>
128
129         Reviewed by Gustavo Noronha.
130
131         [GTK] GObject DOM bindings
132         https://bugs.webkit.org/show_bug.cgi?id=33590
133
134         Extend the bindings to cover most of Document.idl
135
136         * GNUmakefile.am:
137         * bindings/gobject/WebKitDOMBinding.cpp:
138         (WebKit::createWrapper):
139         (WebKit::kit):
140         * bindings/gobject/WebKitDOMBinding.h:
141         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Added.
142         (WebKit::createAnchorWrapper):
143         (WebKit::createAppletWrapper):
144         (WebKit::createAreaWrapper):
145         (WebKit::createBaseWrapper):
146         (WebKit::createBaseFontWrapper):
147         (WebKit::createBlockquoteWrapper):
148         (WebKit::createBodyWrapper):
149         (WebKit::createBRWrapper):
150         (WebKit::createButtonWrapper):
151         (WebKit::createCanvasWrapper):
152         (WebKit::createTableCaptionWrapper):
153         (WebKit::createTableColWrapper):
154         (WebKit::createModWrapper):
155         (WebKit::createDirectoryWrapper):
156         (WebKit::createDivWrapper):
157         (WebKit::createDListWrapper):
158         (WebKit::createEmbedWrapper):
159         (WebKit::createFieldSetWrapper):
160         (WebKit::createFontWrapper):
161         (WebKit::createFormWrapper):
162         (WebKit::createFrameWrapper):
163         (WebKit::createFrameSetWrapper):
164         (WebKit::createHeadingWrapper):
165         (WebKit::createHeadWrapper):
166         (WebKit::createHRWrapper):
167         (WebKit::createHtmlWrapper):
168         (WebKit::createIFrameWrapper):
169         (WebKit::createImageWrapper):
170         (WebKit::createInputWrapper):
171         (WebKit::createIsIndexWrapper):
172         (WebKit::createLabelWrapper):
173         (WebKit::createLegendWrapper):
174         (WebKit::createLIWrapper):
175         (WebKit::createLinkWrapper):
176         (WebKit::createMapWrapper):
177         (WebKit::createMarqueeWrapper):
178         (WebKit::createMenuWrapper):
179         (WebKit::createMetaWrapper):
180         (WebKit::createObjectWrapper):
181         (WebKit::createOListWrapper):
182         (WebKit::createOptGroupWrapper):
183         (WebKit::createOptionWrapper):
184         (WebKit::createParagraphWrapper):
185         (WebKit::createParamWrapper):
186         (WebKit::createPreWrapper):
187         (WebKit::createQuoteWrapper):
188         (WebKit::createScriptWrapper):
189         (WebKit::createSelectWrapper):
190         (WebKit::createStyleWrapper):
191         (WebKit::createTableWrapper):
192         (WebKit::createTableSectionWrapper):
193         (WebKit::createTableCellWrapper):
194         (WebKit::createTextAreaWrapper):
195         (WebKit::createTitleWrapper):
196         (WebKit::createTableRowWrapper):
197         (WebKit::createUListWrapper):
198         (WebKit::createHTMLElementWrapper):
199         * bindings/gobject/WebKitHTMLElementWrapperFactory.h: Added.
200         * bindings/scripts/CodeGeneratorGObject.pm:
201         * dom/Node.idl:
202
203 2010-04-22  Eric Carlson  <eric.carlson@apple.com>
204
205         Reviewed by Simon Fraser.
206
207         Do not pause movie when readyState drops below HAVE_FUTURE_DATA
208         https://bugs.webkit.org/show_bug.cgi?id=37991
209         <rdar://problem/7893937>
210
211         No new tests, we don't have infrastructure in DRT to test with streamed
212         movies.
213
214         * html/HTMLMediaElement.cpp:
215         (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_readyStateMaximum.
216         (WebCore::HTMLMediaElement::prepareForLoad): Reset m_readyStateMaximum.
217         (WebCore::HTMLMediaElement::setReadyState): Maintain m_readyStateMaximum.
218         (WebCore::HTMLMediaElement::potentiallyPlaying): Also return true if the readyState was
219         previously >= HAVE_FUTURE_DATA. 
220         * html/HTMLMediaElement.h:
221
222 2010-04-22  Zhenyao Mo  <zmo@google.com>
223
224         Reviewed by Dimitri Glazkov.
225
226         Regression: framebufferRenderbuffer crashes with null renderBuffer
227         https://bugs.webkit.org/show_bug.cgi?id=37963
228
229         * html/canvas/WebGLRenderingContext.cpp:
230         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Dealing with null renderbuffer input.
231
232 2010-04-22  Zhenyao Mo  <zmo@google.com>
233
234         Reviewed by Dimitri Glazkov.
235
236         Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
237         https://bugs.webkit.org/show_bug.cgi?id=37281
238
239         * html/canvas/WebGLRenderingContext.cpp:
240         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Remove error check because two enums are supported now. 
241         (WebCore::WebGLRenderingContext::getParameter): Add two enums.
242         (WebCore::WebGLRenderingContext::readPixels): Fix a tiny bug.
243         * platform/graphics/mac/GraphicsContext3DMac.cpp:
244         (WebCore::GraphicsContext3D::getIntegerv): Emulate two enums.
245
246 2010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
247
248         Reviewed by Xan Lopez.
249
250         [GTK] Mute/unmute button on <video> elements are backwards
251         https://bugs.webkit.org/show_bug.cgi?id=33967
252
253         Fix mute/unmute buttons icons-action relation and explain why their
254         variable names and corresponding icons seem to be misleading but are
255         actually right. Original patch by Mike Hommey.
256
257         * platform/gtk/RenderThemeGtk.cpp:
258         (WebCore::RenderThemeGtk::initMediaStyling):
259
260 2010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
261
262         Reviewed by Eric Seidel.
263
264         Fix build if NPAPI support is disabled
265         https://bugs.webkit.org/show_bug.cgi?id=36621
266
267         No new tests, this is a build fix.
268         Re-submit r58043 with fix for EFL.
269
270         * plugins/PluginViewNone.cpp:
271
272 2010-04-22  Diego Escalante Urrelo  <descalante@igalia.com>
273
274         Reviewed by Xan Lopez.
275
276         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
277         WebKitGtk
278         https://bugs.webkit.org/show_bug.cgi?id=34449
279
280         Implement ATK_ROLE_COMBO_BOX.
281
282         * accessibility/gtk/AccessibilityObjectAtk.cpp:
283         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
284         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
285         (atkRole):
286
287 2010-04-22  Nikolas Zimmermann  <nzimmermann@rim.com>
288
289         Reviewed by Dirk Schulze.
290
291         SVGPaintServer needs to be converted to the new RenderSVGResource* system
292         https://bugs.webkit.org/show_bug.cgi?id=37986
293
294         No functional changes, just move the SVGPaintServer* classes from svg/graphics/ to rendering/, the new location for the RenderSVGResource* classes.
295         This is a preparation for the real patch which follows soon.
296
297         * Android.mk: Rename files and move to the right location.
298         * GNUmakefile.am: Ditto.
299         * WebCore.gypi: Ditto.
300         * WebCore.pro: Ditto.
301         * WebCore.vcproj/WebCore.vcproj: Ditto.
302         * WebCore.xcodeproj/project.pbxproj: Ditto.
303         * rendering/RenderSVGResource.cpp: Copied from svg/graphics/SVGPaintServer.cpp.
304         * rendering/RenderSVGResourceGradient.cpp: Copied from svg/graphics/SVGPaintServerGradient.cpp.
305         * rendering/RenderSVGResourceGradient.h: Copied from svg/graphics/SVGPaintServerGradient.h.
306         * rendering/RenderSVGResourceLinearGradient.cpp: Copied from svg/graphics/SVGPaintServerLinearGradient.cpp.
307         * rendering/RenderSVGResourceLinearGradient.h: Copied from svg/graphics/SVGPaintServerLinearGradient.h.
308         * rendering/RenderSVGResourcePattern.cpp: Copied from svg/graphics/SVGPaintServerPattern.cpp.
309         * rendering/RenderSVGResourcePattern.h: Copied from svg/graphics/SVGPaintServerPattern.h.
310         * rendering/RenderSVGResourceRadialGradient.cpp: Copied from svg/graphics/SVGPaintServerRadialGradient.cpp.
311         * rendering/RenderSVGResourceRadialGradient.h: Copied from svg/graphics/SVGPaintServerRadialGradient.h.
312         * rendering/RenderSVGResourceSolidColor.cpp: Copied from svg/graphics/SVGPaintServerSolid.cpp.
313         * rendering/RenderSVGResourceSolidColor.h: Copied from svg/graphics/SVGPaintServerSolid.h.
314         * rendering/SVGRenderTreeAsText.cpp: Change include file names.
315         * svg/SVGFont.cpp: Ditto.
316         * svg/SVGGradientElement.cpp: Ditto.
317         * svg/SVGGradientElement.h: Ditto.
318         * svg/SVGLinearGradientElement.cpp: Ditto.
319         * svg/SVGPatternElement.cpp: Ditto.
320         * svg/SVGPatternElement.h: Ditto.
321         * svg/SVGRadialGradientElement.cpp: Ditto.
322         * svg/graphics/SVGPaintServer.cpp: Removed.
323         * svg/graphics/SVGPaintServerGradient.cpp: Removed.
324         * svg/graphics/SVGPaintServerGradient.h: Removed.
325         * svg/graphics/SVGPaintServerLinearGradient.cpp: Removed.
326         * svg/graphics/SVGPaintServerLinearGradient.h: Removed.
327         * svg/graphics/SVGPaintServerPattern.cpp: Removed.
328         * svg/graphics/SVGPaintServerPattern.h: Removed.
329         * svg/graphics/SVGPaintServerRadialGradient.cpp: Removed.
330         * svg/graphics/SVGPaintServerRadialGradient.h: Removed.
331         * svg/graphics/SVGPaintServerSolid.cpp: Removed.
332         * svg/graphics/SVGPaintServerSolid.h: Removed.
333         * svg/graphics/SVGResourceListener.h: Removed.
334
335 2010-04-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
336
337         Reviewed by Simon Hausmann.
338
339         [Qt] Hide the OpenGL and QtMultimedia dependencies from syncqt.
340
341         This prevents the dependent headers from being included by
342         qt/include/QtWebKit/QtWebKit
343
344         * WebCore.pro:
345
346 2010-04-22  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
347
348         Reviewed by Adam Roben.
349
350         EFL does not support PluginDatabase yet.
351         http://webkit.org/b/37854
352
353         No behavior changes, so no new tests were added.
354
355         * loader/FrameLoader.cpp:
356         (WebCore::FrameLoader::defaultObjectContentType):
357
358 2010-04-22  Ilya Tikhonovsky  <loislo@chromium.org>
359
360         Reviewed by Yury Semikhatsky.
361
362         Web Inspector: Timeline scrolling speed is slow if it has more than 1k timeline marks.
363         https://bugs.webkit.org/show_bug.cgi?id=37924
364
365         * inspector/front-end/TimelineGrid.js:
366         (WebInspector.TimelineGrid.prototype.updateDividers):
367         (WebInspector.TimelineGrid.prototype.addEventDividers):
368         * inspector/front-end/TimelineOverviewPane.js:
369         (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
370         * inspector/front-end/TimelinePanel.js:
371         (WebInspector.TimelinePanel.prototype._updateEventDividers):
372         (WebInspector.TimelinePanel.prototype._refresh):
373
374 2010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
375
376         Reviewed by Simon Fraser.
377
378         Rename window.media to window.styleMedia
379         https://bugs.webkit.org/show_bug.cgi?id=36187
380
381         It has been defined that the AbstractView media extension
382         defined in the CSSOM View spec should be renamed to styleMedia.
383         This patch does that and updates the current layout tests
384         making use of it.
385
386         * page/AbstractView.idl:
387         * page/DOMWindow.cpp:
388         (WebCore::DOMWindow::styleMedia):
389         * page/DOMWindow.h:
390         * page/DOMWindow.idl:
391
392 2010-04-22  Anton Muhin  <antonm@chromium.org>
393
394         Reviewed by Adam Barth.
395
396         [v8] Do not pass empty handle into SetHiddenValue which would crash.
397         https://bugs.webkit.org/show_bug.cgi?id=37801
398
399         * bindings/v8/V8AbstractEventListener.cpp:
400         (WebCore::V8AbstractEventListener::handleEvent): add couple of asserts to check for unexpected paths
401         (WebCore::V8AbstractEventListener::invokeEventHandler): bail out of jsEvent is empty handle
402
403 2010-04-22  Stephan Aßmus  <superstippi@gmx.de>
404
405         Reviewed by David Levin.
406
407         [Haiku] Implement ImageBuffer support
408         https://bugs.webkit.org/show_bug.cgi?id=35288
409
410         Covered by existing tests.
411
412         Complete implementation of ImageBuffer for Haiku. Uses StillImage
413         class to export a WebCore::Image and associated GraphicsContext
414         to perform arbitrary drawing in the offscreen BBitmap buffer.
415
416         * platform/graphics/haiku/ImageBufferData.h:
417         * platform/graphics/haiku/ImageBufferHaiku.cpp,
418         (WebCore::ImageBufferData::ImageBufferData),
419         (WebCore::ImageBufferData::~ImageBufferData),
420         (WebCore::ImageBuffer::ImageBuffer),
421         (WebCore::ImageBuffer::~ImageBuffer),
422         (WebCore::ImageBuffer::context),
423         (WebCore::ImageBuffer::image):
424             Implementation uses offscreen BBitmap and BView, wraps StillImage
425             around those to provide WebCore::Image interface.
426         (WebCore::ImageBuffer::platformTransformColorSpace):
427         (WebCore::convertFromData):
428             Method just performs BGRA <-> RGBA conversion.
429         (WebCore::convertFromInternalData):
430             Method just performs BGRA <-> RGBA conversion and handles
431             pre-multiplying the color values if requested.
432         (WebCore::convertToInternalData):
433             Method just performs BGRA <-> RGBA conversion and handles
434             de.multiplying the color values if requested.
435         (WebCore::getImageData):
436             Common code for the next two methods.
437         (WebCore::ImageBuffer::getUnmultipliedImageData),
438         (WebCore::ImageBuffer::getPremultipliedImageData):
439             Implemented.
440         (WebCore::putImageData):
441             Common code for the next two methods.
442         (WebCore::ImageBuffer::putUnmultipliedImageData),
443         (WebCore::ImageBuffer::putPremultipliedImageData):
444             Implemented.
445         (WebCore::ImageBuffer::toDataURL):
446             Uses Haiku "Translation Kit" to convert image data to data
447             of the requested mime type.
448
449 2010-04-22  Adam Barth  <abarth@webkit.org>
450
451         Unreviewed, rolling out r58069.
452         http://trac.webkit.org/changeset/58069
453         https://bugs.webkit.org/show_bug.cgi?id=27751
454
455         Broke compile on Windows.
456
457         * WebCore.base.exp:
458         * editing/EditorCommand.cpp:
459         (WebCore::supportedPaste):
460         (WebCore::createCommandMap):
461         * page/Settings.cpp:
462         (WebCore::Settings::Settings):
463         * page/Settings.h:
464
465 2010-04-22  Abhishek Arya  <inferno@chromium.org>
466
467         Reviewed by Adam Barth.
468
469         Add support for controlling clipboard access from javascript.
470         Clipboard access from javascript is disabled by default.
471         https://bugs.webkit.org/show_bug.cgi?id=27751
472
473         Test: editing/execCommand/clipboard-access.html
474
475         * WebCore.base.exp:
476         * editing/EditorCommand.cpp:
477         (WebCore::supportedCopyCut):
478         (WebCore::supportedPaste):
479         (WebCore::createCommandMap):
480         * page/Settings.cpp:
481         (WebCore::Settings::Settings):
482         (WebCore::Settings::setJavaScriptCanAccessClipboard):
483         * page/Settings.h:
484         (WebCore::Settings::javaScriptCanAccessClipboard):
485
486 2010-04-22  Stephan Aßmus  <superstippi@gmx.de>
487
488         Reviewed by David Levin.
489
490         [Haiku] Improve SimpleFontDataHaiku
491         https://bugs.webkit.org/show_bug.cgi?id=37411
492
493         Covered by existing tests.
494
495         * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
496             - Cleaned up includes
497             - Removed prototype "charUnicodeToUTF8HACK"
498         (WebCore::SimpleFontData::platformInit):
499             - Use const BFont pointer
500         (WebCore::SimpleFontData::smallCapsFontData):
501             - "fontPlatformData" was leaked. It is only
502               used as the key for the font cache lookup.
503         (WebCore::SimpleFontData::platformMetricsForGlyph):
504             - Use existing WebCore encoding infrastructure
505               instead of adding a hack for Haiku. 
506
507 2010-04-21  Steve Block  <steveblock@google.com>
508
509         Reviewed by Kenneth Rohde Christiansen.
510
511         Replace Geolocation::suspend()/resume() which are required by Android.
512         https://bugs.webkit.org/show_bug.cgi?id=37942
513
514         These methods were removed in Bug 36255.
515
516         Build fix only, no new tests.
517
518         * page/Geolocation.cpp:
519         (WebCore::Geolocation::suspend):
520         (WebCore::Geolocation::resume):
521         * page/Geolocation.h:
522
523 2010-04-21  Ray Rischpater  <Raymond.Rischpater@Nokia.com>
524
525         In HTMLInputElement.cpp there are numerous style
526         violations.
527
528         This patch includes style changes to fix existing style
529         deviations in this file.
530
531         Rubber stamped by Darin Adler.
532
533         Fixes <https://bugs.webkit.org/show_bug.cgi?id=37881>
534
535         * html/HTMLInputElement.cpp:
536
537 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
538
539         Reviewed by Adam Roben.
540
541         Add missing EFL WebCore file.
542         http://webkit.org/b/37854
543
544         No behavior changes, so no new tests were added.
545
546         * bindings/js/ScriptControllerEfl.cpp: Added.
547         (WebCore::ScriptController::createScriptInstanceForWidget):
548
549 2010-04-21  Simon Fraser  <simon.fraser@apple.com>
550
551         Reviewed by Dan Bernstein.
552
553         Printing Core Animation-based plug-ins is broken
554         https://bugs.webkit.org/show_bug.cgi?id=37967
555
556         When we do a "flattening" paint because of printing, we need to stash
557         the flattening flag in the FrameView's m_paintBehavior, because
558         WebBaseNetscapePluginView needs to find it there to decide whether
559         to grab a bitmap for printing, for CA plug-ins.
560
561         * page/FrameView.cpp:
562         (WebCore::FrameView::paintContents):
563
564 2010-04-21  François Sausset  <sausset@gmail.com>
565
566         Reviewed by Kenneth Rohde Christiansen.
567
568         Fix to take into account a change made in "StringImpl".
569         https://bugs.webkit.org/show_bug.cgi?id=37763
570
571         * mathml/RenderMathMLOperator.cpp:
572         (WebCore::RenderMathMLOperator::updateFromElement):
573
574 2010-04-21  Andy Estes  <aestes@apple.com>
575
576         Reviewed by Darin Adler.
577
578         Create a template for creating reference-counted Windows GDI handles.
579         Refactor RefCountedHFONT to use this template.
580
581         https://bugs.webkit.org/show_bug.cgi?id=37952
582
583         No change in behavior.
584
585         * WebCore.vcproj/WebCore.vcproj: Add RefCountedHFONT.h
586         * platform/graphics/cairo/FontPlatformData.h:
587         (WebCore::FontPlatformData::hfont): Refactor to return m_hfont->handle() instead of m_hfont->hfont().
588         * platform/graphics/cg/FontPlatformData.h:
589         (WebCore::FontPlatformData::hfont): Same.
590         * platform/graphics/win/FontPlatformDataCGWin.cpp:
591         (WebCore::FontPlatformData::FontPlatformData): Instantiate m_hfont with a RefCountedGDIHandle<HFONT>.
592         * platform/graphics/win/FontPlatformDataWin.cpp:
593         (WebCore::FontPlatformData::FontPlatformData): Same.
594         * platform/graphics/win/RefCountedGDIHandle.h: Added. Interface is identical to RefCountedHFONT with exception of renaming hfont() to handle().
595         (WebCore::RefCountedGDIHandle::create):
596         (WebCore::RefCountedGDIHandle::createDeleted):
597         (WebCore::RefCountedGDIHandle::~RefCountedGDIHandle):
598         (WebCore::RefCountedGDIHandle::handle): Return the GDI handle.
599         (WebCore::RefCountedGDIHandle::hash):
600         (WebCore::RefCountedGDIHandle::RefCountedGDIHandle):
601         * platform/graphics/win/RefCountedHFONT.h: Removed.
602
603 2010-04-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
604
605         Reviewed by Darin Adler.
606
607         Fix build if NPAPI support is disabled
608         https://bugs.webkit.org/show_bug.cgi?id=36621
609
610         No new tests, this is a build fix.
611         Re-submit r56585 with fix for Chromium.
612
613         * plugins/PluginView.cpp: Guard getValueStatic() with
614         NETSCAPE_PLUGIN_API
615         (WebCore::PluginView::getValue):
616         * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
617         * plugins/PluginViewNone.cpp: Guard platformGetValue() and
618         platformGetValueStatic with NETSCAPE_PLUGIN_API;
619         Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
620         PLATFORM(MAC) or PLATFORM(CHROMIUM)
621
622 2010-04-21  David Yonge-Mallo  <davinci@chromium.org>
623
624         Reviewed by Dan Bernstein.
625
626         ZWNJ - Display non-printing, invisible character
627         https://bugs.webkit.org/show_bug.cgi?id=16131
628
629         Fix the (non)display of glyphs for ZWJ and ZWNJ in simple font code path.
630
631         Tests: fast/text/format-control.html
632                fast/text/zero-width-characters.html
633
634         * platform/graphics/Font.h:
635         (WebCore::Font::operator!=):
636         (WebCore::Font::treatAsZeroWidthSpace): treat ZWNJ and ZWJ as ZWSP.
637         * platform/graphics/GlyphPageTreeNode.cpp:
638         (WebCore::GlyphPageTreeNode::initializePage): added ZWNJ and ZWJ.
639         * platform/text/CharacterNames.h: added ZWNJ and ZWJ.
640
641 2010-04-21  Charles Wei  <charles.wei@torchmobile.com.cn>
642
643         Reviewed by George Staikos.
644
645         Fix webkit build problem when xhtmlmp enabled, which is introduced by revision 57927, for 
646         bug fix of 37175 , which seperates DocumentWriter from FrameLoader
647         https://bugs.webkit.org/show_bug.cgi?id=37915
648
649         No new tests since this only fixes the build problem.
650
651         * dom/Document.cpp:
652         (WebCore::Document::isXHTMLMPDocument):
653
654 2010-04-21  Shinichiro Hamaji  <hamaji@chromium.org>
655
656         Reviewed by Darin Adler.
657
658         Call sites of TextIterator constructor are difficult to read
659         https://bugs.webkit.org/show_bug.cgi?id=37909
660
661         Now we use enum parameters instead of boolean parameters and
662         boolean version of constructors are eliminated.
663
664         This change also changes the names of boolean members so they are
665         now third person singular.
666
667         No new tests because this is just a refactoring.
668
669         * WebCore.base.exp:
670         * editing/TextIterator.cpp:
671         (WebCore::TextIterator::TextIterator):
672         (WebCore::TextIterator::advance):
673         (WebCore::TextIterator::handleReplacedElement):
674         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
675         (WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode):
676         (WebCore::TextIterator::handleNonTextNode):
677         (WebCore::TextIterator::exitNode):
678         (WebCore::TextIterator::emitCharacter):
679         (WebCore::TextIterator::emitText):
680         (WebCore::CharacterIterator::CharacterIterator):
681         (WebCore::TextIterator::rangeLength):
682         (WebCore::TextIterator::rangeFromLocationAndLength):
683         (WebCore::findPlainText):
684         * editing/TextIterator.h:
685         (WebCore::):
686         * editing/VisibleSelection.cpp:
687         (WebCore::VisibleSelection::appendTrailingWhitespace):
688         * editing/visible_units.cpp:
689         (WebCore::nextBoundary):
690
691 2010-04-21  Jesus Sanchez-Palencia  <jesus@webkit.org>
692
693         Reviewed by Kenneth Rohde Christiansen.
694
695         Add PageClientQt files.
696
697         [Qt] PageClientQt specific implementation for QWidget
698         https://bugs.webkit.org/show_bug.cgi?id=37858
699
700         * WebCore.pro:
701
702 2010-04-21  Diego Escalante Urrelo  <descalante@igalia.com>
703
704         Reviewed by Xan Lopez.
705
706         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
707         WebKitGtk
708         https://bugs.webkit.org/show_bug.cgi?id=34449
709
710         Implement ATK_ROLE_SEPARATOR.
711
712         * accessibility/AccessibilityRenderObject.cpp:
713         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
714         * accessibility/gtk/AccessibilityObjectAtk.cpp:
715         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
716
717 2010-04-21  David Leong  <david.leong@nokia.com>
718
719         Reviewed by Simon Hausmann.
720
721         [Qt] Symbian apps crash on exit due to a bad qObject_cast.
722
723         https://bugs.webkit.org/show_bug.cgi?id=37303
724
725         Added check for NULL to avoid the crash. Reworked to fix memory leak
726            
727         * plugins/symbian/PluginViewSymbian.cpp:
728         (WebCore::PluginView::platformDestroy):
729
730 2009-04-21  Chris Fleizach  <cfleizach@apple.com>
731
732         Reviewed by Alexey Proskuryakov.
733
734         aria-liveregion-notifications.html fails on leopard release bot
735         https://bugs.webkit.org/show_bug.cgi?id=37112
736
737         Change the method that DRT uses to monitor AX notifications so that its robust
738         by just sending out NSNotification that can be listened to by anyone, instead
739         of keeping a static function pointer around.
740    
741         This change is aimed to avoid flakiness seen in DRT when the notification handlers
742         are not being called at the appropriate time.
743
744         Tests: platform/mac/accessibility/aria-liveregions-addedelement.html
745                platform/mac/accessibility/aria-liveregions-changedalt.html
746                platform/mac/accessibility/aria-liveregions-changedtext.html
747                platform/mac/accessibility/aria-liveregions-removedelement.html
748
749         * accessibility/mac/AccessibilityObjectWrapper.h:
750         * accessibility/mac/AccessibilityObjectWrapper.mm:
751         (-[AccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
752         (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
753
754 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
755
756         Reviewed by NOBODY (Leopard build fix).
757         Remove old exports.
758
759         * WebCore.base.exp:
760
761 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
762
763         Reviewed by Darin Adler.
764
765         Bug 37949 - Do no copy strings into a shared buffer when converting UStrings to Strings
766         UString and String now have the same internal representation; Just re-wrap the internal impl.
767
768         * bindings/js/JSDOMBinding.cpp:
769         (WebCore::jsStringSlowCase):
770         * bindings/js/JSDOMBinding.h:
771         (WebCore::ustringToString):
772         (WebCore::stringToUString):
773         (WebCore::identifierToString):
774         (WebCore::ustringToAtomicString):
775         (WebCore::identifierToAtomicString):
776
777 2010-04-21  Mark Rowe  <mrowe@apple.com>
778
779         Reviewed by Eric Carlson.
780
781         <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
782
783         A manual test case is required here as the Flip4Mac plug-in displays an alert, and some manual tweaking of the plug-in's
784         preference file on disk is often required to reproduce the bug.
785
786         * manual-tests/plugins/flip4mac-update-alert-over-navigation.html: Added.
787
788 2010-04-21  Mark Rowe  <mrowe@apple.com>
789
790         Reviewed by Maciej Stachowiak.
791
792         <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
793
794         This is a manual test case as I was not able to construct an automated test that reproduced the same issue without displaying
795         a modal dialog on-screen.
796
797         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.html: Added.
798         * manual-tests/plugins/timeout-dialog-displayed-over-navigation.swf: Added.
799
800 2010-04-21  Sam Weinig  <sam@webkit.org>
801
802         Reviewed by Geoffrey Garen.
803
804         Fix for https://bugs.webkit.org/show_bug.cgi?id=37937
805         Wean JavaScriptCore off calls to isMainThread()
806
807         No change in behavior.
808
809         * bindings/js/JSDOMWindowBase.cpp:
810         (WebCore::JSDOMWindowBase::commonJSGlobalData):
811         Explicitly set a large stack type for the common JSGlobalData and
812         set the currently running thread as the exclusive thread for its 
813         execution.
814
815         * bindings/js/WorkerScriptController.cpp:
816         (WebCore::WorkerScriptController::WorkerScriptController):
817         Explicitly set a small stack type for the workers JSGlobalData. 
818
819 2010-04-21  Gavin Barraclough  <barraclough@apple.com>
820
821         Reviewed by NOBODY (Qt build fix).
822
823         * WebCore.gypi:
824         * WebCore.pro:
825         * platform/text/qt/StringQt.cpp: Removed.
826
827 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
828
829         Reviewed by Oliver Hunt, Darin Adler.
830
831         Bug 37906 - Remove JSC::UStringImpl; unify with StringImpl.
832         Add include for StringHash.h.
833
834         * WebCore.xcodeproj/project.pbxproj:
835         * bridge/c/c_class.cpp:
836
837 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
838
839         Tiger build fix.
840
841         * platform/network/mac/ResourceHandleMac.mm:
842         (WebCore::createNSURLConnection): Fixed a typo, named an argument.
843         (WebCore::ResourceHandle::start): Moved shouldUseCredentialStorage out of #if, since it's
844         now passed to createNSURLConneciton() on all platforms (and then ignored on Tiger).
845
846 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
847
848         Reviewed by Adam Roben.
849
850         Windows build fix.
851
852         * platform/network/cf/ResourceHandleCFNet.cpp: Declare CFURLConnectionCreateWithProperties
853         for now, as it's mistakenly missing from WebKitSupportLibrary headers.
854
855 2010-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
856
857         Reviewed by Darin Adler.
858
859         REGRESSION(r57292): Safari/Win and Chromium/Win no longer pass the acid3 test.
860         https://bugs.webkit.org/show_bug.cgi?id=37902
861
862         The issue is due to MSVC creating enums as signed. The fix is to store the value
863         as unsigned.
864
865         Test: http://acid3.acidtests.org/
866
867         * rendering/style/RenderStyle.h:
868         (WebCore::InheritedFlags): Changed type of _insideLink to unsigned.
869
870 2010-04-21  Alexey Proskuryakov  <ap@apple.com>
871
872         Reviewed by Brady Eidson.
873
874         https://bugs.webkit.org/show_bug.cgi?id=37933
875         <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.
876
877         Test: http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html
878
879         This improves integration between ResourceHandle and Apple networking libraries.
880
881         * platform/network/cf/ResourceHandleCFNet.cpp:
882         (WebCore::createConnectionProperties): A new helper for creating connection properties dictionary.
883         (WebCore::ResourceHandle::start): Pass connection properties.
884         (WebCore::WebCoreSynchronousLoader::load): Ditto.
885
886         * platform/network/mac/ResourceHandleMac.mm:
887         (WebCore::createNSURLConnection): Factor out OS version dependent code for creating
888         NSURLConnection. Tell NSURLConnection about credential policy upfront.
889         (WebCore::ResourceHandle::start): Use the new function.
890         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
891
892 2010-04-21  Xiaomei Ji  <xji@chromium.org>
893
894         Reviewed by Dimitri Glazkov
895
896         This patch fixes [chromium] RTL <select> dropdown box expands to right
897         instead of left.
898         https://bugs.webkit.org/show_bug.cgi?id=37232
899
900         No automatic test is possible.
901
902         * manual-tests/select_dropdown_box_alignment.html: Added.
903         * platform/chromium/PopupMenuChromium.cpp:
904         (WebCore::PopupContainer::layout): Adjust the x-axis of dropdown box 
905         for RTL.
906
907 2010-04-21  anton muhin  <antonm@google.com>
908
909         Reviewed by Adam Barth.
910
911         [v8] Bail out if fetching of Object.prototype fails.
912         https://bugs.webkit.org/show_bug.cgi?id=37661
913
914         If for any reason we failed to fetch Object.prototype, context cannot
915         be properly initialized and we bail out.
916
917         * bindings/v8/V8DOMWindowShell.cpp:
918         (WebCore::V8DOMWindowShell::initContextIfNeeded): bail out if installHiddenObjectPrototype failed
919         (WebCore::V8DOMWindowShell::installHiddenObjectPrototype): bail out if failed to fetch Object.prototype
920         * bindings/v8/V8DOMWindowShell.h: return false if installHiddenObjectPrototype failed
921
922 2010-04-21  Timothy Hatcher  <timothy@apple.com>
923
924         Make UserContentURLPattern correctly check for subdomains and the URL
925         has the same suffix as the pattern. Also improve the parsing of the host.
926
927         https://bugs.webkit.org/show_bug.cgi?id=37357
928
929         Reviewed by Darin Adler.
930
931         * page/UserContentURLPattern.cpp:
932         (WebCore::UserContentURLPattern::parse): Simplify the subdomain pattern parsing to
933         simply check for "*" only or a "*." prefix and then do a substring.
934         (WebCore::UserContentURLPattern::matchesHost): Check that the host has a "." in the
935         position before the suffix to ensure it a subdomain and not just a suffix match.
936
937 2010-04-21  Xan Lopez  <xlopez@igalia.com>
938
939         Try to fix compilation on GTK+ debug bots.
940
941         * bindings/gobject/WebKitDOMBinding.cpp:
942         (WebKit::createWrapper):
943
944 2010-04-21  Jakub Wieczorek  <jwieczorek@webkit.org>
945
946         Reviewed by Darin Adler.
947
948         List item markers are not always updated after changes in the DOM.
949         https://bugs.webkit.org/show_bug.cgi?id=37060
950
951         In particular, they would not be updated when adding/removing an item
952         that is not a direct child of the list element.
953
954         Tests: fast/lists/ol-nested-items-dynamic-insert.html
955                fast/lists/ol-nested-items-dynamic-remove.html
956                fast/lists/ol-nested-items.html
957                fast/lists/ol-nested-list-dynamic-insert.html
958                fast/lists/ol-nested-list-dynamic-remove.html
959                fast/lists/ol-nested-list.html
960
961         * rendering/RenderListItem.cpp:
962         (WebCore::updateListMarkerNumbers): Change it to traverse the whole subtree of a list, not only siblings of an item.
963         * rendering/RenderListItem.h:
964         * rendering/RenderObject.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
965         (WebCore::RenderObject::addChild): Move the code updating list markers to RenderObjectChildList for consistency.
966         * rendering/RenderObjectChildList.cpp: Move the updateListMarkerNumbers function to RenderListItem.cpp.
967         (WebCore::RenderObjectChildList::removeChildNode): Pass the actual node being removed, not the next sibling.
968         (WebCore::RenderObjectChildList::appendChildNode): Pass the actual node being added, not the next sibling.
969         (WebCore::RenderObjectChildList::insertChildNode): Pass the actual node being added, not the next sibling.
970         * rendering/RenderTreeAsText.cpp:
971         (WebCore::markerTextForListItem):
972
973 2010-04-21  Xan Lopez  <xlopez@igalia.com>
974
975         Reviewed by Adam Barth.
976
977         [GTK] GObject DOM bindings
978         https://bugs.webkit.org/show_bug.cgi?id=33590
979
980         Initial version of the GObject DOM bindings.
981
982         Only bindings for Node.idl and a few of its dependencies are
983         provided, without public API to access them at the
984         moment. References to the Document interfaces and to
985         EventListeners in Node.idl are ignored for GObject to make the
986         initial patch as small as possible, but will be enabled in a
987         follow-up patch.
988
989         * GNUmakefile.am:
990         * bindings/gobject/ConvertToUTF8String.cpp: Added.
991         (convertToUTF8String):
992         * bindings/gobject/ConvertToUTF8String.h: Added.
993         * bindings/gobject/WebKitDOMBinding.cpp: Added.
994         (WebKit::domObjects):
995         (WebKit::DOMObjectCache::get):
996         (WebKit::DOMObjectCache::put):
997         (WebKit::DOMObjectCache::forget):
998         (WebKit::createWrapper):
999         (WebKit::kit):
1000         * bindings/gobject/WebKitDOMBinding.h: Added.
1001         * bindings/gobject/WebKitDOMObject.cpp: Added.
1002         (webkit_dom_object_init):
1003         (webkit_dom_object_class_init):
1004         * bindings/gobject/WebKitDOMObject.h: Added.
1005         * bindings/scripts/CodeGeneratorGObject.pm: Added.
1006         * bindings/scripts/gobject-generate-headers.pl: Added.
1007         * dom/Node.idl:
1008
1009 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
1010
1011         Reviewed by Xan Lopez.
1012
1013         Wrong header being included in FontPlatformDataCairo.cpp
1014         https://bugs.webkit.org/show_bug.cgi?id=37829
1015
1016         No behavior changes, so no new tests were added.
1017
1018         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
1019
1020 2010-04-21  Adam Roben  <aroben@apple.com>
1021
1022         Fix leaks of FilterData/SVGFilterBuilder in RenderSVGResourceFilter
1023
1024         Fixes <http://webkit.org/b/37922>.
1025
1026         Reviewed by Dave Hyatt.
1027
1028         * rendering/RenderSVGResourceFilter.cpp:
1029         (WebCore::RenderSVGResourceFilter::applyResource): Use an OwnPtr to
1030         hold the heap-allocated FilterData object, so that we won't leak it
1031         when we bail out of this function on error.
1032
1033 2010-04-21  Zoltan Herczeg  <zherczeg@webkit.org>
1034
1035         Reviewed by Kenneth Rohde Christiansen.
1036
1037         [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame()
1038         https://bugs.webkit.org/show_bug.cgi?id=37844
1039
1040         nativeImageForCurrentFrame() resets the m_decoder parameter under Qt,
1041         which is required by startAnimation() to detect frame and repetition counts.
1042         Hence, Image::drawTiled cannot start animations under Qt:
1043         <html><body background="animated.gif"></body></html> does not work
1044
1045         * platform/graphics/qt/ImageDecoderQt.cpp:
1046         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
1047
1048 2010-04-21  Benjamin Poulain  <ikipou@gmail.com>
1049
1050         Reviewed by Simon Fraser.
1051
1052         Update of fixed elements is not made correctly when the page has been scrolled
1053         https://bugs.webkit.org/show_bug.cgi?id=36783
1054
1055         When a fixed element was updated, the old geometry was not repainted correctly
1056         because the repaint rect was cached during the layout and not updated when 
1057         scrolling.
1058
1059         The rect is now updated while scrolling so the region updated correspond to the
1060         region of the element on the screen.
1061
1062         The method RenderLayer::updateRepaintRectsAfterScroll() updates
1063         the repaint rect of all fixed tree after scroll.
1064
1065         Tests: fast/repaint/fixed-child-move-after-scroll.html
1066                fast/repaint/fixed-child-of-fixed-move-after-scroll.html
1067                fast/repaint/fixed-child-of-transformed-move-after-scroll.html
1068                fast/repaint/fixed-move-after-scroll.html
1069
1070         * page/FrameView.cpp:
1071         (WebCore::FrameView::scrollPositionChanged):
1072         * rendering/RenderLayer.cpp:
1073         (WebCore::RenderLayer::updateRepaintRectsAfterScroll):
1074         * rendering/RenderLayer.h:
1075
1076 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
1077
1078         Reviewed by Adam Roben.
1079
1080         Update EFL port to match recent API changes.
1081         http://webkit.org/b/37853
1082
1083         No behavior changes, so no new tests were added.
1084
1085         * platform/efl/FileSystemEfl.cpp:
1086         * platform/efl/LocalizedStringsEfl.cpp:
1087         (WebCore::missingPluginText):
1088         (WebCore::crashedPluginText):
1089         * platform/efl/MIMETypeRegistryEfl.cpp:
1090         (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
1091         * platform/graphics/efl/ImageEfl.cpp:
1092
1093 2010-04-21  Avi Drissman  <avi@chromium.org>
1094
1095         Reviewed by Simon Fraser.
1096
1097         JPG images fail to print in Chromium
1098         https://bugs.webkit.org/show_bug.cgi?id=37796
1099
1100         Image sources of JPG data with final=false fail to draw into PDF contexts even if later updated (<rdar://problem/7874035>). Therefore, destroy and re-create the image source when the final data arrives.
1101
1102         * platform/graphics/cg/ImageSourceCG.cpp:
1103         (WebCore::ImageSource::setData):
1104
1105 2010-04-21  Marcus Bulach  <bulach@chromium.org>
1106
1107         Reviewed by Nate Chapin.
1108
1109         EventSource needs to be marked as an ActiveDomType.
1110         https://bugs.webkit.org/show_bug.cgi?id=37857
1111         Existing layout tests (fast/eventsource and http/tests/eventsource/) should pass when compiling with eventsource enabled.
1112
1113         * bindings/scripts/CodeGeneratorV8.pm:
1114         * bindings/v8/V8DOMWrapper.cpp:
1115         * bindings/v8/custom/V8EventSourceConstructor.cpp:
1116         (WebCore::V8EventSource::constructorCallback):
1117
1118 2010-04-21  Gustavo Sverzut Barbieri  <barbieri@profusion.mobi>
1119
1120         Reviewed by Nikolas Zimmermann.
1121
1122         Add missing includes to platform/posix/FileSystemPOSIX.cpp
1123         https://bugs.webkit.org/show_bug.cgi?id=37861
1124
1125         No behavior changes, so no new tests were added.
1126
1127         * platform/posix/FileSystemPOSIX.cpp:
1128
1129 2010-04-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
1130
1131         Reviewed by Simon Fraser.
1132
1133         [Qt] Fix or remove the runtime flag for accelerated compositing.
1134
1135         This adds a way for a chrome client to disallow layers from becoming composited,
1136         even if the settings enable accelerated compositing. This is necessary for platforms
1137         where different views can be applied with the same settings to the same page.
1138
1139         We enable an API through ChromeClient to ask the chrome-client whether or not
1140         it can render composited layers, which is taken into account when the compositor
1141         decides whether or not to start compositing.
1142
1143         https://bugs.webkit.org/show_bug.cgi?id=37313
1144
1145         Pages under LayoutTests/compositing now work under QWebView, even when
1146         QWebSettings::AcceleratedCompositingEnabled is on.
1147
1148         * page/ChromeClient.h:
1149         (WebCore::ChromeClient::allowsAcceleratedCompositing):
1150         * platform/qt/QWebPageClient.h:
1151         (QWebPageClient::allowsAcceleratedCompositing):
1152         * rendering/RenderLayerCompositor.cpp:
1153         (WebCore::RenderLayerCompositor::canBeComposited):
1154
1155 2010-04-21  Ryosuke Niwa  <rniwa@webkit.org>
1156
1157         No review. Spurious whitespace was removed from project file.
1158
1159         * WebCore.xcodeproj/project.pbxproj:
1160
1161 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
1162
1163         Reviewed by Eric Seidel.
1164
1165         [Qt] Build fix: warning on L933 of CompositeEditCommand.cpp
1166         https://bugs.webkit.org/show_bug.cgi?id=37912
1167
1168         Replaced the ternary operator by an if statement because GCC was confused by the use of
1169         ternary operator and producing warnings on Qt builds.
1170
1171         * WebCore.xcodeproj/project.pbxproj:
1172         * editing/CompositeEditCommand.cpp:
1173         (WebCore::CompositeEditCommand::moveParagraphs):
1174
1175 2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>
1176
1177         Reviewed by Justin Garcia.
1178
1179         Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
1180         https://bugs.webkit.org/show_bug.cgi?id=19539
1181
1182         Fixes a bug where two consecutive lists are not merged if they have been converted
1183         from ordered/unordered lists inside another list.
1184
1185         The bug was caused by InsertListCommand::doApply where it did not merge a newly inserted
1186         list element and its neighbors. This patch adds code to doApply so that after inserting
1187         the list element, it updates previousList and nextList to the outermost list elements around
1188         insertionPos under the same enclosing list. Because the next and the previous list elements
1189         are not necessarily visually next to the newly inserted element before moveParagraph moves
1190         the paragraph into the new list element, doApply merges lists after moveParagraph is called.
1191
1192         Test: editing/execCommand/insert-lists-inside-another-list.html
1193
1194         * editing/InsertListCommand.cpp:
1195         (WebCore::InsertListCommand::doApply): Modified as described above
1196         * editing/htmlediting.cpp:
1197         (WebCore::outermostEnclosingList): Added rootNode. Returns the outermost list element,
1198           which is a descendent of rootNode.
1199         * editing/htmlediting.h:
1200
1201 2010-04-20  Alexey Proskuryakov  <ap@apple.com>
1202
1203         Reviewed by Darin Adler.
1204
1205         https://bugs.webkit.org/show_bug.cgi?id=37776
1206         <rdar://problem/7877716> REGRESSION: When using dvorak, keydown/keyup reports qwerty keyCodes
1207
1208         * platform/cocoa/KeyEventCocoa.mm: (WebCore::windowsKeyCodeForCharCode): Re-added mapping
1209         for Roman letters and punctuation.
1210
1211         * platform/mac/KeyEventMac.mm: (WebCore::windowsKeyCodeForKeyEvent): Improved approximation
1212         of IE behavior. Keyboard layouts that change location of Roman letters (like AZERTY or Dvorak)
1213         also switch their keycodes. Also, restored Safari 4 behavior for punctuation. It's difficult
1214         to match Windows for punctuation exactly, because keyboard layouts make arbitrary changes
1215         to their keycodes.
1216
1217 2010-04-20  Shinichiro Hamaji  <hamaji@chromium.org>
1218
1219         Reviewed by Darin Adler and Alexey Proskuryakov.
1220
1221         A backslash in EUC-JP becomes to a yen sign when it is copied
1222         https://bugs.webkit.org/show_bug.cgi?id=36419
1223
1224         Tests: editing/execCommand/transpose-backslash-with-euc.html
1225                editing/pasteboard/copy-backslash-with-euc.html
1226
1227         * editing/Editor.cpp: Remove an unnecessary displayStringModifiedByEncoding calls.
1228         (WebCore::Editor::addToKillRing):
1229         * editing/TextIterator.cpp: TextIterator can use RenderText::textWithoutTranscoding and now plainText() uses this version
1230         (WebCore::TextIterator::TextIterator):
1231         (WebCore::TextIterator::init):
1232         (WebCore::TextIterator::emitText):
1233         (WebCore::plainTextToMallocAllocatedBuffer):
1234         * editing/TextIterator.h:
1235         (WebCore::):
1236         * platform/mac/PasteboardMac.mm: Remove an unnecessary displayStringModifiedByEncoding call.
1237         (WebCore::Pasteboard::writeSelection):
1238         * platform/text/TextEncoding.h: Make backslashAsCurrencySymbol public.
1239         * rendering/RenderText.cpp: Add RenderText::textWithoutTranscoding
1240         (WebCore::RenderText::RenderText):
1241         (WebCore::RenderText::updateNeedsTranscoding):
1242         (WebCore::RenderText::styleDidChange):
1243         (WebCore::isInlineFlowOrEmptyText):
1244         (WebCore::RenderText::previousCharacter):
1245         (WebCore::RenderText::setTextInternal):
1246         (WebCore::RenderText::textWithoutTranscoding):
1247         (WebCore::RenderText::transformText):
1248         * rendering/RenderText.h:
1249         * rendering/RenderTextControl.cpp: Remove an unnecessary displayStringModifiedByEncoding call.
1250         (WebCore::RenderTextControl::setInnerTextValue):
1251         (WebCore::RenderTextControl::finishText):
1252         * rendering/RenderTextFragment.cpp:
1253         (WebCore::RenderTextFragment::previousCharacter):
1254         * rendering/RenderTextFragment.h:
1255
1256 2010-04-20  Nate Chapin  <japhet@chromium.org>
1257
1258         Reviewed by Dimitri Glazkov.
1259
1260         https://bugs.webkit.org/show_bug.cgi?id=37367
1261
1262         Fix style violations in code generated by CodeGeneratorV8.pm.
1263
1264         * bindings/scripts/CodeGeneratorV8.pm:
1265         * bindings/v8/test/V8TestObj.cpp:
1266         * bindings/v8/test/V8TestObj.h:
1267
1268 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1269
1270         Unreviewed, rolling out r57924.
1271         http://trac.webkit.org/changeset/57924
1272         https://bugs.webkit.org/show_bug.cgi?id=37898
1273
1274         It broke 3-4 test on all bot (Requested by Ossy on #webkit).
1275
1276         * page/AbstractView.idl:
1277         * page/DOMWindow.cpp:
1278         (WebCore::DOMWindow::media):
1279         * page/DOMWindow.h:
1280         * page/DOMWindow.idl:
1281
1282 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1283
1284         Reviewed by Oliver Hunt.
1285
1286         Bug 37895 - Share common code from UStringImplBase with StringImpl
1287         Add forwarding header.
1288
1289         * ForwardingHeaders/wtf/text/StringImplBase.h: Added.
1290
1291 2010-04-20  Adam Barth  <abarth@webkit.org>
1292
1293         Unreviewed build fix fro Chromium.
1294
1295         * loader/DocumentWriter.cpp:
1296
1297 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
1298
1299         Reviewed by Timothy Hatcher.
1300
1301         Web Inspector: Support live edit while on a breakpoint, preserve breakpoints when adding new lines.
1302
1303         https://bugs.webkit.org/show_bug.cgi?id=37820
1304
1305         * inspector/front-end/ScriptsPanel.js:
1306         (WebInspector.ScriptsPanel.prototype.editScriptLine.mycallback):
1307         (WebInspector.ScriptsPanel.prototype.editScriptLine):
1308         * inspector/front-end/TextViewer.js:
1309         (WebInspector.TextViewer.prototype._handleDoubleClick):
1310         (WebInspector.TextViewer.prototype._cancelEditingLine):
1311
1312 2010-04-20  Adam Barth  <abarth@webkit.org>
1313
1314         Reviewed by Eric Seidel.
1315
1316         Factor DocumentWriter out of FrameLoader
1317         https://bugs.webkit.org/show_bug.cgi?id=37175
1318
1319         This patch separates the begin/write/end cycle of decoding network
1320         bytes and putting them into a document from the rest of the loading
1321         machinery.  The code and state required to write bytes into a document
1322         doesn't interact very much with the rest of the loading machinery.
1323
1324         No tests because there is no behavior change (hopefully!).
1325
1326         * Android.mk:
1327         * GNUmakefile.am:
1328         * WebCore.base.exp:
1329         * WebCore.gypi:
1330         * WebCore.pro:
1331         * WebCore.vcproj/WebCore.vcproj:
1332         * WebCore.xcodeproj/project.pbxproj:
1333         * bindings/ScriptControllerBase.cpp:
1334         (WebCore::ScriptController::executeIfJavaScriptURL):
1335         * dom/Document.cpp:
1336         (WebCore::Document::close):
1337         * dom/ProcessingInstruction.cpp:
1338         (WebCore::ProcessingInstruction::checkStyleSheet):
1339         * dom/ScriptElement.cpp:
1340         (WebCore::ScriptElementData::scriptCharset):
1341         * html/HTMLLinkElement.cpp:
1342         (WebCore::HTMLLinkElement::process):
1343         * loader/DocLoader.cpp:
1344         (WebCore::DocLoader::requestPreload):
1345         * loader/DocumentLoader.cpp:
1346         (WebCore::DocumentLoader::finishedLoading):
1347         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1348         * loader/DocumentWriter.cpp: Added.
1349         * loader/DocumentWriter.h: Added.
1350         * loader/FrameLoader.cpp:
1351         (WebCore::FrameLoader::FrameLoader):
1352         (WebCore::FrameLoader::init):
1353         (WebCore::FrameLoader::clear):
1354         (WebCore::FrameLoader::receivedFirstData):
1355         (WebCore::FrameLoader::setURL):
1356         (WebCore::FrameLoader::didBeginDocument):
1357         (WebCore::FrameLoader::didEndDocument):
1358         (WebCore::FrameLoader::willSetEncoding):
1359         (WebCore::FrameLoader::addData):
1360         (WebCore::FrameLoader::transitionToCommitted):
1361         (WebCore::FrameLoader::open):
1362         (WebCore::FrameLoader::finishedLoadingDocument):
1363         (WebCore::FrameLoader::addExtraFieldsToRequest):
1364         * loader/FrameLoader.h:
1365         (WebCore::FrameLoader::writer):
1366         (WebCore::FrameLoader::isDisplayingInitialEmptyDocument):
1367         * loader/MediaDocument.cpp:
1368         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1369         * loader/PluginDocument.cpp:
1370         (WebCore::PluginTokenizer::createDocumentStructure):
1371         * platform/network/FormDataBuilder.cpp:
1372         (WebCore::FormDataBuilder::dataEncoding):
1373         * svg/graphics/SVGImage.cpp:
1374         (WebCore::SVGImage::dataChanged):
1375
1376 2010-04-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1377
1378         Reviewed by Simon Fraser.
1379
1380         Rename window.media to window.styleMedia
1381         https://bugs.webkit.org/show_bug.cgi?id=36187
1382
1383         It has been defined that the AbstractView media extension
1384         defined in the CSSOM View spec should be renamed to styleMedia.
1385         This patch does that and updates the current layout tests
1386         making use of it.
1387
1388         * page/AbstractView.idl:
1389         * page/DOMWindow.cpp:
1390         (WebCore::DOMWindow::styleMedia):
1391         * page/DOMWindow.h:
1392         * page/DOMWindow.idl:
1393
1394 2010-04-20  Timothy Hatcher  <timothy@apple.com>
1395
1396         Fix matching of "file:///*" patterns by not trying to compare the host. The host is
1397         irrelevant for file URLs.
1398
1399         Also fix comparisons to be case insensitive.
1400
1401         https://bugs.webkit.org/show_bug.cgi?id=37889
1402
1403         Reviewed by Dave Hyatt.
1404
1405         * page/UserContentURLPattern.cpp:
1406         (WebCore::UserContentURLPattern::parse): Use equalIgnoringCase when comparing for "file" schemes.
1407         (WebCore::UserContentURLPattern::matches): Use equalIgnoringCase when comparing schemes. Only call
1408         matchesHost if the scheme isn't "file".
1409         (WebCore::UserContentURLPattern::matchesHost): Call equalIgnoringCase when comparing hosts. The endsWith
1410         was already doing a case-insensitive compare, so existing tests worked though this path.
1411
1412 2010-04-20  Justin Schuh  <jschuh@chromium.org>
1413
1414         Reviewed by Adam Barth.
1415
1416         Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
1417         https://bugs.webkit.org/show_bug.cgi?id=37331
1418
1419         Added a setting to enable/disable media per-page and have the SVGImage 
1420         disable media for its dummy page. Also found and fixed a related bad
1421         cast in the V8 bindings (JSC had a custom wrapper for this already).
1422
1423         Tests: media/svg-as-image-with-media-blocked.html
1424
1425         * dom/make_names.pl: Added media enabled check and V8 cast wrapper
1426         * page/Settings.cpp: Added m_isMediaEnabled (defaults to true)
1427         (WebCore::Settings::Settings):
1428         (WebCore::Settings::setMediaEnabled):
1429         * page/Settings.h:
1430         (WebCore::Settings::isMediaEnabled):
1431         * svg/graphics/SVGImage.cpp: Disables media in dummy page
1432         (WebCore::SVGImage::dataChanged):
1433
1434 2010-04-19  Antonio Gomes  <tonikitoo@webkit.org>
1435
1436         Reviewed by Simon Fraser.
1437
1438         Spatial Navigation: at @updateFocusCandidateIfCloser make an assignment shortcut when FocusCandidate is null
1439         https://bugs.webkit.org/show_bug.cgi?id=37802
1440
1441         In updateFocusCandidateIfCloser method, we do all bail out checks in the begining of
1442         the method body. If after those bail out checks, no "best FocusCandidate" has been taken
1443         yet (i.e. focusCandidate.isNull() == true), we can safely take the current candidate,
1444         and exit earlier.
1445
1446         No behavior change, it is just a safe assignment shortcut.
1447
1448         * page/FocusController.cpp:
1449         (WebCore::updateFocusCandidateIfCloser):
1450
1451 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
1452
1453         Reviewed by Dan Bernstein.
1454
1455         Hook compositing layers together across iframes
1456         https://bugs.webkit.org/show_bug.cgi?id=37878
1457         
1458         First step: if an iframe's document goes into compositing mode, also throw the parent
1459         document into compositing mode (all the way up to the root). This is required both
1460         to preserve layering (since parent document content can obscure iframe content),
1461         and so that we can eventually hook the layer trees together.
1462
1463         Test: compositing/iframes/composited-iframe.html
1464
1465         * rendering/RenderIFrame.h:
1466         * rendering/RenderIFrame.cpp:
1467         (WebCore::RenderIFrame::requiresLayer): In order to make an iframe composited, it also has to have
1468         a RenderLayer, so must return |true| from requiresLayer().
1469         (WebCore::RenderIFrame::requiresAcceleratedCompositing): Returns true if the content document
1470         is in compositing mode.
1471         (WebCore::RenderIFrame::isRenderIFrame): Required so that RenderLayerCompositor can check
1472         if a renderer is an iframe.
1473         (WebCore::toRenderIFrame): Required so that RenderLayerCompositor can cast to a RenderIFrame.
1474
1475         * rendering/RenderLayerCompositor.h:
1476         * rendering/RenderLayerCompositor.cpp:
1477         (WebCore::RenderLayerCompositor::enableCompositingMode): Call out to the RenderView when
1478         the compositing mode changes, so that the parent document can update its compositing status.
1479         (WebCore::RenderLayerCompositor::requiresCompositingLayer): Call requiresCompositingForIFrame().
1480         (WebCore::RenderLayerCompositor::requiresCompositingForIFrame): Check to see if the iframe
1481         wants to be composited.
1482
1483         * rendering/RenderObject.h:
1484         (WebCore::RenderObject::isRenderIFrame): Base class returns false.
1485
1486         * rendering/RenderView.h:
1487         * rendering/RenderView.cpp:
1488         (WebCore::RenderView::compositingStateChanged): New method that allows an iframe to notify
1489         its parent document that a recalcStyle is required, to update compositing state.
1490
1491 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1492
1493         Reviewed by NOBODY (build fix).
1494         Speculative tiger build fix.
1495
1496         * WebCore.NPAPI.exp:
1497         * WebCore.PluginHostProcess.exp:
1498         * WebCore.base.exp:
1499
1500 2010-04-20  Pavel Feldman  <pfeldman@chromium.org>
1501
1502         Reviewed by Timothy Hatcher.
1503
1504         Web Inspector: add basic script editing capabilities to the front-end.
1505
1506         https://bugs.webkit.org/show_bug.cgi?id=37875
1507
1508         * bindings/js/ScriptDebugServer.cpp:
1509         (WebCore::ScriptDebugServer::setBreakpoint):
1510         (WebCore::ScriptDebugServer::removeBreakpoint):
1511         * inspector/front-end/ScriptView.js:
1512         (WebInspector.ScriptView):
1513         (WebInspector.ScriptView.prototype._editLine):
1514         (WebInspector.ScriptView.prototype._editLineComplete):
1515         * inspector/front-end/ScriptsPanel.js:
1516         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
1517         (WebInspector.ScriptsPanel.prototype.canEditScripts):
1518         (WebInspector.ScriptsPanel.prototype.editScriptLine):
1519         * inspector/front-end/SourceFrame.js:
1520         (WebInspector.SourceFrame):
1521         (WebInspector.SourceFrame.prototype.updateContent):
1522         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
1523         * inspector/front-end/TextEditorHighlighter.js:
1524         (WebInspector.TextEditorHighlighter):
1525         (WebInspector.TextEditorHighlighter.prototype.reset):
1526         * inspector/front-end/TextEditorModel.js:
1527         (WebInspector.TextEditorModel.prototype.copyRange):
1528         * inspector/front-end/TextViewer.js:
1529         (WebInspector.TextViewer):
1530         (WebInspector.TextViewer.prototype.set editCallback):
1531         (WebInspector.TextViewer.prototype._buildChunks):
1532         (WebInspector.TextViewer.prototype._handleKeyDown):
1533         (WebInspector.TextViewer.prototype._handleDoubleClick):
1534         (WebInspector.TextViewer.prototype._commitEditingLine):
1535         (WebInspector.TextViewer.prototype._cancelEditingLine):
1536         * inspector/front-end/inspector.js:
1537         (WebInspector.documentKeyDown):
1538         (WebInspector.log.logMessage):
1539         (WebInspector.log):
1540         (WebInspector.isEditingAnyField):
1541         (WebInspector.startEditing.cleanUpAfterEditing):
1542
1543 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1544
1545         Reviewed by Geoff Garen.
1546
1547         Add forwarding header.
1548
1549         * ForwardingHeaders/runtime/RopeImpl.h: Added.
1550
1551 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
1552
1553         Reviewed by Geoff Garen.
1554
1555         Bug 37828 - Move WebCore's String classes to WTF
1556
1557         Move these classes up to WTF so they are available to all clients of WTF (in
1558         particular JSC).
1559
1560         As a first patch, making the most minimal change possible, since this patch
1561         could easily grow rather large since we'll have to change every class forward
1562         declaration ( e.g. every "namespace WebCore { class String; }" much change to
1563         "namespace WTF { class String; }").
1564
1565         Moving the files, but leaving the classes logically in the WebCore namespace –
1566         which is technically a layering violation – I'll come back and fix this up in a
1567         subsequent patch.
1568
1569         * Android.mk:
1570         * ForwardingHeaders/wtf/StaticConstructors.h: Added.
1571         * ForwardingHeaders/wtf/text/AtomicString.h: Added.
1572         * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Added.
1573         * ForwardingHeaders/wtf/text/StringBuffer.h: Added.
1574         * ForwardingHeaders/wtf/text/StringHash.h: Added.
1575         * ForwardingHeaders/wtf/text/StringImpl.h: Added.
1576         * ForwardingHeaders/wtf/text/WTFString.h: Added.
1577         * GNUmakefile.am:
1578         * WebCore.gypi:
1579         * WebCore.pro:
1580         * WebCore.vcproj/WebCore.vcproj:
1581         * WebCore.xcodeproj/project.pbxproj:
1582         * css/MediaFeatureNames.cpp:
1583         * dom/QualifiedName.cpp:
1584         * dom/make_names.pl:
1585         * platform/StaticConstructors.h: Removed.
1586         * platform/text/AtomicString.cpp: Removed.
1587         * platform/text/AtomicString.h:
1588         * platform/text/AtomicStringImpl.h:
1589         * platform/text/PlatformString.h:
1590         * platform/text/String.cpp:
1591         * platform/text/StringHash.h:
1592         * platform/text/StringImpl.cpp: Removed.
1593         * platform/text/StringImpl.h:
1594
1595 2010-04-20  Kent Tamura  <tkent@chromium.org>
1596
1597         Reviewed by Darin Adler.
1598
1599         Change a parameter type of chooseIconForFiles()
1600         https://bugs.webkit.org/show_bug.cgi?id=37504
1601
1602         Change PassRefPtr<FileChooser> parameter of chooseIconForFiles()
1603         to FileChooser*. Though an implementation of chooseIconForFiles()
1604         might have ownership of the FileChooser instance, we don't need to
1605         use PassRefPtr<> in this case.
1606
1607         * loader/EmptyClients.h:
1608         (WebCore::EmptyChromeClient::chooseIconForFiles):
1609         * page/Chrome.cpp:
1610         (WebCore::Chrome::chooseIconForFiles):
1611         * page/Chrome.h:
1612         * page/ChromeClient.h:
1613
1614 2010-04-20  Diego Escalante Urrelo  <descalante@igalia.com>
1615
1616         Reviewed by Xan Lopez.
1617
1618         [Gtk] Evaluate and create tests for all the AtkRole's implemented by
1619         WebKitGtk
1620         https://bugs.webkit.org/show_bug.cgi?id=34449
1621
1622         Implement ATK_ROLE_FORM.
1623
1624         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1625         (webkit_accessible_get_role):
1626
1627 2010-04-20  Martin Robinson  <mrobinson@webkit.org>
1628
1629         Reviewed by Gustavo Noronha Silva.
1630
1631         [GTK] Enable DOM clipboard and drag-and-drop access
1632         https://bugs.webkit.org/show_bug.cgi?id=30623
1633
1634         Move most of the PasteboardHelper logic into WebCore. This helps
1635         prepare for WebKit2 and leads to a clearer separation of concerns
1636         between the WebKit and WebCore layers.
1637
1638         No new tests as functionality has not changed.
1639
1640         * GNUmakefile.am: Add PastboardHelper.cpp to list of sources.
1641         * platform/Pasteboard.h: Added a getter for the PasteboardHelper and made the member private.
1642         * platform/gtk/PasteboardGtk.cpp: Update PasteboardHelper method calls to use new naming.
1643         (WebCore::clipboard_get_contents_cb): Ditto.
1644         (WebCore::Pasteboard::helper): Added, member is now private.
1645         (WebCore::Pasteboard::writeURL): Ditto.
1646         (WebCore::Pasteboard::documentFragment): Update to reflect method renaming.
1647         (WebCore::Pasteboard::plainText): Ditto.
1648         * platform/gtk/PasteboardHelper.cpp: Added.
1649         (WebCore::PasteboardHelper::PasteboardHelper): Added.
1650         (WebCore::PasteboardHelper::~PasteboardHelper): Added.
1651         (WebCore::PasteboardHelper::initializeTargetList): Added, originally from WebKit.
1652         (WebCore::widgetFromFrame): Added helper function.
1653         (WebCore::PasteboardHelper::getCurrentClipboard): Added, originally from WebKit.
1654         (WebCore::PasteboardHelper::getClipboard): Ditto.
1655         (WebCore::PasteboardHelper::getPrimarySelectionClipboard): Ditto.
1656         (WebCore::PasteboardHelper::targetList): Ditto.
1657         (WebCore::PasteboardHelper::fillSelectionData): Ditto.
1658         (WebCore::PasteboardHelper::targetListForDataObject): Ditto.
1659         (WebCore::getClipboardContentsCallback): Ditto.
1660         (WebCore::clearClipboardContentsCallback): Ditto.
1661         (WebCore::PasteboardHelper::writeClipboardContents): Ditto.
1662         * platform/gtk/PasteboardHelper.h: Moved methods from WebKit to WebCore.
1663
1664 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
1665
1666         Reviewed by Anders Carlsson.
1667
1668         backgroundColor is oddly indented in layer tree dump
1669         https://bugs.webkit.org/show_bug.cgi?id=37885
1670
1671         The writeIndent() was mistakenly outside the LayerTreeAsTextDebug clause, causing indents
1672         to be written twice.
1673         
1674         * platform/graphics/GraphicsLayer.cpp:
1675         (WebCore::GraphicsLayer::dumpProperties):
1676
1677 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
1678
1679         Reviewed by Dimitri Glazkov.
1680
1681         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1682         https://bugs.webkit.org/show_bug.cgi?id=37741
1683
1684         RenderPartObject is a useless intermediate class between RenderPart and
1685         RenderEmbeddedObject, and we can now remove it. Its only method, viewCleared(),
1686         applies to objects and embeds when the content is a FrameView, so can move
1687         to RenderEmbeddedObject.
1688
1689         * Android.mk:
1690         * GNUmakefile.am:
1691         * WebCore.gypi:
1692         * WebCore.pro:
1693         * WebCore.vcproj/WebCore.vcproj:
1694         * WebCore.xcodeproj/project.pbxproj:
1695         * rendering/RenderEmbeddedObject.cpp:
1696         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1697         (WebCore::RenderEmbeddedObject::requiresLayer):
1698         (WebCore::RenderEmbeddedObject::paint):
1699         (WebCore::RenderEmbeddedObject::viewCleared):
1700         * rendering/RenderEmbeddedObject.h:
1701         * rendering/RenderFrameBase.h:
1702         * rendering/RenderPart.cpp:
1703         (WebCore::RenderPart::RenderPart):
1704         * rendering/RenderPart.h:
1705         * rendering/RenderPartObject.cpp: Removed.
1706         * rendering/RenderPartObject.h: Removed.
1707
1708 2010-04-20  Robin Cao  <robin.webkit@gmail.com>
1709
1710         Reviewed by Dirk Schulze.
1711
1712         SVG no AnimateColor for stroke or fill if they are set to none on target.
1713         https://bugs.webkit.org/show_bug.cgi?id=36718
1714
1715         SVGAnimateElement::resetToBaseValue reset 'm_propertyType' in the process of animation.
1716         This will cause problems when attributes 'fill' and 'stroke' have the value 'none', because in this case 
1717         the property type determined by base value may be different from the one determined by 'fromTo' values.
1718
1719         No new tests. The test suite in svg/animation is not working for target element with attribute 'fill' set to 'none'.
1720         Now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.
1721
1722         * svg/SVGAnimateElement.cpp:
1723         (WebCore::SVGAnimateElement::calculateFromAndToValues):
1724         (WebCore::SVGAnimateElement::resetToBaseValue):
1725
1726 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1727
1728         Unreviewed, rolling out r57892.
1729         http://trac.webkit.org/changeset/57892
1730         https://bugs.webkit.org/show_bug.cgi?id=37864
1731
1732         Caused an assertion in Mac builds (Requested by smfr on
1733         #webkit).
1734
1735         * WebCore.xcodeproj/project.pbxproj:
1736         * editing/Editor.cpp:
1737         (WebCore::Editor::insideVisibleArea):
1738         * page/Frame.cpp:
1739         (WebCore::Frame::ownerRenderer):
1740         * page/Frame.h:
1741         * page/FrameView.cpp:
1742         (WebCore::FrameView::~FrameView):
1743         (WebCore::FrameView::clear):
1744         (WebCore::FrameView::invalidateRect):
1745         (WebCore::FrameView::createScrollbar):
1746         * rendering/RenderFrameBase.h:
1747         * rendering/RenderObject.h:
1748
1749 2010-04-20  Jakub Wieczorek  <jwieczorek@webkit.org>
1750
1751         Reviewed by Darin Adler.
1752
1753         RenderListItem: change enclosingList() to only traverse the render tree.
1754         https://bugs.webkit.org/show_bug.cgi?id=37319
1755
1756         This makes the function safe to use for items with nodes that are detached from
1757         the DOM tree and simplifies the code quite a bit.
1758
1759         Covered by existing tests.
1760
1761         * rendering/RenderListItem.cpp:
1762         (WebCore::enclosingList):
1763         (WebCore::previousListItem):
1764         (WebCore::RenderListItem::explicitValueChanged):
1765
1766 2010-04-20  Simon Fraser  <simon.fraser@apple.com>
1767
1768         Reviewed by Dan Bernstein.
1769
1770         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
1771         https://bugs.webkit.org/show_bug.cgi?id=37741
1772
1773         Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
1774         RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
1775
1776         * WebCore.xcodeproj/project.pbxproj:
1777         * editing/Editor.cpp:
1778         (WebCore::Editor::insideVisibleArea):
1779         * page/Frame.cpp:
1780         (WebCore::Frame::ownerRenderer):
1781         * page/Frame.h:
1782         * page/FrameView.cpp:
1783         (WebCore::FrameView::~FrameView):
1784         (WebCore::FrameView::clear):
1785         (WebCore::FrameView::invalidateRect):
1786         (WebCore::FrameView::createScrollbar):
1787         * rendering/RenderFrameBase.h:
1788         (WebCore::RenderFrameBase::isRenderFrameBase):
1789         (WebCore::toRenderFrameBase):
1790         * rendering/RenderObject.h:
1791         (WebCore::RenderObject::isRenderFrameBase):
1792
1793 2010-04-20  Jay Civelli  <jcivelli@chromium.org>
1794
1795         Reviewed by Dimitri Glazkov.
1796
1797         [chromium] Pressing tab now closes the select popup as it should.
1798         https://bugs.webkit.org/show_bug.cgi?id=37721
1799
1800         * platform/chromium/PopupMenuChromium.cpp:
1801         (WebCore::PopupListBox::handleKeyEvent):
1802
1803 2010-04-20  Yaar Schnitman  <yaar@chromium.org>
1804
1805         Reviewed by Nate Chapin.
1806
1807         Null value should be legit value for wrapped types. This requires some cleanup in canvas which was missing built-in null argument checks;
1808         https://bugs.webkit.org/show_bug.cgi?id=37810
1809
1810         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1811         (WebCore::JSCanvasRenderingContext2D::drawImage): Passes ec to drawImage(3) too
1812         * bindings/scripts/CodeGeneratorV8.pm: A null value is now legit value for wrapped types.
1813         * bindings/v8/test/V8TestObj.cpp:
1814         (WebCore::TestObjInternal::overloadedMethodCallback):
1815         * html/canvas/CanvasRenderingContext2D.cpp:
1816         (WebCore::CanvasRenderingContext2D::drawImage): Added null checks.
1817         (WebCore::CanvasRenderingContext2D::createPattern): Added null checks.
1818         * html/canvas/CanvasRenderingContext2D.h: Added needed raises "DOMException".
1819         * html/canvas/CanvasRenderingContext2D.idl: Added needed raises "DOMException".
1820
1821 2010-04-20  Evan Stade  <estade@chromium.org>
1822
1823         Reviewed by David Levin.
1824
1825         [chromium] crash when dragging images
1826         https://bugs.webkit.org/show_bug.cgi?id=37715
1827
1828         NULL check the return value of nativeImageForCurrentFrame(),
1829         and NULL check Image just for good measure.
1830
1831         Tested by new DragImageTest unit test.
1832
1833         * platform/chromium/DragImageChromiumSkia.cpp:
1834         (WebCore::createDragImageFromImage):
1835
1836 2010-04-20  Dirk Schulze  <krit@webkit.org>
1837
1838         Reviewed by Nikolas Zimmermann.
1839
1840         SVGResourceFilter needs to be moved to under Renderers
1841         https://bugs.webkit.org/show_bug.cgi?id=35320
1842
1843         This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
1844         from the SVGResources.
1845         A clean-up solves the dependencies between SVGFilterElement, the filter primitives
1846         and SVGResources. This shall make the filter code more readable and better maintable.
1847         The Filter primitives get dumped now, as long as they have externalRepresentation
1848         implemented.
1849
1850         No behavior changes, so no new tests were added.
1851
1852         * Android.mk:
1853         * GNUmakefile.am:
1854         * WebCore.gypi:
1855         * WebCore.pro:
1856         * WebCore.vcproj/WebCore.vcproj:
1857         * WebCore.xcodeproj/project.pbxproj:
1858         * rendering/RenderPath.cpp:
1859         (WebCore::RenderPath::paint):
1860         * rendering/RenderSVGContainer.cpp:
1861         (WebCore::RenderSVGContainer::selfWillPaint):
1862         (WebCore::RenderSVGContainer::paint):
1863         * rendering/RenderSVGImage.cpp:
1864         (WebCore::RenderSVGImage::paint):
1865         * rendering/RenderSVGResource.h:
1866         (WebCore::):
1867         (WebCore::RenderSVGResource::postApplyResource):
1868         * rendering/RenderSVGResourceClipper.cpp:
1869         (WebCore::RenderSVGResourceClipper::applyResource):
1870         * rendering/RenderSVGResourceClipper.h:
1871         * rendering/RenderSVGResourceFilter.cpp: Added.
1872         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
1873         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
1874         (WebCore::RenderSVGResourceFilter::invalidateClients):
1875         (WebCore::RenderSVGResourceFilter::invalidateClient):
1876         (WebCore::RenderSVGResourceFilter::buildPrimitives):
1877         (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
1878         (WebCore::RenderSVGResourceFilter::applyResource):
1879         (WebCore::RenderSVGResourceFilter::postApplyResource):
1880         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
1881         * rendering/RenderSVGResourceFilter.h: Added.
1882         (WebCore::FilterData::FilterData):
1883         (WebCore::RenderSVGResourceFilter::renderName):
1884         (WebCore::RenderSVGResourceFilter::filterUnits):
1885         (WebCore::RenderSVGResourceFilter::primitiveUnits):
1886         (WebCore::RenderSVGResourceFilter::resourceType):
1887         * rendering/RenderSVGResourceMarker.h:
1888         (WebCore::RenderSVGResourceMarker::applyResource):
1889         * rendering/RenderSVGResourceMasker.cpp:
1890         (WebCore::RenderSVGResourceMasker::applyResource):
1891         * rendering/RenderSVGResourceMasker.h:
1892         * rendering/RenderSVGRoot.cpp:
1893         (WebCore::RenderSVGRoot::selfWillPaint):
1894         (WebCore::RenderSVGRoot::paint):
1895         * rendering/RenderSVGText.cpp:
1896         * rendering/SVGRenderSupport.cpp:
1897         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1898         (WebCore::SVGRenderBase::finishRenderSVGContent):
1899         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
1900         (WebCore::deregisterFromResources):
1901         * rendering/SVGRenderSupport.h:
1902         * rendering/SVGRenderTreeAsText.cpp:
1903         (WebCore::writeStyle):
1904         (WebCore::writeSVGResource):
1905         (WebCore::writeResources):
1906         (WebCore::writeRenderResources):
1907         * rendering/SVGRootInlineBox.cpp:
1908         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
1909         (WebCore::SVGRootInlineBox::paint):
1910         * svg/SVGFEBlendElement.cpp:
1911         (WebCore::SVGFEBlendElement::build):
1912         * svg/SVGFEBlendElement.h:
1913         * svg/SVGFEColorMatrixElement.cpp:
1914         (WebCore::SVGFEColorMatrixElement::build):
1915         * svg/SVGFEColorMatrixElement.h:
1916         * svg/SVGFEComponentTransferElement.cpp:
1917         (WebCore::SVGFEComponentTransferElement::build):
1918         * svg/SVGFEComponentTransferElement.h:
1919         * svg/SVGFECompositeElement.cpp:
1920         (WebCore::SVGFECompositeElement::build):
1921         * svg/SVGFECompositeElement.h:
1922         * svg/SVGFEDiffuseLightingElement.cpp:
1923         (WebCore::SVGFEDiffuseLightingElement::build):
1924         * svg/SVGFEDiffuseLightingElement.h:
1925         * svg/SVGFEDisplacementMapElement.cpp:
1926         (WebCore::SVGFEDisplacementMapElement::build):
1927         * svg/SVGFEDisplacementMapElement.h:
1928         * svg/SVGFEFloodElement.cpp:
1929         (WebCore::SVGFEFloodElement::build):
1930         * svg/SVGFEFloodElement.h:
1931         * svg/SVGFEGaussianBlurElement.cpp:
1932         (WebCore::SVGFEGaussianBlurElement::build):
1933         * svg/SVGFEGaussianBlurElement.h:
1934         * svg/SVGFEImageElement.cpp:
1935         (WebCore::SVGFEImageElement::build):
1936         * svg/SVGFEImageElement.h:
1937         * svg/SVGFEMergeElement.cpp:
1938         (WebCore::SVGFEMergeElement::build):
1939         * svg/SVGFEMergeElement.h:
1940         * svg/SVGFEMorphologyElement.cpp:
1941         (WebCore::SVGFEMorphologyElement::build):
1942         * svg/SVGFEMorphologyElement.h:
1943         * svg/SVGFEOffsetElement.cpp:
1944         (WebCore::SVGFEOffsetElement::build):
1945         * svg/SVGFEOffsetElement.h:
1946         * svg/SVGFESpecularLightingElement.cpp:
1947         (WebCore::SVGFESpecularLightingElement::build):
1948         * svg/SVGFESpecularLightingElement.h:
1949         * svg/SVGFETileElement.cpp:
1950         (WebCore::SVGFETileElement::build):
1951         * svg/SVGFETileElement.h:
1952         * svg/SVGFETurbulenceElement.cpp:
1953         (WebCore::SVGFETurbulenceElement::build):
1954         * svg/SVGFETurbulenceElement.h:
1955         (WebCore::):
1956         * svg/SVGFilterElement.cpp:
1957         (WebCore::SVGFilterElement::createRenderer):
1958         * svg/SVGFilterElement.h:
1959         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1960         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1961         * svg/SVGFilterPrimitiveStandardAttributes.h:
1962         (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
1963         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
1964         * svg/SVGStyledElement.cpp:
1965         (WebCore::SVGStyledElement::invalidateResources):
1966         * svg/graphics/SVGResource.cpp:
1967         * svg/graphics/SVGResource.h:
1968         (WebCore::):
1969         (WebCore::SVGResource::isPaintServer):
1970         * svg/graphics/SVGResourceFilter.cpp: Removed.
1971         * svg/graphics/SVGResourceFilter.h: Removed.
1972         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1973         (WebCore::FEDisplacementMap::externalRepresentation):
1974         * svg/graphics/filters/SVGFilterBuilder.h:
1975         (WebCore::SVGFilterBuilder::namedEffects):
1976
1977 2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1978
1979         Unreviewed, rolling out r57880.
1980         http://trac.webkit.org/changeset/57880
1981         https://bugs.webkit.org/show_bug.cgi?id=37846
1982
1983         Broke several bots, FEDisplacmentMap dumps includes pointers,
1984         no one noticed. Dirk will upload a new patch later. (Requested
1985         by WildFox on #webkit).
1986
1987         * Android.mk:
1988         * GNUmakefile.am:
1989         * WebCore.gypi:
1990         * WebCore.pro:
1991         * WebCore.vcproj/WebCore.vcproj:
1992         * WebCore.xcodeproj/project.pbxproj:
1993         * rendering/RenderPath.cpp:
1994         (WebCore::RenderPath::paint):
1995         * rendering/RenderSVGContainer.cpp:
1996         (WebCore::RenderSVGContainer::selfWillPaint):
1997         (WebCore::RenderSVGContainer::paint):
1998         * rendering/RenderSVGImage.cpp:
1999         (WebCore::RenderSVGImage::paint):
2000         * rendering/RenderSVGResource.h:
2001         (WebCore::):
2002         * rendering/RenderSVGResourceClipper.cpp:
2003         (WebCore::RenderSVGResourceClipper::applyResource):
2004         * rendering/RenderSVGResourceClipper.h:
2005         * rendering/RenderSVGResourceFilter.cpp: Removed.
2006         * rendering/RenderSVGResourceFilter.h: Removed.
2007         * rendering/RenderSVGResourceMarker.h:
2008         (WebCore::RenderSVGResourceMarker::applyResource):
2009         * rendering/RenderSVGResourceMasker.cpp:
2010         (WebCore::RenderSVGResourceMasker::applyResource):
2011         * rendering/RenderSVGResourceMasker.h:
2012         * rendering/RenderSVGRoot.cpp:
2013         (WebCore::RenderSVGRoot::selfWillPaint):
2014         (WebCore::RenderSVGRoot::paint):
2015         * rendering/RenderSVGText.cpp:
2016         * rendering/SVGRenderSupport.cpp:
2017         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2018         (WebCore::SVGRenderBase::finishRenderSVGContent):
2019         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2020         (WebCore::deregisterFromResources):
2021         * rendering/SVGRenderSupport.h:
2022         * rendering/SVGRenderTreeAsText.cpp:
2023         (WebCore::writeStyle):
2024         (WebCore::writeSVGResource):
2025         (WebCore::writeResources):
2026         (WebCore::writeRenderResources):
2027         * rendering/SVGRootInlineBox.cpp:
2028         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
2029         (WebCore::SVGRootInlineBox::paint):
2030         * svg/SVGFEBlendElement.cpp:
2031         (WebCore::SVGFEBlendElement::build):
2032         * svg/SVGFEBlendElement.h:
2033         * svg/SVGFEColorMatrixElement.cpp:
2034         (WebCore::SVGFEColorMatrixElement::build):
2035         * svg/SVGFEColorMatrixElement.h:
2036         * svg/SVGFEComponentTransferElement.cpp:
2037         (WebCore::SVGFEComponentTransferElement::build):
2038         * svg/SVGFEComponentTransferElement.h:
2039         * svg/SVGFECompositeElement.cpp:
2040         (WebCore::SVGFECompositeElement::build):
2041         * svg/SVGFECompositeElement.h:
2042         * svg/SVGFEDiffuseLightingElement.cpp:
2043         (WebCore::SVGFEDiffuseLightingElement::build):
2044         * svg/SVGFEDiffuseLightingElement.h:
2045         * svg/SVGFEDisplacementMapElement.cpp:
2046         (WebCore::SVGFEDisplacementMapElement::build):
2047         * svg/SVGFEDisplacementMapElement.h:
2048         * svg/SVGFEFloodElement.cpp:
2049         (WebCore::SVGFEFloodElement::build):
2050         * svg/SVGFEFloodElement.h:
2051         * svg/SVGFEGaussianBlurElement.cpp:
2052         (WebCore::SVGFEGaussianBlurElement::build):
2053         * svg/SVGFEGaussianBlurElement.h:
2054         * svg/SVGFEImageElement.cpp:
2055         (WebCore::SVGFEImageElement::build):
2056         * svg/SVGFEImageElement.h:
2057         * svg/SVGFEMergeElement.cpp:
2058         (WebCore::SVGFEMergeElement::build):
2059         * svg/SVGFEMergeElement.h:
2060         * svg/SVGFEMorphologyElement.cpp:
2061         (WebCore::SVGFEMorphologyElement::build):
2062         * svg/SVGFEMorphologyElement.h:
2063         * svg/SVGFEOffsetElement.cpp:
2064         (WebCore::SVGFEOffsetElement::build):
2065         * svg/SVGFEOffsetElement.h:
2066         * svg/SVGFESpecularLightingElement.cpp:
2067         (WebCore::SVGFESpecularLightingElement::build):
2068         * svg/SVGFESpecularLightingElement.h:
2069         * svg/SVGFETileElement.cpp:
2070         (WebCore::SVGFETileElement::build):
2071         * svg/SVGFETileElement.h:
2072         * svg/SVGFETurbulenceElement.cpp:
2073         (WebCore::SVGFETurbulenceElement::build):
2074         * svg/SVGFETurbulenceElement.h:
2075         (WebCore::):
2076         * svg/SVGFilterElement.cpp:
2077         (WebCore::SVGFilterElement::buildFilter):
2078         (WebCore::SVGFilterElement::canvasResource):
2079         * svg/SVGFilterElement.h:
2080         (WebCore::SVGFilterElement::rendererIsNeeded):
2081         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2082         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2083         * svg/SVGFilterPrimitiveStandardAttributes.h:
2084         (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
2085         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
2086         * svg/SVGStyledElement.cpp:
2087         (WebCore::SVGStyledElement::invalidateResources):
2088         * svg/graphics/SVGResource.cpp:
2089         * svg/graphics/SVGResource.h:
2090         (WebCore::):
2091         (WebCore::SVGResource::isFilter):
2092         * svg/graphics/SVGResourceFilter.cpp: Added.
2093         (WebCore::SVGResourceFilter::SVGResourceFilter):
2094         (WebCore::SVGResourceFilter::~SVGResourceFilter):
2095         (WebCore::SVGResourceFilter::filterBoundingBox):
2096         (WebCore::shouldProcessFilter):
2097         (WebCore::SVGResourceFilter::addFilterEffect):
2098         (WebCore::SVGResourceFilter::fitsInMaximumImageSize):
2099         (WebCore::SVGResourceFilter::prepareFilter):
2100         (WebCore::SVGResourceFilter::applyFilter):
2101         (WebCore::SVGResourceFilter::externalRepresentation):
2102         (WebCore::getFilterById):
2103         * svg/graphics/SVGResourceFilter.h: Added.
2104         (WebCore::SVGResourceFilter::create):
2105         (WebCore::SVGResourceFilter::resourceType):
2106         (WebCore::SVGResourceFilter::setFilterResolution):
2107         (WebCore::SVGResourceFilter::setHasFilterResolution):
2108         (WebCore::SVGResourceFilter::filterBoundingBoxMode):
2109         (WebCore::SVGResourceFilter::setFilterBoundingBoxMode):
2110         (WebCore::SVGResourceFilter::effectBoundingBoxMode):
2111         (WebCore::SVGResourceFilter::setEffectBoundingBoxMode):
2112         (WebCore::SVGResourceFilter::filterRect):
2113         (WebCore::SVGResourceFilter::setFilterRect):
2114         (WebCore::SVGResourceFilter::scaleX):
2115         (WebCore::SVGResourceFilter::scaleY):
2116         (WebCore::SVGResourceFilter::setFilterBoundingBox):
2117         (WebCore::SVGResourceFilter::builder):
2118         * svg/graphics/filters/SVGFilterBuilder.h:
2119
2120 2010-04-20  Dirk Schulze  <krit@webkit.org>
2121
2122         Reviewed by Nikolas Zimmermann.
2123
2124         SVGResourceFilter needs to be moved to under Renderers
2125         https://bugs.webkit.org/show_bug.cgi?id=35320
2126
2127         This patch adds a renderer for SVGFilterElement. SVGFilterElement is now independent
2128         from the SVGResources.
2129         A clean-up solves the dependencies between SVGFilterElement, the filter primitives
2130         and SVGResources. This shall make the filter code more readable and better maintable.
2131         The Filter primitives get dumped now, as long as they have externalRepresentation
2132         implemented.
2133
2134         No behavior changes, so no new tests were added.
2135
2136         * Android.mk:
2137         * GNUmakefile.am:
2138         * WebCore.gypi:
2139         * WebCore.pro:
2140         * WebCore.vcproj/WebCore.vcproj:
2141         * WebCore.xcodeproj/project.pbxproj:
2142         * rendering/RenderPath.cpp:
2143         (WebCore::RenderPath::paint):
2144         * rendering/RenderSVGContainer.cpp:
2145         (WebCore::RenderSVGContainer::selfWillPaint):
2146         (WebCore::RenderSVGContainer::paint):
2147         * rendering/RenderSVGImage.cpp:
2148         (WebCore::RenderSVGImage::paint):
2149         * rendering/RenderSVGResource.h:
2150         (WebCore::):
2151         * rendering/RenderSVGResourceClipper.cpp:
2152         (WebCore::RenderSVGResourceClipper::applyResource):
2153         * rendering/RenderSVGResourceClipper.h:
2154         * rendering/RenderSVGResourceFilter.cpp: Added.
2155         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
2156         (WebCore::RenderSVGResourceFilter::~RenderSVGResourceFilter):
2157         (WebCore::RenderSVGResourceFilter::invalidateClients):
2158         (WebCore::RenderSVGResourceFilter::invalidateClient):
2159         (WebCore::RenderSVGResourceFilter::buildPrimitives):
2160         (WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize):
2161         (WebCore::RenderSVGResourceFilter::applyResource):
2162         (WebCore::RenderSVGResourceFilter::postApplyResource):
2163         (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
2164         * rendering/RenderSVGResourceFilter.h: Added.
2165         (WebCore::FilterData::FilterData):
2166         (WebCore::RenderSVGResourceFilter::renderName):
2167         (WebCore::RenderSVGResourceFilter::filterUnits):
2168         (WebCore::RenderSVGResourceFilter::primitiveUnits):
2169         (WebCore::RenderSVGResourceFilter::resourceType):
2170         * rendering/RenderSVGResourceMarker.h:
2171         (WebCore::RenderSVGResourceMarker::applyResource):
2172         * rendering/RenderSVGResourceMasker.cpp:
2173         (WebCore::RenderSVGResourceMasker::applyResource):
2174         * rendering/RenderSVGResourceMasker.h:
2175         * rendering/RenderSVGRoot.cpp:
2176         (WebCore::RenderSVGRoot::selfWillPaint):
2177         (WebCore::RenderSVGRoot::paint):
2178         * rendering/RenderSVGText.cpp:
2179         * rendering/SVGRenderSupport.cpp:
2180         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2181         (WebCore::SVGRenderBase::finishRenderSVGContent):
2182         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2183         (WebCore::deregisterFromResources):
2184         * rendering/SVGRenderSupport.h:
2185         * rendering/SVGRenderTreeAsText.cpp:
2186         (WebCore::writeStyle):
2187         (WebCore::writeSVGResource):
2188         (WebCore::writeResources):
2189         (WebCore::writeRenderResources):
2190         * rendering/SVGRootInlineBox.cpp:
2191         (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker):
2192         (WebCore::SVGRootInlineBox::paint):
2193         * svg/SVGFEBlendElement.cpp:
2194         (WebCore::SVGFEBlendElement::build):
2195         * svg/SVGFEBlendElement.h:
2196         * svg/SVGFEColorMatrixElement.cpp:
2197         (WebCore::SVGFEColorMatrixElement::build):
2198         * svg/SVGFEColorMatrixElement.h:
2199         * svg/SVGFEComponentTransferElement.cpp:
2200         (WebCore::SVGFEComponentTransferElement::build):
2201         * svg/SVGFEComponentTransferElement.h:
2202         * svg/SVGFECompositeElement.cpp:
2203         (WebCore::SVGFECompositeElement::build):
2204         * svg/SVGFECompositeElement.h:
2205         * svg/SVGFEDiffuseLightingElement.cpp:
2206         (WebCore::SVGFEDiffuseLightingElement::build):
2207         * svg/SVGFEDiffuseLightingElement.h:
2208         * svg/SVGFEDisplacementMapElement.cpp:
2209         (WebCore::SVGFEDisplacementMapElement::build):
2210         * svg/SVGFEDisplacementMapElement.h:
2211         * svg/SVGFEFloodElement.cpp:
2212         (WebCore::SVGFEFloodElement::build):
2213         * svg/SVGFEFloodElement.h:
2214         * svg/SVGFEGaussianBlurElement.cpp:
2215         (WebCore::SVGFEGaussianBlurElement::build):
2216         * svg/SVGFEGaussianBlurElement.h:
2217         * svg/SVGFEImageElement.cpp:
2218         (WebCore::SVGFEImageElement::build):
2219         * svg/SVGFEImageElement.h:
2220         * svg/SVGFEMergeElement.cpp:
2221         (WebCore::SVGFEMergeElement::build):
2222         * svg/SVGFEMergeElement.h:
2223         * svg/SVGFEMorphologyElement.cpp:
2224         (WebCore::SVGFEMorphologyElement::build):
2225         * svg/SVGFEMorphologyElement.h:
2226         * svg/SVGFEOffsetElement.cpp:
2227         (WebCore::SVGFEOffsetElement::build):
2228         * svg/SVGFEOffsetElement.h:
2229         * svg/SVGFESpecularLightingElement.cpp:
2230         (WebCore::SVGFESpecularLightingElement::build):
2231         * svg/SVGFESpecularLightingElement.h:
2232         * svg/SVGFETileElement.cpp:
2233         (WebCore::SVGFETileElement::build):
2234         * svg/SVGFETileElement.h:
2235         * svg/SVGFETurbulenceElement.cpp:
2236         (WebCore::SVGFETurbulenceElement::build):
2237         * svg/SVGFETurbulenceElement.h:
2238         (WebCore::):
2239         * svg/SVGFilterElement.cpp:
2240         (WebCore::SVGFilterElement::createRenderer):
2241         * svg/SVGFilterElement.h:
2242         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2243         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
2244         * svg/SVGFilterPrimitiveStandardAttributes.h:
2245         (WebCore::SVGFilterPrimitiveStandardAttributes::isFilterEffect):
2246         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
2247         * svg/SVGStyledElement.cpp:
2248         (WebCore::SVGStyledElement::invalidateResources):
2249         * svg/graphics/SVGResource.cpp:
2250         * svg/graphics/SVGResource.h:
2251         (WebCore::):
2252         (WebCore::SVGResource::isPaintServer):
2253         * svg/graphics/SVGResourceFilter.cpp: Removed.
2254         * svg/graphics/SVGResourceFilter.h: Removed.
2255         * svg/graphics/filters/SVGFilterBuilder.h:
2256         (WebCore::SVGFilterBuilder::namedEffects):
2257
2258 2010-04-20  Gavin Barraclough  <barraclough@apple.com>
2259
2260         Rubber stamped by Maciej Stachowiak (relanding r57829).
2261         Added missing JS_EXPORTDATA
2262
2263         * ForwardingHeaders/wtf/WTFThreadData.h: Copied from WebCore/ForwardingHeaders/wtf/WTFThreadData.h.
2264         * platform/ThreadGlobalData.cpp:
2265         (WebCore::ThreadGlobalData::ThreadGlobalData):
2266         (WebCore::ThreadGlobalData::~ThreadGlobalData):
2267         * platform/ThreadGlobalData.h:
2268         (WebCore::ThreadGlobalData::eventNames):
2269         * platform/text/AtomicString.cpp:
2270         (WebCore::AtomicStringTable::create):
2271         (WebCore::AtomicStringTable::table):
2272         (WebCore::AtomicStringTable::destroy):
2273         (WebCore::stringTable):
2274
2275 2010-04-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
2276
2277         Reviewed by Antti Koivisto.
2278
2279         [Qt] GraphicsLayer: support fill-modes
2280         https://bugs.webkit.org/show_bug.cgi?id=36216
2281         Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
2282         enables a key-frame animation to go to the animation's starting point before the delay,
2283         and/or to stay at the animation's ending point after its ended, without reverting to the default
2284         value.
2285         We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
2286         and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
2287
2288         * platform/graphics/qt/GraphicsLayerQt.cpp:
2289         (WebCore::AnimationQtBase::AnimationQtBase):
2290         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2291         (WebCore::TransformAnimationQt::applyFrame):
2292         (WebCore::GraphicsLayerQt::addAnimation):
2293
2294 2010-04-19  Leandro Pereira  <leandro@profusion.mobi>
2295
2296         Reviewed by David Hyatt.
2297
2298         Add missing dummy implementations in PluginPackageNone and PluginViewNone.
2299         http://webkit.org/b/37478
2300
2301         * plugins/PluginPackageNone.cpp:
2302         (WebCore::PluginPackage::NPVersion): Add dummy implementation.
2303         * plugins/PluginViewNone.cpp:
2304         (WebCore::PluginView::handleFocusInEvent): Add dummy implementation.
2305         (WebCore::PluginView::handleFocusOutEvent): Add dummy implementation.
2306
2307 2010-04-19  Simon Fraser  <simon.fraser@apple.com>
2308
2309         Reviewed by Geoff Garen.
2310
2311         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
2312         https://bugs.webkit.org/show_bug.cgi?id=37741
2313
2314         Move m_hasFallbackContent from RenderPart to RenderEmbeddedObject,
2315         since it's only used for <object> fallback.
2316
2317         * rendering/RenderEmbeddedObject.cpp:
2318         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
2319         * rendering/RenderEmbeddedObject.h:
2320         (WebCore::RenderEmbeddedObject::hasFallbackContent):
2321         * rendering/RenderPart.cpp:
2322         (WebCore::RenderPart::RenderPart):
2323         * rendering/RenderPart.h:
2324
2325 2010-04-19  Simon Fraser  <simon.fraser@apple.com>
2326
2327         Reviewed by Darin Adler.
2328
2329         Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
2330         https://bugs.webkit.org/show_bug.cgi?id=37741
2331
2332         Add a new renderer for iframes, named RenderIFrame. Add a new shared base class
2333         between this and RenderFrame, called RenderFrameBase (following the existing HTMLFrameElementBase),
2334         and move code from RenderPart and RenderPartObject into these new classes.
2335         
2336         There should be no functionality difference with this change, so no new tests.
2337         
2338         Fixing up renderer names in the layout tests will be done in a later pass.
2339         
2340         Fix build systems to include the new files.
2341         
2342         * Android.mk:
2343         * GNUmakefile.am:
2344         * WebCore.gypi:
2345         * WebCore.pro:
2346         * WebCore.vcproj/WebCore.vcproj:
2347         * WebCore.xcodeproj/project.pbxproj:
2348         * html/HTMLIFrameElement.cpp:
2349         (WebCore::HTMLIFrameElement::createRenderer):
2350         * rendering/RenderEmbeddedObject.h:
2351         * rendering/RenderFrame.cpp:
2352         (WebCore::RenderFrame::RenderFrame):
2353         * rendering/RenderFrame.h:
2354         * rendering/RenderFrameBase.cpp: Added.
2355         (WebCore::RenderFrameBase::RenderFrameBase):
2356         (WebCore::RenderFrameBase::layoutWithFlattening):
2357         * rendering/RenderFrameBase.h: Added.
2358         * rendering/RenderIFrame.cpp: Added.
2359         (WebCore::RenderIFrame::RenderIFrame):
2360         (WebCore::RenderIFrame::calcHeight):
2361         (WebCore::RenderIFrame::calcWidth):
2362         (WebCore::RenderIFrame::flattenFrame):
2363         (WebCore::RenderIFrame::layout):
2364         * rendering/RenderIFrame.h: Added.
2365         (WebCore::RenderIFrame::renderName):
2366         * rendering/RenderPart.cpp:
2367         * rendering/RenderPart.h:
2368         * rendering/RenderPartObject.cpp:
2369         * rendering/RenderPartObject.h:
2370
2371 2010-04-19  Dumitru Daniliuc  <dumi@chromium.org>
2372
2373         Reviewed by Geoffrey Garen.
2374
2375         Bindings clean-up.
2376         https://bugs.webkit.org/show_bug.cgi?id=37833
2377
2378         Move some WebSQLDatabases logic out of the bindings into
2379         DOMWindow.cpp where it should be.
2380
2381         * bindings/js/JSDOMWindowCustom.cpp:
2382         (WebCore::JSDOMWindow::openDatabase):
2383         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2384         (WebCore::V8DOMWindow::openDatabaseCallback):
2385         * page/DOMWindow.cpp:
2386         (WebCore::DOMWindow::openDatabase):
2387
2388 2010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
2389
2390         Fix the Mac builders for now by restoring the keepAlive function.
2391
2392         * plugins/PluginViewNone.cpp:
2393         (WebCore::PluginView::keepAlive):
2394
2395 2010-04-19  Kevin Ollivier  <kevino@theolliviers.com>
2396
2397         [wx] Build fix, remove a method that has been moved to PluginView.cpp.
2398
2399         * plugins/PluginViewNone.cpp:
2400
2401 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
2402
2403         Reviewed by NOBODY (rolling out r57829).
2404         This broke windows.
2405
2406         * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
2407         * platform/ThreadGlobalData.cpp:
2408         (WebCore::ThreadGlobalData::ThreadGlobalData):
2409         (WebCore::ThreadGlobalData::~ThreadGlobalData):
2410         * platform/ThreadGlobalData.h:
2411         (WebCore::ThreadGlobalData::atomicStringTable):
2412         * platform/text/AtomicString.cpp:
2413         (WebCore::stringTable):
2414
2415 2010-04-19  Mark Rowe  <mrowe@apple.com>
2416
2417         Build fix.
2418
2419         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2420
2421 2010-04-19  Chris Fleizach  <cfleizach@apple.com>
2422
2423         Reviewed by Beth Dakin.
2424
2425         AX: aria-haspopup needs to be exposed
2426         https://bugs.webkit.org/show_bug.cgi?id=37808
2427
2428         Test: platform/mac/accessibility/element-haspopup.html
2429
2430         * accessibility/AccessibilityObject.h:
2431         (WebCore::AccessibilityObject::ariaHasPopup):
2432         * accessibility/AccessibilityRenderObject.cpp:
2433         (WebCore::AccessibilityRenderObject::ariaHasPopup):
2434         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
2435         * accessibility/AccessibilityRenderObject.h:
2436         * accessibility/mac/AccessibilityObjectWrapper.mm:
2437         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
2438         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2439
2440 2010-04-19  Anders Carlsson  <andersca@apple.com>
2441
2442         Reviewed by Sam Weinig.
2443
2444         Fix a crash when rendering <select> elements with WebKit2.
2445
2446         * rendering/RenderThemeMac.mm:
2447         (WebCore::RenderThemeMac::paintMenuList):
2448         Set the current NSGraphicsContext before calling out to AppKit, otherwise the current graphics context
2449         could point to a CGContext whose memory has been freed.
2450
2451 2010-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
2452
2453         Reviewed by Darin Adler.
2454
2455         Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
2456         https://bugs.webkit.org/show_bug.cgi?id=36031
2457
2458         Changes the logic of appending/inserting document fragment to first stashing all of its children
2459         to a vector, then processing the vector. This avoids ghastliness that would be caused by mutation
2460         events mucking with the document fragment while it's being appended/inserted.
2461
2462         Test: fast/dom/Node/fragment-mutation.html
2463
2464         * dom/ContainerNode.cpp:
2465         (WebCore::targetNodes): Added method to populate a vector of nodes (targets) to be used in
2466             inserting/appending operation.
2467         (WebCore::ContainerNode::insertBefore): Changed to use vector-based iteration.
2468         (WebCore::ContainerNode::appendChild): Ditto.
2469         * dom/Node.cpp:
2470         (WebCore::Node::checkReplaceChild): Cleaned up comments.
2471         (WebCore::Node::checkAddChild): Ditto.
2472
2473 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
2474
2475         Reviewed by Simon Fraser.
2476
2477         Fix regression introduced in r57820.
2478
2479         * html/HTMLMediaElement.cpp:
2480         (WebCore::HTMLMediaElement::loadNextSourceChild): Create a new MediaPlayer instead of
2481         just setting a URL on the one used for the previous <source> element. This restores
2482         the behavior prior to the changes for https://bugs.webkit.org/show_bug.cgi?id=37728.
2483
2484 2010-04-19  Gavin Barraclough  <barraclough@apple.com>
2485
2486         Reviewed by Sam Weinig.
2487
2488         https://bugs.webkit.org/show_bug.cgi?id=37745
2489         Move string uniquing tables to (new) WTFThreadData class.
2490
2491         Remove AtomicString's dependency on ThreadGlobalData so that we can move
2492         WebCore's string classes up to WTF.
2493
2494         * ForwardingHeaders/wtf/WTFThreadData.h: Added.
2495         * platform/ThreadGlobalData.cpp: Remove m_atomicStringTable, all wtfThreadData() to ensure threadsafely initialized.
2496         (WebCore::ThreadGlobalData::ThreadGlobalData):
2497         (WebCore::ThreadGlobalData::~ThreadGlobalData):
2498         * platform/ThreadGlobalData.h: Remove m_atomicStringTable.
2499         (WebCore::ThreadGlobalData::eventNames):
2500         * platform/text/AtomicString.cpp:
2501         (WebCore::AtomicStringTable::create):
2502         (WebCore::AtomicStringTable::table):
2503         (WebCore::AtomicStringTable::destroy):
2504         (WebCore::stringTable): Access the AtomicStringTable on wtfThreadData() rather then threadGlobalData().
2505
2506 2010-04-19  Ada Chan  <adachan@apple.com>
2507
2508         Build fix: wrap Settings::setLocalStorageQuota() and Settings::setSessionStorageQuota()
2509         in #if ENABLE(DOM_STORAGE).
2510
2511         * page/Settings.cpp:
2512         (WebCore::Settings::Settings):
2513         * page/Settings.h:
2514
2515 2010-04-19  Dave Moore  <davemoore@chromium.org>
2516
2517         Reviewed by Dimitri Glazkov.
2518
2519         Added notification when the favicons for a page are changed
2520         from a script.
2521         The Document object will notify the frame loader, which will
2522         notify the client. Implementations of FrameLoaderClient will
2523         have to add one method; dispatchDidChangeIcons().
2524
2525         https://bugs.webkit.org/show_bug.cgi?id=33812
2526
2527         Test: fast/dom/icon-url-property.html
2528
2529         * dom/Document.cpp:
2530         (WebCore::Document::setIconURL):
2531         * loader/DocumentLoader.cpp:
2532         (WebCore::DocumentLoader::setIconURL):
2533         * loader/DocumentLoader.h:
2534         (WebCore::DocumentLoader::iconURL):
2535         * loader/EmptyClients.h:
2536         (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
2537         * loader/FrameLoader.cpp:
2538         (WebCore::FrameLoader::setIconURL):
2539         (WebCore::FrameLoader::didChangeIcons):
2540         * loader/FrameLoader.h:
2541         * loader/FrameLoaderClient.h:
2542
2543 2010-04-19  Ada Chan  <adachan@apple.com>
2544
2545         Reviewed by Jeremy Orlow.
2546
2547         https://bugs.webkit.org/show_bug.cgi?id=37717
2548         Allow clients concerned with memory consumption to set a quota on session storage
2549         since the memory used won't be released until the Page is destroyed.
2550         The default is noQuota, which matches the current behavior.
2551
2552         * WebCore.base.exp: Export Settings::setSessionStorageQuota().
2553         * page/Page.cpp:
2554         (WebCore::Page::sessionStorage):
2555         * page/Settings.cpp:
2556         (WebCore::Settings::Settings):
2557         (WebCore::Settings::setSessionStorageQuota):
2558         * page/Settings.h:
2559         (WebCore::Settings::sessionStorageQuota):
2560         * storage/StorageNamespace.cpp:
2561         (WebCore::StorageNamespace::sessionStorageNamespace):
2562         * storage/StorageNamespace.h:
2563         * storage/StorageNamespaceImpl.cpp:
2564         (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
2565         * storage/StorageNamespaceImpl.h:
2566
2567 2010-04-19  Eric Carlson  <eric.carlson@apple.com>
2568
2569         Reviewed by Simon Fraser.
2570
2571         Setting media element 'src' attribute should trigger immediate load
2572         https://bugs.webkit.org/show_bug.cgi?id=37728
2573
2574         * html/HTMLMediaElement.cpp:
2575         (WebCore::HTMLMediaElement::attributeChanged): Schedule load every time 'src' attribute
2576         changes unless it is missing.
2577         (WebCore::HTMLMediaElement::prepareForLoad): Include steps 3 to 6 from loadInternal.
2578         (WebCore::HTMLMediaElement::loadInternal): Steps 3 to 6 are now in prepareForLoad.
2579         (WebCore::HTMLMediaElement::loadResource): MediaPlayer is now allocated in prepareForLoad
2580         so the previously loading file, if any, is cancelled there.
2581
2582 2010-04-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2583
2584         Reviewed by Simon Hausmann.
2585
2586         [Qt] Fix compilation against namespaced Qt.
2587
2588         * platform/graphics/GraphicsLayer.h:
2589         * platform/graphics/Tile.h:
2590         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2591         * platform/network/qt/NetworkStateNotifierPrivate.h:
2592
2593 2010-04-19  Balazs Kelemen  <kb@inf.u-szeged.hu>
2594
2595         Reviewed by Kenneth Rohde Christiansen.
2596
2597         [Qt] Destroy SharedTimerQt before destruction of QCoreApplication.
2598
2599         To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication
2600         has been started, we should explicitly destroy the SharedTimerQt instance on application exit.
2601         We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal
2602         into the SharedTimerQt instance.
2603
2604         https://bugs.webkit.org/show_bug.cgi?id=36832
2605
2606         No functional change so no new tests.
2607
2608         * platform/qt/SharedTimerQt.cpp:
2609         (WebCore::SharedTimerQt::SharedTimerQt):
2610         (WebCore::SharedTimerQt::destroy):
2611         (WebCore::SharedTimerQt::inst):
2612
2613 2010-04-19  Dan Bernstein  <mitz@apple.com>
2614
2615         Reviewed by Darin Adler.
2616
2617         Make the fix for <rdar://problem/7873647> from r57759 more robust.
2618
2619         * rendering/RenderLayer.cpp:
2620         (WebCore::RenderLayer::updateHoverActiveState): Use RefPtrs for the Nodes.
2621
2622 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
2623
2624         Unreviewed. Chromium build fix.
2625
2626         * bindings/v8/JavaScriptCallFrame.h:
2627
2628 2010-04-19  Yury Semikhatsky  <yurys@chromium.org>
2629
2630         Reviewed by Pavel Feldman.
2631
2632         Web Inspector: implement JavaScriptCallFrame that works for v8.
2633         Implementing this binding for v8 allows to make evaluations on
2634         call frames and protects access to the debugger context from
2635         inspected context.
2636
2637         https://bugs.webkit.org/show_bug.cgi?id=37755
2638
2639         * WebCore.gyp/WebCore.gyp:
2640         * WebCore.gypi:
2641         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2642         (WebCore::JSJavaScriptCallFrame::scopeType):
2643         * bindings/v8/JavaScriptCallFrame.cpp: Added.
2644         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2645         (WebCore::JavaScriptCallFrame::~JavaScriptCallFrame):
2646         (WebCore::JavaScriptCallFrame::caller):
2647         (WebCore::JavaScriptCallFrame::sourceID):
2648         (WebCore::JavaScriptCallFrame::line):
2649         (WebCore::JavaScriptCallFrame::functionName):
2650         (WebCore::JavaScriptCallFrame::scopeChain):
2651         (WebCore::JavaScriptCallFrame::scopeType):
2652         (WebCore::JavaScriptCallFrame::thisObject):
2653         (WebCore::JavaScriptCallFrame::evaluate):
2654         * bindings/v8/JavaScriptCallFrame.h: Added.
2655         (WebCore::JavaScriptCallFrame::create):
2656         * bindings/v8/ScriptDebugServer.cpp:
2657         (WebCore::ScriptDebugServer::currentCallFrame):
2658         * bindings/v8/ScriptDebugServer.h:
2659         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2660         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
2661         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp: Added.
2662         (WebCore::V8JavaScriptCallFrame::evaluateCallback):
2663         (WebCore::V8JavaScriptCallFrame::scopeChainAccessorGetter):
2664         (WebCore::V8JavaScriptCallFrame::scopeTypeCallback):
2665         (WebCore::V8JavaScriptCallFrame::thisObjectAccessorGetter):
2666         (WebCore::V8JavaScriptCallFrame::typeAccessorGetter):
2667         * inspector/JavaScriptCallFrame.idl:
2668         * inspector/front-end/InjectedScript.js:
2669         (injectedScriptConstructor.):
2670
2671 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
2672
2673         Rubber Stamped by Adam Roben
2674
2675         Chromium Release Build Fix.
2676
2677         * css/CSSSelector.cpp:
2678         (WebCore::CSSSelector::pseudoId):
2679         In the case where the DATALIST is not enabled, fall through to NOPSEUDO instead of omitting PseudoInputListButton entirely from the switch.
2680
2681 2010-04-19  Jessie Berlin  <jberlin@webkit.org>
2682
2683         Reviewed by Dave Hyatt.
2684
2685         First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
2686         https://bugs.webkit.org/show_bug.cgi?id=24021
2687
2688         Allows access to the computed styles for the pseudo-elements through the second argument to getComputedStyle.
2689         This approach does not provide the correct values for 'length' properties and does not work for the ':selection' pseudo-element and will instead return results similiar to those returned by Firefox. This approach also requires waiting until at least one iteration of a hardware accelerated composited animation to return the correct values for the "opacity" and "transform" properties of a pseudo-element associated with the element being animated.
2690         Those values need to be retrieved from the renderer for the pseudo-element as opposed to the cached RenderStyle for the element on which the pseudo-element is defined, which is further complicated by the fact that not all elements have renderers.
2691
2692         Test: fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html
2693
2694         * WebCore.base.exp:
2695         * css/CSSComputedStyleDeclaration.cpp:
2696         (WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
2697         Parse the and store the pseudo-element specifier from the string provided by the user.
2698         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
2699         Get the computed style for the pseudo-element if it has been specified.
2700         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2701         Get the computed style for the pseudo-element if it has been specified, with a FIXME noting that the values returned for the "opacity" and "transform" properties of a pseudo-element associated with an element being animated and using hardware accelerated compositing will not be correct until after the first iteration of the animation.
2702         (WebCore::CSSComputedStyleDeclaration::length):
2703         Get the computed style for the pseudo-element if it has been specified.
2704         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
2705         Ditto.
2706         * css/CSSComputedStyleDeclaration.h:
2707         (WebCore::computedStyle):
2708         Take into consideration the pseudo-element.
2709
2710         * css/CSSSelector.cpp:
2711         (WebCore::CSSSelector::pseudoId):
2712         Return the PseudoId that corresponds to the given PseudoType. If there is no corresponding PseudoId, returns NOPSEUDO.
2713         (WebCore::nameToPseudoTypeMap):
2714         Create and return the mapping between string names and PseudoTypes.
2715         (WebCore::CSSSelector::parsePseudoType):
2716         Parse and the given string into a PseudoType.
2717         (WebCore::CSSSelector::extractPseudoType):
2718         Refactored to use parsePseudoType.
2719         * css/CSSSelector.h:
2720
2721         * css/CSSStyleSelector.cpp:
2722         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2723         Refactored to use pseudoId.
2724
2725         * dom/Element.cpp:
2726         (WebCore::Element::computedStyle):
2727         If the pseudo-element is specified, then return the cached RenderStyle for that PseudoId. Added a FIXME to find the actual renders of the pseudo-elements instead of just the cached RenderStyle of the RenderStyle for the associated element.
2728         * dom/Element.h:
2729         (WebCore::Element::virtualComputedStyle):
2730         Because Element::computedStyle is used so often, don't make it virtual. Instead, provide a virtualComputedStyle method in the Node.h class andmake computedStyle non-virtual. That way the Element version and the Node version of computedStyle will have the same name and look the same at the call site, but the Element version will be more efficient.
2731
2732         * dom/Node.h:
2733         (WebCore::Node::computedStyle):
2734         Ditto.
2735         * dom/Node.cpp:
2736         (WebCore::Node::virtualComputedStyle):
2737         Get the computed style for the pseudo-element if it has been specified.
2738
2739         * page/DOMWindow.cpp:
2740         (WebCore::DOMWindow::getComputedStyle):
2741         Ditto.
2742
2743 2010-04-18  Simon Hausmann  <simon.hausmann@nokia.com>
2744
2745         Reviewed by Laszlo Gombos.
2746
2747         [Qt] Fix JavaScriptCore's include path for WinCE builds
2748
2749         https://bugs.webkit.org/show_bug.cgi?id=36751
2750
2751         * WebCore.pro:
2752
2753 2010-04-17  Alexey Proskuryakov  <ap@apple.com>
2754
2755         Reviewed by Adam Barth.
2756
2757         https://bugs.webkit.org/show_bug.cgi?id=37720
2758         <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
2759         crashes on SnowLeopard Release
2760
2761         Tests: 
2762         * fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html:
2763         * fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html:
2764
2765         * bindings/scripts/CodeGeneratorJS.pm: Use global object as a wrapper for window event
2766         listeners set via document.body. The body wrapper can go away if nothing else references it.
2767
2768         * html/HTMLBodyElement.idl: Override listeners that exist on Element with custom implementations,
2769         because we need to use window object as a wrapper, not the element. Marked all window event
2770         listeners as such for code generator.
2771
2772         * html/HTMLFrameSetElement.idl: Ditto.
2773
2774 2010-04-17  Juan C. Montemayor  <jmonte03@cs.tufts.edu>
2775
2776         Reviewed by Joseph Pecoraro.
2777
2778         Databases pane doesn't recognize table creation/deletion
2779         https://bugs.webkit.org/show_bug.cgi?id=20219
2780
2781         * inspector/front-end/DatabaseQueryView.js:
2782         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2783
2784 2010-04-17  Yaar Schnitman  <yaar@chromium.org>
2785
2786         Reviewed by Adam Barth.
2787
2788         Auto-generate V8 bindings for canvas.* overloads
2789         https://bugs.webkit.org/show_bug.cgi?id=37453
2790
2791         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Deleted custom code that is now auto-generated.
2792         * bindings/scripts/CodeGeneratorV8.pm: Not generating custom signatures for overloaded methods and accepting Object as a string input.
2793         * html/canvas/CanvasRenderingContext2D.cpp:
2794         (WebCore::CanvasRenderingContext2D::drawImage): Added missing 9-arguments overloads for drawImage.
2795         * html/canvas/CanvasRenderingContext2D.h: 
2796         * html/canvas/CanvasRenderingContext2D.idl: Overloaded methods defined (V8 only).
2797
2798 2010-04-17  Yury Semikhatsky  <yurys@chromium.org>
2799
2800         Reviewed by Pavel Feldman.
2801
2802         Web Inspector: move JavaScriptCallFrame.{h,cpp} to WebCore/bindings/js
2803
2804         https://bugs.webkit.org/show_bug.cgi?id=37740
2805
2806         * GNUmakefile.am:
2807         * WebCore.gypi:
2808         * WebCore.pro:
2809         * WebCore.vcproj/WebCore.vcproj:
2810         * WebCore.xcodeproj/project.pbxproj:
2811         * bindings/js/JSBindingsAllInOne.cpp:
2812         * bindings/js/JavaScriptCallFrame.cpp: Renamed from WebCore/inspector/JavaScriptCallFrame.cpp.
2813         (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
2814         (WebCore::JavaScriptCallFrame::caller):
2815         (WebCore::JavaScriptCallFrame::scopeChain):
2816         (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
2817         (WebCore::JavaScriptCallFrame::functionName):
2818         (WebCore::JavaScriptCallFrame::type):
2819         (WebCore::JavaScriptCallFrame::thisObject):
2820         (WebCore::JavaScriptCallFrame::evaluate):
2821         * bindings/js/JavaScriptCallFrame.h: Renamed from WebCore/inspector/JavaScriptCallFrame.h.
2822         (WebCore::JavaScriptCallFrame::create):
2823         (WebCore::JavaScriptCallFrame::invalidate):
2824         (WebCore::JavaScriptCallFrame::isValid):
2825         (WebCore::JavaScriptCallFrame::sourceID):
2826         (WebCore::JavaScriptCallFrame::line):
2827         (WebCore::JavaScriptCallFrame::update):
2828         * inspector/InjectedScriptHost.h:
2829         * inspector/InspectorController.h:
2830
2831 2010-04-17  Vangelis Kokkevis  <vangelis@chromium.org>
2832
2833         Reviewed by Dimitri Glazkov.
2834
2835         Adding definition of GLES2Context class.
2836         https://bugs.webkit.org/show_bug.cgi?id=37541
2837
2838         No new functionality implemented yet, no tests.
2839
2840         * WebCore.gypi: Added GLES2Context.h
2841         * platform/chromium/GLES2Context.h: Added.
2842
2843 2010-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
2844
2845         Reviewed by Darin Adler.
2846
2847         Crash while handling SVG font in the wrong namespace imported with @font-face
2848         https://bugs.webkit.org/show_bug.cgi?id=18862
2849
2850         Test: fast/invalid/invalidSVGFont.html
2851
2852         * loader/CachedFont.cpp:
2853         (WebCore::CachedFont::getSVGFontById): Make sure we really get an SVGFontElement by using
2854         getElementsByNameNS: the element factory chooses which element to create based on both
2855         localName and namespace.
2856
2857 2010-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2858
2859         Unreviewed, rolling out r57770.
2860         http://trac.webkit.org/changeset/57770
2861         https://bugs.webkit.org/show_bug.cgi?id=37746
2862
2863         8 test cases crashed (Requested by Ossy on #webkit).
2864
2865         * platform/graphics/qt/GraphicsLayerQt.cpp:
2866         (WebCore::AnimationQtBase::AnimationQtBase):
2867         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2868         (WebCore::TransformAnimationQt::applyFrame):
2869         (WebCore::OpacityAnimationQt::applyFrame):
2870         (WebCore::GraphicsLayerQt::addAnimation):
2871
2872 2010-04-16  Daniel Bates  <dbates@rim.com>
2873
2874         Reviewed by Adam Treat.
2875
2876         https://bugs.webkit.org/show_bug.cgi?id=36312
2877
2878         Adds support for the viewport meta tag. The code is largely derived in whole
2879         or in part from the WebCore-528.15 source published as part of the iPhone 3.1.3
2880         source code <http://www.opensource.apple.com/source/WebCore/WebCore-528.15/>.
2881
2882         * Android.mk: Added file ViewportArguments.cpp.
2883         * GNUmakefile.am: Added files ViewportArguments.cpp and ViewportArguments.h.
2884         * WebCore.gypi: Ditto.
2885         * WebCore.pro: Ditto.
2886         * WebCore.vcproj/WebCore.vcproj: Ditto.
2887         * WebCore.xcodeproj/project.pbxproj: Ditto.
2888         * dom/Document.cpp:
2889         (WebCore::isSeparator): Added.
2890         (WebCore::Document::processArguments): Added.
2891         (WebCore::Document::processViewport): Added.
2892         * dom/Document.h:
2893         * dom/ViewportArguments.cpp: Added.
2894         (WebCore::setViewportFeature):
2895         (WebCore::viewportErrorMessageTemplate):
2896         (WebCore::viewportErrorMessageLevel):
2897         (WebCore::reportViewportWarning):
2898         * dom/ViewportArguments.h: Added.
2899         (WebCore::):
2900         (WebCore::ViewportArguments::):
2901         (WebCore::ViewportArguments::ViewportArguments):
2902         (WebCore::ViewportArguments::hasCustomArgument):
2903         * html/HTMLMetaElement.cpp:
2904         (WebCore::HTMLMetaElement::process): Modified to call Document::processViewport.
2905         * page/ChromeClient.h:
2906         (WebCore::ChromeClient::didReceiveViewportArguments): Added.
2907
2908 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
2909
2910         Reviewed by Antti Koivisto.
2911
2912         [Qt] GraphicsLayer: support fill-modes
2913         https://bugs.webkit.org/show_bug.cgi?id=36216
2914         Implement the CSS-animation "fill mode" concept in GraphicsLayerQt. The concept
2915         enables a key-frame animation to go to the animation's starting point before the delay,
2916         and/or to stay at the animation's ending point after its ended, without reverting to the default
2917         value.
2918         We do that by manually setting the value to keyframe-0 before the delay if fill-mode is backwards/both,
2919         and manually modifying the default value to the animated value as we animate, with fill-mode forwards/both.
2920
2921         * platform/graphics/qt/GraphicsLayerQt.cpp:
2922         (WebCore::AnimationQtBase::AnimationQtBase):
2923         (WebCore::TransformAnimationQt::~TransformAnimationQt):
2924         (WebCore::TransformAnimationQt::applyFrame):
2925         (WebCore::GraphicsLayerQt::addAnimation):
2926
2927 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
2928
2929         Reviewed by NOBODY (arm build fix).
2930
2931         * bindings/js/JSDesktopNotificationsCustom.cpp:
2932         (WebCore::JSNotification::addEventListener):
2933         (WebCore::JSNotification::removeEventListener):
2934
2935 2010-04-16  Dmitry Titov  <dimich@chromium.org>
2936
2937         Reviewed by Yury Semikhatsky.
2938
2939         [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror.
2940         https://bugs.webkit.org/show_bug.cgi?id=37691
2941
2942         Existing worker-close.html will now work in Chromium.
2943
2944         * bindings/v8/V8Utilities.cpp:
2945         (WebCore::getScriptExecutionContext): Stop using proxy() to just retrieve WorkerContext which should be always available.
2946         * bindings/v8/WorkerContextExecutionProxy.h: removed workerContext() accessor which moved to WorkerScriptController.
2947         * bindings/v8/WorkerScriptController.h:
2948         (WebCore::WorkerScriptController::workerContext): Added, to be able to pull WorkerContext out from the controller.
2949
2950 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
2951
2952         Reviewed by Sam Weinig.
2953
2954         https://bugs.webkit.org/show_bug.cgi?id=37735
2955         Remove JSC specific code from WebCore::AtomicString
2956
2957         Add generic constructor/add/find methods that take a UChar* & length, along
2958         with a known existing hash for the string.
2959         This removes the remaining JSC specific code from platform/text.
2960
2961         * bindings/js/JSAbstractWorkerCustom.cpp:
2962         (WebCore::JSAbstractWorker::addEventListener):
2963         (WebCore::JSAbstractWorker::removeEventListener):
2964         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2965         (WebCore::JSDOMApplicationCache::addEventListener):
2966         (WebCore::JSDOMApplicationCache::removeEventListener):
2967         * bindings/js/JSDOMBinding.cpp:
2968         (WebCore::ustringToAtomicString):
2969         (WebCore::identifierToAtomicString):
2970         (WebCore::findAtomicString):
2971         * bindings/js/JSDOMBinding.h:
2972         * bindings/js/JSDOMWindowCustom.cpp:
2973         (WebCore::childFrameGetter):
2974         (WebCore::JSDOMWindow::getOwnPropertySlot):
2975         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2976         (WebCore::JSDOMWindow::open):
2977         (WebCore::JSDOMWindow::addEventListener):
2978         (WebCore::JSDOMWindow::removeEventListener):
2979         * bindings/js/JSElementCustom.cpp:
2980         (WebCore::JSElement::setAttribute):
2981         (WebCore::JSElement::setAttributeNS):
2982         * bindings/js/JSEventSourceCustom.cpp:
2983         (WebCore::JSEventSource::addEventListener):
2984         (WebCore::JSEventSource::removeEventListener):
2985         * bindings/js/JSHTMLAllCollectionCustom.cpp:
2986         (WebCore::getNamedItems):
2987         (WebCore::JSHTMLAllCollection::canGetItemsForName):
2988         * bindings/js/JSHTMLCollectionCustom.cpp:
2989         (WebCore::getNamedItems):
2990         (WebCore::JSHTMLCollection::canGetItemsForName):
2991         * bindings/js/JSHTMLDocumentCustom.cpp:
2992         (WebCore::JSHTMLDocument::canGetItemsForName):
2993         * bindings/js/JSHTMLFormElementCustom.cpp:
2994         (WebCore::JSHTMLFormElement::canGetItemsForName):
2995         (WebCore::JSHTMLFormElement::nameGetter):
2996         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2997         (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
2998         (WebCore::JSHTMLFrameSetElement::nameGetter):
2999         * bindings/js/JSMessageEventCustom.cpp:
3000         (WebCore::JSMessageEvent::initMessageEvent):
3001         * bindings/js/JSMessagePortCustom.cpp:
3002         (WebCore::JSMessagePort::addEventListener):
3003         (WebCore::JSMessagePort::removeEventListener):
3004         * bindings/js/JSMimeTypeArrayCustom.cpp:
3005         (WebCore::JSMimeTypeArray::canGetItemsForName):
3006         (WebCore::JSMimeTypeArray::nameGetter):
3007         * bindings/js/JSNodeCustom.cpp:
3008         (WebCore::JSNode::addEventListener):
3009         (WebCore::JSNode::removeEventListener):
3010         * bindings/js/JSNodeListCustom.cpp:
3011         (WebCore::JSNodeList::canGetItemsForName):
3012         (WebCore::JSNodeList::nameGetter):
3013         * bindings/js/JSPluginArrayCustom.cpp:
3014         (WebCore::JSPluginArray::canGetItemsForName):
3015         (WebCore::JSPluginArray::nameGetter):
3016         * bindings/js/JSPluginCustom.cpp:
3017         (WebCore::JSPlugin::canGetItemsForName):
3018         (WebCore::JSPlugin::nameGetter):
3019         * bindings/js/JSPopStateEventCustom.cpp:
3020         (WebCore::JSPopStateEvent::initPopStateEvent):
3021         * bindings/js/JSSVGElementInstanceCustom.cpp:
3022         (WebCore::JSSVGElementInstance::addEventListener):
3023         (WebCore::JSSVGElementInstance::removeEventListener):
3024         * bindings/js/JSWebSocketCustom.cpp:
3025         (WebCore::JSWebSocket::addEventListener):
3026         (WebCore::JSWebSocket::removeEventListener):
3027         * bindings/js/JSWorkerContextCustom.cpp:
3028         (WebCore::JSWorkerContext::addEventListener):
3029         (WebCore::JSWorkerContext::removeEventListener):
3030         * bindings/js/JSXMLHttpRequestCustom.cpp:
3031         (WebCore::JSXMLHttpRequest::setRequestHeader):
3032         (WebCore::JSXMLHttpRequest::getResponseHeader):
3033         (WebCore::JSXMLHttpRequest::addEventListener):
3034         (WebCore::JSXMLHttpRequest::removeEventListener):
3035         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3036         (WebCore::JSXMLHttpRequestUpload::addEventListener):
3037         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3038         * platform/text/AtomicString.cpp:
3039         (WebCore::AtomicString::add):
3040         (WebCore::AtomicString::find):
3041         * platform/text/AtomicString.h:
3042         (WebCore::AtomicString::AtomicString):
3043
3044 2010-04-16  Fumitoshi Ukai  <ukai@chromium.org>
3045
3046         Reviewed by Alexey Proskuryakov.
3047
3048         WebSocket crash when it receives bad header.
3049         https://bugs.webkit.org/show_bug.cgi?id=37682
3050
3051         If name or value is not valid UTF-8, nameStr or valueStr would be
3052         null string, so crashed in headers->add(nameStr, valueStr).
3053         Check both nameStr and valueStr are not null string.
3054         Otherwise handshake will fail.
3055
3056         Test: websocket/tests/bad-handshake-crash.html
3057
3058         * websockets/WebSocketHandshake.cpp:
3059         (WebCore::WebSocketHandshake::readHTTPHeaders): check nameStr and valueStr are not null string.
3060
3061 2010-04-16  Dan Bernstein  <mitz@apple.com>
3062
3063         Reviewed by Simon Fraser.
3064
3065         <rdar://problem/7873647> Crash when updating hover state
3066
3067         Test: fast/dynamic/hover-style-recalc-crash.html
3068
3069         Updating the hover state of an element caused the document to need style
3070         recalc, and then updating the hover state of a link caused style recalc,
3071         which changed the render tree while updateHoverActiveState() was iterating
3072         over it, leading to a crash.
3073
3074         * rendering/RenderLayer.cpp:
3075         (WebCore::RenderLayer::updateHoverActiveState): Collect the nodes to be
3076         updated into vectors, then update their active and hover states.
3077
3078 2010-04-16  Dumitru Daniliuc  <dumi@chromium.org>
3079
3080         Reviewed by Alexey Proskuryakov.
3081
3082         Make Safari correctly allocate 5MB of DB storage to all new
3083         origins.
3084         https://bugs.webkit.org/show_bug.cgi?id=36671
3085
3086         Eric fixed the same problem in
3087         DatabaseTracker::fullPathForDatabaseNoLock() in r57128, but forgot
3088         to fix it in DatabaseTracker::detailsForNameAndOrigin() too.
3089
3090         * storage/DatabaseTracker.cpp:
3091         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
3092
3093 2010-04-16  Kinuko Yasuda  <kinuko@chromium.org>
3094
3095         Reviewed by Jian Li.
3096
3097         Implement FileStreamProxy that calls FileStream methods on FileThread for FileAPI
3098         https://bugs.webkit.org/show_bug.cgi?id=37218
3099
3100         No new tests; tests will be added when we add upper layer implementations.
3101
3102         * GNUmakefile.am:
3103         * WebCore.gypi:
3104         * WebCore.pro:
3105         * WebCore.vcproj/WebCore.vcproj:
3106         * WebCore.xcodeproj/project.pbxproj:
3107         * html/FileStream.cpp:
3108         (WebCore::FileStream::stop):
3109         * html/FileStream.h:
3110         * html/FileStreamClient.h:
3111         (WebCore::FileStreamClient::didStop):
3112         * html/FileStreamProxy.cpp: Added
3113         * html/FileStreamProxy.h: Added
3114         * html/FileThreadTask.h: Added
3115
3116 2010-04-16  Gavin Barraclough  <barraclough@apple.com>
3117
3118         Reviewed by Oliver Hunt.
3119
3120         Bug 37730 - Remove JSC::UString dependencies from WebCore::StringImpl
3121         (Following on from bug #37675).
3122
3123         Remove ustring() method, and constructor passed a UString.
3124
3125         * WebCore.base.exp:
3126         * bindings/js/JSDOMBinding.cpp:
3127         (WebCore::stringimplToUString):
3128         (WebCore::jsStringSlowCase):
3129         (WebCore::ustringToString):
3130         (WebCore::stringToUString):
3131         (WebCore::identifierToString):
3132         * bindings/js/JSDOMBinding.h:
3133         (WebCore::jsString):
3134         * platform/text/AtomicString.cpp:
3135         (WebCore::AtomicString::operator UString):
3136         * platform/text/StringImpl.cpp:
3137         (WebCore::StringImpl::create):
3138         * platform/text/StringImpl.h:
3139
3140 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
3141  
3142         Reviewed by Simon Hausmann.
3143  
3144         [Qt] WebGL is not visible when QGLWidget viewport is used
3145         https://bugs.webkit.org/show_bug.cgi?id=37070
3146  
3147         Added HostWindow parameter to the constructor of GraphicsContext3D.
3148         Shared OpenGL context is initialized with parent QGLWidget.
3149  
3150         * html/canvas/WebGLRenderingContext.cpp:
3151         (WebCore::WebGLRenderingContext::create):
3152         * platform/graphics/GraphicsContext3D.h:
3153         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3154         (WebCore::GraphicsContext3D::create):
3155         (WebCore::GraphicsContext3D::GraphicsContext3D):
3156         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3157         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
3158         (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
3159         (WebCore::GraphicsContext3DInternal::getOwnerGLWidget):
3160         (WebCore::GraphicsContext3D::create):
3161         (WebCore::GraphicsContext3D::GraphicsContext3D):
3162
3163 2010-04-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
3164
3165         Reviewed by Simon Hausmann.
3166
3167         [Qt] WebKit compilation fails with --3d-canvas
3168         https://bugs.webkit.org/show_bug.cgi?id=37699 
3169         
3170         API for readPixels() has been changed. 
3171
3172         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3173         (WebCore::GraphicsContext3D::readPixels):
3174
3175 2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
3176
3177         Reviewed by Antti Koivisto.
3178
3179         [Qt]QtLauncher crash on page with CSS 3D transform
3180         https://bugs.webkit.org/show_bug.cgi?id=36859
3181
3182         Added a neccessary null-pointer check, lack of which created the crash circumstances.
3183
3184         Tested by http://css-vfx.googlecode.com/svn/trunk/snowstack/snowstack.html
3185
3186         * platform/graphics/qt/GraphicsLayerQt.cpp:
3187         (WebCore::GraphicsLayerQtImpl::flushChanges):
3188
3189 2010-04-16  Anders Carlsson  <andersca@apple.com>
3190
3191         Reviewed by Sam Weinig.
3192
3193         Make sure to update the current graphics context when calling out to AppKit.
3194
3195         * platform/mac/ThemeMac.mm:
3196         (WebCore::paintCheckbox):
3197         (WebCore::paintRadio):
3198
3199 2010-04-15  Gavin Barraclough  <barraclough@apple.com>
3200
3201         Reviewed by Sam Weinig & Oliver Hunt.
3202
3203         https://bugs.webkit.org/show_bug.cgi?id=37675
3204         Remove casts/constructors to/from JSC::UString type from WebCore::String
3205         
3206         WebCore's strings should not know about JSC::UString, this should be abstracted
3207         away in the bindings.  Add explicit conversion methods rather than relying on
3208         overloaded cast operators / constructors being implicitly called.
3209
3210         This patch only changes the class String, once this has landed StringImpl, and
3211         hopefully AtomicString too, should follow suit.
3212
3213         This patch adds:
3214             WebCore::identifierToString
3215             WebCore::ustringToString
3216             WebCore::stringToUString
3217
3218         - to JSDOMBindings.h, and updates code to call these methods.
3219
3220         * WebCore.base.exp:
3221         * WebCore.order:
3222         * bindings/js/CachedScriptSourceProvider.h:
3223         (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
3224         * bindings/js/JSAudioConstructor.cpp:
3225         (WebCore::constructAudio):
3226         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3227         (WebCore::JSCSSStyleDeclaration::nameGetter):
3228         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3229         (WebCore::toHTMLCanvasStyle):
3230         (WebCore::JSCanvasRenderingContext2D::setFillColor):
3231         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3232         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
3233         (WebCore::JSCanvasRenderingContext2D::setShadow):
3234         (WebCore::JSCanvasRenderingContext2D::fillText):
3235         (WebCore::JSCanvasRenderingContext2D::strokeText):
3236         * bindings/js/JSClipboardCustom.cpp:
3237         (WebCore::JSClipboard::types):
3238         (WebCore::JSClipboard::clearData):
3239         (WebCore::JSClipboard::getData):
3240         (WebCore::JSClipboard::setData):
3241         * bindings/js/JSCustomXPathNSResolver.cpp:
3242         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3243         * bindings/js/JSDOMBinding.cpp:
3244         (WebCore::identifierToString):
3245         (WebCore::ustringToString):
3246         (WebCore::stringToUString):
3247         (WebCore::valueToStringWithNullCheck):
3248         (WebCore::valueToStringWithUndefinedOrNullCheck):
3249         (WebCore::reportException):
3250         * bindings/js/JSDOMBinding.h:
3251         * bindings/js/JSDOMFormDataCustom.cpp:
3252         (WebCore::JSDOMFormData::append):
3253         * bindings/js/JSDOMWindowCustom.cpp:
3254         (WebCore::namedItemGetter):
3255         (WebCore::JSDOMWindow::setLocation):
3256         (WebCore::JSDOMWindow::openDatabase):
3257         * bindings/js/JSDatabaseCustom.cpp:
3258         (WebCore::JSDatabase::changeVersion):
3259         * bindings/js/JSDocumentCustom.cpp:
3260         (WebCore::JSDocument::setLocation):
3261         * bindings/js/JSEventListener.cpp:
3262         (WebCore::JSEventListener::handleEvent):
3263         * bindings/js/JSEventSourceConstructor.cpp:
3264         (WebCore::constructEventSource):
3265         * bindings/js/JSHTMLAllCollectionCustom.cpp:
3266         (WebCore::callHTMLAllCollection):
3267         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3268         (WebCore::JSHTMLCanvasElement::getContext):
3269         * bindings/js/JSHTMLCollectionCustom.cpp:
3270         (WebCore::callHTMLCollection):
3271         * bindings/js/JSHTMLDocumentCustom.cpp:
3272         (WebCore::JSHTMLDocument::nameGetter):
3273         (WebCore::documentWrite):
3274         * bindings/js/JSInjectedScriptHostCustom.cpp:
3275         (WebCore::InjectedScriptHost::createInjectedScript):
3276         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3277         (WebCore::JSInspectorFrontendHost::showContextMenu):
3278         * bindings/js/JSLazyEventListener.cpp:
3279         (WebCore::JSLazyEventListener::initializeJSFunction):
3280         * bindings/js/JSLocationCustom.cpp:
3281         (WebCore::JSLocation::setHref):
3282         (WebCore::JSLocation::setProtocol):
3283         (WebCore::JSLocation::setHost):
3284         (WebCore::JSLocation::setHostname):
3285         (WebCore::JSLocation::setPathname):
3286         (WebCore::JSLocation::setSearch):
3287         (WebCore::JSLocation::setHash):
3288         (WebCore::JSLocation::replace):
3289         (WebCore::JSLocation::assign):
3290         * bindings/js/JSMessageEventCustom.cpp:
3291         (WebCore::JSMessageEvent::initMessageEvent):
3292         * bindings/js/JSNamedNodeMapCustom.cpp:
3293         (WebCore::JSNamedNodeMap::canGetItemsForName):
3294         (WebCore::JSNamedNodeMap::nameGetter):
3295         * bindings/js/JSOptionConstructor.cpp:
3296         (WebCore::constructHTMLOptionElement):
3297         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3298         (WebCore::JSSQLResultSetRowList::item):
3299         * bindings/js/JSSQLTransactionCustom.cpp:
3300         (WebCore::JSSQLTransaction::executeSql):
3301         * bindings/js/JSSharedWorkerConstructor.cpp:
3302         (WebCore::constructSharedWorker):
3303         * bindings/js/JSStorageCustom.cpp:
3304         (WebCore::JSStorage::canGetItemsForName):
3305         (WebCore::JSStorage::nameGetter):
3306         (WebCore::JSStorage::deleteProperty):
3307         (WebCore::JSStorage::getOwnPropertyNames):
3308         (WebCore::JSStorage::putDelegate):
3309         * bindings/js/JSStyleSheetListCustom.cpp:
3310         (WebCore::JSStyleSheetList::canGetItemsForName):
3311         (WebCore::JSStyleSheetList::nameGetter):
3312         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
3313         (WebCore::constructWebKitCSSMatrix):
3314         * bindings/js/JSWebSocketConstructor.cpp:
3315         (WebCore::constructWebSocket):
3316         * bindings/js/JSWebSocketCustom.cpp:
3317         (WebCore::JSWebSocket::send):
3318         * bindings/js/JSWorkerConstructor.cpp:
3319         (WebCore::constructWorker):
3320         * bindings/js/JSWorkerContextCustom.cpp:
3321         (WebCore::JSWorkerContext::importScripts):
3322         * bindings/js/JSXMLHttpRequestCustom.cpp:
3323         (WebCore::JSXMLHttpRequest::open):
3324         (WebCore::JSXMLHttpRequest::setRequestHeader):
3325         (WebCore::JSXMLHttpRequest::send):
3326         (WebCore::JSXMLHttpRequest::overrideMimeType):
3327         * bindings/js/JSXSLTProcessorCustom.cpp:
3328         (WebCore::JSXSLTProcessor::setParameter):
3329         (WebCore::JSXSLTProcessor::getParameter):
3330         (WebCore::JSXSLTProcessor::removeParameter):
3331         * bindings/js/ScheduledAction.cpp:
3332         (WebCore::ScheduledAction::create):
3333         * bindings/js/ScriptCallFrame.cpp:
3334         (WebCore::ScriptCallFrame::ScriptCallFrame):
3335         * bindings/js/ScriptController.cpp:
3336         (WebCore::ScriptController::evaluateInWorld):
3337         * bindings/js/ScriptDebugServer.cpp:
3338         (WebCore::ScriptDebugServer::hasBreakpoint):
3339         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3340         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
3341         (WebCore::ScriptDebugServer::sourceParsed):
3342         * bindings/js/ScriptEventListener.cpp:
3343         (WebCore::getEventListenerHandlerBody):
3344         * bindings/js/ScriptFunctionCall.cpp:
3345         (WebCore::ScriptFunctionCall::appendArgument):
3346         (WebCore::ScriptFunctionCall::call):
3347         (WebCore::ScriptFunctionCall::construct):
3348         * bindings/js/ScriptObject.cpp:
3349         (WebCore::ScriptObject::set):
3350         * bindings/js/ScriptProfiler.cpp:
3351         (WebCore::ScriptProfiler::start):
3352         (WebCore::ScriptProfiler::stop):
3353         * bindings/js/ScriptString.h:
3354         (WebCore::ScriptString::operator String):
3355         (WebCore::ScriptString::ustring):
3356         (WebCore::ScriptString::operator+=):
3357         * bindings/js/ScriptValue.cpp:
3358         (WebCore::ScriptValue::getString):
3359         * bindings/js/ScriptValue.h:
3360         (WebCore::ScriptValue::toString):
3361         * bindings/js/SerializedScriptValue.cpp:
3362         (WebCore::SerializedObject::set):
3363         (WebCore::SerializingTreeWalker::convertIfTerminal):
3364         (WebCore::DeserializingTreeWalker::putProperty):
3365         * bindings/js/StringSourceProvider.h:
3366         (WebCore::StringSourceProvider::StringSourceProvider):
3367         * bindings/objc/WebScriptObject.mm:
3368         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3369         (-[WebScriptObject setValue:forKey:]):
3370         (-[WebScriptObject valueForKey:]):
3371         (-[WebScriptObject removeWebScriptKey:]):
3372         * bindings/scripts/CodeGeneratorJS.pm:
3373         * bridge/IdentifierRep.cpp:
3374         (WebCore::IdentifierRep::get):
3375         * bridge/c/c_utility.cpp:
3376         (JSC::Bindings::identifierFromNPIdentifier):
3377         * inspector/InspectorController.cpp:
3378         (WebCore::InspectorController::scriptImported):
3379         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
3380         (WebCore::InspectorController::createProfileHeader):
3381         * inspector/InspectorResource.cpp:
3382         (WebCore::InspectorResource::sourceString):
3383         * inspector/JavaScriptCallFrame.cpp:
3384         (WebCore::JavaScriptCallFrame::functionName):
3385         * platform/KURL.h:
3386         (WebCore::KURL::operator const String&):
3387         * platform/text/AtomicString.cpp:
3388         (WebCore::AtomicString::operator UString):
3389         * platform/text/AtomicString.h:
3390         * platform/text/PlatformString.h:
3391         * platform/text/String.cpp:
3392
3393 2010-04-16  Anders Carlsson  <andersca@apple.com>
3394
3395         Reviewed by David Hyatt.
3396
3397         Always pass a view to the AppKit drawing functions.
3398         https://bugs.webkit.org/show_bug.cgi?id=37724
3399
3400         * platform/mac/ThemeMac.mm:
3401         (WebCore::paintCheckbox):
3402         (WebCore::paintRadio):
3403         * rendering/RenderThemeMac.mm:
3404         (WebCore::RenderThemeMac::paintMenuList):
3405         (WebCore::RenderThemeMac::paintSliderThumb):
3406         (WebCore::RenderThemeMac::paintSearchField):
3407         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
3408         (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
3409         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
3410
3411 2010-04-16  Alexey Proskuryakov  <ap@apple.com>
3412
3413         Reviewed by Dan Bernstein.
3414
3415         https://bugs.webkit.org/show_bug.cgi?id=37718
3416         Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks
3417
3418         Test: fast/events/recorded-keydown-event.html
3419
3420         * dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::charCode): Check if the view (window) is
3421         frameless.
3422
3423 2010-04-16  Jian Li  <jianli@chromium.org>
3424
3425         Reviewed by Dmitry Titov.
3426
3427         Update FormDataList to fix style violations in old code.
3428         https://bugs.webkit.org/show_bug.cgi?id=37689
3429
3430         * html/FormDataList.h:
3431         (WebCore::FormDataList::appendData):
3432         (WebCore::FormDataList::appendBlob):
3433
3434 2010-04-16  Anders Carlsson  <andersca@apple.com>
3435
3436         Fix WebKit2 build.
3437
3438         * WebCore.base.exp:
3439
3440 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
3441
3442         Reviewed by Dimitri Glazkov.
3443
3444         [chromium] Fix Mac build.
3445         https://bugs.webkit.org/show_bug.cgi?id=37436
3446
3447         * platform/chromium/PopupMenuChromium.h:
3448
3449 2010-04-16  Jay Civelli  <jcivelli@chromium.org>
3450
3451         Reviewed by Dimitri Glazkov.
3452
3453         [chromium] Select popups would assert when destroyed.
3454         https://bugs.webkit.org/show_bug.cgi?id=37436
3455
3456
3457         * platform/chromium/PopupMenuChromium.cpp:
3458         (WebCore::PopupContainer::PopupContainer):
3459         (WebCore::PopupContainer::showPopup):
3460         (WebCore::PopupContainer::notifyPopupHidden):
3461         * platform/chromium/PopupMenuChromium.h:
3462
3463 2010-04-16  Antonio Gomes  <tonikitoo@webkit.org>
3464
3465         Unreviewed QtWebKit (with Qt 4.7) build fix.
3466
3467         Bug 37683 moved code from FontQt.cpp to FontPlatformDataQt.cpp but did not
3468         renamed the variable used.
3469
3470         * platform/graphics/qt/FontPlatformDataQt.cpp:
3471         (WebCore::FontPlatformData::FontPlatformData):
3472
3473 2010-04-16  Noam Rosenthal  <noam.rosenthal@nokia.com>
3474
3475         Reviewed by Kenneth Rohde Christiansen.
3476
3477         Make GraphicsLayerQt always use ItemCoordinateCache, and remove ItemUsesExtendedStyleOption.
3478         This aligns our implementation with the Safari implementation - layers are always uploaded
3479         to textures in item units, and WebCore is responsible for the heuristics.
3480
3481         [Qt] GraphicsLayer: performance optimizations
3482         https://bugs.webkit.org/show_bug.cgi?id=35393
3483
3484         No new tests. Still no FPS benchmarks available (on any platform)
3485         but animations are noticably better.
3486
3487         * platform/graphics/qt/GraphicsLayerQt.cpp:
3488         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
3489         (WebCore::GraphicsLayerQtImpl::paint):
3490         (WebCore::GraphicsLayerQtImpl::flushChanges):
3491         (WebCore::TransformAnimationQt::updateState):
3492
3493 2010-04-16  Simon Hausmann  <simon.hausmann@nokia.com>
3494
3495         Reviewed by Kenneth Rohde Christiansen.
3496
3497         [Qt] WebCore::Font::font() causes a QFont detach
3498         https://bugs.webkit.org/show_bug.cgi?id=37683
3499
3500         Moved the setStyleStrategy call to FontPlatformData
3501         to avoid the detach.
3502
3503         Thanks to Holger for spotting this.
3504
3505         * platform/graphics/qt/FontPlatformDataQt.cpp:
3506         (WebCore::FontPlatformData::FontPlatformData):
3507         * platform/graphics/qt/FontQt.cpp:
3508         (WebCore::Font::font):
3509
3510 2010-04-15  Matt Perry  <mpcomplete@chromium.org>
3511
3512         Reviewed by Adam Barth.
3513
3514         Remove the check for the main frame's scheme when deciding which
3515         v8 extensions to add to a script context. Instead, Chromium will
3516         handle that check elsewhere to allow finer-grained control over
3517         what APIs we expose to web pages.
3518         https://bugs.webkit.org/show_bug.cgi?id=37681
3519
3520         * bindings/v8/V8DOMWindowShell.cpp:
3521         (WebCore::V8DOMWindowShell::createNewContext):
3522
3523 2010-04-15  Luiz Agostini  <luiz.agostini@openbossa.org>
3524
3525         Reviewed by Antti Koivisto.
3526
3527         No default selection for <select multiple> menu lists.
3528         https://bugs.webkit.org/show_bug.cgi?id=37530
3529
3530         Manual test: manual-tests/no-listbox-rendering.html
3531
3532         For menu lists, if the selection is not indicated by the html file, the first <option> will be
3533         selected after loading the page or reseting the form. On the other hand listboxes may have no
3534         element selected after loading the page or reseting the form.
3535
3536         When NO_LISTBOX_RENDERING is enabled listboxes becomes menu lists. Those <select multiple>
3537         that did not have selected elements, now being menu lists, will have the first <option>
3538         selected. That is the behavior difference that this patch corrects.
3539
3540         When NO_LISTBOX_RENDERING is enabled usesMenuList() always returns true then usesMenuList() cannot
3541         be used to decide about initial selection of the elements. This patch replaces (usesMenuLists())
3542         by (!multiple && size <= 1) where initial selection is considered.
3543
3544         * dom/SelectElement.cpp:
3545         (WebCore::SelectElement::recalcListItems):
3546         (WebCore::SelectElement::reset):
3547         * manual-tests/no-listbox-rendering.html: Added.
3548
3549 2010-04-15  Zhenyao Mo  <zmo@google.com>
3550
3551         Reviewed by Dimitri Glazkov.
3552
3553         Index validation code validates too many vertex attributes
3554         https://bugs.webkit.org/show_bug.cgi?id=31892
3555
3556         * html/canvas/WebGLProgram.cpp:
3557         (WebCore::WebGLProgram::cacheActiveAttribLocations): Cache active attribute locations for a program at linkProgram time.
3558         (WebCore::WebGLProgram::getActiveAttribLocation): Get the cached attribute location.
3559         (WebCore::WebGLProgram::numActiveAttribLocations): Get the number of cached attribute locations.
3560         * html/canvas/WebGLProgram.h: Add attribute locations member.
3561         * html/canvas/WebGLRenderingContext.cpp:
3562         (WebCore::WebGLRenderingContext::validateRenderingState): Add logic not to validate those attributes that do not belong to the current program.
3563         (WebCore::WebGLRenderingContext::linkProgram): Call cacheActiveAttribLocations().
3564
3565 2010-04-16  Adam Roben  <aroben@apple.com>
3566
3567         Don't assert when soft-linked libraries can't be found
3568
3569         In some situations (e.g., when using SOFT_LINK_OPTIONAL), we expect soft-link libraries not
3570         to be able to be found in all cases. So we shouldn't assert that they're always found.
3571
3572         Reviewed by Sam Weinig.
3573
3574         * platform/win/SoftLinking.h:
3575         (SOFT_LINK): Don't assert when LoadLibrary fails.
3576
3577 2010-04-15  Dmitry Titov  <dimich@chromium.org>
3578
3579         Unreviewed, rolling out r57688.
3580         http://trac.webkit.org/changeset/57688
3581         https://bugs.webkit.org/show_bug.cgi?id=34992
3582
3583         Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots
3584
3585         * bindings/js/JSWorkerContextCustom.cpp:
3586         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3587         * storage/Database.idl:
3588         * storage/SQLError.idl:
3589         * storage/SQLResultSet.idl:
3590         * storage/SQLResultSetRowList.idl:
3591         * storage/SQLTransaction.idl:
3592         * workers/WorkerContext.cpp:
3593         (WebCore::WorkerContext::openDatabase):
3594         * workers/WorkerContext.h:
3595         (WebCore::WorkerContext::databaseExceededQuota):
3596         * workers/WorkerContext.idl:
3597
3598 2010-04-15  Yury Semikhatsky  <yurys@google.com>
3599
3600         Reviewed by Pavel Feldman.
3601     
3602         Support basic debugging capabilities including step in/over/out in v8
3603         implementation of ScriptDebugServer.
3604
3605         https://bugs.webkit.org/show_bug.cgi?id=37604
3606
3607         * bindings/js/JSInjectedScriptHostCustom.cpp:
3608         (WebCore::InjectedScriptHost::createInjectedScript):
3609         * bindings/v8/ScriptDebugServer.cpp:
3610         (WebCore::ScriptDebugServer::ScriptDebugServer):
3611         (WebCore::ScriptDebugServer::setDebuggerScriptSource):
3612         (WebCore::ScriptDebugServer::addListener):
3613         (WebCore::ScriptDebugServer::removeListener):
3614         (WebCore::ScriptDebugServer::setBreakpoint):
3615         (WebCore::ScriptDebugServer::removeBreakpoint):
3616         (WebCore::ScriptDebugServer::clearBreakpoints):
3617         (WebCore::ScriptDebugServer::setBreakpointsActivated):
3618         (WebCore::ScriptDebugServer::continueProgram):
3619         (WebCore::ScriptDebugServer::stepIntoStatement):
3620         (WebCore::ScriptDebugServer::stepOverStatement):
3621         (WebCore::ScriptDebugServer::stepOutOfFunction):
3622         (WebCore::ScriptDebugServer::currentCallFrameState):
3623         (WebCore::ScriptDebugServer::currentCallFrameV8):
3624         (WebCore::ScriptDebugServer::onV8DebugMessage):
3625         (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
3626         (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
3627         (WebCore::ScriptDebugServer::handleV8DebugMessage):
3628         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3629         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
3630         (WebCore::ScriptDebugServer::didResume):
3631         * bindings/v8/ScriptDebugServer.h:
3632         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
3633         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
3634         (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
3635         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3636         (WebCore::InjectedScriptHost::createInjectedScript):
3637         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
3638         (WebCore::V8InjectedScriptHost::isActivationCallback):
3639         * inspector/front-end/InjectedScript.js:
3640         (injectedScriptConstructor):
3641         (injectedScriptConstructor.):
3642         * inspector/front-end/ScriptsPanel.js:
3643         (WebInspector.ScriptsPanel):
3644
3645 2010-04-15  Jian Li  <jianli@chromium.org>
3646
3647         Reviewed by Dmitry Titov.
3648
3649         Support using FormData to send a sliced file via XHR.
3650         https://bugs.webkit.org/show_bug.cgi?id=36678
3651
3652         Tests: http/tests/local/formdata/send-form-data-with-sliced-file.html
3653
3654         * html/Blob.h:
3655         (WebCore::Blob::isFile):
3656         * html/DOMFormData.cpp:
3657         (WebCore::DOMFormData::append):
3658         * html/File.h:
3659         (WebCore::File::isFile):
3660         * html/FormDataList.h:
3661         (WebCore::FormDataList::appendBlob):
3662         (WebCore::FormDataList::Item::Item):
3663         (WebCore::FormDataList::Item::blob):
3664         * html/HTMLInputElement.cpp:
3665         (WebCore::HTMLInputElement::appendFormData):
3666         * platform/network/FormData.cpp:
3667         (WebCore::FormData::appendDOMFormData):
3668         * platform/network/mac/FormDataStreamMac.mm:
3669         (WebCore::closeCurrentStream):
3670
3671 2010-04-15  Zhenyao Mo  <zmo@google.com>
3672
3673         Reviewed by Dimitri Glazkov.
3674
3675         Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
3676         https://bugs.webkit.org/show_bug.cgi?id=37178
3677
3678         Test: fast/canvas/webgl/point-size.html
3679
3680         * platform/graphics/mac/GraphicsContext3DMac.cpp: Enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization.
3681         (WebCore::GraphicsContext3D::GraphicsContext3D):
3682
3683 2010-04-15  Eric Uhrhane  <ericu@chromium.org>
3684
3685         Reviewed by Dmitry Titov.
3686
3687         Add bindings for async DB API in Workers.
3688         https://bugs.webkit.org/show_bug.cgi?id=34992
3689
3690         Tests: storage/change-version-handle-reuse-worker.html
3691                storage/execute-sql-args-worker.html
3692
3693         * bindings/js/JSWorkerContextCustom.cpp: Add openDatabase binding.
3694         (WebCore::JSWorkerContext::openDatabase):
3695
3696         * bindings/v8/custom/V8WorkerContextCustom.cpp: Add openDatabase stub; Chromium will need work both in V8 and in the browser process before we can turn this on there.
3697         (WebCore::V8WorkerContext::openDatabaseCallback):
3698
3699         Add NoStaticTables flags to all objects now shared with workers.
3700         * storage/Database.idl:
3701         * storage/SQLError.idl:
3702         * storage/SQLResultSet.idl:
3703         * storage/SQLResultSetRowList.idl:
3704         * storage/SQLTransaction.idl:
3705         
3706         * workers/WorkerContext.h: Add databaseExceededQuota.
3707         * workers/WorkerContext.cpp:
3708         (WebCore::WorkerContext::databaseExceededQuota): Add stub implementation for testing; you just get 5MB for now.
3709         (WebCore::WorkerContext::openDatabase): Remove invalid assertion.
3710
3711         Add the IDL for the call to openDatabase.
3712         * workers/WorkerContext.idl:
3713
3714 2010-04-15  Nicolas Weber  <thakis@chromium.org>
3715
3716         Reviewed by Dimitri Glazkov.
3717
3718         Fix drag image thumbnails for indexed images.
3719         https://bugs.webkit.org/show_bug.cgi?id=37621
3720
3721         * platform/chromium/DragImageChromiumMac.cpp:
3722         (WebCore::scaleDragImage): Always use RGB color space.
3723         (WebCore::dissolveDragImageToFraction): Always use RGB color space.
3724
3725 2010-04-15  Adam Roben  <aroben@apple.com>
3726
3727         Expose UserContentURLPattern as WebKit SPI
3728
3729         Fixes <http://webkit.org/b/37354>.
3730
3731         Reviewed by Tim Hatcher.
3732
3733         * WebCore.base.exp: Export UserContentURLPattern::parse, and sorted
3734         the file.
3735
3736         * WebCore.xcodeproj/project.pbxproj: Marked UserContentURLPattern.h as
3737         "Private".
3738
3739         * page/UserContentURLPattern.h:
3740         (WebCore::UserContentURLPattern::UserContentURLPattern): Added a
3741         default constructor.
3742         (WebCore::UserContentURLPattern::isValid): Added this getter.
3743
3744 2010-04-15  Chris Fleizach  <cfleizach@apple.com>
3745
3746         Reviewed by Beth Dakin.
3747
3748         AXHelp is being appended from ancestors incorrectly
3749         https://bugs.webkit.org/show_bug.cgi?id=37659
3750
3751         Test: platform/mac/accessibility/unexpected-help-text.html
3752
3753         * accessibility/AccessibilityRenderObject.cpp:
3754         (WebCore::AccessibilityRenderObject::helpText):
3755
3756 2010-04-15  David Hyatt  <hyatt@apple.com>
3757
3758         Reviewed by Anders Carlsson.
3759
3760         https://bugs.webkit.org/show_bug.cgi?id=37669, REGRESSION: visited styles don't work right when only the visited path specifies
3761         a pseudoelement.
3762         
3763         Rework the pseudo cache on RenderStyles to support nesting, i.e., a pseudo hanging off a pseudo.  The existing model gets
3764         confused by this concept, since it relies on a singly linked list of chained pseudo styles (instead of a Vector owned by a primary
3765         style).  I changed the style cache to be a Vector instead.
3766         
3767         Reworked both styleForElement and pseudoStyleForElement to resolve visited styles first, since in the pseudoStyleForElement case
3768         you need to do this in order to know to allocate an unvisited pseudo style even if one shouldn't normally exist.
3769
3770         * css/CSSStyleSelector.cpp:
3771         (WebCore::CSSStyleSelector::styleForElement):
3772         (WebCore::CSSStyleSelector::pseudoStyleForElement):
3773         * dom/Element.cpp:
3774         (WebCore::Element::pseudoStyleCacheIsInvalid):
3775         * rendering/style/RenderStyle.cpp:
3776         (WebCore::RenderStyle::getCachedPseudoStyle):
3777         (WebCore::RenderStyle::addCachedPseudoStyle):
3778         * rendering/style/RenderStyle.h:
3779         (WebCore::):
3780         (WebCore::InheritedFlags::cachedPseudoStyles):
3781
3782 2010-04-15  Albert J. Wong  <ajwong@chromium.org>
3783
3784         Unreviewed, rolling out r57660.
3785         http://trac.webkit.org/changeset/57660
3786         https://bugs.webkit.org/show_bug.cgi?id=37604
3787
3788         Broke a large number of inspector layout tests in chromium.
3789
3790         * bindings/js/JSInjectedScriptHostCustom.cpp:
3791         (WebCore::InjectedScriptHost::createInjectedScript):
3792         * bindings/v8/ScriptDebugServer.cpp:
3793         * bindings/v8/ScriptDebugServer.h:
3794         (WebCore::ScriptDebugServer::addListener):
3795         (WebCore::ScriptDebugServer::removeListener):
3796         (WebCore::ScriptDebugServer::setBreakpoint):
3797         (WebCore::ScriptDebugServer::removeBreakpoint):
3798         (WebCore::ScriptDebugServer::clearBreakpoints):
3799         (WebCore::ScriptDebugServer::setBreakpointsActivated):
3800         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
3801         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
3802         (WebCore::ScriptDebugServer::continueProgram):
3803         (WebCore::ScriptDebugServer::stepIntoStatement):
3804         (WebCore::ScriptDebugServer::stepOverStatement):
3805         (WebCore::ScriptDebugServer::stepOutOfFunction):
3806         (WebCore::ScriptDebugServer::currentCallFrameState):
3807         (WebCore::ScriptDebugServer::ScriptDebugServer):
3808         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3809         (WebCore::InjectedScriptHost::createInjectedScript):
3810         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
3811         (WebCore::V8InjectedScriptHost::isActivationCallback):
3812         * inspector/front-end/InjectedScript.js:
3813         (injectedScriptConstructor):
3814         * inspector/front-end/ScriptsPanel.js:
3815         (WebInspector.ScriptsPanel):
3816
3817 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
3818
3819         Reviewed by Dimitri Glazkov.
3820
3821         DatabaseTracker refactoring: remove the dependency on
3822         OriginQuotaManager from DatabaseTracker.h
3823         https://bugs.webkit.org/show_bug.cgi?id=31482
3824
3825         * storage/DatabaseTracker.cpp:
3826         (WebCore::DatabaseTracker::DatabaseTracker):
3827         (WebCore::DatabaseTracker::~DatabaseTracker):
3828         (WebCore::DatabaseTracker::canEstablishDatabase):
3829         (WebCore::DatabaseTracker::hasEntryForOrigin):
3830         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3831         (WebCore::DatabaseTracker::databaseChanged):
3832         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
3833         (WebCore::DatabaseTracker::fullPathForDatabase):
3834         (WebCore::DatabaseTracker::populateOrigins):
3835         (WebCore::DatabaseTracker::origins):
3836         (WebCore::DatabaseTracker::databaseNamesForOrigin):
3837         (WebCore::DatabaseTracker::addOpenDatabase):
3838         (WebCore::DatabaseTracker::removeOpenDatabase):
3839         (WebCore::DatabaseTracker::usageForOriginNoLock):
3840         (WebCore::DatabaseTracker::usageForOrigin):
3841         (WebCore::DatabaseTracker::quotaForOrigin):
3842         (WebCore::DatabaseTracker::setQuota):
3843         (WebCore::DatabaseTracker::deleteOrigin):
3844         (WebCore::DatabaseTracker::deleteDatabase):
3845         (WebCore::DatabaseTracker::deleteDatabaseFile):
3846         * storage/DatabaseTracker.h:
3847         * storage/SQLTransactionClient.cpp:
3848         (WebCore::SQLTransactionClient::didExecuteStatement):
3849
3850 2010-04-15  Zhenyao Mo  <zmo@google.com>
3851
3852         Reviewed by Adam Barth.
3853
3854         Several tests in fast/canvas/webgl/ failed randomly on Leopard Commit Bot
3855         This fixes an uninitialized variable bug and restores a glFinish call that used to be present.
3856         https://bugs.webkit.org/show_bug.cgi?id=36908
3857
3858         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3859         (WebCore::GraphicsContext3D::GraphicsContext3D): Initialize width/height to 0/0.
3860         (WebCore::GraphicsContext3D::prepareTexture): Restore glFinish() in every path.
3861
3862 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
3863
3864         Reviewed by Simon Fraser.
3865
3866         Spatial Navigation: make hasOffscreenRect() to earlier return 'true' if absoluteClippedOverflowRect() gives an empty rect
3867         https://bugs.webkit.org/show_bug.cgi?id=37635
3868
3869         absoluteClippedOverflowRect method of RenderObject does return an empty IntRect for offscreen nodes.
3870         So hasOffscreenRect method (SpatialNavigation.cpp) can safily bail out earlier in such cases.
3871
3872         * page/SpatialNavigation.cpp:
3873         (WebCore::hasOffscreenRect):
3874
3875 2010-04-14  Antonio Gomes  <tonikitoo@webkit.org>
3876
3877         Reviewed by Simon Fraser.
3878
3879         Spatial Navigation: remove unnecessery assignment in updateFocusCandidateIfCloser method
3880         https://bugs.webkit.org/show_bug.cgi?id=37634
3881
3882         This assignment line is not longer needed after r57061, bug that refactored all
3883         assignment logic to happen lines below in the method.
3884
3885         * page/FocusController.cpp:
3886         (WebCore::updateFocusCandidateIfCloser):
3887
3888 2010-04-15  Yury Semikhatsky  <yurys@google.com>
3889
3890         Reviewed by Pavel Feldman.
3891     
3892         Support basic debugging capabilities including step in/over/out in v8
3893         implementation of ScriptDebugServer.
3894
3895         https://bugs.webkit.org/show_bug.cgi?id=37604
3896
3897         * bindings/js/JSInjectedScriptHostCustom.cpp:
3898         (WebCore::InjectedScriptHost::createInjectedScript):
3899         * bindings/v8/ScriptDebugServer.cpp:
3900         (WebCore::ScriptDebugServer::ScriptDebugServer):
3901         (WebCore::ScriptDebugServer::setDebuggerScriptSource):
3902         (WebCore::ScriptDebugServer::addListener):
3903         (WebCore::ScriptDebugServer::removeListener):
3904         (WebCore::ScriptDebugServer::setBreakpoint):
3905         (WebCore::ScriptDebugServer::removeBreakpoint):
3906         (WebCore::ScriptDebugServer::clearBreakpoints):
3907         (WebCore::ScriptDebugServer::setBreakpointsActivated):
3908         (WebCore::ScriptDebugServer::continueProgram):
3909         (WebCore::ScriptDebugServer::stepIntoStatement):
3910         (WebCore::ScriptDebugServer::stepOverStatement):
3911         (WebCore::ScriptDebugServer::stepOutOfFunction):
3912         (WebCore::ScriptDebugServer::currentCallFrameState):
3913         (WebCore::ScriptDebugServer::currentCallFrameV8):
3914         (WebCore::ScriptDebugServer::onV8DebugMessage):
3915         (WebCore::ScriptDebugServer::onV8DebugHostDispatch):
3916         (WebCore::ScriptDebugServer::handleV8DebugHostDispatch):
3917         (WebCore::ScriptDebugServer::handleV8DebugMessage):
3918         (WebCore::ScriptDebugServer::dispatchDidParseSource):
3919         (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
3920         (WebCore::ScriptDebugServer::didResume):
3921         * bindings/v8/ScriptDebugServer.h:
3922         (WebCore::ScriptDebugServer::pauseOnExceptionsState):
3923         (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
3924         (WebCore::ScriptDebugServer::setMessageLoopDispatchHandler):
3925         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3926         (WebCore::InjectedScriptHost::createInjectedScript):
3927         (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
3928         (WebCore::V8InjectedScriptHost::isActivationCallback):
3929         * inspector/front-end/InjectedScript.js:
3930         (injectedScriptConstructor):
3931         (injectedScriptConstructor.):
3932         * inspector/front-end/ScriptsPanel.js:
3933         (WebInspector.ScriptsPanel):
3934
3935 2010-04-15  Nikolas Zimmermann  <nzimmermann@rim.com>
3936
3937         Reviewed by Beth Dakin.
3938
3939         RenderSVGResource <-> id mapping should be cached
3940         https://bugs.webkit.org/show_bug.cgi?id=37575
3941
3942         Test: svg/custom/clip-path-id-changes.svg
3943
3944         * rendering/RenderSVGResource.h:
3945         (WebCore::RenderSVGResource::RenderSVGResource):
3946         (WebCore::RenderSVGResource::~RenderSVGResource):
3947         (WebCore::RenderSVGResource::idChanged):
3948         (WebCore::getRenderSVGResourceById):
3949         * svg/SVGDocumentExtensions.cpp:
3950         (WebCore::SVGDocumentExtensions::addResource):
3951         (WebCore::SVGDocumentExtensions::removeResource):
3952         (WebCore::SVGDocumentExtensions::resourceById):
3953         * svg/SVGDocumentExtensions.h:
3954         * svg/SVGStyledElement.cpp:
3955         (WebCore::SVGStyledElement::svgAttributeChanged):
3956
3957 2010-04-15  Justin Schuh  <jschuh@chromium.org>
3958
3959         Reviewed by Dimitri Glazkov.
3960
3961         LayoutTest breakage in V8 bindings after r57627
3962         https://bugs.webkit.org/show_bug.cgi?id=37660
3963
3964         Fixes breakage of the following tests due to an error in V8 bindings for
3965         NamedNodeMap:
3966         hc_namednodemapinuseattributeerr.html
3967         hc_namednodemapsetnameditemreturnvalue.html
3968         hc_namednodemapwrongdocumenterr.html
3969         hc_namednodemapinvalidtype1.html
3970         NamedNodeMap-setNamedItem-crash.html
3971
3972         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3973         (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
3974         (WebCore::V8NamedNodeMap::setNamedItemCallback):
3975
3976 2010-04-15  David Hyatt  <hyatt@apple.com>
3977
3978         Reviewed by Anders Carlsson.
3979
3980         https://bugs.webkit.org/show_bug.cgi?id=37567, :first-letter inside a :visited link is wrong color.  Make sure
3981         that the pseudo style caching allows visited link styles to hang off other pseudo styles.
3982
3983         * rendering/RenderBlock.cpp:
3984         (WebCore::RenderBlock::updateFirstLetter):
3985         * rendering/style/RenderStyle.cpp:
3986         (WebCore::RenderStyle::getCachedPseudoStyle):
3987
3988 2010-04-15  Ben Murdoch  <benm@google.com>
3989
3990         Unreviewed, rolling out r57652.
3991         http://trac.webkit.org/changeset/57652
3992         https://bugs.webkit.org/show_bug.cgi?id=37609
3993
3994         Caused a build break on Chromium Mac and Layout Test fail on
3995         Qt
3996
3997         * platform/PlatformTouchPoint.h:
3998         (WebCore::PlatformTouchPoint::):
3999         * platform/qt/PlatformTouchPointQt.cpp:
4000         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
4001
4002 2010-04-15  Yaar Schnitman  <yaar@chromium.org>
4003
4004         Reviewed by Nate Chapin.
4005
4006         Overloads auto-generation in V8
4007         https://bugs.webkit.org/show_bug.cgi?id=37373
4008
4009         This will be used by XHR.send/open, Canvas.*, WebGL.* methods that are currently custom. When more than a single overload exists for a method, the correct overload is chosen based on the total number of arguments passed as well as the values passed to non-primitive arguments.
4010
4011         Overload dispatch order depends on the order the functions are defined in the IDL. Overloads must be specified from the most precise (overloads with wrapper type arguments) to the least precise (overloads with only primitive type arguments).
4012
4013         * bindings/scripts/CodeGeneratorV8.pm: Identify and output overloads callbacks and dispatch code.
4014         * bindings/v8/test/TestObj.idl: Overloads sample.
4015         * bindings/v8/test/V8TestObj.cpp: Output change.
4016
4017 2010-04-15  Ben Murdoch  <benm@google.com>
4018
4019         Reviewed by Kenneth Rohde Christiansen.
4020
4021         The TouchStationary state of WebCore::PlatformTouchPoint
4022         is not handled inside the touch event handler.
4023         https://bugs.webkit.org/show_bug.cgi?id=37609
4024
4025         After discussions at the WebKit contributors meeting, we decided
4026         that this is a currently unused state without a good future use
4027         case in the Touch API and thus decided to remove it. This patch
4028         actions that decision.
4029
4030         As the TouchStationary state is not handled in the EventHandler,
4031         there is no change in functionality so no new tests are required.
4032
4033         * platform/PlatformTouchPoint.h:
4034         (WebCore::PlatformTouchPoint::): Remove TouchStationary.
4035         * platform/qt/PlatformTouchPointQt.cpp:
4036         (WebCore::PlatformTouchPoint::PlatformTouchPoint): Remove TouchStationary.
4037
4038 2010-04-15  Steve Falkenburg  <sfalken@apple.com>
4039
4040         Reviewed by Adam Roben.
4041
4042         Use a lower-overhead mechanism for plug-in message throttling
4043         https://bugs.webkit.org/show_bug.cgi?id=37642        
4044         <rdar://problem/7418285> Very high CPU usage idling in gmail under Windows 7 (plug-in related)
4045         
4046         GMail has an instance of Flash that loads on the main mail page.
4047         This Flash content sends us a constant stream of WM_USER+1 messsages.
4048         
4049         There was already code in PluginMessageThrottlerWin to queue and process these
4050         excess WM_USER+1 messages from Flash. Unfortunately, there were a couple of
4051         problems with this code:
4052         
4053         - The timer used to process the excess messages had a very low timeout (1ms).
4054           Chrome uses a value of 5ms for this delay, and doesn't use excess CPU here,
4055           while still maintaining good Flash frame rate.
4056         
4057         - The overhead involved in generating a constant stream of 5ms timers still swamped
4058           the CPU, resulting in continued high CPU utilization.
4059           
4060         To fix this, I changed the throttling code to:
4061         
4062         - Process a queued WM_USER+1 message directly if none has been processed in 5ms.
4063           This allows us to avoid the overhead of a timer.
4064           
4065         - Process remaining delayed WM_USER+1 messages on a 16ms timer.
4066         
4067         This reduces our CPU utilization idling in GMail from ~20% to ~2-3% on my system.
4068         I also verified the frame rate for Flash content wasn't reduced with this change.
4069
4070         * plugins/win/PluginMessageThrottlerWin.cpp:
4071         (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): Initialize m_lastMessageTime.
4072         (WebCore::PluginMessageThrottlerWin::appendMessage): Process a queued message directly if >5ms have passed.
4073         (WebCore::PluginMessageThrottlerWin::processQueuedMessage): Split out from messageThrottleTimerFired.
4074         (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired): Call through to processQueuedMessage.
4075         * plugins/win/PluginMessageThrottlerWin.h: Add processQueuedMessage, m_lastMessageTime.
4076
4077 2010-04-15  Shinichiro Hamaji  <hamaji@chromium.org>
4078
4079         Reviewed by David Levin.
4080
4081         LEAK: in ThreadableWebSocketChannel::create()
4082         https://bugs.webkit.org/show_bug.cgi?id=37584
4083
4084         No new tests because this change just fixes a leak.
4085
4086         * websockets/WorkerThreadableWebSocketChannel.cpp:
4087         (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
4088         * websockets/WorkerThreadableWebSocketChannel.h:
4089         (WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
4090
4091 2010-04-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
4092
4093         Reviewed by Eric Seidel.
4094
4095         Duplicated patches related to wml were pushed to trunk. So, one of
4096         the patches should be reverted.
4097         https://bugs.webkit.org/show_bug.cgi?id=37542
4098
4099         * wml/WMLOptionElement.h:
4100         * wml/WMLSelectElement.h:
4101
4102 2010-04-15  Bruno Schmidt  <bruno.schmidt@gmail.com>
4103
4104         Reviewed by Kenneth Rohde Christiansen.
4105
4106         [Qt] Null QObjects properties cause Segmentation Fault
4107         https://bugs.webkit.org/show_bug.cgi?id=34730
4108
4109         QObjects exported to the QWebkit javascript with properties that are
4110         a null "QObject*" cause Segmentation Fault.
4111
4112         If an QObject is added to the javascript context and it contains
4113         properties of the type QObject* with NULL value, calling the property
4114         causes Segmentation Fault.
4115         So now the code below properly checks for null pointers:
4116
4117         * bridge/qt/qt_instance.cpp:
4118         (JSC::Bindings::QtInstance::getClass): may return NULL
4119         (JSC::Bindings::QtInstance::getMethod): may return jsNull()
4120         (JSC::Bindings::QtInstance::stringValue): may return jsNull()
4121         (JSC::Bindings::QtInstance::booleanValue): may return false
4122         * bridge/qt/qt_runtime.cpp:
4123         (JSC::Bindings::convertValueToQVariant): 
4124         (JSC::Bindings::convertQVariantToValue): May return jsNull on QObjectStar
4125
4126 2010-04-14  Simon Fraser  <simon.fraser@apple.com>
4127
4128         Reviewed by Dan Bernstein.
4129
4130         Repaint of fixed, transformed element is broken
4131         https://bugs.webkit.org/show_bug.cgi?id=37637
4132
4133         RenderBox::computeRectForRepaint() failed to set the 'fixed' flag correctly
4134         for elements that had both fixed position and a transform. If the element has
4135         a transform, 'fixed' should only remain true if the element itself is fixed
4136         position.
4137         
4138         Also cache style()->position() in a local variable for performance.
4139         
4140         Test: fast/repaint/fixed-tranformed.html
4141
4142         * rendering/RenderBox.cpp:
4143         (WebCore::RenderBox::computeRectForRepaint):
4144
4145 2010-04-14  Luiz Agostini  <luiz.agostini@openbossa.org>
4146
4147         Reviewed by Kenneth Rohde Christiansen.
4148
4149         Changing view mode names due to specification changes
4150         https://bugs.webkit.org/show_bug.cgi?id=37615
4151
4152         test: fast/media/media-feature-wgt-view-mode.html
4153
4154         specification: http://dev.w3.org/2006/waf/widgets-vmmf/
4155
4156         * css/MediaQueryEvaluator.cpp:
4157         (WebCore::view_modeMediaFeatureEval):
4158         * page/ChromeClient.h:
4159         (WebCore::ChromeClient::isWindowed):
4160         (WebCore::ChromeClient::isMaximized):
4161         (WebCore::ChromeClient::isMinimized):
4162
4163 2010-04-14  Adam Barth  <abarth@webkit.org>
4164
4165         Unreviewed attempt to fix Qt build.
4166
4167         * bindings/js/JSNodeCustom.cpp:
4168
4169 2010-04-14  Justin Schuh  <jschuh@chromium.org>
4170
4171         Reviewed by Adam Barth.
4172
4173         Javascript URL can be set as iframe.src via multiple DOM aliases
4174         https://bugs.webkit.org/show_bug.cgi?id=37031
4175
4176         Moved frame/iframe checks from Attr to Node on inherited members.
4177         Node child manipulation methods now return NOT_SUPPORTED_ERR if used
4178         on a frame/iframe src attribute.
4179         NamedNodeMap set methods now perform frame/iframe src checks.
4180         Moved allowSettingSrcToJavascriptURL static helper function from 
4181         JSElementCustom.cpp to exported function in JSDOMBinding.h.
4182
4183         * bindings/js/JSAttrCustom.cpp:
4184         (WebCore::JSAttr::setValue):
4185         * bindings/js/JSDOMBinding.cpp:
4186         (WebCore::allowSettingSrcToJavascriptURL):
4187         * bindings/js/JSDOMBinding.h:
4188         * bindings/js/JSElementCustom.cpp:
4189         * bindings/js/JSNamedNodeMapCustom.cpp:
4190         (WebCore::JSNamedNodeMap::setNamedItem):
4191         (WebCore::JSNamedNodeMap::setNamedItemNS):
4192         * bindings/js/JSNodeCustom.cpp:
4193         (WebCore::isAttrFrameSrc):
4194         (WebCore::JSNode::setNodeValue):
4195         (WebCore::JSNode::setTextContent):
4196         (WebCore::JSNode::insertBefore):
4197         (WebCore::JSNode::replaceChild):
4198         (WebCore::JSNode::removeChild):
4199         (WebCore::JSNode::appendChild):
4200         * bindings/v8/custom/V8AttrCustom.cpp:
4201         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
4202         (WebCore::V8NamedNodeMap::setNamedItemNSCallback):
4203         (WebCore::V8NamedNodeMap::setNamedItemCallback):
4204         (WebCore::toV8):
4205         * bindings/v8/custom/V8NodeCustom.cpp:
4206         (WebCore::isFrameSrc):
4207         (WebCore::V8Node::textContentAccessorSetter):
4208         (WebCore::V8Node::nodeValueAccessorSetter):
4209         (WebCore::V8Node::insertBeforeCallback):
4210         (WebCore::V8Node::replaceChildCallback):
4211         (WebCore::V8Node::removeChildCallback):
4212         (WebCore::V8Node::appendChildCallback):
4213         * dom/Attr.idl:
4214         * dom/NamedNodeMap.idl:
4215         * dom/Node.idl:
4216
4217 2010-04-14  Alejandro G. Castro  <alex@igalia.com>
4218
4219         Reviewed by Xan Lopez.
4220
4221         We have to check if the resource handler is cancelled before
4222         checking the client, other case it could crash.
4223
4224         * platform/network/soup/ResourceHandleSoup.cpp:
4225         (WebCore::parseDataUrl):
4226
4227 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
4228
4229         Unreviewed, rolling out r57609.
4230         http://trac.webkit.org/changeset/57609
4231         https://bugs.webkit.org/show_bug.cgi?id=37614
4232
4233         "Broke multiple builders.  Probably needs new test results,
4234         but may be an Inspector bug." (Requested by eseidel on
4235         #webkit).
4236
4237         * inspector/InspectorController.cpp:
4238         (WebCore::InspectorController::didReceiveResponse):
4239         (WebCore::InspectorController::didFailLoading):
4240         * inspector/front-end/Resource.js:
4241         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
4242         * inspector/front-end/ResourcesPanel.js:
4243         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
4244
4245 2010-04-14  Steve Falkenburg  <sfalken@apple.com>
4246
4247         Reviewed by Dan Bernstein.
4248
4249         Don't cache SimpleFontData* in getLastResortFallbackFont. The cached entry may be invalidated.
4250         https://bugs.webkit.org/show_bug.cgi?id=37599
4251
4252         * platform/graphics/win/FontCacheWin.cpp:
4253         (WebCore::fontDataFromDescriptionAndLogFont):
4254         (WebCore::FontCache::getLastResortFallbackFont):
4255
4256 2010-04-14  Andrey Kosyakov  <caseq@chromium.ru>
4257
4258         Reviewed by Timothy Hatcher.
4259
4260         Log error message to inspector console if a resource fails to load.
4261         Disable checking of mime-type consistency for failed resources.
4262         https://bugs.webkit.org/show_bug.cgi?id=37215
4263
4264         Test: inspector/console-resource-errors.html
4265
4266         * inspector/InspectorController.cpp:
4267         (WebCore::InspectorController::didReceiveResponse):
4268         (WebCore::InspectorController::didFailLoading):
4269         * inspector/front-end/Resource.js:
4270         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
4271         * inspector/front-end/ResourcesPanel.js:
4272         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
4273
4274 2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>
4275
4276         Unreviewed, rolling out r57599.
4277         http://trac.webkit.org/changeset/57599
4278         https://bugs.webkit.org/show_bug.cgi?id=37605
4279
4280         "Broke Chromium build" (Requested by dglazkov on #webkit).
4281
4282         * platform/chromium/PopupMenuChromium.cpp:
4283         (WebCore::PopupContainer::PopupContainer):
4284         (WebCore::PopupContainer::showPopup):
4285         (WebCore::PopupContainer::notifyPopupHidden):
4286         * platform/chromium/PopupMenuChromium.h:
4287
4288 2010-04-14  Aaron Boodman  <aa@chromium.org>
4289
4290         Reviewed by David Levin.
4291
4292         Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
4293         the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
4294         unsupported. Fixed by resolving the relative URL first.
4295
4296         https://bugs.webkit.org/show_bug.cgi?id=36623
4297
4298         Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
4299
4300         * notifications/Notification.cpp:
4301         (WebCore::Notification::Notification): Accept resolved KURL instead of relative string.
4302         * notifications/Notification.h:
4303         (WebCore::Notification::create): Ditto.
4304         (WebCore::Notification::iconURL): Return resolved KURL instead of relative string.
4305         * notifications/NotificationCenter.h:
4306         (WebCore::NotificationCenter::createHTMLNotification): Immediately resolve URL instead of passing off relative string.
4307         (WebCore::NotificationCenter::createNotification): Ditto.
4308         * notifications/NotificationContents.h:
4309         (WebCore::NotificationContents::NotificationContents): Accept resolved KURL instead of relative string.
4310         (WebCore::NotificationContents::icon): Return resolved URL.
4311
4312 2010-04-14  Anders Carlsson  <andersca@apple.com>
4313
4314         Reviewed by Sam Weinig.
4315
4316         Add ThemeMac::ensuredView and get rid of a workaround in ThemeMac::paintButton.
4317         https://bugs.webkit.org/show_bug.cgi?id=37601
4318
4319         * platform/mac/ThemeMac.h:
4320         * platform/mac/ThemeMac.mm:
4321         (-[WebCoreFlippedView isFlipped]):
4322         (WebCore::paintButton):
4323         (WebCore::ThemeMac::ensuredView):
4324
4325 2010-04-14  Jay Civelli  <jcivelli@chromium.org>
4326  
4327         Reviewed by Dimitri Glazkov.
4328
4329         [chromium] Select popups would assert when destroyed.
4330         https://bugs.webkit.org/show_bug.cgi?id=37436
4331  
4332         * platform/chromium/PopupMenuChromium.cpp:
4333         (WebCore::PopupContainer::PopupContainer):
4334         (WebCore::PopupContainer::showPopup):
4335         (WebCore::PopupContainer::notifyPopupHidden):
4336         * platform/chromium/PopupMenuChromium.h:
4337  
4338
4339 2010-04-14  Dumitru Daniliuc  <dumi@chromium.org>
4340
4341         Reviewed by Jian Li.
4342
4343         Remove an incorrect ASSERT in UniscribeHelper::draw().