2009-04-21 Xan Lopez <xlopez@igalia.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-04-21  Xan Lopez  <xlopez@igalia.com>
2
3         Reviewed by Gustavo Noronha.
4
5         https://bugs.webkit.org/show_bug.cgi?id=21546
6         [GTK] ATK accessibility enhancements
7
8         Based on a patch by Alp Toker.
9
10         Implement AtkComponent interface.
11
12         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
13         (core):
14
15 2009-04-21  Xan Lopez  <xlopez@igalia.com>
16
17         Reviewed by Gustavo Noronha.
18
19         https://bugs.webkit.org/show_bug.cgi?id=21546
20         [GTK] ATK accessibility enhancements
21
22         Only implement AtkAction interface if we actually have an action.
23
24         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
25
26 2009-04-20  Alexey Proskuryakov  <ap@webkit.org>
27
28         Reviewed by Darin Adler.
29
30         https://bugs.webkit.org/show_bug.cgi?id=25290
31         REGRESSION(r41732): Crash when constructing XMLHttpRequest in a detached document
32
33         Test: fast/dom/xmlhttprequest-constructor-in-detached-document.html
34
35         * bindings/js/JSAudioConstructor.cpp:
36         (WebCore::JSAudioConstructor::JSAudioConstructor):
37         * bindings/js/JSAudioConstructor.h:
38         * bindings/js/JSDOMGlobalObject.h:
39         (WebCore::getDOMConstructor):
40         * bindings/js/JSImageConstructor.cpp:
41         (WebCore::JSImageConstructor::JSImageConstructor):
42         * bindings/js/JSImageConstructor.h:
43         * bindings/js/JSMessageChannelConstructor.cpp:
44         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
45         * bindings/js/JSMessageChannelConstructor.h:
46         * bindings/js/JSOptionConstructor.cpp:
47         (WebCore::JSOptionConstructor::JSOptionConstructor):
48         * bindings/js/JSOptionConstructor.h:
49         * bindings/js/JSXMLHttpRequestConstructor.cpp:
50         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
51         * bindings/js/JSXMLHttpRequestConstructor.h:
52         Avoid accessing JSDOMGlobalObject via ScriptExecutionContext, since it may not
53         work during frame teardown.
54
55 2009-04-20  Geoffrey Garen  <ggaren@apple.com>
56
57         Rubber stamped by Darin Adler and Sam Weinig.
58
59         Renamed "*InlineEventListener*" => "*AttributeEventListener*", and
60         "isInline" => "isAttribute".
61
62         * bindings/js/JSDOMGlobalObject.cpp:
63         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
64         * bindings/js/JSEventListener.cpp:
65         (WebCore::JSEventListener::JSEventListener):
66         (WebCore::JSEventListener::~JSEventListener):
67         (WebCore::JSEventListener::handleEvent):
68         (WebCore::JSEventListener::virtualisAttribute):
69         * bindings/js/JSEventListener.h:
70         (WebCore::JSEventListener::create):
71         (WebCore::JSEventListener::isAttribute):
72         * bindings/js/JSLazyEventListener.cpp:
73         (WebCore::createAttributeEventListener):
74         * bindings/js/JSLazyEventListener.h:
75         * bindings/scripts/CodeGeneratorJS.pm:
76         * dom/Element.cpp:
77         (WebCore::Element::setWindowAttributeEventListener):
78         * dom/Element.h:
79         * dom/EventListener.h:
80         (WebCore::EventListener::isAttribute):
81         (WebCore::EventListener::virtualisAttribute):
82         * dom/Node.cpp:
83         (WebCore::Node::clearAttributeEventListener):
84         (WebCore::Node::setAttributeEventListener):
85         (WebCore::Node::getAttributeEventListener):
86         (WebCore::Node::onabort):
87         (WebCore::Node::setOnabort):
88         (WebCore::Node::onblur):
89         (WebCore::Node::setOnblur):
90         (WebCore::Node::onchange):
91         (WebCore::Node::setOnchange):
92         (WebCore::Node::onclick):
93         (WebCore::Node::setOnclick):
94         (WebCore::Node::oncontextmenu):
95         (WebCore::Node::setOncontextmenu):
96         (WebCore::Node::ondblclick):
97         (WebCore::Node::setOndblclick):
98         (WebCore::Node::onerror):
99         (WebCore::Node::setOnerror):
100         (WebCore::Node::onfocus):
101         (WebCore::Node::setOnfocus):
102         (WebCore::Node::oninput):
103         (WebCore::Node::setOninput):
104         (WebCore::Node::onkeydown):
105         (WebCore::Node::setOnkeydown):
106         (WebCore::Node::onkeypress):
107         (WebCore::Node::setOnkeypress):
108         (WebCore::Node::onkeyup):
109         (WebCore::Node::setOnkeyup):
110         (WebCore::Node::onload):
111         (WebCore::Node::setOnload):
112         (WebCore::Node::onmousedown):
113         (WebCore::Node::setOnmousedown):
114         (WebCore::Node::onmousemove):
115         (WebCore::Node::setOnmousemove):
116         (WebCore::Node::onmouseout):
117         (WebCore::Node::setOnmouseout):
118         (WebCore::Node::onmouseover):
119         (WebCore::Node::setOnmouseover):
120         (WebCore::Node::onmouseup):
121         (WebCore::Node::setOnmouseup):
122         (WebCore::Node::onmousewheel):
123         (WebCore::Node::setOnmousewheel):
124         (WebCore::Node::onbeforecut):
125         (WebCore::Node::setOnbeforecut):
126         (WebCore::Node::oncut):
127         (WebCore::Node::setOncut):
128         (WebCore::Node::onbeforecopy):
129         (WebCore::Node::setOnbeforecopy):
130         (WebCore::Node::oncopy):
131         (WebCore::Node::setOncopy):
132         (WebCore::Node::onbeforepaste):
133         (WebCore::Node::setOnbeforepaste):
134         (WebCore::Node::onpaste):
135         (WebCore::Node::setOnpaste):
136         (WebCore::Node::ondragenter):
137         (WebCore::Node::setOndragenter):
138         (WebCore::Node::ondragover):
139         (WebCore::Node::setOndragover):
140         (WebCore::Node::ondragleave):
141         (WebCore::Node::setOndragleave):
142         (WebCore::Node::ondrop):
143         (WebCore::Node::setOndrop):
144         (WebCore::Node::ondragstart):
145         (WebCore::Node::setOndragstart):
146         (WebCore::Node::ondrag):
147         (WebCore::Node::setOndrag):
148         (WebCore::Node::ondragend):
149         (WebCore::Node::setOndragend):
150         (WebCore::Node::onreset):
151         (WebCore::Node::setOnreset):
152         (WebCore::Node::onresize):
153         (WebCore::Node::setOnresize):
154         (WebCore::Node::onscroll):
155         (WebCore::Node::setOnscroll):
156         (WebCore::Node::onsearch):
157         (WebCore::Node::setOnsearch):
158         (WebCore::Node::onselect):
159         (WebCore::Node::setOnselect):
160         (WebCore::Node::onselectstart):
161         (WebCore::Node::setOnselectstart):
162         (WebCore::Node::onsubmit):
163         (WebCore::Node::setOnsubmit):
164         (WebCore::Node::onunload):
165         (WebCore::Node::setOnunload):
166         * dom/Node.h:
167         * editing/ReplaceSelectionCommand.cpp:
168         (WebCore::ReplacementFragment::ReplacementFragment):
169         * html/HTMLBodyElement.cpp:
170         (WebCore::HTMLBodyElement::parseMappedAttribute):
171         * html/HTMLButtonElement.cpp:
172         (WebCore::HTMLButtonElement::parseMappedAttribute):
173         * html/HTMLElement.cpp:
174         (WebCore::HTMLElement::parseMappedAttribute):
175         * html/HTMLFormElement.cpp:
176         (WebCore::HTMLFormElement::parseMappedAttribute):
177         * html/HTMLFrameElementBase.cpp:
178         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
179         * html/HTMLFrameSetElement.cpp:
180         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
181         * html/HTMLImageElement.cpp:
182         (WebCore::HTMLImageElement::parseMappedAttribute):
183         * html/HTMLInputElement.cpp:
184         (WebCore::HTMLInputElement::parseMappedAttribute):
185         * html/HTMLObjectElement.cpp:
186         (WebCore::HTMLObjectElement::parseMappedAttribute):
187         * html/HTMLScriptElement.cpp:
188         (WebCore::HTMLScriptElement::parseMappedAttribute):
189         * html/HTMLSelectElement.cpp:
190         (WebCore::HTMLSelectElement::parseMappedAttribute):
191         * html/HTMLTextAreaElement.cpp:
192         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
193         * page/AccessibilityRenderObject.cpp:
194         (WebCore::AccessibilityRenderObject::mouseButtonListener):
195         * page/DOMWindow.cpp:
196         (WebCore::DOMWindow::setAttributeEventListener):
197         (WebCore::DOMWindow::clearAttributeEventListener):
198         (WebCore::DOMWindow::getAttributeEventListener):
199         (WebCore::DOMWindow::onabort):
200         (WebCore::DOMWindow::setOnabort):
201         (WebCore::DOMWindow::onblur):
202         (WebCore::DOMWindow::setOnblur):
203         (WebCore::DOMWindow::onchange):
204         (WebCore::DOMWindow::setOnchange):
205         (WebCore::DOMWindow::onclick):
206         (WebCore::DOMWindow::setOnclick):
207         (WebCore::DOMWindow::ondblclick):
208         (WebCore::DOMWindow::setOndblclick):
209         (WebCore::DOMWindow::onerror):
210         (WebCore::DOMWindow::setOnerror):
211         (WebCore::DOMWindow::onfocus):
212         (WebCore::DOMWindow::setOnfocus):
213         (WebCore::DOMWindow::onkeydown):
214         (WebCore::DOMWindow::setOnkeydown):
215         (WebCore::DOMWindow::onkeypress):
216         (WebCore::DOMWindow::setOnkeypress):
217         (WebCore::DOMWindow::onkeyup):
218         (WebCore::DOMWindow::setOnkeyup):
219         (WebCore::DOMWindow::onload):
220         (WebCore::DOMWindow::setOnload):
221         (WebCore::DOMWindow::onmousedown):
222         (WebCore::DOMWindow::setOnmousedown):
223         (WebCore::DOMWindow::onmousemove):
224         (WebCore::DOMWindow::setOnmousemove):
225         (WebCore::DOMWindow::onmouseout):
226         (WebCore::DOMWindow::setOnmouseout):
227         (WebCore::DOMWindow::onmouseover):
228         (WebCore::DOMWindow::setOnmouseover):
229         (WebCore::DOMWindow::onmouseup):
230         (WebCore::DOMWindow::setOnmouseup):
231         (WebCore::DOMWindow::onmousewheel):
232         (WebCore::DOMWindow::setOnmousewheel):
233         (WebCore::DOMWindow::onreset):
234         (WebCore::DOMWindow::setOnreset):
235         (WebCore::DOMWindow::onresize):
236         (WebCore::DOMWindow::setOnresize):
237         (WebCore::DOMWindow::onscroll):
238         (WebCore::DOMWindow::setOnscroll):
239         (WebCore::DOMWindow::onsearch):
240         (WebCore::DOMWindow::setOnsearch):
241         (WebCore::DOMWindow::onselect):
242         (WebCore::DOMWindow::setOnselect):
243         (WebCore::DOMWindow::onsubmit):
244         (WebCore::DOMWindow::setOnsubmit):
245         (WebCore::DOMWindow::onunload):
246         (WebCore::DOMWindow::setOnunload):
247         (WebCore::DOMWindow::onbeforeunload):
248         (WebCore::DOMWindow::setOnbeforeunload):
249         (WebCore::DOMWindow::onwebkitanimationstart):
250         (WebCore::DOMWindow::setOnwebkitanimationstart):
251         (WebCore::DOMWindow::onwebkitanimationiteration):
252         (WebCore::DOMWindow::setOnwebkitanimationiteration):
253         (WebCore::DOMWindow::onwebkitanimationend):
254         (WebCore::DOMWindow::setOnwebkitanimationend):
255         (WebCore::DOMWindow::onwebkittransitionend):
256         (WebCore::DOMWindow::setOnwebkittransitionend):
257         * page/DOMWindow.h:
258         * svg/SVGElement.cpp:
259         (WebCore::SVGElement::parseMappedAttribute):
260         * svg/SVGElementInstance.cpp:
261         (WebCore::SVGElementInstance::onabort):
262         (WebCore::SVGElementInstance::setOnabort):
263         (WebCore::SVGElementInstance::onblur):
264         (WebCore::SVGElementInstance::setOnblur):
265         (WebCore::SVGElementInstance::onchange):
266         (WebCore::SVGElementInstance::setOnchange):
267         (WebCore::SVGElementInstance::onclick):
268         (WebCore::SVGElementInstance::setOnclick):
269         (WebCore::SVGElementInstance::oncontextmenu):
270         (WebCore::SVGElementInstance::setOncontextmenu):
271         (WebCore::SVGElementInstance::ondblclick):
272         (WebCore::SVGElementInstance::setOndblclick):
273         (WebCore::SVGElementInstance::onerror):
274         (WebCore::SVGElementInstance::setOnerror):
275         (WebCore::SVGElementInstance::onfocus):
276         (WebCore::SVGElementInstance::setOnfocus):
277         (WebCore::SVGElementInstance::oninput):
278         (WebCore::SVGElementInstance::setOninput):
279         (WebCore::SVGElementInstance::onkeydown):
280         (WebCore::SVGElementInstance::setOnkeydown):
281         (WebCore::SVGElementInstance::onkeypress):
282         (WebCore::SVGElementInstance::setOnkeypress):
283         (WebCore::SVGElementInstance::onkeyup):
284         (WebCore::SVGElementInstance::setOnkeyup):
285         (WebCore::SVGElementInstance::onload):
286         (WebCore::SVGElementInstance::setOnload):
287         (WebCore::SVGElementInstance::onmousedown):
288         (WebCore::SVGElementInstance::setOnmousedown):
289         (WebCore::SVGElementInstance::onmousemove):
290         (WebCore::SVGElementInstance::setOnmousemove):
291         (WebCore::SVGElementInstance::onmouseout):
292         (WebCore::SVGElementInstance::setOnmouseout):
293         (WebCore::SVGElementInstance::onmouseover):
294         (WebCore::SVGElementInstance::setOnmouseover):
295         (WebCore::SVGElementInstance::onmouseup):
296         (WebCore::SVGElementInstance::setOnmouseup):
297         (WebCore::SVGElementInstance::onmousewheel):
298         (WebCore::SVGElementInstance::setOnmousewheel):
299         (WebCore::SVGElementInstance::onbeforecut):
300         (WebCore::SVGElementInstance::setOnbeforecut):
301         (WebCore::SVGElementInstance::oncut):
302         (WebCore::SVGElementInstance::setOncut):
303         (WebCore::SVGElementInstance::onbeforecopy):
304         (WebCore::SVGElementInstance::setOnbeforecopy):
305         (WebCore::SVGElementInstance::oncopy):
306         (WebCore::SVGElementInstance::setOncopy):
307         (WebCore::SVGElementInstance::onbeforepaste):
308         (WebCore::SVGElementInstance::setOnbeforepaste):
309         (WebCore::SVGElementInstance::onpaste):
310         (WebCore::SVGElementInstance::setOnpaste):
311         (WebCore::SVGElementInstance::ondragenter):
312         (WebCore::SVGElementInstance::setOndragenter):
313         (WebCore::SVGElementInstance::ondragover):
314         (WebCore::SVGElementInstance::setOndragover):
315         (WebCore::SVGElementInstance::ondragleave):
316         (WebCore::SVGElementInstance::setOndragleave):
317         (WebCore::SVGElementInstance::ondrop):
318         (WebCore::SVGElementInstance::setOndrop):
319         (WebCore::SVGElementInstance::ondragstart):
320         (WebCore::SVGElementInstance::setOndragstart):
321         (WebCore::SVGElementInstance::ondrag):
322         (WebCore::SVGElementInstance::setOndrag):
323         (WebCore::SVGElementInstance::ondragend):
324         (WebCore::SVGElementInstance::setOndragend):
325         (WebCore::SVGElementInstance::onreset):
326         (WebCore::SVGElementInstance::setOnreset):
327         (WebCore::SVGElementInstance::onresize):
328         (WebCore::SVGElementInstance::setOnresize):
329         (WebCore::SVGElementInstance::onscroll):
330         (WebCore::SVGElementInstance::setOnscroll):
331         (WebCore::SVGElementInstance::onsearch):
332         (WebCore::SVGElementInstance::setOnsearch):
333         (WebCore::SVGElementInstance::onselect):
334         (WebCore::SVGElementInstance::setOnselect):
335         (WebCore::SVGElementInstance::onselectstart):
336         (WebCore::SVGElementInstance::setOnselectstart):
337         (WebCore::SVGElementInstance::onsubmit):
338         (WebCore::SVGElementInstance::setOnsubmit):
339         (WebCore::SVGElementInstance::onunload):
340         (WebCore::SVGElementInstance::setOnunload):
341         * svg/SVGSVGElement.cpp:
342         (WebCore::SVGSVGElement::parseMappedAttribute):
343
344 2009-04-20  Geoffrey Garen  <ggaren@apple.com>
345
346         Approved by Mark Rowe, Cameron Zwarich, Oliver Hunt, and Ojan Vafai.
347         
348         Used svn merge to roll out revisions 42678, 42690, 42694, 42697 because
349         they broke the Tiger and Windows buildbots.
350
351         * css/html4.css:
352         * css/themeWin.css:
353         * platform/graphics/SimpleFontData.cpp:
354         * platform/graphics/SimpleFontData.h:
355         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
356         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
357         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
358         * platform/graphics/gtk/SimpleFontDataPango.cpp:
359         * platform/graphics/mac/SimpleFontDataMac.mm:
360         * platform/graphics/qt/SimpleFontDataQt.cpp:
361         * platform/graphics/win/SimpleFontDataCGWin.cpp:
362         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
363         * platform/graphics/win/SimpleFontDataWin.cpp:
364         * platform/graphics/wx/SimpleFontDataWx.cpp:
365         * rendering/RenderTextControl.cpp:
366         * rendering/RenderTextControlMultiLine.cpp:
367         * rendering/RenderTextControlSingleLine.cpp:
368
369 2009-04-20  Geoffrey Garen  <ggaren@apple.com>
370
371         Reviewed by Adam Roben.
372
373         One last loose end, discovered using COLLECT_ON_EVERY_ALLOCATION, for
374         https://bugs.webkit.org/show_bug.cgi?id=21260
375         Unbounded memory growth when churning elements with anonymous event handler functions
376         
377         * bindings/js/JSSVGElementInstanceCustom.cpp:
378         (WebCore::JSSVGElementInstance::mark): Don't ASSERT that an ElementInstance's
379         correspondingElement has a JS wrapper. If a GC falls exactly between the
380         allocation of the ElementInstance wrapper and the correspondingElement
381         wrapper, the correspondingElement won't have a wrapper at the time we
382         mark the ElementInstance's wrapper.
383
384 2009-04-20  Brady Eidson  <beidson@apple.com>
385
386         Rubberstamped by Mark Rowe
387
388         Clean builds are broken on case-sensitive filesystems.  Let's fix, shall we?
389
390         * platform/graphics/SimpleFontData.cpp: Remove "String.h" include.  Ojan probably intended to include
391           "PlatformString.h" which was unnecessary because it is pulled in through other headers.  This wasn't a 
392           build failure on case-insensitive file systems because those systems would find the system <string.h>, averting
393           the warning.
394
395 2009-04-20  Geoffrey Garen  <ggaren@apple.com>
396
397         Reviewed by Darin Adler.
398
399         Last patch for https://bugs.webkit.org/show_bug.cgi?id=21260
400         Unbounded memory growth when churning elements with anonymous event handler functions
401         
402         Converted "lazy" event listeners to be unprotected, just like all the others.
403
404         * bindings/js/JSEventListener.cpp:
405         (WebCore::JSEventListener::JSEventListener):
406         (WebCore::JSEventListener::~JSEventListener):
407         (WebCore::JSEventListener::jsFunction):
408         (WebCore::JSEventListener::markJSFunction):
409         (WebCore::JSEventListener::handleEvent):
410         (WebCore::JSEventListener::virtualIsInline):
411         * bindings/js/JSEventListener.h:
412         (WebCore::JSEventListener::isInline): Merged JSAbstractEventListener
413         into JSEventListener. Now that the only difference between JSEventListener
414         and JSLazyEventListener is that JSLazyEventListener compiles lazily,
415         there's no need for an abstract base class.
416
417         * bindings/js/JSLazyEventListener.cpp: Converted JSLazyEventListener to
418         inherit from JSEventListener and match its un-GC-protected behavior.
419         (WebCore::JSLazyEventListener::JSLazyEventListener): ditto
420         (WebCore::JSLazyEventListener::parseCode): ditto
421         (WebCore::createInlineEventListener): When creating a lazy event listener,
422         ensure that the related node has a JS wrapper to mark the listener. Since
423         the parser makes these listeners, it's possible that no JS reference has
424         been made to the node yet.
425         * bindings/js/JSLazyEventListener.h: ditto
426
427         * dom/EventListener.h:
428         (WebCore::EventListener::clearJSFunction): Removed an usused function.
429
430 2009-04-20  Justin Garcia  <justin.garcia@apple.com>
431
432         Reviewed by Dan Bernstein.
433
434         https://bugs.webkit.org/show_bug.cgi?id=25299
435         Don't bound caret to root line box if it is still inside its containing block
436         
437         Can't yet write tests for behavior of non-standard caret widths.
438
439         * rendering/RenderText.cpp:
440         (WebCore::RenderText::localCaretRect):
441
442 2009-04-20  Steve Falkenburg  <sfalken@apple.com>
443
444         Separate JavaScriptCore.dll from WebKit.dll.
445         Slight performance improvement or no change on benchmarks.
446         
447         Allows us to break a circular dependency between CFNetwork and WebKit on Windows,
448         and simplifies standalone JavaScriptCore builds.
449
450         Reviewed by Oliver Hunt.
451
452         * config.h: Specify __declspec(dllexport/dllimport) appropriately when exporting data.
453
454 2009-04-20  Anders Carlsson  <andersca@apple.com>
455
456         Reviewed by Sam Weinig.
457
458         <rdar://problem/6722845> In the Cocoa event model, NPWindow's window field should be null
459
460         * bridge/npapi.h:
461         (_NPCocoaEvent::):
462         Add a CGContextRef member to the draw struct. Add an NPCoordinateSpace enum.
463         
464         * plugins/npfunctions.h:
465         Add a prototype for NPN_ConvertPoint.
466
467 2009-04-10  Ojan Vafai  <ojan@chromium.org>
468
469         Reviewed by Dan Bernstein.
470
471         Make textarea and text input metrics more closely match IEs.
472         https://bugs.webkit.org/show_bug.cgi?id=15312
473
474         This involves:
475         -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth
476         -set textarea width to cols*avgCharWidth
477         -Make default CSS match IEs
478         -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG.
479
480         Those values for textarea and inputs were derived by doing a ton of manual
481         testing of IE's width values for various textareas and fonts.
482
483         To get the average and max character width of a font, we do the following
484         for each platform:
485         -Win: TextMetrics expose avgCharWidth and maxCharWidth
486         -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight
487             maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent
488         -Linux: avgCharWidth = width of an '0', fallback on m_xHeight
489             maxCharWidth = max of avgCharWidth and m_ascent
490         -Mac: look in the OS/2 table for avgCharWidth and grab the maxCharWidth off the font.
491             If either one is not there, then calculate the value using the Linux approach.
492
493         Linux ports could probably dig into the OS/2 table as well, but I'll leave
494         that up to them to implement.
495
496         Tests: fast/forms/text-control-intrinsic-widths.html
497                fast/forms/textarea-metrics.html
498                svg/custom/svg-fonts-in-text-controls.html
499
500         * css/html4.css:
501         * css/themeWin.css:
502         * platform/graphics/SimpleFontData.cpp:
503         (WebCore::SimpleFontData::SimpleFontData):
504         (WebCore::SimpleFontData::initCharWidths):
505         * platform/graphics/SimpleFontData.h:
506         (WebCore::SimpleFontData::maxCharWidth):
507         (WebCore::SimpleFontData::avgCharWidth):
508         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
509         (WebCore::SimpleFontData::platformCharWidthInit):
510         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
511         (WebCore::SimpleFontData::platformCharWidthInit):
512         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
513         (WebCore::SimpleFontData::platformCharWidthInit):
514         * platform/graphics/gtk/SimpleFontDataPango.cpp:
515         (WebCore::SimpleFontData::platformCharWidthInit):
516         * platform/graphics/mac/SimpleFontDataMac.mm:
517         (WebCore::SimpleFontData::platformCharWidthInit):
518         * platform/graphics/qt/SimpleFontDataQt.cpp:
519         (WebCore::SimpleFontData::platformCharWidthInit):
520         * platform/graphics/win/SimpleFontDataCGWin.cpp:
521         (WebCore::SimpleFontData::platformCharWidthInit):
522         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
523         (WebCore::SimpleFontData::platformInit):
524         (WebCore::SimpleFontData::platformCharWidthInit):
525         * platform/graphics/win/SimpleFontDataWin.cpp:
526         (WebCore::SimpleFontData::initGDIFont):
527         * platform/graphics/wx/SimpleFontDataWx.cpp:
528         (WebCore::SimpleFontData::platformCharWidthInit):
529         * rendering/RenderTextControl.cpp:
530         (WebCore::RenderTextControl::calcPrefWidths):
531         * rendering/RenderTextControlMultiLine.cpp:
532         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
533         * rendering/RenderTextControlSingleLine.cpp:
534         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
535
536 2009-04-17  Eric Seidel  <eric@webkit.org>
537
538         Reviewed by Simon Fraser.
539
540         Remove m_absoluteBounds hack from SVG renderers and move outlineBoundsForRepaint into RenderSVGModelObject
541         https://bugs.webkit.org/show_bug.cgi?id=25276
542
543         This also exposed a buggy paint check in RenderSVGContainer::layout()
544         we should repaint if we are self painting OR if our kids changed, not AND.
545
546         Writing real outlineBoundsForRepaint required writing a mapLocalToContainer() function
547
548         No functional changes, thus no tests.
549
550         * rendering/RenderPath.cpp:
551         (WebCore::RenderPath::localToParentTransform):
552         (WebCore::RenderPath::layout):
553         * rendering/RenderPath.h:
554         * rendering/RenderSVGContainer.cpp:
555         (WebCore::RenderSVGContainer::layout):
556         * rendering/RenderSVGContainer.h:
557         * rendering/RenderSVGModelObject.cpp:
558         (WebCore::RenderSVGModelObject::mapLocalToContainer):
559         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
560         * rendering/RenderSVGModelObject.h:
561         * rendering/RenderSVGRoot.cpp:
562         (WebCore::RenderSVGRoot::layout):
563         (WebCore::RenderSVGRoot::paint):
564         (WebCore::RenderSVGRoot::localToParentTransformWithoutCSSParentOffset):
565         (WebCore::RenderSVGRoot::localToParentTransform):
566         (WebCore::RenderSVGRoot::computeRectForRepaint):
567         * rendering/RenderSVGRoot.h:
568         * rendering/RenderSVGViewportContainer.cpp:
569         (WebCore::RenderSVGViewportContainer::layout):
570
571 2009-04-20  Simon Fraser  <simon.fraser@apple.com>
572
573         Reviewed by Eric Seidel
574
575         https://bugs.webkit.org/show_bug.cgi?id=25282
576         
577         outlineBoundsForRepaint() should compute a quad relative to the
578         repaintContainer. This fixes the repaint issues originally fixed in
579         https://bugs.webkit.org/show_bug.cgi?id=12885 for elements in compositing layers.
580         Failure was only apparent when building with ACCELERATED_COMPOSITING enabled.
581
582         Tests: compositing/repaint/content-into-overflow.html
583                compositing/repaint/overflow-into-content.html
584
585         * rendering/RenderBox.cpp:
586         (WebCore::RenderBox::outlineBoundsForRepaint):
587
588 2009-04-20  Sam Weinig  <sam@webkit.org>
589
590         Rubber-stamped by Tim Hatcher.
591
592         Add licenses for xcconfig files.
593
594         * Configurations/Base.xcconfig:
595         * Configurations/DebugRelease.xcconfig:
596         * Configurations/FeatureDefines.xcconfig:
597         * Configurations/Version.xcconfig:
598         * Configurations/WebCore.xcconfig:
599
600 2009-04-20  Eric Roman  <eroman@chromium.org>
601
602         Reviewed by Dimitri Glazkov.
603
604         https://bugs.webkit.org/show_bug.cgi?id=25261
605         Implement the V8 binding for DOMWindow.event similarly to JSC, by using
606         the custom getter boilerplate from the IDL file. 
607         Also, stub out DOMWindow.crypto which is defined by the idl.
608
609         * bindings/v8/V8AbstractEventListener.cpp:
610         (WebCore::V8AbstractEventListener::invokeEventHandler):
611         * bindings/v8/custom/V8DOMWindowCustom.cpp:
612         (WebCore::ACCESSOR_GETTER):
613
614 2009-04-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
615
616         Reviewed by Xan Lopez.
617
618         https://bugs.webkit.org/show_bug.cgi?id=25243
619         Crash when data:// loads are cancelled
620
621         Properly handle cancellation of the load for data:// loads. This
622         fixes crashing in the followin test:
623
624         plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
625
626         * platform/network/soup/ResourceHandleSoup.cpp:
627         (WebCore::parseDataUrl):
628
629 2009-04-19  Dan Bernstein  <mitz@apple.com>
630
631         - maybe fix release builds
632
633         * dom/ScriptElement.cpp:
634         (WebCore::ScriptElementData::notifyFinished):
635
636 2009-04-19  Dan Bernstein  <mitz@apple.com>
637
638         - not fix release builds
639
640         * dom/Document.cpp:
641         (WebCore::Document::executeScriptSoonTimerFired):
642
643 2009-04-19  Dan Bernstein  <mitz@apple.com>
644
645         Reviewed by Mark Rowe.
646
647         - fix <rdar://problem/6734365> REGRESSION eBay "Save this search" link
648           does nothing the second time search results are opened
649
650         Test: fast/dom/HTMLScriptElement/nested-execution.html
651
652         Instead of executing scripts as soon as they finish loading, which may
653         happen synchronously during execution of another script, defer their
654         execution until the next run loop iteration, using a queue that is
655         similar to the HTML5 notion of the "list of scripts that will execute as
656         soon as possible", and in my testing was consistent with how Firefox
657         behaved.
658
659         * dom/Document.cpp:
660         (WebCore::Document::Document): Initialize m_executeScriptSoonTimer.
661         (WebCore::Document::~Document): deref() script elements in
662         m_scriptsToExecuteSoon.
663         (WebCore::Document::executeScriptSoonTimerFired): Added. Executes the
664         scripts in m_scriptsToExecuteSoon and deref()s them.
665         (WebCore::Document::executeScriptSoon): Added. Appends to
666         m_scriptsToExecuteSoon and ref()s the script element, which keeps the
667         ScriptElementData alive as well.
668         * dom/Document.h:
669         * dom/ScriptElement.cpp:
670         (WebCore::ScriptElementData::ScriptElementData): Initialize m_requested.
671         (WebCore::ScriptElementData::requestScript): Set m_requested to true, to
672         prevent further load requests.
673         (WebCore::ScriptElementData::execute): Added. Moved the code from
674         notifyFinished() which should not execute synchronously here, to be
675         called by the Document on a 0-interval timer.
676         (WebCore::ScriptElementData::notifyFinished): Moved the code to
677         dispatch events and evaluate the script, which should not execute
678         synchronously, out of here.
679         (WebCore::ScriptElementData::ignoresLoadRequest): Changed to test for
680         m_requested instead of m_cachedScript, because the latter is cleared
681         before the script is evaluated.
682         * dom/ScriptElement.h:
683
684 2009-04-19  Oliver Hunt  <oliver@apple.com>
685
686         Reviewed by Antti Koivisto and Darin Adler.
687
688         <rdar://problem/6127705> Excessive memory consumption on image load failure
689
690         When we fail to decode an image we clear most of the image data, but not the
691         input data itself, which can be backed by a CFData object that itself holds onto
692         a few hundred Kbs of memory.  This patch merely ensures that this buffer gets
693         cleared.
694
695         * loader/CachedImage.cpp:
696         (WebCore::CachedImage::error):
697
698 2009-04-19  Darin Adler  <darin@apple.com>
699
700         Reviewed by Sam Weinig.
701
702         Add hooks so sudden termination will not cause loss of icons or local storage.
703         rdar://problem/5951701
704
705         * loader/icon/IconDatabase.cpp: Marked various constants static to give them
706         internal linkage.
707         (WebCore::IconDatabase::IconDatabase): Added initial value for m_syncTimer.
708         Removed unneeded initial value for m_defaultIconRecord. Changed assertion to
709         work cross-platform.
710         (WebCore::IconDatabase::wakeSyncThread): Added disableSuddenTermination, so
711         we won't terminate until the sync thread has done its thing.
712         (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Added disableSuddenTermination,
713         so we won't terminate if we have an outstanding sync timer.
714         (WebCore::IconDatabase::syncTimerFired): Added enableSuddenTermination, to
715         balance the one in scheduleOrDeferSyncTimer.
716         (WebCore::IconDatabase::syncThreadMainLoop): Added enableSuddenTermination, to
717         balance the one in wakeSyncThread.
718         (WebCore::IconDatabase::deleteAllPreparedStatements): Use clear() instead of set(0).
719
720         * loader/icon/IconDatabase.h: Use a Timer instead of an OwnPtr<Timer>.
721
722         * storage/LocalStorageArea.cpp:
723         (WebCore::LocalStorageArea::scheduleFinalSync): Added disableSuddenTermination.
724         (WebCore::LocalStorageArea::scheduleItemForSync): Ditto.
725         (WebCore::LocalStorageArea::scheduleClear): Ditto.
726         (WebCore::LocalStorageArea::syncTimerFired): Added a disableSuddenTermination if
727         we schedule a performSync callback for later and an unconditional
728         enableSuddenTermination to balance the ones in the schedule calls above.
729         (WebCore::LocalStorageArea::sync): Factored out the work of the sync function so it
730         can continue to use early return idiom.
731         (WebCore::LocalStorageArea::performSync): Added a call to enableSuddenTermination.
732
733         * storage/LocalStorageArea.h: Added declaration of the sync function.
734
735 2009-04-19  David Kilzer  <ddkilzer@apple.com>
736
737         Make FEATURE_DEFINES completely dynamic
738
739         Reviewed by Darin Adler.
740
741         Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
742         variables for each feature, making it possible to remove all
743         knowledge of FEATURE_DEFINES from build-webkit.
744
745         * Configurations/FeatureDefines.xcconfig: Extract a variable
746         from FEATURE_DEFINES for each feature setting.
747
748 2009-04-18  Geoffrey Garen  <ggaren@apple.com>
749
750         Reviewed by Alexey Proskuryakov.
751
752         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
753         Unbounded memory growth when churning elements with anonymous event handler functions
754         
755         Removed a little more complexity from event handler creation and destruction.
756         
757         Removed the jsProtectedEventListeners, jsProtectedInlineEventListeners,
758         and jsInlineEventListeners maps, and all the code for managing them.
759         
760         ProtectedEventListeners don't exist anymore, so they're easy to nix.
761         
762         Inline EventListeners do still exist, but there's no reason to track
763         them in a map. The map exists to enable 'removeEventListener' to associate
764         a unique JSEventListener with a given JavaScript function. But the
765         'removeEventListener' API only works with non-inline event listeners!
766         
767         * bindings/js/JSDOMGlobalObject.cpp:
768         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
769         (WebCore::JSDOMGlobalObject::findJSEventListener):
770         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
771         (WebCore::JSDOMGlobalObject::createJSInlineEventListener):
772         * bindings/js/JSDOMGlobalObject.h:
773         * bindings/js/JSEventListener.cpp:
774         (WebCore::JSEventListener::JSEventListener):
775         (WebCore::JSEventListener::clearJSFunctionInline):
776         * bindings/js/JSLazyEventListener.cpp:
777         (WebCore::JSLazyEventListener::~JSLazyEventListener):
778         (WebCore::JSLazyEventListener::parseCode):
779         * bindings/scripts/CodeGeneratorJS.pm:
780
781 2009-04-18  Dan Bernstein  <mitz@apple.com>
782
783         - try to fix the Windows build
784
785         * editing/VisiblePosition.cpp:
786         (WebCore::VisiblePosition::characterAfter):
787
788 2009-04-18  Dan Bernstein  <mitz@apple.com>
789
790         - revert the previous change, which was to a file that the Windows
791           port does not even use
792
793         * icu/unicode/utf16.h:
794
795 2009-04-18  Dan Bernstein  <mitz@apple.com>
796
797         Reviewed by Geoffrey Garen.
798
799         - try to fix the Windows build
800
801         * icu/unicode/utf16.h:
802
803 2009-04-18  Simon Fraser  <simon.fraser@apple.com>
804
805         Reviewed by Antti Koivisto.
806         
807         https://bugs.webkit.org/show_bug.cgi?id=25066
808         
809         When a <video> element gained a RenderLayer via opacity, reflection etc., the
810         layer hierarchy was not correctly updated because RenderMedia skipped a level
811         when asked for its children; it skipped m_controlsShadowRoot's renderer, which
812         actually has a layer.
813
814         Test: fast/layers/video-layer.html
815
816         * rendering/MediaControlElements.cpp:
817         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
818         Don't manually call setParent() on the renderer. It will happen later
819         as a result of addChild().
820         
821         * rendering/RenderMedia.cpp:
822         (WebCore::RenderMedia::createControlsShadowRoot):
823         Add m_controlsShadowRoot's renderer as a child. 
824
825         * rendering/RenderMedia.h:
826         (WebCore::RenderMedia::children):
827         Now maintain a RenderObjectChildList, m_children, and remove the unneeded
828         removeChild() method. Make the two children() methods inline.
829
830         * rendering/RenderObject.cpp:
831         (WebCore::RenderObject::moveLayers):
832         Assert if moveLayers() is called with an oldParent that is not the
833         layer's actual parent (which would have revealed this bug).
834
835 2009-04-18  Geoffrey Garen  <ggaren@apple.com>
836
837         Reviewed by Cameron Zwarich.
838
839         Fixed a layout test failure, caused by my last check-in
840         (fast/dom/script-element-gc.html).
841
842         * bindings/js/JSDOMBinding.cpp:
843         (WebCore::isObservableThroughDOM):
844         * html/HTMLScriptElement.h:
845         (WebCore::HTMLScriptElement::haveFiredLoadEvent): Treat script elements
846         just like image elements: if a script element is loading, mark its JS
847         wrapper, even if the element is not in the document.
848
849 2009-04-18  Jian Li  <jianli@chromium.org>
850
851         Reviewed by Dimitri Glazkov.
852
853         https://bugs.webkit.org/show_bug.cgi?id=25170
854         Upstream V8WorkerCustom.cpp and V8WorkerContextCustom.cpp for V8 bindings.
855
856         * bindings/v8/WorkerContextExecutionProxy.cpp:
857         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
858         * bindings/v8/WorkerContextExecutionProxy.h:
859         * bindings/v8/custom/V8WorkerContextCustom.cpp: Added.
860         * bindings/v8/custom/V8WorkerCustom.cpp: Added.
861
862 2009-04-18  Jian Li  <jianli@chromium.org>
863
864         Reviewed by Dimitri Glazkov.
865
866         https://bugs.webkit.org/post_bug.cg://bugs.webkit.org/show_bug.cgi?id=25167 
867         Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings.
868
869         * bindings/v8/V8Utilities.cpp: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.cpp.
870         (WebCore::createHiddenDependency):
871         (WebCore::removeHiddenDependency):
872         * bindings/v8/V8Utilities.h: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.h.
873         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
874         (WebCore::ACCESSOR_SETTER):
875         (WebCore::CALLBACK_FUNC_DECL):
876         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
877         (WebCore::ACCESSOR_SETTER):
878         (WebCore::CALLBACK_FUNC_DECL):
879
880 2009-04-18  Drew Wilson  <amw@apple.com>
881
882         <rdar://problem/6781407> VisiblePosition.characterAfter should return UChar32
883
884         Reviewed by Dan Bernstein.
885
886         No test case since there is no change in behavior.
887
888         * editing/VisiblePosition.cpp:
889         (WebCore::VisiblePosition::characterAfter): Now handles surrogate
890         pairs correctly and returns a UChar32.
891         * editing/VisiblePosition.h:
892         (WebCore::VisiblePosition::characterBefore): Now returns a UChar32.
893         * editing/visible_units.cpp:
894         (WebCore::endOfFirstWordBoundaryContext): Renamed
895         firstNonComplexContextLineBreak() to this. Changed it to use the
896         generic requiresContextForWordBoundary() instead of
897         hasLineBreakingPropertyComplexContext().
898         (WebCore::startOfLastWordBoundaryContext): Replaces
899         lastNonComplexContextLineBreak(), but returns the offset of
900         the character after the last character that does not require
901         context for word breaking. Also changed to use
902         requiresContextForWordBoundary().
903         (WebCore::previousBoundary): Updated for the above changes in
904         names and semantics, and changed to use
905         requiresContextForWordBoundary().
906         (WebCore::nextBoundary): Ditto.
907         (WebCore::startWordBoundary): Ditto.
908         (WebCore::endWordBoundary): Ditto.
909         (WebCore::previousWordPositionBoundary): Ditto.
910         (WebCore::nextWordPositionBoundary): Ditto.
911         * platform/text/TextBoundaries.h:
912         (WebCore::requiresContextForWordBoundary): Added.
913         * platform/text/mac/TextBoundaries.mm:
914
915 2009-04-18  Geoffrey Garen  <ggaren@apple.com>
916
917         Reviewed by Cameron Zwarich.
918
919         Fixed <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
920         REGRESSION (r42569): Profiles cannot be selected in inspector profiler
921         
922         EventListeners are shared; RegisteredEventListeners are not. Therefore,
923         when a node wrapper needs to invalidate the node's JS event listeners,
924         it should invalidate its RegisteredEventListeners, not its EventListeners.
925         Otherwise, it might invalidate an EventListener shared by another node.
926
927         * dom/RegisteredEventListener.h:
928         (WebCore::invalidateEventListeners): ditto
929
930 2009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
931
932         Reviewed by Mark Rowe.
933
934         <rdar://problem/6781295> video.buffered and video.seekable are not
935         the same. video.buffered should return only what is buffered and
936         not what is seekable
937
938         * WebCore.base.exp: Added wkQTMovieMaxTimeSeekable.
939
940         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
941         (WebCore::MediaPlayerPrivate::maxTimeSeekable): Return wkQTMovieMaxTimeSeekable.
942
943         * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeSeekable.
944         * platform/mac/WebCoreSystemInterface.mm: Ditto.
945
946 2009-04-18  Pierre d'Herbemont  <pdherbemont@apple.com>
947
948         Reviewed by Adele Peterson.
949
950         <rdar://problem/6747241> work around QTKit no longer reaching
951         QTMovieLoadStateComplete
952
953         * WebCore.base.exp: Export wkQTMovieMaxTimeLoadedChangeNotification.
954
955         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
956         (WebCore::MediaPlayerPrivate::createQTMovie): observe QTMovieMaxTimeLoadedChangeNotification.
957         (WebCore::MediaPlayerPrivate::updateStates): compare duuration() with maxTimeLoaded() instead of
958         using QTMovieLoadStateComplete to determine if a movie are fully loaded.
959
960         * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeLoadedChangeNotification.
961         * platform/mac/WebCoreSystemInterface.mm: Ditto.
962
963 2009-04-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
964
965         Reviewed by George Staikos.
966
967         Make WML work again, most regressions test were failing.
968
969         * dom/Document.cpp: Be sure to create WML elements in WML namespace. Otherwhise hasTagName() comparisions fail.
970         (WebCore::Document::createElement):
971         * wml/WMLCardElement.cpp: Add ASSERT(hasTagName(cardTag)) to catch errors like this in future.
972         (WebCore::WMLCardElement::WMLCardElement):
973         * wml/WMLTagNames.in: Wrap comment in #if 0/#endif blocks, to silence the generation script.
974
975 2009-04-17  Justin Garcia  <justin.garcia@apple.com>
976
977         Reviewed by Dan Bernstein.
978
979         https://bugs.webkit.org/show_bug.cgi?id=25277
980         If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box
981         
982         Also added code to handle a caret wider than one pixel.
983         
984         Added fast/inline/25277.html and fast/inline/25277-2.html
985
986         * rendering/RenderText.cpp:
987         (WebCore::RenderText::localCaretRect): Distribute a caret's width to either side of the offset,
988         so that a caret between two characters doesn't hang over one character more than the other.
989         If there is no wrapping, the caret can leave its containing block, but not its root line box.
990
991 2009-04-17  Geoffrey Garen  <ggaren@apple.com>
992
993         Reviewed by Oliver Hunt.
994
995         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
996         Unbounded memory growth when churning elements with anonymous event handler functions
997         
998         Some refactoring of "inline" event listeners.
999         
1000         Renames:
1001             dispatchEventForType => dispatchEvent
1002             setWindowInlineEventListenerForTypeAndAttribute => setWindowInlineEventListener
1003             removeInlineEventListenerForType => clearInlineEventListener
1004             setInlineEventListenerForType => setInlineEventListener
1005             inlineEventListenerForType => getInlineEventListener
1006
1007         * bindings/js/JSLazyEventListener.cpp:
1008         (WebCore::eventParameterName):
1009         (WebCore::JSLazyEventListener::JSLazyEventListener):
1010         (WebCore::createInlineEventListener):
1011         * bindings/js/JSLazyEventListener.h: Added two helper functions for
1012         creating "inline" event listeners. These replace Document::createEventListener,
1013         and abstract the creation of JS event listeners for DOM attributes out
1014         of the DOM. Removed legacy JSProtectedEventListener constructor code for
1015         adding the event listener's function to a map, since lazy event listeners
1016         don't have functions at construction time.
1017
1018         * dom/Document.cpp:
1019         (WebCore::Document::setFocusedNode):
1020         * dom/Document.h:
1021         (WebCore::Document::isSVGDocument):
1022         * dom/Element.cpp:
1023         (WebCore::Element::setWindowInlineEventListener):
1024         * dom/Element.h: Updated for renames. Nixed Document::createEventListener,
1025         mentioned above. Moved setWindowInlineEventListenerForTypeAndAttribute
1026         to Element, for simplicity.
1027
1028         * dom/InputElement.cpp:
1029         (WebCore::InputElement::setValueFromRenderer):
1030         * dom/Node.cpp:
1031         (WebCore::Node::dispatchFocusEvent):
1032         (WebCore::Node::dispatchBlurEvent):
1033         (WebCore::Node::dispatchEvent):
1034         (WebCore::Node::clearInlineEventListener):
1035         (WebCore::Node::setInlineEventListener):
1036         (WebCore::Node::getInlineEventListener):
1037         (WebCore::Node::onabort):
1038         (WebCore::Node::setOnabort):
1039         (WebCore::Node::etc.):
1040         * dom/Node.h: Updated for renames.
1041         
1042         * editing/ReplaceSelectionCommand.cpp:
1043         (WebCore::ReplacementFragment::ReplacementFragment): Updated for renames.
1044         
1045         Updated these files for renames, and to use the new createInlineEventListener
1046         helper function:
1047
1048         * html/HTMLBodyElement.cpp:
1049         (WebCore::HTMLBodyElement::parseMappedAttribute):
1050         * html/HTMLButtonElement.cpp:
1051         (WebCore::HTMLButtonElement::parseMappedAttribute):
1052         * html/HTMLElement.cpp:
1053         (WebCore::HTMLElement::parseMappedAttribute):
1054         * html/HTMLFormControlElement.cpp:
1055         (WebCore::HTMLFormControlElement::onChange):
1056         * html/HTMLFormElement.cpp:
1057         (WebCore::HTMLFormElement::prepareSubmit):
1058         (WebCore::HTMLFormElement::reset):
1059         (WebCore::HTMLFormElement::parseMappedAttribute):
1060         * html/HTMLFrameElementBase.cpp:
1061         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
1062         * html/HTMLFrameSetElement.cpp:
1063         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1064         * html/HTMLImageElement.cpp:
1065         (WebCore::HTMLImageElement::parseMappedAttribute):
1066         * html/HTMLImageLoader.cpp:
1067         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1068         * html/HTMLInputElement.cpp:
1069         (WebCore::HTMLInputElement::parseMappedAttribute):
1070         (WebCore::HTMLInputElement::onSearch):
1071         * html/HTMLMediaElement.cpp:
1072         (WebCore::HTMLMediaElement::loadInternal):
1073         * html/HTMLObjectElement.cpp:
1074         (WebCore::HTMLObjectElement::parseMappedAttribute):
1075         * html/HTMLScriptElement.cpp:
1076         (WebCore::HTMLScriptElement::parseMappedAttribute):
1077         (WebCore::HTMLScriptElement::dispatchLoadEvent):
1078         (WebCore::HTMLScriptElement::dispatchErrorEvent):
1079         * html/HTMLSelectElement.cpp:
1080         (WebCore::HTMLSelectElement::parseMappedAttribute):
1081         * html/HTMLTextAreaElement.cpp:
1082         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
1083         * html/HTMLTokenizer.cpp:
1084         (WebCore::HTMLTokenizer::notifyFinished):
1085         * page/AccessibilityRenderObject.cpp:
1086         (WebCore::AccessibilityRenderObject::mouseButtonListener):
1087         * page/DOMWindow.cpp:
1088         * page/DOMWindow.h:
1089         (WebCore::DOMWindow::eventListeners):
1090         * page/EventHandler.cpp:
1091         (WebCore::EventHandler::canMouseDownStartSelect):
1092         (WebCore::EventHandler::canMouseDragExtendSelect):
1093         (WebCore::EventHandler::sendScrollEvent):
1094         * page/Page.cpp:
1095         (WebCore::networkStateChanged):
1096         * rendering/RenderListBox.cpp:
1097         (WebCore::RenderListBox::valueChanged):
1098         * rendering/RenderTextControl.cpp:
1099         (WebCore::RenderTextControl::selectionChanged):
1100         * svg/SVGElement.cpp:
1101         (WebCore::SVGElement::parseMappedAttribute):
1102         * svg/SVGElementInstance.cpp:
1103         * svg/SVGImageLoader.cpp:
1104         (WebCore::SVGImageLoader::dispatchLoadEvent):
1105         * svg/SVGSVGElement.cpp:
1106         (WebCore::SVGSVGElement::parseMappedAttribute):
1107         * svg/SVGScriptElement.cpp:
1108         (WebCore::SVGScriptElement::dispatchErrorEvent):
1109         * wml/WMLInputElement.cpp:
1110         (WebCore::WMLInputElement::defaultEventHandler):
1111
1112 2009-04-17  David Kilzer  <ddkilzer@apple.com>
1113
1114         Simplify FEATURE_DEFINES definition
1115
1116         Reviewed by Darin Adler.
1117
1118         This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
1119         variables to their own FeatureDefines.xcconfig file.  It also
1120         extracts a new ENABLE_GEOLOCATION variable so that
1121         FEATURE_DEFINES only needs to be defined once.
1122
1123         * Configurations/FeatureDefines.xcconfig: Added.
1124         * Configurations/WebCore.xcconfig: Removed definition of
1125         ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES.  Added include
1126         of FeatureDefines.xcconfig.
1127         * WebCore.xcodeproj/project.pbxproj: Added
1128         FeatureDefines.xcconfig file.
1129         * bindings/scripts/CodeGeneratorObjC.pm: When creating a list of
1130         command-line macro definitions, split on one-or-more spaces
1131         instead of a single space since the FEATURE_DEFINES macro may
1132         now contain more than one space between macros if some macros
1133         aren't defined.
1134
1135 2009-04-17  Brady Eidson  <beidson@apple.com>
1136
1137         Reviewed by Mark Rowe
1138
1139         <rdar://problem/6786999> Tiger WebKit shouldn't try to POST on back/forward without nagging.
1140
1141         * platform/network/mac/ResourceHandleMac.mm:
1142         (WebCore::ResourceHandle::willLoadFromCache):
1143
1144 2009-04-17  Darin Adler  <darin@apple.com>
1145
1146         Reviewed by Timothy Hatcher.
1147
1148         Added sudden termination functions that can be called without involving
1149         the page or client.
1150
1151         * GNUmakefile.am: Added SuddenTermination.h.
1152         * WebCore.vcproj/WebCore.vcproj: Ditto.
1153         * WebCore.xcodeproj/project.pbxproj: Ditto. Also added SuddenTermination.mm.
1154
1155         * platform/SuddenTermination.h: Added.
1156         * platform/mac/SuddenTermination.mm: Added.
1157
1158 2009-04-17  Eric Seidel  <eric@webkit.org>
1159
1160         Reviewed by Simon Fraser.
1161
1162         Move more code into RenderSVGModelObject
1163
1164         needsLayer() already returns false from RenderSVGModelObject
1165         lineHeight and baselinePosition are from days of RenderPath having RenderBox parents.
1166
1167         I also added comments to explain how focus rings work (now that I understand)
1168         I got rid of two more uses of m_absoluteBounds (nearly dead!)
1169
1170         * rendering/RenderPath.cpp:
1171         * rendering/RenderPath.h:
1172         * rendering/RenderSVGContainer.cpp:
1173         (WebCore::RenderSVGContainer::paint):
1174         (WebCore::RenderSVGContainer::addFocusRingRects):
1175         * rendering/RenderSVGContainer.h:
1176         * rendering/RenderSVGModelObject.cpp:
1177         (WebCore::RenderSVGModelObject::absoluteRects):
1178         (WebCore::RenderSVGModelObject::absoluteQuads):
1179         * rendering/RenderSVGModelObject.h:
1180
1181 2009-04-16  Peter Kasting  <pkasting@google.com>
1182
1183         Reviewed by Adele Peterson.
1184
1185         https://bugs.webkit.org/show_bug.cgi?id=25238
1186         Invalidate the hovered scrollbar part when resetting the pressed part,
1187         since once there is no pressed part we can draw a hovered state.
1188
1189         * platform/Scrollbar.cpp:
1190         (WebCore::Scrollbar::setHoveredPart):
1191         (WebCore::Scrollbar::setPressedPart):
1192
1193 2009-04-16  Darin Fisher  <darin@chromium.org>
1194
1195         Reviewed by Darin Adler.
1196
1197         https://bugs.webkit.org/show_bug.cgi?id=25223
1198         REGRESSION: Back button after form submission to the same URL fails to navigate.
1199
1200         Test: http/tests/navigation/post-goback-same-url.html
1201
1202         * loader/FrameLoader.cpp:
1203         (WebCore::FrameLoader::loadItem): Check if the page we are leaving has
1204         FormData.
1205
1206 2009-04-17  Nikolas Zimmermann  <nikolas.zimmerman@torchmobile.com>
1207
1208         Not reviewed. Fix WML enabled builds.
1209
1210         * rendering/RenderTableRow.cpp: Remove dead code, which is no longer necessary.
1211         (WebCore::RenderTableRow::addChild):
1212         * wml/WMLInputElement.cpp: Apply same fix HTMLInputElement received. Covert RenderObject's to RenderTextControl where needed.
1213         (WebCore::WMLInputElement::defaultEventHandler):
1214
1215 2009-04-17  Pierre d'Herbemont  <pdherbemont@apple.com>
1216
1217         Reviewed by Simon Fraser.
1218
1219         Add support for the media element 'played' attribute.
1220         This involves support of "normalized TimeRanges" as described by
1221         the spec.
1222
1223         Test: media/video-played.html
1224
1225         * html/HTMLMediaElement.cpp:
1226         (WebCore::HTMLMediaElement::HTMLMediaElement): Renamed 
1227         m_currentTimeDuringSeek->m_lastSeekTime. Added m_playing and m_playedTimeRanges.
1228         (WebCore::HTMLMediaElement::loadInternal): Reset m_playing, m_lastSeekTime, and
1229         m_playedTimeRanges
1230         (WebCore::HTMLMediaElement::seek): Set current time to m_playedTimeRanges
1231         (WebCore::HTMLMediaElement::currentTime): m_currentTimeDuringSeek -> m_lastSeekTime
1232         (WebCore::HTMLMediaElement::played): Returns m_playedTimeRanges.
1233         (WebCore::HTMLMediaElement::updatePlayState): Add the new played time ranges when pausing. 
1234         Set the m_playing flag.
1235         * html/HTMLMediaElement.h:
1236
1237         * html/TimeRanges.cpp:
1238         (TimeRanges::add): Merge range(s) if overlap.
1239         * html/TimeRanges.h: Add various helpers (below).
1240         (WebCore::TimeRanges::Range::isPointInRange): Added.
1241         (WebCore::TimeRanges::Range::isOverlappingRange): Ditto.
1242         (WebCore::TimeRanges::Range::unionWithOverlappingRange): Ditto.
1243         (WebCore::TimeRanges::Range::isBeforeRange): Ditto.
1244
1245 2009-04-17  Darin Adler  <darin@apple.com>
1246
1247         Reviewed by Antti Koivisto.
1248
1249         Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
1250         https://bugs.webkit.org/show_bug.cgi?id=25210
1251
1252         * WebCore.base.exp: Export the core and kit function overloads that are used
1253         in WebKit. Also resorted this file.
1254
1255         * WebCore.xcodeproj/project.pbxproj: Re-added DOMHTMLCanvasElement.h to fix
1256         a strange problem with the file type.
1257
1258         * bindings/objc/DOM.mm: Removed the many extraneous includes. Added new includes
1259         so we can use and implement the new core and kit functions. Import DOMInternal.h
1260         first so it can do its public/private magic.
1261         (-[DOMNode _rootObject]): Changed to use early-return style.
1262         (kitClass): Added. Tells the wrapper generator what kind of node class to create
1263         to wrap DOM nodes. This has the code that used to be in the _wrapNode method.
1264         (kit): Added. Takes an EventTarget and makes the appropriate type of wrapper,
1265         dpending on whether it's a Node or an SVGElementInstance. This replace methods
1266         that used to be on both of those classes.
1267         (-[DOMNode boundingBox]): Changed to use early return, and the core function.
1268         (-[DOMNode lineBoxRects]): Ditto.
1269         (-[DOMNode renderedImage]): Ditto.
1270         (-[DOMRange boundingBox]): Ditto.
1271         (-[DOMRange lineBoxRects]): Ditto.
1272         (-[DOMElement image]): Ditto.
1273         (-[DOMElement _font]): Ditto.
1274         (-[DOMElement _imageTIFFRepresentation]): Ditto.
1275         (-[DOMElement _getURLAttribute:]): Ditto.
1276         (-[DOMElement isFocused]): Ditto.
1277         (kit): Hand-wrote the version of this for NodeFilter, since it's a protocol,
1278         not a class in the binding.
1279         (core): Ditto.
1280         (-[DOMNodeFilter acceptNode:]): Use core.
1281
1282         * bindings/objc/DOMAbstractView.mm:
1283         (-[DOMAbstractView document]): Use kit.
1284         (-[DOMAbstractView _disconnectFrame]): Call removeDOMWrapper, which is no longer
1285         in the WebCore namespace, since it's headed for WebKit in the future.
1286         (core): Hand-wrote the version of this for DOMAbstractView.mm, since we store
1287         a pointer to the Frame, not the DMWindow.
1288         (kit): Ditto.
1289
1290         * bindings/objc/DOMCSS.mm:
1291         (kitClass): Added. Tells the wrapper generator what kind of node class to create
1292         to wrap CSS objects. This has the code that used to be in the _wrapStyleSheet,
1293         _wrapCSSRule, and _wrapCSSValue methods.
1294
1295         * bindings/objc/DOMEvents.mm:
1296         (kitClass): Added. Tells the wrapper generator what kind of node class to create
1297         to wrap event objects. This has the code that used to be in the _wrapEvent methods.
1298
1299         * bindings/objc/DOMHTML.mm:
1300         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): Use kit and core.
1301         (-[DOMHTMLDocument createDocumentFragmentWithText:]): Ditto.
1302         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto.
1303         (-[DOMHTMLInputElement _rectOnScreen]): Ditto.
1304         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Ditto.
1305         (-[DOMHTMLInputElement _selectedRange]): Ditto.
1306         (-[DOMHTMLInputElement _setAutofilled:]): Ditto.
1307         (-[DOMHTMLSelectElement _activateItemAtIndex:]): Ditto.
1308         (-[DOMHTMLInputElement _isEdited]): Ditto.
1309         (-[DOMHTMLTextAreaElement _isEdited]): Ditto.
1310         (kitClass): Added. Gives HTMLOptionCollection objects an appropriate wrapper.
1311
1312         * bindings/objc/DOMInternal.h: Removed most of the imports. There's no reason
1313         to have this header include all the other internal DOM headers. Removed unneeded
1314         interfaces, including the redeclaration of _init in DOMObject, since it's already
1315         inherited from WebScriptObject. Moved all the functions out of the WebCore
1316         namespace since this code is destined for WebKit, which doesn't use a namespace.
1317         Added kit and core functions for the two classes that live in this header.
1318
1319         * bindings/objc/DOMInternal.mm:
1320         (-[WebScriptObject _initializeScriptDOMNodeImp]): Use core.
1321
1322         * bindings/objc/DOMObject.h: Made the _internal field be private instead of
1323         protected. This also allows the "#define private public" trick to be used to
1324         make the field accessible inside the bindings code.
1325
1326         * bindings/objc/DOMObject.mm:
1327         (-[DOMObject dealloc]): Updated for namespace change.
1328         (-[DOMObject sheet]): Use core and kit functions.
1329
1330         * bindings/objc/DOMRGBColor.mm:
1331         (-[DOMRGBColor dealloc]): Updated for namespace change.
1332         (-[DOMRGBColor red]): Use kit function.
1333         (-[DOMRGBColor green]): Ditto.
1334         (-[DOMRGBColor blue]): Ditto.
1335         (-[DOMRGBColor alpha]): Ditto.
1336         (core): Added. Replaces the _RGBColor method.
1337         (kit): Added. Replaces the _wrapRGBColor method.
1338
1339         * bindings/objc/DOMSVGPathSegInternal.mm:
1340         (kitClass): Added. Replaces the _wrapSVGPathSeg method.
1341
1342         * bindings/objc/DOMUtility.mm:
1343         (JSC::createDOMWrapper): Use kit function.
1344         (createDOMWrapper): Ditto.
1345
1346         * bindings/objc/DOMXPath.mm:
1347         (core): Added. Replaces the _xpathNSResolver method.
1348         (kit): Added. Replaces the _wrapXPathNSResolver method.
1349
1350         * bindings/objc/ObjCEventListener.mm:
1351         (WebCore::ObjCEventListener::find): Changed to use early return.
1352         (WebCore::ObjCEventListener::handleEvent): Use kit function.
1353
1354         * bindings/objc/ObjCNodeFilterCondition.mm:
1355         (WebCore::ObjCNodeFilterCondition::acceptNode): Use kit function.
1356
1357         * bindings/objc/WebScriptObject.mm:
1358         (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]):
1359         Updated for namespace change.
1360
1361         * bindings/scripts/CodeGeneratorObjC.pm: Changed spelling of "license"
1362         to U.S. spelling. Removed GetObjCTypeMaker, GetObjCTypeGetterName,
1363         GetInternalTypeGetterSignature, and GetInternalTypeMakerSignature.
1364         Changed includes to conform to new scheme. Generate core and kit
1365         functions instead of methods and calls to those functions. Added a new
1366         attribute, Polymorphic, to indicate classes that have derived subclasses.
1367         Removed the old ObjCCustomInternalImpl attribute.
1368
1369         * css/CSSRule.idl: Use Polymorphic attribute, so core and kit functions
1370         will be generated, with kit calling kitClass. This requires less hand-
1371         written code than the old ObjCCustomInternalImpl.
1372         * css/CSSValue.idl: Ditto.
1373         * css/StyleSheet.idl: Ditto.
1374         * dom/Event.idl: Ditto.
1375         * dom/Node.idl: Ditto.
1376         * html/HTMLCollection.idl: Ditto.
1377         * svg/SVGPathSeg.idl: Ditto.
1378
1379         * editing/TextAffinity.h: Moved kit and core functions out of the
1380         WebCore namespace since this code is destined for WebKit, which
1381         doesn't use a namespace
1382
1383         * platform/mac/ClipboardMac.mm:
1384         (WebCore::ClipboardMac::declareAndWriteDragImage): Use kit function.
1385
1386         * platform/mac/DragDataMac.mm:
1387         (WebCore::DragData::asFragment): Use core function.
1388
1389         * platform/mac/PasteboardMac.mm:
1390         (WebCore::Pasteboard::writeSelection): Use kit function.
1391
1392         * svg/SVGElementInstance.idl: Removed now-unneeded ObjCCustomInternalImpl
1393         function. This can be generated in a standard way now.
1394         * svg/SVGViewSpec.idl: Ditto.
1395
1396 2009-04-17  Brady Eidson  <beidson@apple.com>
1397
1398         Reviewed by Maciej Stachowiak
1399
1400         <rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage
1401
1402         If the Page is in private browsing mode when a statement is queued up, flag that 
1403         statement as read-only.
1404
1405         It would be better to set the read-only flag on the database thread when it actually
1406         executes, but that would either require making Settings access a lock-protected operation
1407         or involve a synchronous callback to the WebCore thread, neither of which seem worth it.
1408         If it becomes an issue in practice, we can revisit this later.
1409
1410         Test: storage/private-browsing-readonly.html
1411
1412         * storage/Database.cpp:
1413         (WebCore::Database::setAuthorizerReadOnly):
1414         * storage/Database.h:
1415
1416         * storage/DatabaseAuthorizer.cpp:  For all action types that would alter the database,
1417           deny when in read-only mode.
1418         (WebCore::DatabaseAuthorizer::reset):
1419         (WebCore::DatabaseAuthorizer::createTable):
1420         (WebCore::DatabaseAuthorizer::dropTable):
1421         (WebCore::DatabaseAuthorizer::allowAlterTable):
1422         (WebCore::DatabaseAuthorizer::createIndex):
1423         (WebCore::DatabaseAuthorizer::dropIndex):
1424         (WebCore::DatabaseAuthorizer::createTrigger):
1425         (WebCore::DatabaseAuthorizer::dropTrigger):
1426         (WebCore::DatabaseAuthorizer::createVTable):
1427         (WebCore::DatabaseAuthorizer::dropVTable):
1428         (WebCore::DatabaseAuthorizer::allowDelete):
1429         (WebCore::DatabaseAuthorizer::allowInsert):
1430         (WebCore::DatabaseAuthorizer::allowUpdate):
1431         (WebCore::DatabaseAuthorizer::setReadOnly):
1432         * storage/DatabaseAuthorizer.h:
1433
1434         * storage/SQLStatement.cpp:
1435         (WebCore::SQLStatement::create): Add a m_readOnly flag.
1436         (WebCore::SQLStatement::SQLStatement): Ditto.
1437         (WebCore::SQLStatement::execute): If m_readOnly is set, tell the authorizer to change
1438           to read-only mode.
1439         * storage/SQLStatement.h:
1440
1441         * storage/SQLTransaction.cpp:
1442         (WebCore::SQLTransaction::executeSQL): Flag the statement as read-only if the Page is
1443           currently in private browsing mode.
1444
1445 2009-04-17  Eric Seidel  <eric@webkit.org>
1446
1447         Reviewed by Antti Koivisto.
1448
1449         Move RenderPath and RenderSVGContainer onto a unified clippedOverflowRectForRepaint
1450         https://bugs.webkit.org/show_bug.cgi?id=25268
1451
1452         Lots of minus lines.  Now we're sharing more sane code
1453         (which will respect -webkit-transforms! and scroll offsets correctly)
1454
1455         Which means this fixes:
1456         https://bugs.webkit.org/show_bug.cgi?id=20769 and
1457         https://bugs.webkit.org/show_bug.cgi?id=21968 too!
1458
1459         We're no longer expanding the paint rect "for anti-aliasing", since
1460         I can't find a case where that's required.  If it is, repaintRectInLocalCoordinates()
1461         should be fixed to handle those cases instead of here.
1462
1463         This fixes svg/custom/scroll-hit-test (now that we respect scroll offsets when repainting)
1464         as well as improves our focus ring drawing seen in svg/custom/focus-ring
1465         focus rings are now closer to transformed content by a couple pixels (they were needlessly outset by the antialiasing hack)
1466         Also, it fixes the dumped rects for markers, causing a progression in svg/custom/marker-overflow-clip
1467
1468         * rendering/RenderPath.cpp:
1469         (WebCore::RenderPath::repaintRectInLocalCoordinates):
1470         (WebCore::RenderPath::setPath):
1471         * rendering/RenderPath.h:
1472         * rendering/RenderSVGContainer.cpp:
1473         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
1474         * rendering/RenderSVGContainer.h:
1475         * rendering/RenderSVGModelObject.cpp:
1476         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
1477         (WebCore::RenderSVGModelObject::computeRectForRepaint):
1478         * rendering/RenderSVGModelObject.h:
1479         * rendering/RenderSVGRoot.cpp:
1480         (WebCore::RenderSVGRoot::computeRectForRepaint):
1481         * rendering/RenderSVGRoot.h:
1482
1483 2009-04-17  Chris Fleizach  <cfleizach@apple.com>
1484
1485         Reviewed by Darin Adler.
1486
1487         Bug 25259: AX: VoiceOver cmd-cntl-space does not follow the google.com->more link
1488         https://bugs.webkit.org/show_bug.cgi?id=25259
1489   
1490         When a node becomes visible or hidden, accessibility needs to be told to update.
1491
1492         Test: accessibility/visible-elements.html
1493
1494         * rendering/RenderObject.cpp:
1495         (WebCore::RenderObject::styleWillChange):
1496
1497 2009-04-17  Kevin Ollivier  <kevino@theolliviers.com>
1498
1499         wx build fix, added missing header.
1500
1501         * platform/graphics/wx/TransformationMatrixWx.cpp:
1502
1503 2009-04-17  Simon Hausmann  <simon.hausmann@nokia.com>
1504
1505         Unreviewed build fix.
1506
1507         Fix the build with enabled SVG filters
1508
1509         * rendering/RenderSVGModelObject.cpp: Include SVGResourceFilter.h.
1510
1511 2009-04-16  Eric Roman  <eroman@chromium.org>
1512
1513         Reviewed by Dimitri Glazkov.
1514
1515         https://bugs.webkit.org/show_bug.cgi?id=25196
1516         Add a missing V8DOMMap include.
1517
1518         * bindings/v8/WorkerScriptController.cpp: Included V8DOMMap.h.
1519
1520 2009-04-16  Dimitri Glazkov  <dglazkov@chromium.org>
1521
1522         Reviewed by Darin Fisher.
1523
1524         https://bugs.webkit.org/show_bug.cgi?id=25260
1525         Finish V8 custom bindings for InspectorController.
1526
1527         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
1528         (WebCore::CALLBACK_FUNC_DECL): Added.
1529
1530 2009-04-16  Kevin Watters  <kevinwatters@gmail.com>
1531
1532         Reviewed by Kevin Ollivier.
1533
1534         Switch to wxGraphicsBitmap when using wxGraphicsContext so that we're not doing
1535         unnecessary conversions internally when drawing bitmaps.
1536         
1537         https://bugs.webkit.org/show_bug.cgi?id=25248
1538
1539         * platform/graphics/ImageSource.h:
1540         * platform/graphics/wx/ImageSourceWx.cpp:
1541         (WebCore::ImageSource::createFrameAtIndex):
1542         * platform/graphics/wx/ImageWx.cpp:
1543         (WebCore::BitmapImage::draw):
1544         (WebCore::BitmapImage::drawPattern):
1545
1546 2009-04-16  Justin Garcia  <justin.garcia@apple.com>
1547
1548         Reviewed by Dan Bernstein.
1549
1550         Performing a block style change in an editable root that contains only a br adds a newline
1551         https://bugs.webkit.org/show_bug.cgi?id=25256
1552
1553         * editing/CompositeEditCommand.cpp:
1554         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix a bad check for an root
1555         block that didn't handle a root that contained a placeholder.
1556
1557 2009-04-16  Eric Seidel  <eric@webkit.org>
1558
1559         Reviewed by Simon Fraser.
1560
1561         Fix computeContainerBoundingBox to respect viewport translations
1562         https://bugs.webkit.org/show_bug.cgi?id=25254
1563
1564         Previously computeContainerBoundingBox was just adding the viewportTranslation.
1565         Which, although it has a confusing name, only contains the scale and translation
1566         for the viewBox/preserveAspectRatio adjustment.  It does not contain the
1567         translation for the x/y offset of the viewport.
1568         localToParentTransform() does contain this offset, so we use that instead
1569         of the previous hacky code.
1570
1571         * rendering/RenderSVGContainer.h:
1572         * rendering/RenderSVGViewportContainer.h:
1573         * rendering/SVGRenderSupport.cpp:
1574         (WebCore::computeContainerBoundingBox):
1575
1576 2009-04-16  Eric Seidel  <eric@webkit.org>
1577
1578         Reviewed by Simon Fraser.
1579
1580         Add a localToParentTransform() method which includes the
1581         full transform between local and parent local coordinates.
1582         https://bugs.webkit.org/show_bug.cgi?id=25226
1583
1584         Moved m_localTransform up into RenderSVGTransformableContainer
1585         and added a comment to RenderSVGViewportContainer to make it more
1586         clear that it does not have a localTransform().
1587
1588         This patch reveals two more failed design decisions:
1589         1.  Use of RenderBox::absoluteTransform() to mean "absoluteTransform()
1590             including only my localTransform()" callers are probably using it
1591             incorrectly anyway and are just masking bugs in the confused code.
1592         2.  computeContainerBoundingBox does not include viewport translations in
1593             its computed bounding box, so bounding boxes will be off for parents of
1594             inner <svg> elements.  I'll fix this an updated the results in a separate change.
1595
1596         No functional changes, thus no tests.
1597
1598         * rendering/RenderObject.cpp:
1599         (WebCore::RenderObject::localToParentTransform):
1600         (WebCore::RenderObject::absoluteTransform):
1601         * rendering/RenderObject.h:
1602         * rendering/RenderSVGContainer.cpp:
1603         (WebCore::RenderSVGContainer::layout):
1604         * rendering/RenderSVGContainer.h:
1605         (WebCore::RenderSVGContainer::viewportTransform):
1606         * rendering/RenderSVGHiddenContainer.cpp:
1607         * rendering/RenderSVGHiddenContainer.h:
1608         (WebCore::RenderSVGHiddenContainer::absoluteTransform):
1609         * rendering/RenderSVGRoot.cpp:
1610         (WebCore::RenderSVGRoot::localToParentTransform):
1611         (WebCore::RenderSVGRoot::absoluteTransform):
1612         * rendering/RenderSVGRoot.h:
1613         * rendering/RenderSVGTransformableContainer.cpp:
1614         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
1615         (WebCore::RenderSVGTransformableContainer::localTransform):
1616         * rendering/RenderSVGTransformableContainer.h:
1617         * rendering/RenderSVGViewportContainer.cpp:
1618         (WebCore::RenderSVGViewportContainer::localToParentTransform):
1619         (WebCore::RenderSVGViewportContainer::absoluteTransform):
1620         * rendering/RenderSVGViewportContainer.h:
1621         * rendering/SVGRenderSupport.cpp:
1622         (WebCore::computeContainerBoundingBox):
1623
1624 2009-04-16  Adam Langley  <agl@google.com>
1625
1626         Reviewed by Darin Fisher.
1627
1628         Fix Chromium's rendering of <option> elements inside of <optgroups>.
1629
1630         https://bugs.webkit.org/show_bug.cgi?id=25244
1631
1632         Test (will included as a manual test by https://bugs.webkit.org/show_bug.cgi?id=24900):
1633
1634         <select>
1635           <optgroup label="Should be bold">
1636             <option>Should not be bold</option>
1637           </optgroup>
1638         </select>
1639
1640         * css/themeWin.css: adding comments
1641         * platform/chromium/PopupMenuChromium.cpp:
1642         (WebCore::PopupListBox::getRowFont): use menuStyle() rather than the item's style
1643
1644 2009-04-16  Eric Roman  <eroman@chromium.org>
1645
1646         Reviewed by Alexey Proskuryakov.
1647
1648         https://bugs.webkit.org/show_bug.cgi?id=25218
1649
1650         Make DOMWindow::inlineEventListenerForType not have the "inline"
1651         keyword. As this method gets used outside of DOMWindow.
1652
1653         * page/DOMWindow.cpp:
1654         (WebCore::DOMWindow::inlineEventListenerForType):
1655
1656 2009-04-16  Greg Bolsinga  <bolsinga@apple.com>
1657
1658         Reviewed by Antti Koivisto.
1659
1660         Fix <rdar://problem/6766969>
1661         
1662         When deferred repaints are enabled and being reset and there is a active
1663         timer, stop the timer and do the deferred repaints immediately.
1664
1665         * page/FrameView.cpp:
1666         (WebCore::FrameView::resetDeferredRepaintDelay):
1667
1668 2009-04-16  Xan Lopez  <xlopez@igalia.com>
1669
1670         Reviewed by Sam Weinig.
1671
1672         https://bugs.webkit.org/show_bug.cgi?id=25241
1673         Remove superfluous NotImplemented.h includes.
1674
1675         * html/CanvasRenderingContext2D.cpp:
1676         * html/CanvasStyle.cpp:
1677         * page/AccessibilityRenderObject.cpp:
1678         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
1679         * platform/graphics/GraphicsContext.cpp:
1680         * platform/graphics/cairo/ImageBufferCairo.cpp:
1681         * platform/graphics/cairo/PathCairo.cpp:
1682         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1683         * platform/graphics/gtk/FontGtk.cpp:
1684         * platform/graphics/gtk/IconGtk.cpp:
1685         * platform/graphics/qt/IconQt.cpp:
1686         * platform/graphics/qt/ImageQt.cpp:
1687         * platform/graphics/qt/ImageSourceQt.cpp:
1688         * platform/graphics/skia/ImageBufferSkia.cpp:
1689         * platform/graphics/skia/ImageSkia.cpp:
1690         * platform/graphics/win/ColorSafari.cpp:
1691         * platform/graphics/win/FontWin.cpp:
1692         * platform/graphics/win/GraphicsContextCGWin.cpp:
1693         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1694         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
1695         * platform/graphics/wx/ImageWx.cpp:
1696         * platform/graphics/wx/TransformationMatrixWx.cpp:
1697         * platform/gtk/PlatformScreenGtk.cpp:
1698         * platform/gtk/PopupMenuGtk.cpp:
1699         * platform/gtk/ScrollViewGtk.cpp:
1700         * platform/gtk/ScrollbarGtk.cpp:
1701         * platform/network/cf/ResourceHandleCFNet.cpp:
1702         * platform/posix/FileSystemPOSIX.cpp:
1703         * platform/qt/DragDataQt.cpp:
1704         * platform/qt/FileSystemQt.cpp:
1705         * platform/qt/Localizations.cpp:
1706         * platform/qt/PopupMenuQt.cpp:
1707         * platform/win/EditorWin.cpp:
1708         * platform/win/PasteboardWin.cpp:
1709         * platform/wx/KeyboardEventWx.cpp:
1710         * platform/wx/PopupMenuWx.cpp:
1711         * platform/wx/SharedTimerWx.cpp:
1712         * plugins/gtk/PluginViewGtk.cpp:
1713         * plugins/mac/PluginPackageMac.cpp:
1714         * plugins/qt/PluginPackageQt.cpp:
1715         * plugins/win/PluginViewWin.cpp:
1716         * rendering/RenderThemeChromiumLinux.cpp:
1717         * svg/graphics/SVGImage.cpp:
1718
1719 2009-04-16  Geoffrey Garen  <ggaren@apple.com>
1720
1721         Reviewed by Sam Weinig.
1722
1723         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
1724         Unbounded memory growth when churning elements with anonymous event handler functions
1725         
1726         Some cleanup in event handling code.
1727
1728         * bindings/js/JSDOMGlobalObject.cpp:
1729         * bindings/js/JSDOMGlobalObject.h: Removed findJSProtectedEventListener
1730         and findJSProtectedEventListener because they are now unused.
1731
1732         * bindings/js/JSEventListener.cpp:
1733         * bindings/js/JSEventListener.h:
1734         (WebCore::JSEventListener::clearGlobalObject):
1735         * bindings/js/JSLazyEventListener.cpp:
1736         (WebCore::JSLazyEventListener::JSLazyEventListener):
1737         (WebCore::JSLazyEventListener::~JSLazyEventListener):
1738         (WebCore::JSLazyEventListener::globalObject):
1739         * bindings/js/JSLazyEventListener.h:
1740         (WebCore::JSLazyEventListener::clearGlobalObject): Nixed JSProtectedEventListener,
1741         and merged it with JSLazyEventListener, the only remaining event listener
1742         that still GC-protects its function and global object.
1743
1744         * bindings/js/ScriptController.cpp:
1745         (WebCore::ScriptController::ScriptController):
1746         * bindings/js/ScriptController.h:
1747         (WebCore::ScriptController::setEventHandlerLineNumber):
1748         (WebCore::ScriptController::eventHandlerLineNumber): Renamed handlerLineno =>
1749         handlerLineNumber, because anything less would be uncivilized. Removed
1750         createInlineEventListener because it mostly did irrelevent work, so it
1751         just got in the way of understanding how event handler creation works.
1752
1753         * dom/Document.cpp:
1754         (WebCore::Document::createEventListener):
1755         * dom/XMLTokenizerLibxml2.cpp:
1756         (WebCore::XMLTokenizer::startElementNs):
1757         * html/HTMLTokenizer.cpp:
1758         (WebCore::HTMLTokenizer::processToken): Ditto.
1759
1760 2009-04-16  Beth Dakin  <bdakin@apple.com>
1761
1762         Reviewed by Dave Hyatt.
1763
1764         Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 
1765         crashes on load due to messy HTML in search form
1766         -and corresponding-
1767         <rdar://problem/6210633>
1768
1769         Before this patch, <form>s were allowed to sit inside tables 
1770         without being wrapped by anonymous table parts. There was also a 
1771         concept that such a form could be "demoted" and would not be 
1772         allowed to have any children. This patch has the HTML parser mark 
1773         form elements that have been demoted as such, and then the demoted 
1774         forms are not given renderers. I also removed the code that allowed 
1775         forms to sit in tables without anonymous table sections. So now any 
1776         forms that do manage to get a renderer inside a table will also be 
1777         wrapped with appropriate table parts.
1778
1779         * html/HTMLFormElement.cpp:
1780         (WebCore::HTMLFormElement::HTMLFormElement):
1781         (WebCore::HTMLFormElement::rendererIsNeeded):
1782         * html/HTMLFormElement.h:
1783         (WebCore::HTMLFormElement::setDemoted):
1784         (WebCore::HTMLFormElement::isDemoted):
1785         * html/HTMLParser.cpp:
1786         (WebCore::HTMLParser::insertNode):
1787         * rendering/RenderTable.cpp:
1788         (WebCore::RenderTable::addChild):
1789         * rendering/RenderTableRow.cpp:
1790         (WebCore::RenderTableRow::addChild):
1791         * rendering/RenderTableSection.cpp:
1792         (WebCore::RenderTableSection::addChild):
1793
1794 2009-04-16  Xiaomei Ji  <xji@chromium.org>
1795
1796         Reviewed by Simon Fraser.
1797
1798         Fix https://bugs.webkit.org/show_bug.cgi?id=24527
1799         caret does not paint the first time you focus on a 0px right padding RTL div
1800
1801         Test: fast/forms/caret-rtl.html
1802
1803         * rendering/RenderBlock.cpp:
1804         (WebCore::RenderBlock::localCaretRect): When calculating x-axis if 
1805         alignment is alignRight, we need to subtract the caretWidth so that the
1806         caret at IntRect(x, y, caretWidth, height) is inside the block.
1807
1808 2009-04-16  Justin Garcia  <justin.garcia@apple.com>
1809
1810         Reviewed by Simon Fraser.
1811
1812         https://bugs.webkit.org/show_bug.cgi?id=25228
1813         SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)
1814         
1815         Return the bounds of the transformed caret, not the transformed repaint rect for the caret (which is inflated).
1816
1817         * editing/SelectionController.cpp:
1818         (WebCore::SelectionController::localCaretRect):
1819         (WebCore::SelectionController::absoluteBoundsForLocalRect):
1820         (WebCore::SelectionController::caretRepaintRect):
1821         (WebCore::SelectionController::recomputeCaretRect):
1822         * editing/SelectionController.h:
1823
1824 2009-04-16  Pierre d'Herbemont  <pdherbemont@apple.com>
1825
1826         Reviewed by Simon Fraser.
1827
1828         https://bugs.webkit.org/show_bug.cgi?id=25187
1829         Bug 25187: <video> may not be rendered upon certain racy conditions
1830
1831         Always create the video renderer when the load state reaches QTMovieLoadStateLoaded and
1832         the element is visible, not just when the movie has just been opened.
1833
1834         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1835         (WebCore::MediaPlayerPrivate::updateStates): Make sure we do not make false
1836         assumption on the state changes order. Create the renderer if none is present,
1837         when movie is loaded instead.
1838
1839 2009-04-16  Eric Seidel  <eric@webkit.org>
1840
1841         Reviewed by Geoffrey Garen.
1842
1843         Add filterBoundingBox() to RenderSVGModelObject to share a tiny bit of code
1844
1845         RenderSVGModelObject has much more interesting code it can share,
1846         but I'm just trying to get the commits out of my local branch and into
1847         the repository in any order I can. :)  This one was small.
1848
1849         This will be used by the unified RenderSVGModelObject
1850         clippedOverflowRectForRepaint patch coming soon.
1851
1852         * rendering/RenderPath.cpp:
1853         (WebCore::RenderPath::clippedOverflowRectForRepaint):
1854         * rendering/RenderSVGContainer.cpp:
1855         (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
1856         * rendering/RenderSVGModelObject.cpp:
1857         (WebCore::RenderSVGModelObject::filterBoundingBox):
1858         * rendering/RenderSVGModelObject.h:
1859
1860 2009-04-16  Geoffrey Garen  <ggaren@apple.com>
1861
1862         Reviewed by Eric Seidel and Adam Roben.
1863
1864         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
1865         Unbounded memory growth when churning elements with anonymous event handler functions
1866         
1867         Simplified some EventHandler creation code.
1868         
1869         Removed a pile of code whose sole purpose was to allow SVG event handlers
1870         to supply a parameter named "evt" instead of the normal "event", and
1871         replaced it with a single parameter to JSLazyEventListener's constructor
1872         specifying the parameter name to use.
1873
1874         * bindings/js/JSDOMWindowBase.h:
1875         * bindings/js/JSLazyEventListener.cpp:
1876         (WebCore::JSLazyEventListener::JSLazyEventListener):
1877         (WebCore::JSLazyEventListener::parseCode):
1878         * bindings/js/JSLazyEventListener.h:
1879         (WebCore::JSLazyEventListener::create):
1880         * bindings/js/ScriptController.cpp:
1881         (WebCore::ScriptController::createInlineEventListener):
1882         * bindings/js/ScriptController.h:
1883         * dom/Document.cpp:
1884         (WebCore::Document::createEventListener):
1885
1886 2009-04-15  Eric Seidel  <eric@webkit.org>
1887
1888         Reviewed by David Hyatt.
1889
1890         Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox
1891         in preparation for simplifying (and fixing) repaint logic in the SVG rendering tree.
1892         https://bugs.webkit.org/show_bug.cgi?id=25224
1893
1894         objectBoundingBox() matches the SVG 1.1 concept of a "bounding box"
1895
1896         repaintRectInLocalCoordinates() should return the a rect covering all painted content.
1897         However, repaintRectInLocalCoordinates() still only returns the "stroke bounding box"
1898         in this patch.  In a future patch, repaintRectInLocalCoordinates will be fixed to return
1899         a rect covering all painted content.  In order to avoid changing several hundred layout test results, I've left
1900         the behavior as-is for now.  The returned rect is used by various repaintRectInLocalCoordinates
1901         implementations and sometimes adjusted to include all painted content, but not always, and
1902         the places where the adjustments are made are sometimes wrong.  Again, will be fixed in
1903         an upcoming patch.
1904
1905         This patch discovered a bug in Font::drawTextUsingSVGFont, which is probably causing
1906         bounding-box relative gradients on SVGFont glyphs to not paint correctly.
1907         I chose not to try and fix the bug in this patch and instead left a FIXME.
1908
1909         This patch also discovered that at least tspan.getBBox() is broken.  This
1910         along with the foreignObject.getBBox() change will be tested (and fixed) in a
1911         later patch.  https://bugs.webkit.org/show_bug.cgi?id=25225
1912
1913         No change in behavior (besides the above mentioned foreignObject.getBBox()), thus no tests.
1914
1915         * rendering/RenderForeignObject.cpp:
1916         (WebCore::RenderForeignObject::objectBoundingBox): this is a behavior improvement for getBBox() test case coming in a later patch
1917         (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): only really used for layout test results, might some day be used for repaint.
1918         * rendering/RenderForeignObject.h:
1919         * rendering/RenderObject.cpp:
1920         (WebCore::RenderObject::objectBoundingBox): new methods, ASSERT if used but not implemented.
1921         (WebCore::RenderObject::repaintRectInLocalCoordinates):
1922         * rendering/RenderObject.h:
1923         * rendering/RenderPath.cpp:
1924         (WebCore::RenderPath::objectBoundingBox):
1925         (WebCore::RenderPath::repaintRectInLocalCoordinates):
1926         (WebCore::RenderPath::clippedOverflowRectForRepaint):
1927         (WebCore::RenderPath::lineHeight):
1928         (WebCore::RenderPath::baselinePosition):
1929         (WebCore::RenderPath::paint):
1930         (WebCore::RenderPath::addFocusRingRects):
1931         * rendering/RenderPath.h:
1932         * rendering/RenderSVGContainer.cpp:
1933         (WebCore::RenderSVGContainer::paint):
1934         (WebCore::RenderSVGContainer::objectBoundingBox):
1935         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
1936         * rendering/RenderSVGContainer.h:
1937         * rendering/RenderSVGGradientStop.h:
1938         (WebCore::RenderSVGGradientStop::objectBoundingBox):
1939         (WebCore::RenderSVGGradientStop::repaintRectInLocalCoordinates):
1940         * rendering/RenderSVGHiddenContainer.cpp:
1941         (WebCore::RenderSVGHiddenContainer::objectBoundingBox):
1942         (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates):
1943         * rendering/RenderSVGHiddenContainer.h:
1944         * rendering/RenderSVGImage.cpp:
1945         (WebCore::RenderSVGImage::objectBoundingBox):
1946         (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
1947         (WebCore::RenderSVGImage::calculateAbsoluteBounds):
1948         (WebCore::RenderSVGImage::addFocusRingRects):
1949         * rendering/RenderSVGImage.h:
1950         * rendering/RenderSVGRoot.cpp:
1951         (WebCore::RenderSVGRoot::paint):
1952         (WebCore::RenderSVGRoot::objectBoundingBox):
1953         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
1954         * rendering/RenderSVGRoot.h:
1955         * rendering/RenderSVGTSpan.h:
1956         (WebCore::RenderSVGTSpan::objectBoundingBox):
1957         (WebCore::RenderSVGTSpan::repaintRectInLocalCoordinates):
1958         * rendering/RenderSVGText.cpp:
1959         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
1960         (WebCore::RenderSVGText::absoluteRects):
1961         (WebCore::RenderSVGText::absoluteQuads):
1962         (WebCore::RenderSVGText::objectBoundingBox):
1963         (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
1964         * rendering/RenderSVGText.h:
1965         * rendering/RenderSVGViewportContainer.cpp:
1966         (WebCore::RenderSVGViewportContainer::viewportTransform):
1967         * rendering/SVGRenderSupport.cpp:
1968         (WebCore::computeContainerBoundingBox):
1969         * rendering/SVGRenderSupport.h:
1970         * rendering/SVGRenderTreeAsText.cpp:
1971         (WebCore::operator<<):
1972         * svg/SVGFont.cpp:
1973         (WebCore::Font::drawTextUsingSVGFont):
1974         * svg/SVGLocatable.cpp:
1975         (WebCore::SVGLocatable::getBBox):
1976         * svg/SVGPatternElement.cpp:
1977         (WebCore::SVGPatternElement::buildPattern):
1978         * svg/graphics/SVGPaintServerGradient.cpp:
1979         (WebCore::createMaskAndSwapContextForTextGradient):
1980         (WebCore::clipToTextMask):
1981         (WebCore::SVGPaintServerGradient::setup):
1982         * svg/graphics/SVGPaintServerPattern.cpp:
1983         (WebCore::SVGPaintServerPattern::setup):
1984
1985 2009-04-16  Dan Bernstein  <mitz@apple.com>
1986
1987         Reviewed by Darin Adler.
1988
1989         - fix <rdar://problem/6032139> Table cell widths calculated
1990           incorrectly on table that uses table-layout:fixed, colspans, and a mix
1991           of percentage and pixel widths
1992
1993         Test: fast/table/fixed-granular-cols.html
1994
1995         The incorrect widths resulted from incorrect handling of the case where
1996         the <col> elements are more granular than the table cells.
1997
1998         * rendering/FixedTableLayout.cpp:
1999         (WebCore::FixedTableLayout::calcWidthArray): When processing <col>
2000         elements, append effective columns or split existing effective columns
2001         as needed.
2002
2003 2009-04-16  Alexey Proskuryakov  <ap@webkit.org>
2004
2005         <rdar://problem/6795285> Infinite recursion in ResourceHandle::receivedRequestToContinueWithoutCredential
2006
2007         Rolled out <http://trac.webkit.org/projects/webkit/changeset/42536> - the two instances of
2008         authentication challenge are different, after all. Added a FIXME comment about a possible
2009         future improvement.
2010
2011         * platform/network/ResourceHandle.cpp:
2012         (WebCore::ResourceHandle::clearAuthentication):
2013         * platform/network/ResourceHandleInternal.h:
2014         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2015         * platform/network/cf/ResourceHandleCFNet.cpp:
2016         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2017         (WebCore::ResourceHandle::receivedCredential):
2018         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2019         (WebCore::ResourceHandle::receivedCancellation):
2020         * platform/network/mac/ResourceHandleMac.mm:
2021         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2022         (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
2023         (WebCore::ResourceHandle::receivedCredential):
2024         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2025         (WebCore::ResourceHandle::receivedCancellation):
2026
2027 2009-04-15  Geoffrey Garen  <ggaren@apple.com>
2028
2029         Reviewed by Sam Weinig.
2030         
2031         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
2032         Unbounded memory growth when churning elements with anonymous event handler functions
2033
2034         Also fixed <rdar://problem/6792909> WebInspector crashes when reloading
2035         a page with breakpoints set
2036         
2037         * bindings/js/JSEventListener.cpp:
2038         (WebCore::JSEventListener::clearJSFunctionInline):
2039         (WebCore::JSEventListener::markJSFunction):
2040         * bindings/js/JSEventListener.h: Actually clear our function and global
2041         object pointers when our client instructs us to. (Oops!) Also, mark
2042         our global object while we still intend to use it.
2043
2044         * bindings/js/JSSVGElementInstanceCustom.cpp:
2045         (WebCore::JSSVGElementInstance::mark):
2046         (WebCore::toJS):
2047         * bindings/scripts/CodeGeneratorJS.pm:
2048         * svg/SVGElementInstance.idl: For every SVGElementInstance wrapper, ensure
2049         that the corresponding element also has a wrapper, to keep its event
2050         listeners alive.
2051
2052 2009-04-15  Dimitri Glazkov  <dglazkov@chromium.org>
2053
2054         Reviewed by Darin Fisher.
2055
2056         https://bugs.webkit.org/show_bug.cgi?id=25201
2057         Add ScriptFunctionCall/ScriptObject for V8.
2058
2059         * bindings/v8/ScriptFunctionCall.cpp: Added.
2060         * bindings/v8/ScriptFunctionCall.h: Added.
2061         * bindings/v8/ScriptObject.cpp: Added.
2062         * bindings/v8/ScriptObject.h: Added.
2063         * bindings/v8/ScriptObjectQuarantine.cpp: Added.
2064         * bindings/v8/ScriptObjectQuarantine.h: Added.
2065         * bindings/v8/ScriptScope.cpp: Added.
2066         * bindings/v8/ScriptScope.h: Added.
2067         * bindings/v8/ScriptState.h:
2068         (WebCore::ScriptState::ScriptState): Added new constructors.
2069         (WebCore::ScriptState::frame): Added Frame ptr accessor.
2070         * bindings/v8/ScriptString.h:
2071         (WebCore::ScriptString::ScriptString): Added default constructor.
2072         * bindings/v8/ScriptValue.h:
2073         (WebCore::ScriptValue::isEqual): Added.
2074
2075 2009-04-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2076
2077         Unreviewed build fix. Add RenderSVGModelObject.* to GTK+'s build.
2078
2079         * GNUmakefile.am:
2080
2081 2009-04-15  Steve Falkenburg  <sfalken@apple.com>
2082
2083         <rdar://problem/6785760> WebCore should use a maximum of 6 connections per host, not 4
2084
2085         Reviewed by Adam Roben.
2086
2087         * platform/network/ResourceRequestBase.cpp:
2088         * platform/network/cf/ResourceRequestCFNet.cpp:
2089         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2090
2091 2009-04-15  Sam Weinig  <sam@webkit.org>
2092
2093         Reviewed by Mark Rowe.
2094
2095         Add special casing to bindings generator so that custom functions
2096         starting with xml or xslt conform to WebKit style guidelines.
2097
2098         * bindings/js/JSDOMWindowCustom.cpp:
2099         (WebCore::JSDOMWindow::xmlHttpRequest):
2100         (WebCore::JSDOMWindow::xsltProcessor):
2101         * bindings/scripts/CodeGenerator.pm:
2102
2103 2009-04-15  Eric Seidel  <eric@webkit.org>
2104
2105         Reviewed by Simon Fraser.
2106
2107         Add minimal RenderSVGModelObject and make RenderPath and RenderSVGContainer use it.
2108         https://bugs.webkit.org/show_bug.cgi?id=25221
2109         
2110         RenderSVGModelObject is the base rendering class for things which live
2111         in the SVG rendering tree.  Not all SVG renders are RenderSVGModelObjects yet.
2112         
2113         More patches coming.  This is just adding the class, future patches
2114         will pull more logic out of RenderPath and RenderSVGContainer into RenderSVGModelObject.
2115
2116         * WebCore.pro:
2117         * WebCore.scons:
2118         * WebCore.vcproj/WebCore.vcproj:
2119         * WebCore.xcodeproj/project.pbxproj:
2120         * rendering/RenderPath.cpp:
2121         (WebCore::RenderPath::RenderPath):
2122         * rendering/RenderPath.h:
2123         * rendering/RenderSVGContainer.cpp:
2124         (WebCore::RenderSVGContainer::RenderSVGContainer):
2125         * rendering/RenderSVGContainer.h:
2126         * rendering/RenderSVGModelObject.cpp: Added.
2127         (WebCore::RenderSVGModelObject::RenderSVGModelObject):
2128         * rendering/RenderSVGModelObject.h: Added.
2129         (WebCore::RenderSVGModelObject::requiresLayer):
2130         * rendering/RenderTreeAsText.cpp:
2131         * rendering/SVGRenderTreeAsText.cpp:
2132
2133 2009-04-15  Eric Seidel  <eric@webkit.org>
2134
2135         Reviewed by Simon Fraser.
2136
2137         Remove more dead code from RenderSVGHiddenContainer.
2138
2139         lineHeight and baselinePosition used to be on RenderSVGContainer
2140         (of which this is a subclass) because RenderSVGContainer used
2141         to be a RenderBox and always the renderer for <svg>
2142         Now <svg> uses RenderSVGRoot when needing a RenderBox (inside HTML)
2143         and RenderSVGViewportContainer (when inside SVG content)
2144         so there is no need for RenderSVGHiddenContainer to have these HTML-specific methods.
2145
2146         * rendering/RenderSVGHiddenContainer.cpp:
2147         * rendering/RenderSVGHiddenContainer.h:
2148
2149 2009-04-15  Eric Seidel  <eric@webkit.org>
2150
2151         Reviewed by Simon Fraser.
2152
2153         Remove unneeded (broken) code from SVG renderers
2154         https://bugs.webkit.org/show_bug.cgi?id=25214
2155
2156         Mostly due to my historical confusions about the render tree
2157         and some methods not being removed after classes were split.
2158
2159         RenderSVGRoot is an RenderBox and should just use all the
2160         standard RenderBox methods for inspector and repaint rects.
2161
2162         RenderSVGContainer is *not* a RenderBox (any more) and thus
2163         doesn't need lineHeight or width/height or calcBounds.
2164
2165         RenderSVGViewportContainer had some broken code which tried
2166         to see if the click was inside the container at all, but it
2167         was using width/height metrics based off of the containing
2168         block (from calcWidth) which is wrong (since its real
2169         width/height are from its containing viewport not containing block).
2170
2171         * rendering/RenderSVGContainer.cpp:
2172         (WebCore::RenderSVGContainer::RenderSVGContainer):
2173         (WebCore::RenderSVGContainer::layout):
2174         * rendering/RenderSVGContainer.h:
2175         * rendering/RenderSVGRoot.cpp:
2176         * rendering/RenderSVGRoot.h:
2177         * rendering/RenderSVGViewportContainer.cpp:
2178         (WebCore::RenderSVGViewportContainer::layout):
2179         (WebCore::RenderSVGViewportContainer::nodeAtPoint):
2180
2181 2009-04-15  Eric Seidel  <eric@webkit.org>
2182
2183         Reviewed by Simon Fraser and Sam Weinig.
2184
2185         https://bugs.webkit.org/show_bug.cgi?id=25217
2186         Simplify nearestViewportElement and farthestViewportElement using isViewportElement and a for loop
2187         Add ASSERT(element) to all these functions since they should never be passed a null element.
2188
2189         * svg/SVGLocatable.cpp:
2190         (WebCore::isViewportElement):
2191         (WebCore::SVGLocatable::nearestViewportElement):
2192         (WebCore::SVGLocatable::farthestViewportElement):
2193         (WebCore::SVGLocatable::getBBox):
2194         (WebCore::SVGLocatable::getCTM):
2195         (WebCore::SVGLocatable::getScreenCTM):
2196
2197 2009-04-15  Sam Weinig  <sam@webkit.org>
2198
2199         Reviewed by Anders Carlsson.
2200
2201         Remove support for the ObjCIvar extended attribute from the Objective-C
2202         bindings generator.  It is not used anymore.
2203
2204         * bindings/scripts/CodeGeneratorObjC.pm:
2205
2206 2009-04-15  Justin Garcia  <justin.garcia@apple.com>
2207
2208         Reviewed by Dan Bernstein.
2209
2210         https://bugs.webkit.org/show_bug.cgi?id=25204
2211         Create a fast path for ReplaceSelectionCommand that merges text nodes
2212         
2213         During simple pastes, where we're just pasting a text node into a run of text, we would split the current
2214         text and insert the new node in between.  This is slow and we hit this bug:
2215
2216         https://bugs.webkit.org/show_bug.cgi?id=6148
2217
2218         in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic.
2219         
2220         This change creates a fast path for ReplaceSelectionCommand that inserts text directly into the
2221         text node that holds the selection (very similar to the fast path we wrote for InsertTextCommand).
2222
2223         * editing/ReplaceSelectionCommand.cpp:
2224         (WebCore::ReplaceSelectionCommand::doApply):
2225         (WebCore::ReplaceSelectionCommand::performTrivialReplace):
2226         * editing/ReplaceSelectionCommand.h:
2227         * editing/TextIterator.cpp:
2228
2229 2009-04-15  Adam Langley  <agl@google.com>
2230
2231         Reviewed by Darin Fisher.
2232
2233         Move VDMX parsing into the Chromium Linux port.
2234
2235         https://bugs.webkit.org/show_bug.cgi?id=25116
2236
2237         VDMX tables are optional tables in TrueType fonts which contain the
2238         exact pixel height of a given font at a given pel size. In order to
2239         match Windows font metrics we have to use these numbers.
2240
2241         Previously, the parsing was performed in Skia. As part of the merge
2242         with upstream Skia, an interface for getting table data from a font
2243         has been added to Skia and we're moving the parsing into WebKit.
2244
2245         This does not change any layout tests.
2246
2247         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
2248         (WebCore::FontPlatformData::uniqueID):
2249         * platform/graphics/chromium/FontPlatformDataLinux.h:
2250         * platform/graphics/chromium/FontTrueTypeLinux.cpp: Added.
2251         * platform/graphics/chromium/FontTrueTypeLinux.h: Added.
2252         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2253         (WebCore::SimpleFontData::platformInit):
2254         (WebCore::SimpleFontData::platformWidthForGlyph):
2255
2256 2009-04-15  Stephen White  <senorblanco@chromium.org>
2257
2258         Reviewed by Dimitri Glazkov.
2259
2260         https://bugs.webkit.org/show_bug.cgi?id=25180
2261
2262         Restore stroked outlines to PlatformContextSkia::drawRect().
2263         These were removed inadvertently in r41805, aka
2264         https://bugs.webkit.org/show_bug.cgi?id=24662.
2265         SkRect is { left, top, right, bottom }, not { left, top, width, height }.
2266
2267         * platform/graphics/skia/PlatformContextSkia.cpp:
2268         (PlatformContextSkia::drawRect):
2269
2270 2009-04-15  Dan Bernstein  <mitz@apple.com>
2271
2272         Reviewed by Dave Hyatt.
2273
2274         - fix <rdar://problem/6777374> Generated content with display: run-in
2275           causes a crash
2276
2277         Test: fast/runin/generated.html
2278
2279         * rendering/RenderBlock.cpp:
2280         (WebCore::RenderBlock::handleRunInChild): Check if the run-in block is
2281         generated, and if so, make the RenderInline anonymous instead of passing
2282         a 0 node to the RenderInline constructor. If the run-in itself is
2283         generated, do move :before and :after children from the block into the
2284         inline, as they will not be regenerated. Changed nested ifs into early
2285         returns.
2286
2287 2009-04-15  Eric Roman  <eroman@chromium.org>
2288
2289         Reviewed by Geoffrey Garen.
2290
2291         https://bugs.webkit.org/show_bug.cgi?id=25192
2292
2293         Expose DOMWindow::removeInlineEventListenerForType and
2294         DOMWindow::inlineEventListenerForType as public.
2295
2296         * page/DOMWindow.h:
2297
2298 2009-04-14  Eric Roman  <eroman@chromium.org>
2299
2300         Reviewed by Darin Adler.
2301
2302         https://bugs.webkit.org/show_bug.cgi?id=25198
2303
2304         Wrap RegisteredEventListener's markEventListeners and invalidateEventListeners
2305         in a USE(JSC), since it doesn't compile with V8 bindings.
2306
2307         * dom/RegisteredEventListener.h:
2308
2309 2009-04-15  Eric Roman  <eroman@chromium.org>
2310
2311         Reviewed by Darin Adler.
2312
2313         https://bugs.webkit.org/show_bug.cgi?id=25194
2314
2315         Fix a caller of Settings::javaScriptCanOpenWindowsAutomatically() to
2316         use the new name.
2317
2318         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2319
2320 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
2321
2322         Rubber-stamped by Darin Adler.
2323
2324         Don't keep platform objects for authentication challenge in ResourceHandleInternal.
2325         We already have a copy in AuthenticationChallenge object.
2326
2327         * platform/network/ResourceHandle.cpp:
2328         (WebCore::ResourceHandle::clearAuthentication):
2329         * platform/network/ResourceHandleInternal.h:
2330         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2331         * platform/network/cf/ResourceHandleCFNet.cpp:
2332         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2333         (WebCore::ResourceHandle::receivedCredential):
2334         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2335         (WebCore::ResourceHandle::receivedCancellation):
2336         * platform/network/mac/ResourceHandleMac.mm:
2337         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2338         (WebCore::ResourceHandle::didCancelAuthenticationChallenge):
2339         (WebCore::ResourceHandle::receivedCredential):
2340         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
2341         (WebCore::ResourceHandle::receivedCancellation):
2342
2343 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
2344
2345         Reviewed by Sam Weinig.
2346
2347         Nixed some now-defunct autogeneration code.
2348
2349         * bindings/scripts/CodeGeneratorJS.pm:
2350
2351 2009-04-14  Eric Carlson  <eric.carlson@apple.com>
2352
2353         Reviewed by Alexey Proskuryakov.
2354         
2355         Fix <rdar://problem/6755724> <audio> and <video> elements can reference local 
2356         file:/// URLs from remote in Safari
2357
2358         Tests: http/tests/security/local-video-poster-from-remote.html
2359                http/tests/security/local-video-source-from-remote.html
2360                http/tests/security/local-video-src-from-remote.html
2361
2362         * html/HTMLMediaElement.cpp:
2363         (WebCore::HTMLMediaElement::loadResource): Don't pass url to media engine unless loader->canLoad()
2364         says it is OK.
2365
2366 2009-04-14  Sam Weinig  <sam@webkit.org>
2367
2368         Reviewed by Darin Adler.
2369
2370         Part of <rdar://problem/6150868>
2371         Fix incorrect handling of content that needs to go into the head element
2372         once the head element has been removed.
2373
2374         Test: fast/parser/head-content-after-head-removal.html
2375
2376         * html/HTMLParser.cpp:
2377         (WebCore::HTMLParser::HTMLParser): Remove unneeded initializer of m_head.
2378         (WebCore::HTMLParser::handleError): Update since m_head is now a RefPtr.
2379         (WebCore::HTMLParser::createHead): Ditto.
2380         * html/HTMLParser.h: Make m_head a RefPtr.
2381
2382 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
2383
2384         Used svn merge -r42529:42528 to roll out my last patch because it broke
2385         the build.
2386
2387         * bindings/js/JSDOMGlobalObject.cpp:
2388         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
2389         (WebCore::JSDOMGlobalObject::findJSProtectedEventListener):
2390         (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener):
2391         (WebCore::JSDOMGlobalObject::jsProtectedEventListeners):
2392         (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
2393         * bindings/js/JSDOMGlobalObject.h:
2394
2395 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
2396
2397         Reviewed by Sam Weinig.
2398
2399         Nixed some now-dead code related to protected event listeners.
2400
2401         * bindings/js/JSDOMGlobalObject.cpp:
2402         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
2403         * bindings/js/JSDOMGlobalObject.h:
2404
2405 2009-04-14  Geoffrey Garen  <ggaren@apple.com>
2406
2407         Reviewed by Sam Weinig.
2408
2409         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
2410         Unbounded memory growth when churning elements with anonymous event handler functions
2411
2412         Stop using protected event listeners on SVGElementInstance.
2413
2414         * bindings/js/JSSVGElementInstanceCustom.cpp:
2415         (WebCore::JSSVGElementInstance::mark): Mark our event listeners, since
2416         they're not protected anymore.
2417
2418         (WebCore::JSSVGElementInstance::addEventListener):
2419         (WebCore::JSSVGElementInstance::removeEventListener): Make unprotected
2420         event listeners, since we mark them now.
2421
2422         * bindings/scripts/CodeGeneratorJS.pm: Autogenerate event listener
2423         invalidation for SVGElementInstance.
2424
2425         * svg/SVGElementInstance.h:
2426         (WebCore::SVGElementInstance::eventListeners): Added an accessor, for
2427         the sake of autogenerated code.
2428
2429         * svg/SVGElementInstance.idl: Removed the ProtectedEventListener attribute
2430         from event listener properties. Added a CustomMarkFunction attribute,
2431         since we need to mark our event listeners.
2432
2433 2009-04-14  Steve Falkenburg  <sfalken@apple.com>
2434
2435         Windows build fix.
2436
2437         * WebCore.vcproj/WebCore.vcproj:
2438
2439 2009-04-14  Steve Falkenburg  <sfalken@apple.com>
2440
2441         Add header guards to WebCore forwarding headers.
2442         
2443         Speeds up WebCore debug build on Windows by 12% on my system,
2444         since Visual Studio appears to not optimize for standard header
2445         guards in included files.
2446         
2447         Rubber stamped by Ada Chan.
2448
2449         * ForwardingHeaders/debugger/Debugger.h:
2450         * ForwardingHeaders/debugger/DebuggerActivation.h:
2451         * ForwardingHeaders/debugger/DebuggerCallFrame.h:
2452         * ForwardingHeaders/interpreter/CallFrame.h:
2453         * ForwardingHeaders/interpreter/Interpreter.h:
2454         * ForwardingHeaders/masm/X86Assembler.h:
2455         * ForwardingHeaders/parser/Parser.h:
2456         * ForwardingHeaders/parser/SourceCode.h:
2457         * ForwardingHeaders/parser/SourceProvider.h:
2458         * ForwardingHeaders/pcre/pcre.h:
2459         * ForwardingHeaders/profiler/Profile.h:
2460         * ForwardingHeaders/profiler/ProfileNode.h:
2461         * ForwardingHeaders/profiler/Profiler.h:
2462         * ForwardingHeaders/runtime/ArgList.h:
2463         * ForwardingHeaders/runtime/ArrayPrototype.h:
2464         * ForwardingHeaders/runtime/BooleanObject.h:
2465         * ForwardingHeaders/runtime/CallData.h:
2466         * ForwardingHeaders/runtime/Collector.h:
2467         * ForwardingHeaders/runtime/CollectorHeapIterator.h:
2468         * ForwardingHeaders/runtime/Completion.h:
2469         * ForwardingHeaders/runtime/ConstructData.h:
2470         * ForwardingHeaders/runtime/DateInstance.h:
2471         * ForwardingHeaders/runtime/Error.h:
2472         * ForwardingHeaders/runtime/FunctionConstructor.h:
2473         * ForwardingHeaders/runtime/FunctionPrototype.h:
2474         * ForwardingHeaders/runtime/Identifier.h:
2475         * ForwardingHeaders/runtime/InitializeThreading.h:
2476         * ForwardingHeaders/runtime/InternalFunction.h:
2477         * ForwardingHeaders/runtime/JSArray.h:
2478         * ForwardingHeaders/runtime/JSByteArray.h:
2479         * ForwardingHeaders/runtime/JSFunction.h:
2480         * ForwardingHeaders/runtime/JSGlobalData.h:
2481         * ForwardingHeaders/runtime/JSGlobalObject.h:
2482         * ForwardingHeaders/runtime/JSLock.h:
2483         * ForwardingHeaders/runtime/JSNumberCell.h:
2484         * ForwardingHeaders/runtime/JSObject.h:
2485         * ForwardingHeaders/runtime/JSString.h:
2486         * ForwardingHeaders/runtime/JSValue.h:
2487         * ForwardingHeaders/runtime/Lookup.h:
2488         * ForwardingHeaders/runtime/ObjectPrototype.h:
2489         * ForwardingHeaders/runtime/Operations.h:
2490         * ForwardingHeaders/runtime/PropertyMap.h:
2491         * ForwardingHeaders/runtime/PropertyNameArray.h:
2492         * ForwardingHeaders/runtime/Protect.h:
2493         * ForwardingHeaders/runtime/PrototypeFunction.h:
2494         * ForwardingHeaders/runtime/StringObject.h:
2495         * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h:
2496         * ForwardingHeaders/runtime/StringPrototype.h:
2497         * ForwardingHeaders/runtime/Structure.h:
2498         * ForwardingHeaders/runtime/SymbolTable.h:
2499         * ForwardingHeaders/runtime/UString.h:
2500         * ForwardingHeaders/wrec/WREC.h:
2501         * ForwardingHeaders/wtf/ASCIICType.h:
2502         * ForwardingHeaders/wtf/AlwaysInline.h:
2503         * ForwardingHeaders/wtf/Assertions.h:
2504         * ForwardingHeaders/wtf/ByteArray.h:
2505         * ForwardingHeaders/wtf/CurrentTime.h:
2506         * ForwardingHeaders/wtf/Deque.h:
2507         * ForwardingHeaders/wtf/DisallowCType.h:
2508         * ForwardingHeaders/wtf/FastMalloc.h:
2509         * ForwardingHeaders/wtf/Forward.h:
2510         * ForwardingHeaders/wtf/GetPtr.h:
2511         * ForwardingHeaders/wtf/HashCountedSet.h:
2512         * ForwardingHeaders/wtf/HashFunctions.h:
2513         * ForwardingHeaders/wtf/HashMap.h:
2514         * ForwardingHeaders/wtf/HashSet.h:
2515         * ForwardingHeaders/wtf/HashTable.h:
2516         * ForwardingHeaders/wtf/HashTraits.h:
2517         * ForwardingHeaders/wtf/ListHashSet.h:
2518         * ForwardingHeaders/wtf/ListRefPtr.h:
2519         * ForwardingHeaders/wtf/Locker.h:
2520         * ForwardingHeaders/wtf/MainThread.h:
2521         * ForwardingHeaders/wtf/MathExtras.h:
2522         * ForwardingHeaders/wtf/MessageQueue.h:
2523         * ForwardingHeaders/wtf/Noncopyable.h:
2524         * ForwardingHeaders/wtf/NotFound.h:
2525         * ForwardingHeaders/wtf/OwnArrayPtr.h:
2526         * ForwardingHeaders/wtf/OwnPtr.h:
2527         * ForwardingHeaders/wtf/PassRefPtr.h:
2528         * ForwardingHeaders/wtf/Platform.h:
2529         * ForwardingHeaders/wtf/PtrAndFlags.h:
2530         * ForwardingHeaders/wtf/RandomNumber.h:
2531         * ForwardingHeaders/wtf/RefCounted.h:
2532         * ForwardingHeaders/wtf/RefCountedLeakCounter.h:
2533         * ForwardingHeaders/wtf/RefPtr.h:
2534         * ForwardingHeaders/wtf/RetainPtr.h:
2535         * ForwardingHeaders/wtf/StdLibExtras.h:
2536         * ForwardingHeaders/wtf/StringExtras.h:
2537         * ForwardingHeaders/wtf/ThreadSpecific.h:
2538         * ForwardingHeaders/wtf/Threading.h:
2539         * ForwardingHeaders/wtf/TypeTraits.h:
2540         * ForwardingHeaders/wtf/UnusedParam.h:
2541         * ForwardingHeaders/wtf/Vector.h:
2542         * ForwardingHeaders/wtf/VectorTraits.h:
2543         * ForwardingHeaders/wtf/dtoa.h:
2544         * ForwardingHeaders/wtf/unicode/Collator.h:
2545         * ForwardingHeaders/wtf/unicode/UTF8.h:
2546         * ForwardingHeaders/wtf/unicode/Unicode.h:
2547         * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h:
2548
2549 2009-04-14  Sam Weinig  <sam@webkit.org>
2550
2551         Reviewed by Adele Peterson.
2552
2553         Use a template function to generalize the way we create non-caching
2554         JS function getters.
2555
2556         * bindings/js/JSDOMWindowCustom.cpp:
2557         * bindings/js/JSDOMWindowCustom.h:
2558         (WebCore::nonCachingStaticFunctionGetter):
2559         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2560
2561 2009-04-14  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
2562
2563         Reviewed by George Staikos.
2564
2565         https://bugs.webkit.org/show_bug.cgi?id=25099
2566
2567         When creating a QNetworkRequest make sure to populate the
2568         CacheLoadControlAttribute with the value set by the ResourceRequest::cachePolicy() so that the cache will be used as WebKit expects.
2569
2570         * WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:
2571         (tst_QWebPage::requestCache):
2572
2573         * platform/network/qt/ResourceRequestQt.cpp:
2574         (WebCore::ResourceRequest::toNetworkRequest):
2575
2576 2009-04-14  Timothy Hatcher  <timothy@apple.com>
2577
2578         Fix a world leak caused by opening the Web Inspector. This was
2579         a regression caused by the InspectorController becoming refcounted.
2580
2581         <rdar://problem/6782944>
2582
2583         Reviewed by Darin Adler.
2584
2585         * bindings/js/ScriptObject.cpp:
2586         (WebCore::ScriptGlobalObject::get): Renamed to better match the
2587         other functions.
2588         (WebCore::ScriptGlobalObject::remove): Added. Deletes the property.
2589         * bindings/js/ScriptObject.h:
2590         * inspector/InspectorController.cpp:
2591         (WebCore::InspectorController::~InspectorController): Do less work
2592         at destruction time since the object lifetime is tied to JS GC.
2593         Assert that inspectedPageDestroyed cleared everything needed.
2594         (WebCore::InspectorController::inspectedPageDestroyed): Do most
2595         of the work that ~InspectorController was doing.
2596         (WebCore::InspectorController::scriptObjectReady): Renamed getObject.
2597
2598 2009-04-14  Antony Sargent  <asargent@chromium.org>
2599
2600         Reviewed by Dimitri Glazkov.
2601
2602         This is some cleanup motivated by the crash in http://crbug.com/9775 , which 
2603         happens because of calling window.open inside a window.onload handler. 
2604
2605         These changes are just part of the fix, along with some asserts to help prevent
2606         breakage on future changes. 
2607
2608         https://bugs.webkit.org/show_bug.cgi?id=25132
2609
2610         * bindings/v8/V8EventListenerList.cpp:
2611         (WebCore::V8EventListenerList::add):
2612         (WebCore::V8EventListenerList::remove):
2613         (WebCore::V8EventListenerList::clear):
2614         * bindings/v8/V8EventListenerList.h:
2615         (WebCore::V8EventListenerList::size):
2616
2617 2009-04-14  Evan Martin  <evan@chromium.org>
2618
2619         Reviewed by Darin Adler.
2620
2621         https://bugs.webkit.org/show_bug.cgi?id=25142
2622         Fix a race that can occur between flex and the perl script that parses
2623         its output.
2624
2625         * css/maketokenizer: Consume all input.
2626
2627 2009-04-14  Rohit Rao  <rohitrao@google.com>
2628
2629         Reviewed by Dan Bernstein.
2630
2631         https://bugs.webkit.org/show_bug.cgi?id=25184
2632         Do not change the text color for selected text in Mac Chromium.
2633
2634         * rendering/RenderThemeChromiumMac.h:
2635         (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
2636         Now returns false, matching the behavior of Safari on Mac.
2637
2638 2009-04-14  Justin Garcia  <justin.garcia@apple.com>
2639
2640         Reviewed by Eric Seidel.
2641
2642         https://bugs.webkit.org/show_bug.cgi?id=25172
2643         Extra partial layout during the first keypress in an empty block
2644         
2645         Determining if a placeholder needs to be removed requires the creation of a VisiblePosition 
2646         which was triggering layout before we were finished modifying the DOM for the insert operation.
2647         
2648         Find out if we need to remove a placeholder near the start of the operation, and if we do remember 
2649         where it's located.  Then, later, remove it along with all of the other DOM operations we perform.
2650         
2651         Renamed lineBreakExistsAtPosition to lineBreakExistsAtVisiblePosition and added a lineBreakExistsAtPosition
2652         that takes in a Position.  In InsertTextCommand, we can use the latter, since we normalize manually.
2653         
2654         removePlaceholderAt now takes in a Position that it assumes has already been checked for a placeholder.
2655         
2656         No test added as this only effects performance.
2657
2658         * editing/BreakBlockquoteCommand.cpp:
2659         (WebCore::BreakBlockquoteCommand::doApply):
2660         * editing/CompositeEditCommand.cpp:
2661         (WebCore::CompositeEditCommand::removePlaceholderAt):
2662         (WebCore::CompositeEditCommand::moveParagraphs):
2663         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2664         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
2665         * editing/CompositeEditCommand.h:
2666         * editing/DeleteSelectionCommand.cpp:
2667         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
2668         (WebCore::DeleteSelectionCommand::doApply):
2669         * editing/FormatBlockCommand.cpp:
2670         (WebCore::FormatBlockCommand::doApply):
2671         * editing/InsertLineBreakCommand.cpp:
2672         (WebCore::InsertLineBreakCommand::doApply):
2673         * editing/InsertParagraphSeparatorCommand.cpp:
2674         (WebCore::InsertParagraphSeparatorCommand::doApply):
2675         * editing/InsertTextCommand.cpp:
2676         (WebCore::InsertTextCommand::input):
2677         * editing/htmlediting.cpp:
2678         (WebCore::lineBreakExistsAtVisiblePosition):
2679         (WebCore::lineBreakExistsAtPosition):
2680         * editing/htmlediting.h:
2681
2682 2009-04-14  Adam Roben  <aroben@apple.com>
2683
2684         Remove support for profile-guided optimization on Windows
2685
2686         Rubber-stamped by Steve Falkenburg.
2687
2688         * WebCore.vcproj/WebCore.vcproj: Removed the Release_PGO
2689         configuration.
2690
2691 2009-04-14  Dmitry Titov  <dimich@chromium.org>
2692
2693         Reviewed by Dimitri Glazkov.
2694
2695         https://bugs.webkit.org/show_bug.cgi?id=25163
2696         Upstream fix for releasing v8 objects on worker thread termination in Chromium.
2697
2698         * bindings/v8/V8DOMMap.cpp:
2699         (WebCore::domDataList): Now uses Vector instead of HashMap.
2700         (WebCore::domDataListMutex):
2701         (WebCore::ThreadSpecificDOMData::ThreadSpecificDOMData):  remove usage of currentThread();
2702         (WebCore::ThreadSpecificDOMData::~ThreadSpecificDOMData): ditto.
2703         (WebCore::NonMainThreadSpecificDOMData::~NonMainThreadSpecificDOMData): moved call to removeAllDOMObjectsInCurrentThread() to ~WorkerScriptController.
2704         (WebCore::handleWeakObjectInOwningThread):
2705         (WebCore::derefDelayedObjects):
2706         (WebCore::removeAllDOMObjectsInCurrentThread): not static anymore.
2707         * bindings/v8/V8DOMMap.h:
2708         * bindings/v8/WorkerContextExecutionProxy.cpp:
2709         (WebCore::WorkerContextExecutionProxy::dispose): removed code that avoided dual-dereference of WorkerContext.
2710         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): this ref() is countered in removeAllDOMObjectsInCurrentThread(), when the WorkerContext is removed from the v8 map.
2711         * bindings/v8/WorkerScriptController.cpp:
2712         (WebCore::WorkerScriptController::~WorkerScriptController):
2713
2714 2009-04-14  Adam Roben  <aroben@apple.com>
2715
2716         Fix Bug 25183: Split up WebCore.vcproj's settings into vsprops files
2717
2718         <https://bugs.webkit.org/show_bug.cgi?id=25183>
2719
2720         WebCore.vcproj now uses a set of .vsprops files to store most of its
2721         settings.
2722
2723         Reviewed by Darin Adler.
2724
2725         * WebCore.vcproj/WebCore.vcproj: Moved settings from here into the new
2726         .vsprops files.
2727
2728         * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added. Contains settings
2729         for ports that build against CFNetwork.
2730         * WebCore.vcproj/WebCoreCG.vsprops: Added. Contains settings for ports
2731         that build against CoreGraphics.
2732         * WebCore.vcproj/WebCoreCURL.vsprops: Added. Contains settings for
2733         ports that build against libcurl.
2734         * WebCore.vcproj/WebCoreCairo.vsprops: Added. Contains settings for
2735         ports that build against Cairo.
2736         * WebCore.vcproj/WebCoreCommon.vsprops: Added. Contains settings
2737         shared by all ports.
2738         * WebCore.vcproj/WebCoreMediaQT.vsprops: Added. Contains settings for
2739         ports that use QTMovieWin to implement the MediaPlayerPrivate
2740         interface.
2741         * WebCore.vcproj/WebCorePthreads.vsprops: Added. Contains settings for
2742         ports that build against pthreads.
2743
2744 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
2745
2746         Reviewed by Darin Adler.
2747
2748         http/tests/xmlhttprequest/basic-auth.html fails on Tiger.
2749
2750         Turns out that NSURLCredentialPersistenceNone doesn't work on Tiger, so we have to use
2751         session persistence.
2752
2753         * platform/network/mac/ResourceHandleMac.mm:
2754         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Route the credential through
2755         receivedCredential(), ensuring that the Tiger-specific need to use session credentials
2756         is honored.
2757         (WebCore::ResourceHandle::receivedCredential): On Tiger, change PersistenceNone to
2758         PersistenceForSession, because the former doesn't work.
2759
2760 2009-04-14  Adele Peterson  <adele@apple.com>
2761
2762         Reviewed by Darin Adler.
2763
2764         Fix for <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line
2765
2766         Test: editing/inserting/6703873.html
2767
2768         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
2769         If the startNode's original parent is now empty, we can remove it.  Its already been cloned and copied with the startNode,
2770         so we only need to keep it around if it actually holds some original content, otherwise it will look like an extra empty 
2771         container in the document.
2772
2773 2009-04-14  Xan Lopez  <xlopez@igalia.com>
2774
2775         Reviewed by Holger Freyther.
2776
2777         https://bugs.webkit.org/show_bug.cgi?id=21546
2778         [GTK] ATK accessibility enhancements
2779
2780         Add a proper implementation of AtkText::get_text and
2781         AtkText::get_character_count, which takes into account non
2782         TextControl text. With this the 'Text' field in Accerciser's
2783         Interface Viewer is filled correctly.
2784
2785         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2786
2787 2009-04-14  Xan Lopez  <xlopez@igalia.com>
2788
2789         Reviewed by Holger Freyther.
2790
2791         https://bugs.webkit.org/show_bug.cgi?id=21546
2792         [GTK] ATK accessibility enhancements
2793
2794         Remove some dead code and g_return_if_fail from static functions.
2795
2796         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2797
2798 2009-04-14  Xan Lopez  <xlopez@igalia.com>
2799
2800         Reviewed by Holger Freyther.
2801
2802         https://bugs.webkit.org/show_bug.cgi?id=21546
2803         [GTK] ATK accessibility enhancements
2804
2805         Also implement text interface for StaticTextRole, which covers
2806         most of the text in web pages.
2807
2808         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
2809
2810 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
2811
2812         Another Windows build fix.
2813
2814         * platform/network/cf/ResourceHandleCFNet.cpp:
2815         (WebCore::WebCoreSynchronousLoader::load):
2816
2817 2009-04-14  Alexey Proskuryakov  <ap@webkit.org>
2818
2819         Windows build fix.
2820
2821         * platform/network/cf/ResourceHandleCFNet.cpp:
2822         (WebCore::WebCoreSynchronousLoader::willSendRequest):
2823         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
2824
2825 2009-04-13  Alexey Proskuryakov  <ap@webkit.org>
2826
2827         Reviewed by Sam Weinig.
2828
2829         <rdar://problem/6698851> Implement XMLHttpRequest withCredentials attribute
2830
2831         * WebCore.xcodeproj/project.pbxproj: Made ThreadableLoader.h private, as enum definitions
2832         from it are now used in otehr private headers.
2833
2834         * xml/XMLHttpRequest.h:
2835         * xml/XMLHttpRequest.idl:
2836         Added withCredentials attribute. When it is false (default), neither credentials nor cookies
2837         are sent with cross origin requests, When it is true, those are sent, but the server needs
2838         to allow handling results via Access-Control-Allow-Credentials header. It was always possible
2839         to send a cross-site request with credentials via IFRAME or IMG, so this just adds a way to
2840         read results, as long as the server reports that it's allowed.
2841         Having the default set to false ensures that requests won't fail unexpectedly because of
2842         stored credentials and cookies for other resources in the target protection space.
2843
2844         * xml/XMLHttpRequest.cpp:
2845         (WebCore::XMLHttpRequest::loadRequestSynchronously): Allow stored credentials for same origin
2846         requests, and for cross origin ones that have withCredentials attribute set. Such code already
2847         existed for cookies (but it's simpler, because we could just set a ResourceRequest flag).
2848         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
2849
2850         * platform/network/ResourceHandle.h: Added willSendRequest() - just like for other callbacks,
2851         is is easier to have code in the class. Also, loadResourceSynchronously() now takes a
2852         StoredCredentials option, matching async case.
2853
2854         * platform/network/ResourceHandleClient.h:
2855         (WebCore::ResourceHandleClient::receivedCredential): Removed. This method could never be
2856         called, and no client used it.
2857         (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): Ditto.
2858
2859         * platform/network/ResourceHandleInternal.h:
2860         (WebCore::ResourceHandleInternal::ResourceHandleInternal): Split username and password out
2861         of request URL. We want to always get a callback for credentials to manage them in WebCore,
2862         so network back-end shouldn't see them too early.
2863
2864         * platform/network/ResourceRequestBase.cpp:
2865         (WebCore::ResourceRequestBase::removeCredentials):
2866         * platform/network/ResourceRequestBase.h:
2867         Added a removeCredentials() method that removes login and password parts from request URL.
2868
2869         * platform/network/mac/ResourceHandleMac.mm:
2870         (WebCoreCredentialStorage): Added a simple storage class for per-session credentials.
2871         (WebCore::ResourceHandle::loadResourceSynchronously): Pass allowStoredCredentials through.
2872         (WebCore::ResourceHandle::willSendRequest): On a redirect, credentials should be replaced.
2873         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try credentials from the URL
2874         and per-session credentials. Code was partially moved from Obj-C callback.
2875         (WebCore::ResourceHandle::receivedCredential): Intercept per-session credentials and store
2876         them in WebCore storage.
2877         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Don't
2878         store the redirected URL - we only needed credentials, which are now stored separately.
2879         (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Removed
2880         code that was setting credentials from URL. First, the code is now in ResourceHandle, and
2881         also, it wasn't actually needed in Leopard release before this patch, see <rdar://problem/5298142>.
2882         (-[WebCoreSynchronousLoader dealloc]): Release credentials. Note that unlike ResourceHandle,
2883         this class still needs to track URL for checking whether a redirect is allowed. This is
2884         not a great solution, and we should unify client code to use the same checks in sync and
2885         async cases.
2886         (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Just like in
2887         async case, put credentials aside to ensure that network back-end asks for them.
2888         (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Use credentials
2889         from URL, or from WebCore storage.
2890         (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Don't use stored
2891         credentials when not allowed to.
2892         (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
2893         Put credentials aside to ensure that network back-end asks for them.
2894
2895         * platform/network/cf/ResourceHandleCFNet.cpp:
2896         (WebCore::WebCoreCredentialStorage::set):
2897         (WebCore::WebCoreCredentialStorage::get):
2898         (WebCore::willSendRequest):
2899         (WebCore::ResourceHandle::start):
2900         (WebCore::ResourceHandle::willSendRequest):
2901         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
2902         (WebCore::ResourceHandle::receivedCredential):
2903         (WebCore::ResourceHandle::loadResourceSynchronously):
2904         (WebCore::WebCoreSynchronousLoader::willSendRequest):
2905         (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
2906         (WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):
2907         (WebCore::WebCoreSynchronousLoader::load):
2908         Same changes as in Mac case.
2909
2910         * platform/network/curl/ResourceHandleCurl.cpp:
2911         (WebCore::ResourceHandle::loadResourceSynchronously):
2912         * platform/network/qt/ResourceHandleQt.cpp:
2913         (WebCore::ResourceHandle::loadResourceSynchronously):
2914         * platform/network/soup/ResourceHandleSoup.cpp:
2915         (WebCore::ResourceHandle::loadResourceSynchronously):
2916         Trying not to break the build.
2917
2918         * dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc):
2919         * xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc):
2920         Unconditionally allow stored credentials for these, as they only support same origin loads.
2921
2922         * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts):
2923         WorkerContext.importScripts() can be cross-origin, but sending credentials with it is no worse
2924         than sending them with <script src=...>, so this is also unconditionally allowed.
2925
2926         * loader/DocumentThreadableLoader.cpp:
2927         (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Pass through storedCredentials.
2928         (WebCore::DocumentThreadableLoader::create): Ditto.
2929         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Save storedCredentials and
2930         sameOrigin flags foruse in callbacks.
2931         (WebCore::DocumentThreadableLoader::willSendRequest): Assert that loaders aren't all confused.
2932         (WebCore::DocumentThreadableLoader::didSendData): Ditto.
2933         (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
2934         (WebCore::DocumentThreadableLoader::didReceiveData): Ditto.
2935         (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
2936         (WebCore::DocumentThreadableLoader::didFail): Ditto.
2937         (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Don't use credential
2938         storage if that's not allowed by the code that invoked DocumentThreadableLoader.
2939         (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Simulate a failure
2940         and cancel the request if we are about to ask the user for credentials for a cross-origin
2941         request, which is forbidden by CORS (and would have been very confusing if allowed).
2942         (WebCore::DocumentThreadableLoader::receivedCancellation): Assert that loaders aren't all confused.
2943
2944         * loader/DocumentThreadableLoader.h: Updated for the new flags (storedCredentials and
2945         sameOrigin) that affect the loader. Eventually, we need to move all CORS logic from XHR here.
2946
2947         * loader/ThreadableLoader.h: (StoredCredentials): Added another flag that affects loader
2948         behavior. We should combine all of these into a structure, and use it for sync requests, too.
2949
2950         * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
2951         * loader/FrameLoader.h:
2952         * loader/ThreadableLoader.cpp:
2953         (WebCore::ThreadableLoader::create):
2954         (WebCore::ThreadableLoader::loadResourceSynchronously):
2955         * loader/WorkerThreadableLoader.cpp:
2956         (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
2957         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
2958         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
2959         (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
2960         * loader/WorkerThreadableLoader.h:
2961         (WebCore::WorkerThreadableLoader::create):
2962         Pass through storedCredentials.
2963
2964 2009-04-13  David Hyatt  <hyatt@apple.com>
2965
2966         Reviewed by Cameron Zwarich.
2967
2968         Remove an outdated comment in ScrollView.h
2969
2970         * platform/ScrollView.h:
2971
2972 2009-04-13  Eric Carlson  <eric.carlson@apple.com>
2973
2974         Reviewed by Mark Rowe.
2975
2976         https://bugs.webkit.org/show_bug.cgi?id=25177
2977
2978         QTTrack's -media method always return NULL in 64-bit QTKit, so
2979         MediaPlayerPrivate::disableUnsupportedTracks should use 
2980         QTTrackMediaTypeAttribute to get a track's type.
2981
2982         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2983         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
2984
2985 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
2986
2987         Reviewed by Cameron Zwarich.
2988
2989         More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
2990         Unbounded memory growth when churning elements with anonymous event handler functions
2991
2992         Stop using protected event listeners on the window object.
2993
2994         * bindings/js/JSDOMWindowCustom.cpp:
2995         (WebCore::JSDOMWindow::mark): Mark our event listeners, since they're
2996         no longer protected.
2997
2998         (WebCore::JSDOMWindow::addEventListener):
2999         (WebCore::JSDOMWindow::removeEventListener): Create unprotected event
3000         listeners, since we mark them now.
3001
3002         * bindings/js/JSEventListener.h: Made some functions public so
3003         DOMWindow could call them.
3004
3005         * bindings/js/JSNodeCustom.cpp: Moved markEventListeners to a header,
3006         so it could be shared.
3007
3008         * bindings/scripts/CodeGeneratorJS.pm: Generate event listener marking
3009         and invalidating code for the DOMWindow.
3010
3011         * dom/RegisteredEventListener.h:
3012         (WebCore::markEventListeners):
3013         (WebCore::invalidateEventListeners): Added helper functions.
3014
3015         * page/DOMWindow.idl: Make the window's event listener attributes not
3016         protected.
3017
3018 2009-04-13  Eric Carlson  <eric.carlson@apple.com>
3019
3020         Reviewed by Mark Rowe.
3021         
3022         https://bugs.webkit.org/show_bug.cgi?id=25155
3023
3024         OS X standalone media documents should not switch from <video> to <embed> when 
3025         QTKit load state is QTMovieLoadStateLoading as that happens frequently when a loading
3026         with a slow network connection or when a movie is not saved fast-start.
3027
3028         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3029         (WebCore::MediaPlayerPrivate::updateStates): Don't open movie with plug-in when QTKit's
3030         loadstate is QTMovieLoadStateLoading, wait until it drops below QTMovieLoadStateError.
3031
3032 2009-04-13  Dmitry Titov  <dimich@chromium.org>
3033
3034         Reviewed by Darin Adler.
3035
3036         https://bugs.webkit.org/show_bug.cgi?id=24453
3037         REGRESSION: If setTimeout is called on a iframe's window, the DOM changes to
3038         the main document that timer callback makes are not flushed.
3039
3040         * bindings/js/ScheduledAction.cpp:
3041         (WebCore::ScheduledAction::execute):
3042         Use Document::updateStyleForAllDocuments() instead of document->updateStyleIfNeeded()
3043         since timers may affect documents other then their own.
3044
3045 2009-04-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3046
3047         Reviewed by David Hyatt.
3048
3049         Check document for nullity to avoid crashing on GTK+, when
3050         creating the WebView.
3051
3052         * page/FrameView.cpp:
3053         (WebCore::FrameView::needsLayout):
3054
3055 2009-04-13  Ada Chan  <adachan@apple.com>
3056
3057         Forgot to capitalize the "US".
3058
3059         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
3060         (WebCore::currentTextBreakLocaleID):
3061
3062 2009-04-13  Ada Chan  <adachan@apple.com>
3063
3064         <rdar://problem/6564956> URL field double-click selects entire domain, rather than single word or entire URL
3065         Revert back to the old word breaking behavior by using en_US_POSIX locale.        
3066
3067         Reviewed by Steve Falkenburg.
3068
3069         * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
3070         (WebCore::currentTextBreakLocaleID):
3071
3072 2009-04-13  Darin Adler  <darin@apple.com>
3073
3074         Reviewed by Dan Bernstein.
3075
3076         * platform/cf/BinaryPropertyList.cpp: Added comment.
3077         * platform/cf/BinaryPropertyList.h: Fixed mistakes in comments.
3078
3079 2009-04-13  Darin Adler  <darin@apple.com>
3080
3081         Reviewed by Dan Bernstein.
3082
3083         Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks
3084         https://bugs.webkit.org/show_bug.cgi?id=25158
3085         rdar://problem/6769693
3086
3087         Test: editing/selection/click-after-nested-block.html
3088
3089         * rendering/RenderBlock.cpp:
3090         (WebCore::isChildHitTestCandidate): Added. Helper so the two loops in positionForPoint
3091         can share code.
3092         (WebCore::RenderBlock::positionForPoint): Removed unneeded special case for first
3093         child box. Changed special case for last child box to propertly handle the various
3094         types of child box that are not hit test candidates (the same ones already handled
3095         by the hit test loop below), adding in a loop so we find the last candidate.
3096
3097 2009-04-13  David Hyatt  <hyatt@apple.com>
3098
3099         Reviewed by Sam Weinig.
3100
3101         Fix for https://bugs.webkit.org/show_bug.cgi?id=25125.  Rework scrolling so that a layout happens first when
3102         it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
3103
3104         * WebCore.base.exp:
3105         * page/FrameView.h:
3106         (WebCore::FrameView::visibleContentsResized):
3107         * platform/ScrollView.cpp:
3108         (WebCore::ScrollView::ScrollView):
3109         (WebCore::ScrollView::updateScrollbars):
3110         * platform/ScrollView.h:
3111
3112 2009-04-13  Adam Roben  <aroben@apple.com>
3113
3114         Add SharedBuffer::wrapCFData
3115
3116         This is the CF-equivalent of wrapNSData.
3117
3118         Reviewed by Brady Eidson.
3119
3120         * platform/SharedBuffer.h:
3121         * platform/cf/SharedBufferCF.cpp:
3122         (WebCore::SharedBuffer::wrapCFData):
3123
3124 2009-04-13  Dan Bernstein  <mitz@apple.com>
3125
3126         - build fix
3127
3128         * page/EventHandler.cpp:
3129         (WebCore::documentPointForWindowPoint):
3130
3131 2009-04-13  Antti Koivisto  <antti@apple.com>
3132
3133         Reviewed by Darin Adler.
3134
3135         <rdar://problem/6740294> Increase the connection count per host
3136         
3137         Try to use six connections per host if possible.
3138
3139         * WebCore.base.exp:
3140         * loader/loader.cpp:
3141         (WebCore::Loader::Loader):
3142         * platform/mac/WebCoreSystemInterface.h:
3143         * platform/mac/WebCoreSystemInterface.mm:
3144         * platform/network/ResourceRequestBase.cpp:
3145         (WebCore::initMaximumHTTPConnectionCountPerHost):
3146         * platform/network/ResourceRequestBase.h:
3147         * platform/network/mac/ResourceRequestMac.mm:
3148         (WebCore::initMaximumHTTPConnectionCountPerHost):
3149
3150 2009-04-13  Justin Garcia  <justin.garcia@apple.com>
3151
3152         Reviewed by Adele Peterson.
3153
3154         https://bugs.webkit.org/show_bug.cgi?id=25153
3155         Can't place the caret into text field that scrolls the window on focus
3156         
3157         We refetch the target node in the shadow node case, and when we do so the window coordinate for the mouse event may
3158         be invalid because of scrolling that the focus handler did.  Cache the document point (that we derived from the window
3159         coordinate) and use that any time we refetch.
3160
3161         * page/EventHandler.cpp:
3162         (WebCore::documentPointForWindowPoint):
3163         (WebCore::EventHandler::handleMousePressEvent):
3164         (WebCore::EventHandler::prepareMouseEvent):
3165
3166 2009-04-13  Sam Weinig  <sam@webkit.org>
3167
3168         Reviewed by Geoffrey Garen.
3169
3170         Rename JavaScriptCanOpenWindowsAutomatically to javaScriptCanOpenWindowsAutomatically
3171         to conform to our style guidelines.
3172
3173         * page/DOMWindow.cpp:
3174         (WebCore::DOMWindow::allowPopUp):
3175         * page/Settings.h:
3176         (WebCore::Settings::javaScriptCanOpenWindowsAutomatically):
3177
3178 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
3179
3180         Mac build fix: Made another header private.
3181
3182         * WebCore.xcodeproj/project.pbxproj:
3183
3184 2009-04-13  Jian Li  <jianli@chromium.org>
3185
3186         Reviewed by Darin Fisher.
3187
3188         https://bugs.webkit.org/show_bug.cgi?id=25121
3189         Upstream changes to handle error messages from V8 when running worker script.
3190
3191         * bindings/v8/WorkerContextExecutionProxy.cpp:
3192         (WebCore::reportFatalErrorInV8):
3193         (WebCore::handleConsoleMessage):
3194         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
3195         (WebCore::WorkerContextExecutionProxy::dispose):
3196         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
3197         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
3198         (WebCore::WorkerContextExecutionProxy::evaluate):
3199         * bindings/v8/WorkerContextExecutionProxy.h:
3200
3201 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
3202
3203         Build fix: Made setInlineEventListenerForType not inline, since Document
3204         calls it now. Made RegisteredEventListener.h a private header on Mac,
3205         so WebKit can use it.
3206
3207         * page/DOMWindow.cpp:
3208         (WebCore::DOMWindow::setInlineEventListenerForType):
3209
3210 2009-04-13  Dan Bernstein  <mitz@apple.com>
3211
3212         Reviewed by Sam Weinig.
3213
3214         - fix <rdar://problem/6404439> REGRESSION: Overlapping text and other
3215           layout issues in View Sample feature of MYOB FIrstEdge v3
3216
3217         * page/Navigator.cpp:
3218         (WebCore::shouldHideFourDot): Added "tdqm_loader.js" to the list of
3219         JavaScript files this quirk applies to.
3220
3221 2009-04-13  Sam Weinig  <sam@webkit.org>
3222
3223         Reviewed by Oliver Hunt.
3224
3225         Move open and showModalDialog functions out of JSDOMWindowBase
3226         and into JSDOMWindow by partially generating them.
3227
3228         This slightly changes the behavior of getting window.showModalDialog
3229         when the embedding app does not support it to return undefined regardless
3230         of shadowing.  This should not be an issue in a practice, but will be addressed
3231         when we add a generic way to handle runtime specialization of property
3232         access.
3233
3234         * DerivedSources.make: Remove JSDOMWindowBase.lut.h
3235         * WebCore.xcodeproj/project.pbxproj: Ditto.
3236         * bindings/js/JSDOMWindowBase.cpp:
3237         (WebCore::):
3238         (WebCore::JSDOMWindowBase::getOwnPropertySlot): Move canShowModalDialog check from
3239         here to JSDOMWindow::customGetOwnPropertySlot.
3240         (WebCore::JSDOMWindowBase::put): Remove dead code.
3241         * bindings/js/JSDOMWindowCustom.cpp:
3242         (WebCore::createWindow):
3243         (WebCore::JSDOMWindow::open):
3244         (WebCore::JSDOMWindow::showModalDialog):
3245         * bindings/js/JSDOMWindowCustom.h:
3246         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
3247         * page/DOMWindow.cpp:
3248         (WebCore::DOMWindow::parseModalDialogFeatures): Move from JSDOMWindowBase.
3249         (WebCore::DOMWindow::allowPopUp): Ditto.
3250         (WebCore::DOMWindow::canShowModalDialog): Ditto.
3251         (WebCore::DOMWindow::canShowModalDialogNow): Ditto.
3252         * page/DOMWindow.h:
3253         * page/DOMWindow.idl:
3254
3255 2009-04-13  Geoffrey Garen  <ggaren@apple.com>
3256
3257         Reviewed by Sam Weinig.
3258
3259         Moved storage for window event listeners into the window object.
3260
3261         * bindings/js/JSDOMWindowCustom.cpp:
3262         (WebCore::JSDOMWindow::addEventListener):
3263         (WebCore::JSDOMWindow::removeEventListener): Add / remove window event
3264         listeners to / from the window object.
3265
3266         * dom/Document.cpp:
3267         (WebCore::Document::removeAllEventListeners):
3268         (WebCore::Document::clear):
3269         (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): Moved
3270         a bunch of code to the DOMWindow class, and left behind a few calls through
3271         to DOMWindow, to support legacy clients. (Eventually, these will go away, too.)
3272
3273         * dom/Document.h: ditto.
3274
3275         * dom/Node.cpp:
3276         (WebCore::Node::dispatchGenericEvent):
3277         (WebCore::Node::dispatchWindowEvent): Dipatch window events on the window
3278         object, not the document.
3279
3280         * dom/Node.h:
3281         * dom/RegisteredEventListener.h: Moved RegisteredEventListenerVector
3282         declaration, since it's required in more places now.
3283
3284         * history/CachedFrame.cpp:
3285         (WebCore::CachedFrame::clear): Updated for rename. Also, remove event
3286         listeners before detaching and clearing the document's window pointer,
3287         since the the document needs its window pointer in order to tell the window
3288         to clear its event listeners.
3289
3290         * loader/FrameLoader.cpp:
3291         (WebCore::FrameLoader::stopLoading):
3292         (WebCore::FrameLoader::canCachePageContainingThisFrame):
3293         (WebCore::FrameLoader::logCanCacheFrameDecision): Updated for rename, and
3294         movement of window event listeners into the window.
3295
3296         * loader/ImageDocument.cpp:
3297         (WebCore::ImageDocument::createDocumentStructure): Updated for movement
3298         of window event listeners into the window.
3299
3300         * page/DOMWindow.cpp:
3301         (WebCore::DOMWindow::handleEvent):
3302         (WebCore::DOMWindow::addEventListener):
3303         (WebCore::DOMWindow::removeEventListener):
3304         (WebCore::DOMWindow::removeAllEventListeners):
3305         (WebCore::DOMWindow::hasEventListener):
3306         (WebCore::DOMWindow::setInlineEventListenerForType):
3307         (WebCore::DOMWindow::removeInlineEventListenerForType):
3308         (WebCore::DOMWindow::inlineEventListenerForType):
3309         (WebCore::DOMWindow::addPendingFrameUnloadEventCount):
3310         (WebCore::DOMWindow::removePendingFrameUnloadEventCount):
3311         (WebCore::DOMWindow::addPendingFrameBeforeUnloadEventCount):
3312         (WebCore::DOMWindow::removePendingFrameBeforeUnloadEventCount):
3313         * page/DOMWindow.h: Moved a bunch of code to the DOMWindow class, from the Document.
3314
3315         * page/Frame.cpp:
3316         (WebCore::Frame::shouldClose): Updated for movement of window event listeners into the window.
3317
3318 2009-04-13  Greg Bolsinga  <bolsinga@apple.com>
3319
3320         Reviewed by Sam Weinig.
3321
3322         https://bugs.webkit.org/show_bug.cgi?id=25149
3323
3324         The Geolocation timer needs to start after the UA has granted permission.
3325
3326         * bindings/js/JSGeolocationCustom.cpp: Use PassRefPtr<PositionOptions>
3327         (WebCore::JSGeolocation::getCurrentPosition):
3328         (WebCore::JSGeolocation::watchPosition):
3329         * page/Geolocation.cpp: Add a RefPtr<PositionOptions> so it can be used
3330         later when the timer is started. Change PositionOptions* to PassRefPtr<PositionOptions>
3331         where needed.
3332         (WebCore::Geolocation::GeoNotifier::GeoNotifier):
3333         (WebCore::Geolocation::GeoNotifier::startTimer):
3334         (WebCore::Geolocation::getCurrentPosition):
3335         (WebCore::Geolocation::watchPosition):
3336         (WebCore::Geolocation::setIsAllowed): Start the timer is the UA allows
3337         (WebCore::Geolocation::startTimer):
3338         (WebCore::Geolocation::startTimersForOneShots):
3339         (WebCore::Geolocation::startTimersForWatchers):
3340         (WebCore::Geolocation::startTimers):
3341         * page/Geolocation.h:
3342         (WebCore::Geolocation::GeoNotifier::create):
3343
3344 2009-04-13  Pamela Greene  <pam@chromium.org>
3345
3346         Reviewed by Darin Fisher.
3347
3348         Fix Chromium (V8) build by renaming methods to match changes
3349         in http://trac.webkit.org/changeset/42377.
3350
3351         https://bugs.webkit.org/show_bug.cgi?id=25141
3352
3353         * bindings/v8/ScheduledAction.cpp:
3354      (WebCore::ScheduledAction::execute): updateRendering() -> updateStyleIfNeeded()
3355         * bindings/v8/V8AbstractEventListener.cpp:
3356         (WebCore::V8AbstractEventListener::handleEvent): updateDocumentsRendering() -> updateStyleForAllDocuments()
3357
3358 2009-04-13  Darin Fisher  <darin@chromium.org>
3359
3360         Reviewed by Darin Adler.
3361
3362         https://bugs.webkit.org/show_bug.cgi?id=25136
3363         CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame
3364
3365         Test: fast/frames/frame-unload-crash.html
3366
3367         * loader/DocumentLoader.cpp:
3368         (WebCore::DocumentLoader::updateLoading): Added null check of m_frame.
3369
3370 2009-04-13  Sam Weinig  <sam@webkit.org>
3371
3372         Reviewed by Tim Hatcher.
3373
3374         Put the MessagePort constructor back in ENABLE_CHANNEL_MESSAGING.
3375
3376         * page/DOMWindow.idl:
3377
3378 2009-04-13  Greg Bolsinga  <bolsinga@apple.com>
3379
3380         Fix GTK build break.
3381
3382         * platform/gtk/GeolocationServiceGtk.cpp:
3383         (WebCore::GeolocationServiceGtk::updatePosition):
3384
3385 2009-04-13  David Hyatt  <hyatt@apple.com>
3386
3387         Reviewed by Darin Adler and Dan Bernstein.
3388
3389         Assertion in updateStyleForAllDocuments.  Make sure to unscheduleStyleRecalc when an object goes into
3390         the page cache.  Disallow scheduling of style recalcs on a document that is already in the page cache.
3391         Schedule a style recalc if needed when an object comes out of the page cache.
3392
3393         * dom/Document.cpp:
3394         (WebCore::Document::scheduleStyleRecalc):
3395         (WebCore::Document::setInPageCache):
3396
3397 2009-04-13  Timothy Hatcher  <timothy@apple.com>
3398
3399         Correctly sort (program) scripts in the Scripts panel popup menu.
3400
3401         Reviewed by Ada Chan.
3402
3403         * inspector/front-end/ScriptsPanel.js:
3404         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Refactor the code
3405         and sort "(program)" options by the sourceID to maintain some order.
3406         * inspector/front-end/utilities.js:
3407         (indexOfObjectInListSortedByFunction): Fix a bug where identical objects would cause
3408         an incorrect return value that confuses insertionIndexForObjectInListSortedByFunction.
3409         Just set 'first' and break so the correct result will be returned.
3410
3411 2009-04-13  Greg Bolsinga  <bolsinga@apple.com>
3412
3413         Reviewed by Darin Adler.
3414
3415         https://bugs.webkit.org/show_bug.cgi?id=24770
3416         
3417         Add custom code for Coordinates that returns null when required by the
3418         Geolocation spec.
3419         
3420         http://dev.w3.org/geo/api/spec-source.html#coordinates
3421
3422         * WebCore.xcodeproj/project.pbxproj:
3423         * bindings/js/JSCoordinatesCustom.cpp: Added.
3424         (WebCore::JSCoordinates::altitude): returns null if the value cannot be provided.
3425         (WebCore::JSCoordinates::altitudeAccuracy): Ditto
3426         (WebCore::JSCoordinates::heading): Ditto
3427         (WebCore::JSCoordinates::speed): Ditto
3428         * page/Coordinates.h:
3429         (WebCore::Coordinates::create): Add 'canProvide' parameters and values
3430         (WebCore::Coordinates::canProvideAltitude):
3431         (WebCore::Coordinates::canProvideAltitudeAccuracy):
3432         (WebCore::Coordinates::canProvideHeading):
3433         (WebCore::Coordinates::canProvideSpeed):
3434         (WebCore::Coordinates::Coordinates):
3435         * page/Coordinates.idl: specify custom getters
3436         * platform/mac/GeolocationServiceMac.mm: Set the values correctly if they cannot be provided.
3437         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
3438
3439 2009-04-13  Adele Peterson  <adele@apple.com>
3440
3441         Reviewed by Darin Adler.
3442
3443         Fix for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line
3444
3445         Test: editing/inserting/5510537.html
3446
3447         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the break insertion position
3448         is at the beginning of the topmost quote, then just insert the <br> before the blockquote.  Otherwise, if the break
3449         insertion position is at the beginning of any quote, adjust the position so the break comes before the current quote level
3450         so we don't end up with an empty line in that quote in addition to the new line we're adding with the <br>.
3451
3452 2009-04-11  Darin Adler  <darin@apple.com>
3453
3454         Reviewed by Dan Bernstein.
3455
3456         Fix problem when encoding history files with duplicate integer arrays near the end of the file.
3457         This results in an assertion failure, and if assertions are turned off, corrupted output.
3458
3459         When writing an integer array it's important not to add an object reference to the
3460         aggregate buffer. The writing of the array does not depend on the aggregate buffer. But,
3461         more importantly, it's possible this instance integer array is a duplicate and won't be
3462         written out. If so, there's no guarantee there's enough space in the aggregate buffer to
3463         store the object references (the references will be ignored). In some cases the aggregate
3464         buffer can then overrun the data being written; normally this is prevented by the fact that
3465         the data being written will include a copy of the aggregate buffer.
3466
3467         Also removed a bit of unneeded dead code to handle the integer -1.
3468
3469         * platform/cf/BinaryPropertyList.cpp:
3470         (WebCore::BinaryPropertyListPlan::BinaryPropertyListPlan): Removed unneeded
3471         m_integerNegativeOneObjectReference, since property lists support only non-negative integers.
3472         (WebCore::BinaryPropertyListPlan::writeInteger): Removed support for
3473         m_integerNegativeOneObjectReference.
3474         (WebCore::BinaryPropertyListPlan::integerObjectReference): Ditto.
3475         (WebCore::BinaryPropertyListSerializer::writeIntegerWithoutAddingAggregateObjectReference):
3476         Added. Factored out most of writeInteger, for use in writeIntegerArray, without calling
3477         addAggregateObjectReference.
3478         (WebCore::BinaryPropertyListSerializer::writeInteger): Changed to call the new
3479         writeIntegerWithoutAddingAggregateObjectReference function.
3480         (WebCore::BinaryPropertyListSerializer::writeIntegerArray): Call the new
3481         writeIntegerWithoutAddingAggregateObjectReference function and therefore remove the
3482         code to save and restore m_currentAggregateBufferByte, which is no longer needed.
3483
3484 2009-04-13  Holger Hans Peter Freyther  <zecke@selfish.org>
3485
3486         Unreviewed Qt build fix.
3487
3488         * platform/graphics/qt/FontQt.cpp:
3489         (WebCore::Font::floatWidthForComplexText):
3490
3491 2009-04-12  Sam Weinig  <sam@webkit.org>
3492
3493         Reviewed by Mark Rowe.
3494
3495         Move the event and crypto attributes and the captureEvents and releaseEvents
3496         functions out of JSDOMWindowBase by partially generating them.
3497
3498         * bindings/js/JSDOMGlobalObject.cpp:
3499         (WebCore::JSDOMGlobalObject::currentEvent): Make const.
3500         * bindings/js/JSDOMGlobalObject.h:
3501         * bindings/js/JSDOMWindowBase.cpp:
3502         * bindings/js/JSDOMWindowCustom.cpp:
3503         (WebCore::JSDOMWindow::crypto): Not implemented.
3504         (WebCore::JSDOMWindow::event):
3505         (WebCore::JSDOMWindow::captureEvents): Not implemented.
3506         (WebCore::JSDOMWindow::releaseEvents): Ditto.
3507         * page/DOMWindow.idl:
3508
3509 2009-04-12  Sam Weinig  <sam@webkit.org>
3510
3511         Reviewed by Mark Rowe.
3512
3513         Move more attributes out of JSDOMWindowBase by
3514         partially generating them.
3515
3516         - Expose the MessagePort constructor.
3517
3518         * bindings/js/JSDOMGlobalObject.h:
3519         (WebCore::getDOMConstructor):
3520         * bindings/js/JSDOMWindowBase.cpp:
3521         (setJSDOMWindowBaseEvent):
3522         * bindings/js/JSDOMWindowCustom.cpp:
3523         (WebCore::JSDOMWindow::image):
3524         (WebCore::JSDOMWindow::option):
3525         (WebCore::JSDOMWindow::audio):
3526         (WebCore::JSDOMWindow::webKitPoint):
3527         (WebCore::JSDOMWindow::webKitCSSMatrix):
3528         (WebCore::JSDOMWindow::xMLHttpRequest):
3529         (WebCore::JSDOMWindow::xSLTProcessor):
3530         (WebCore::JSDOMWindow::messageChannel):
3531         (WebCore::JSDOMWindow::worker):
3532         * page/DOMWindow.idl:
3533
3534 2009-04-12  Timothy Hatcher  <timothy@apple.com>
3535
3536         A resource's filename is not correct after a redirect in the Inspector.
3537
3538         Reviewed by Dan Bernstein.
3539
3540         * inspector/Inspec