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