WebCore:
[WebKit.git] / WebCore / ChangeLog
1 2008-03-04  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Sam and Oliver.
4
5         - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
6         - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
7
8         * bindings/js/JSNodeCustom.cpp:
9         (WebCore::JSNode::mark): When marking a node that's in-document,
10         mark the owner document if it hasn't been already. This means holding on
11         to a single node from an unreferenced document now keeps the whole document alive.
12         
13         We are now at 90/100 on Acid3.
14
15 2008-03-04  Sam Weinig  <sam@webkit.org>
16
17         Qt build fix.
18
19         * page/qt/FrameQt.cpp:
20
21 2008-03-04  Sam Weinig  <sam@webkit.org>
22
23         Reviewed by Mark Rowe.
24
25         Rename kjs_window to JSDOMWindowBase.
26
27         - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
28           JSDOMWindow.h
29
30         * ChangeLog:
31         * DerivedSources.make:
32         * GNUmakefile.am:
33         * WebCore.pro:
34         * WebCore.vcproj/WebCore.vcproj:
35         * WebCore.xcodeproj/project.pbxproj:
36         * WebCoreSources.bkl:
37         * bindings/js/JSCustomVoidCallback.cpp:
38         * bindings/js/JSCustomXPathNSResolver.cpp:
39         * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
40         * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
41         * bindings/js/JSDOMWindowCustom.cpp:
42         * bindings/js/JSDatabaseCustom.cpp:
43         * bindings/js/JSEventTargetBase.cpp:
44         * bindings/js/JSEventTargetBase.h:
45         * bindings/js/JSEventTargetNode.cpp:
46         * bindings/js/JSHTMLDocumentCustom.cpp:
47         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
48         * bindings/js/JSHistoryCustom.cpp:
49         * bindings/js/JSLocation.cpp:
50         * bindings/js/JSSQLTransactionCustom.cpp:
51         * bindings/js/JSXMLHttpRequest.cpp:
52         * bindings/js/ScheduledAction.cpp:
53         * bindings/js/kjs_binding.cpp:
54         * bindings/js/kjs_events.cpp:
55         * bindings/js/kjs_navigator.cpp:
56         * bindings/js/kjs_proxy.cpp:
57         * bindings/js/kjs_window.cpp: Removed.
58         * bindings/js/kjs_window.h: Removed.
59         * bindings/scripts/CodeGeneratorJS.pm:
60         * history/CachedPage.cpp:
61         * loader/FrameLoader.cpp:
62         * page/Chrome.cpp:
63         * page/InspectorController.cpp:
64         * page/mac/FrameMac.mm:
65         * page/mac/WebCoreFrameBridge.mm:
66         * page/qt/FrameQt.cpp:
67         * page/win/FrameWin.cpp:
68         * plugins/win/PluginViewWin.cpp:
69
70 2008-03-04  Mark Rowe  <mrowe@apple.com>
71
72         Speculative Qt build fix.
73
74         * platform/qt/PasteboardQt.cpp:
75
76 2008-03-04  Anders Carlsson  <andersca@apple.com>
77
78         Reviewed by Sam.
79
80         Update include paths. This code is not used yet.
81
82         * bridge/NP_jsobject.cpp:
83         * bridge/c/c_class.cpp:
84         * bridge/c/c_instance.cpp:
85         * bridge/c/c_utility.cpp:
86         (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
87         #if 0 this out for now. 
88         
89         * bridge/jni/jni_class.cpp:
90         * bridge/jni/jni_jsobject.cpp:
91         * bridge/jni/jni_objc.mm:
92         * bridge/jni/jni_runtime.cpp:
93         * bridge/jni/jni_utility.cpp:
94         * bridge/jni/jni_utility.h:
95         * bridge/npruntime.cpp:
96         * bridge/objc/WebScriptObject.h:
97         * bridge/objc/objc_class.h:
98         * bridge/objc/objc_instance.h:
99         * bridge/objc/objc_runtime.h:
100         * bridge/objc/objc_utility.h:
101         * bridge/objc/objc_utility.mm:
102         * bridge/runtime.cpp:
103         * bridge/runtime.h:
104         * bridge/runtime_array.cpp:
105         * bridge/runtime_array.h:
106         * bridge/runtime_method.cpp:
107         * bridge/runtime_method.h:
108         * bridge/runtime_object.cpp:
109         * bridge/runtime_object.h:
110         * bridge/runtime_root.cpp:
111         * bridge/runtime_root.h:
112
113 2008-03-04  Dan Bernstein  <mitz@apple.com>
114
115         Reviewed by Darin Adler.
116
117         - fix http://bugs.webkit.org/show_bug.cgi?id=17676
118           <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work
119
120         Test: fast/encoding/url-host-name-non-ascii.html
121
122         * platform/KURL.cpp:
123         (WebCore::appendEncodedHostname): Added an early return in the all-ASCII
124         case to avoid copying the host name twice and corrected the error
125         checking after calling uidna_IDNToASCII().
126
127 2008-03-04  Sam Weinig  <sam@webkit.org>
128
129         Reviewed by Dan Bernstein.
130
131         Use JSDOMWindow exclusively instead of JSDOMWindowBase.
132
133         * bindings/js/ScheduledAction.cpp:
134         (WebCore::ScheduledAction::execute):
135         * bindings/js/ScheduledAction.h:
136         * bindings/js/kjs_window.cpp:
137         (WebCore::JSDOMWindowBase::timerFired):
138
139 2008-03-04  Timothy Hatcher  <timothy@apple.com>
140
141         Reviewed by Darin Adler.
142
143         <rdar://problem/5720160> Browser windows "do nothing" while modal
144         dialog or menu is up due to run loop modes (or while scrolling)
145
146         Adds a new SchedulePair object that holds a runloop and the mode to use.
147         A HashSet of SchedulePairs is tracked by Page so it can be used for resource
148         loading and, in the future, maybe SharedTimerMac.
149
150         * WebCore.base.exp: Add new exports for WebKit.
151         * WebCore.xcodeproj/project.pbxproj: Add new files.
152         * loader/mac/DocumentLoaderMac.cpp: Added.
153         (WebCore::scheduleAll): Call schedule all the ResourceLoader handles.
154         (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles.
155         (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader.
156         (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
157         * loader/DocumentLoader.h:
158         * page/Page.h:
159         (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
160         * page/mac/PageMac.cpp:
161         (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs.
162         (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
163         * platform/cf/SchedulePair.cpp: Added.
164         * platform/cf/SchedulePair.h: Added.
165         * platform/mac/SchedulePairMac.mm: Added.
166         * platform/network/ResourceHandle.h:
167         * platform/network/mac/FormDataStreamMac.mm:
168         (WebCore::advanceCurrentStream): Use the new SchedulePair.
169         (WebCore::formCreate): Ditto.
170         (WebCore::formFinalize): Ditto.
171         (WebCore::formSchedule): Ditto.
172         (WebCore::formUnschedule): Ditto.
173         * platform/network/mac/ResourceHandleMac.mm:
174         (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs
175         that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and
176         pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes.
177         (WebCore::ResourceHandle::schedule):
178         (WebCore::ResourceHandle::unschedule):
179
180 2008-03-04  Sam Weinig  <sam@webkit.org>
181
182         Reviewed by Darin Adler.
183
184         Rename kjs_css to JSRGBColor.
185
186         * DerivedSources.make:
187         * GNUmakefile.am:
188         * WebCore.pro:
189         * WebCore.vcproj/WebCore.vcproj:
190         * WebCore.xcodeproj/project.pbxproj:
191         * WebCoreSources.bkl:
192         * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
193         * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
194         * bindings/js/kjs_css.cpp: Removed.
195         * bindings/js/kjs_css.h: Removed.
196         * bindings/js/kjs_window.cpp:
197         * bindings/objc/DOMUtility.mm:
198         * bindings/scripts/CodeGeneratorJS.pm:
199
200 2008-03-04  Anders Carlsson  <andersca@apple.com>
201
202         Fix 64-bit build.
203         
204         * html/HTMLPlugInElement.cpp:
205
206 2008-03-04  Nikolas Zimmermann  <zimmermann@kde.org>
207
208         Reviewed by Eric & David.
209
210         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078
211
212         Fix getSubStringLength() handling, verified by Acid3 test 77.
213         Brings up Acid3 score to 88/100.
214
215         Added test: svg/custom/acid3-test-77.html
216                     svg/custom/getSubStringLength.html
217
218         * svg/SVGTextContentElement.cpp:
219         (WebCore::cummulatedCharacterRangeLength): Simplify some code.
220         (WebCore::SVGTextContentElement::getSubStringLength):
221
222 2008-03-04  Anders Carlsson  <andersca@apple.com>
223
224         Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(
225
226         * bindings/js/kjs_proxy.cpp:
227         (WebCore::KJSProxy::attachDebugger):
228         * page/Page.cpp:
229         (WebCore::Page::setDebuggerForAllPages):
230         (WebCore::Page::setDebugger):
231
232 2008-03-04  Adam Roben  <aroben@apple.com>
233
234         Add ExecState.h to ForwardingHeaders
235
236         Reviewed by Anders.
237
238         * ForwardingHeaders/kjs/ExecState.h: Added.
239         * page/Page.cpp: Touch this to force WebCore to build and the headers
240         to be copied.
241
242 2008-03-04  Adam Roben  <aroben@apple.com>
243
244         Make it possible to set a KJS::Debugger on all Frames in a Page and
245         all Pages in the process
246
247         Reviewed by Kevin M.
248
249         * ForwardingHeaders/kjs/debugger.h: Added.
250         * bindings/js/kjs_proxy.cpp:
251         (WebCore::KJSProxy::initScript): Attach the Page's debugger if there
252         is one.
253         (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or
254         detach any existing debugger if none was passed in.
255         * bindings/js/kjs_proxy.h:
256         * page/Page.cpp:
257         (WebCore::Page::Page): Initialize new member.
258         (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page
259         in the process.
260         (WebCore::Page::setDebugger): Store the debugger and pass it off to
261         all our Frames.
262         * page/Page.h:
263
264 2008-03-04  Sam Weinig  <sam@webkit.org>
265
266         Reviewed by Darin Adler.
267
268         Add ClassInfo to custom constructors so that they toString properly
269
270         - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp,
271           and XSLTProcessorConstructorImp and prefix all the classes with JS. 
272
273         * bindings/js/JSAudioConstructor.cpp:
274         (WebCore::): Added ClassInfo definition.
275         (WebCore::JSAudioConstructor::JSAudioConstructor):
276         (WebCore::JSAudioConstructor::construct): Cleanup.
277         * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document.
278         (WebCore::JSAudioConstructor::classInfo): Added.
279
280         * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype 
281         to JSHTMLInputElementBasePrototype as seen if toString'ed.
282         (WebCore::):
283
284         * bindings/js/JSHTMLOptionElementConstructor.cpp:
285         (WebCore::): Added ClassInfo definition.
286         * bindings/js/JSHTMLOptionElementConstructor.h:
287         (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
288
289         * bindings/js/JSImageConstructor.cpp:
290         (WebCore::): Added ClassInfo definition.
291         (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
292         * bindings/js/JSImageConstructor.h:
293         (WebCore::JSImageConstructor::classInfo): Added.
294
295         * bindings/js/JSXMLHttpRequest.cpp:
296         (WebCore::): Rename XMLHttpRequestPrototype  to JSXMLHttpRequestPrototype 
297         as seen if toString'ed.
298         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
299         (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
300         (WebCore::JSXMLHttpRequestConstructor::construct):
301         * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to
302         JSXMLHttpRequestConstructor and doc to m_document and 
303         (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
304
305         * bindings/js/JSXSLTProcessor.cpp:
306         (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and 
307         XSLTProcessorConstructorImp to JSXSLTProcessorConstructor.
308         (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
309         (WebCore::JSXSLTProcessorConstructor::implementsConstruct):
310         (WebCore::JSXSLTProcessorConstructor::construct):
311         * bindings/js/JSXSLTProcessor.h:
312         (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
313
314         * bindings/js/kjs_window.cpp:
315         (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.
316
317 2008-03-04  Dan Bernstein  <mitz@apple.com>
318
319         Reviewed by Oliver Hunt and Geoffrey Garen.
320
321         - fix http://bugs.webkit.org/show_bug.cgi?id=17667
322           <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit)
323
324         * loader/loader.cpp:
325         (WebCore::Loader::didFinishLoading): Changed to call
326         setLoadInProgress(false) even for 4xx errors, because that triggers
327         load completion check.
328
329 2008-03-04  Adele Peterson  <adele@apple.com>
330
331         Reviewed by Beth.
332
333         Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content
334
335         If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
336         from being keyboard focusable (using the tab key).
337
338         * html/HTMLAnchorElement.cpp:
339         (WebCore::HTMLAnchorElement::isFocusable):
340         (WebCore::HTMLAnchorElement::isKeyboardFocusable):
341
342 2008-03-04  Chris Fleizach  <cfleizach@apple.com>
343
344         Reviewed by Darin Adler.
345
346         - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information
347
348         * page/mac/WebCoreAXObject.mm:
349         (headingLevel):
350         (-[WebCoreAXObject accessibilityIsIgnored]):
351
352 2008-03-04  Sam Weinig  <sam@webkit.org>
353
354         GTK+ build fix.
355
356         * GNUmakefile.am:
357
358 2008-03-04  Sam Weinig  <sam@webkit.org>
359
360         Reviewed by Darin Adler.
361
362         Remame ImageConstructorImp to JSImageConstructor and move it into its
363         own file.
364
365         * GNUmakefile.am:
366         * WebCore.pro:
367         * WebCore.vcproj/WebCore.vcproj:
368         * WebCore.xcodeproj/project.pbxproj:
369         * WebCoreSources.bkl:
370         * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp.
371         (WebCore::JSImageConstructor::JSImageConstructor):
372         (WebCore::JSImageConstructor::construct):
373         * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
374         * bindings/js/kjs_html.cpp:
375         (WebCore::getRuntimeObject): Make this function static since it is only used
376         in this file.
377         * bindings/js/kjs_html.h:
378         * bindings/js/kjs_window.cpp:
379         (WebCore::JSDOMWindowBase::getValueProperty):
380
381 2008-03-04  Adam Roben  <aroben@apple.com>
382
383         Fix an uninitialized value warning in CodeGeneratorJS.pm
384
385         * bindings/scripts/CodeGeneratorJS.pm: Remove reference to
386         non-existent $maybeOkParam (this was removed in r30753).
387
388 2008-03-04  Sam Weinig  <sam@webkit.org>
389
390         Reviewed by Darin Adler.
391
392         Remove kjs_dom.{h,cpp}.
393
394         - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm
395           to us a null return value as an indication of failure. (This new logic is used
396           for toVoidCallback as well.)
397         - Move getRuntimeObject to kjs_html where a bunch of other runtime object related
398           functions currently live.
399         - Move checkNodeSecurity to kjs_binding, where other frame security functions 
400           currently live.
401         - Remove getNodeConstructor.  It had no implementation.
402
403         * GNUmakefile.am:
404         * WebCore.pro:
405         * WebCore.vcproj/WebCore.vcproj:
406         * WebCore.xcodeproj/project.pbxproj:
407         * WebCoreSources.bkl:
408         * bindings/js/JSAttrCustom.cpp:
409         * bindings/js/JSCustomVoidCallback.cpp:
410         (WebCore::toVoidCallback):
411         * bindings/js/JSCustomVoidCallback.h:
412         * bindings/js/JSDatabaseCustom.cpp:
413         (WebCore::JSDatabase::changeVersion):
414         (WebCore::JSDatabase::transaction):
415         * bindings/js/JSElementCustom.cpp:
416         (WebCore::JSElement::setAttributeNode):
417         (WebCore::JSElement::setAttributeNodeNS):
418         * bindings/js/JSEventTargetBase.cpp:
419         (WebCore::toJS):
420         * bindings/js/JSEventTargetBase.h:
421         * bindings/js/JSHTMLAppletElementCustom.cpp:
422         * bindings/js/JSHTMLElementCustom.cpp:
423         * bindings/js/JSHTMLEmbedElementCustom.cpp:
424         * bindings/js/JSHTMLFormElementCustom.cpp:
425         * bindings/js/JSHTMLFrameElementCustom.cpp:
426         * bindings/js/JSHTMLIFrameElementCustom.cpp:
427         * bindings/js/JSHTMLObjectElementCustom.cpp:
428         * bindings/js/JSNamedNodeMapCustom.cpp:
429         * bindings/js/JSNamedNodesCollection.cpp:
430         * bindings/js/JSNodeFilterCustom.cpp:
431         * bindings/js/JSXSLTProcessor.cpp:
432         * bindings/js/kjs_binding.cpp:
433         (WebCore::checkNodeSecurity):
434         * bindings/js/kjs_binding.h:
435         * bindings/js/kjs_css.cpp:
436         * bindings/js/kjs_dom.cpp: Removed.
437         * bindings/js/kjs_dom.h: Removed.
438         * bindings/js/kjs_events.cpp:
439         * bindings/js/kjs_html.cpp:
440         (WebCore::getRuntimeObject):
441         * bindings/js/kjs_html.h:
442         * bindings/js/kjs_window.cpp:
443         * bindings/scripts/CodeGeneratorJS.pm:
444         * dom/Attr.idl:
445         * html/HTMLPlugInElement.cpp:
446         * page/InspectorController.cpp:
447
448 2008-03-04  Adam Roben  <aroben@apple.com>
449
450         Win/Qt/GTK+/wx build fix after r30740
451
452         * editing/Editor.cpp: Added missing #include.
453         * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
454         * page/win/FrameWin.cpp: Ditto.
455         * platform/wx/TemporaryLinkStubs.cpp: Ditto.
456
457 2008-03-04  Alp Toker  <alp@atoker.com>
458
459         GTK+ build fix for breakage introduced in r30740.
460
461         Remove Frame::dashboardRegionsChanged(). There's now a default
462         implementation at ChromeClient::dashboardRegionsChanged().
463
464         * page/gtk/FrameGtk.cpp:
465
466 2008-03-04  Alp Toker  <alp@atoker.com>
467
468         GTK+ build fix suggested by aroben. Remove an unused Mac-specific
469         included introduced in r30740.
470
471         * page/ChromeClient.h:
472
473 2008-03-04  Dan Bernstein  <mitz@apple.com>
474
475         Reviewed by Sam Weinig.
476
477         - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html
478
479         Test: platform/win/fast/text/uniscribe-missing-glyph.html
480
481         Note that default installations of Windows do not have Myanmar fonts.
482         What this patch does is ensure that the Myanmar and other complex
483         scripts are rendered as missing glyphs rather than not rendered at all.
484         The particular page in the bug measures the relative widths of two
485         rendered strings and, if they are rendered as missing glyphs, detects
486         that a Myanmar fonts is not available and substitutes the text with
487         images. By not rendering (and measuring) missing glyphs, WebKit was
488         throwing the page's detection code off.
489
490         * platform/graphics/win/UniscribeController.cpp:
491         (WebCore::UniscribeController::shape): Removed an early return in case
492         shaping resulted in missing glyphs. This is now expected if font
493         fallback failed to produce a font containing glyphs for the character.
494         Also changed two resize()s to shrink()s.
495
496 2008-03-04  Darin Adler  <darin@apple.com>
497
498         Reviewed by Adam.
499
500         - remove WebCoreFrameBridge reapplyStyles method
501
502         * WebCore.base.exp: Added exports.
503         * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and
504         reapplyStylesForDeviceType: method.
505         * page/mac/WebCoreFrameBridge.mm: Ditto.
506
507 2008-03-04  Darin Adler  <darin@apple.com>
508
509         Reviewed by Adam.
510
511         - eliminate WebCoreFrameBridge createFrameViewWithNSView
512
513         * WebCore.base.exp: Added some more exports.
514         * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
515         * page/mac/WebCoreFrameBridge.mm: Ditto.
516
517 2008-03-04  Darin Adler  <darin@apple.com>
518
519         Reviewed by Adam.
520
521         - removed WebCoreFrameBridge scrollOverflowInDirection
522
523         * WebCore.base.exp: Export function needed by WebKit.
524         * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity,
525         and scrollOverflowInDirection.
526         * page/mac/WebCoreFrameBridge.mm: Removed method.
527
528 2008-03-04  Darin Adler  <darin@apple.com>
529
530         Reviewed by Adam.
531
532         - remove WebCoreFrameBridge installInFrame: method
533
534         * WebCore.base.exp: Export a few symbols.
535         * WebCore.xcodeproj/project.pbxproj: Export a few files.
536         * page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
537         * page/mac/WebCoreFrameBridge.mm: Ditto.
538
539 2008-03-04  Darin Adler  <darin@apple.com>
540
541         Reviewed by Adam.
542
543         - remove WebCoreFrameBridge window method
544
545         * page/mac/EventHandlerMac.mm:
546         (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling
547         window on the NSView instead of using the bridge. The WebKit side wasn't doing anything
548         special, so a call to -[NSView window] is fine.
549
550         * page/mac/WebCoreFrameBridge.h: Removed the window method.
551
552 2008-03-04  Darin Adler  <darin@apple.com>
553
554         Reviewed by Adam.
555
556         - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
557
558         * WebCore.base.exp: Updated.
559         * page/Chrome.cpp:
560         (WebCore::ChromeClient::dashboardRegionsChanged): Added.
561         * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
562         * page/Frame.h: Removed dashboardRegionsChanged function.
563         * page/FrameView.cpp:
564         (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged
565         on ChromeClient and to only call it when the regions actually changed.
566         * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
567         * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.
568
569 2008-03-04  Darin Adler  <darin@apple.com>
570
571         Reviewed by Adam.
572
573         - remove WebCoreFrameBridge issuePasteComand method
574
575         * editing/Editor.cpp:
576         (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
577         * editing/mac/EditorMac.mm:
578         (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a
579         WebHTMLView). We should get rid of this eventually.
580         * page/Frame.h: Removed issuePasteCommand.
581         * page/mac/FrameMac.mm: Ditto.
582         * page/mac/WebCoreFrameBridge.h: Ditto.
583
584 2008-03-04  Alexey Proskuryakov  <ap@webkit.org>
585
586         Suggested by Darin, rubber-stamped by Mark.
587
588         http://bugs.webkit.org/show_bug.cgi?id=17569
589         REGRESSION (r30571): Buzzword.com doesn't load
590
591         Rolling out r30571, as determining what is wrong with it proved tricky.
592
593         * loader/FrameLoader.cpp:
594         (WebCore::FrameLoader::load):
595         (WebCore::FrameLoader::tokenizerProcessedData):
596         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
597
598 2008-03-04  Sam Weinig  <sam@webkit.org>
599
600         Build fix.
601
602         * bindings/js/kjs_events.cpp:
603
604 2008-03-03  Sam Weinig  <sam@webkit.org>
605
606         Reviewed by Mark Rowe.
607
608         Move JSClipboard into its own file.
609
610         * DerivedSources.make:
611         * GNUmakefile.am:
612         * WebCore.pro:
613         * WebCore.vcproj/WebCore.vcproj:
614         * WebCore.xcodeproj/project.pbxproj:
615         * WebCoreSources.bkl:
616         * bindings/js/JSAttrCustom.cpp:
617         * bindings/js/JSClipboardCustom.cpp: Added.
618         (WebCore::JSClipboard::types):
619         (WebCore::JSClipboard::clearData):
620         (WebCore::JSClipboard::getData):
621         (WebCore::JSClipboard::setData):
622         (WebCore::JSClipboard::setDragImage):
623         * bindings/js/JSElementCustom.cpp:
624         * bindings/js/JSEventCustom.cpp:
625         * bindings/js/JSHTMLFrameElementCustom.cpp:
626         * bindings/js/JSHTMLIFrameElementCustom.cpp:
627         * bindings/js/kjs_events.cpp:
628         * bindings/js/kjs_events.h:
629         * bindings/js/kjs_window.cpp:
630         * bindings/scripts/CodeGeneratorJS.pm:
631         * dom/Clipboard.cpp:
632         (WebCore::Clipboard::setDropEffect):
633         (WebCore::Clipboard::setEffectAllowed):
634         * dom/Clipboard.idl: Added.
635
636 2008-03-03  Sam Weinig  <sam@webkit.org>
637
638         Windows build-fix.
639
640         * page/Chrome.cpp:
641         * plugins/win/PluginViewWin.cpp:
642
643 2008-03-03  Sam Weinig  <sam@webkit.org>
644
645         Reviewed by Darin Adler.
646
647         Cleanup and plumbing in preparation for the great Window split.
648
649         - Rename KJS::Window to WebCore::JSDOMWindowBase.
650         - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace
651           with the new toJSDOMWindow().
652         - Remove KJS::Window::retrieveActive() and replace with explicit call to 
653           exec->dynamicGlobalObject() and toJSDOMWindow().
654
655         * bindings/js/JSCustomVoidCallback.cpp:
656         (WebCore::toVoidCallback):.
657         * bindings/js/JSCustomXPathNSResolver.cpp:
658         (WebCore::JSCustomXPathNSResolver::create):
659         * bindings/js/JSDatabaseCustom.cpp:
660         (WebCore::JSDatabase::changeVersion):
661         (WebCore::JSDatabase::transaction):
662         * bindings/js/JSDocumentCustom.cpp:
663         (WebCore::JSDocument::location):
664         (WebCore::toJS):
665         * bindings/js/JSEventTargetBase.cpp:
666         (WebCore::jsEventTargetAddEventListener):
667         (WebCore::jsEventTargetRemoveEventListener):
668         * bindings/js/JSEventTargetNode.cpp:
669         (WebCore::JSEventTargetNode::setListener):
670         * bindings/js/JSHTMLDocumentCustom.cpp:
671         (WebCore::JSHTMLDocument::nameGetter):
672         (WebCore::JSHTMLDocument::open):
673         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
674         (WebCore::JSHTMLFrameSetElement::nameGetter):
675         * bindings/js/JSLocation.cpp:
676         (WebCore::JSLocation::put):
677         (WebCore::jsLocationProtoFuncReplace):
678         (WebCore::jsLocationProtoFuncReload):
679         (WebCore::jsLocationProtoFuncAssign):
680         * bindings/js/JSLocation.h:
681         * bindings/js/JSSQLTransactionCustom.cpp:
682         (WebCore::JSSQLTransaction::executeSql):
683         * bindings/js/JSSVGLazyEventListener.cpp:
684         (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
685         (WebCore::JSSVGLazyEventListener::eventParameterName):
686         * bindings/js/JSSVGLazyEventListener.h:
687         * bindings/js/JSXMLHttpRequest.cpp:
688         (WebCore::JSXMLHttpRequest::putValueProperty):
689         (WebCore::jsXMLHttpRequestPrototypeFunctionOpen):
690         (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener):
691         (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
692         * bindings/js/ScheduledAction.cpp:
693         (WebCore::ScheduledAction::execute):
694         * bindings/js/ScheduledAction.h:
695         * bindings/js/kjs_binding.cpp:
696         (WebCore::allowsAccessFromFrame):
697         (WebCore::printErrorMessageForFrame):
698         * bindings/js/kjs_events.cpp:
699         (WebCore::JSAbstractEventListener::handleEvent):
700         (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
701         (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
702         (WebCore::JSUnprotectedEventListener::windowObj):
703         (WebCore::JSEventListener::JSEventListener):
704         (WebCore::JSEventListener::~JSEventListener):
705         (WebCore::JSEventListener::windowObj):
706         (WebCore::JSLazyEventListener::JSLazyEventListener):
707         (WebCore::JSLazyEventListener::parseCode):
708         * bindings/js/kjs_events.h:
709         * bindings/js/kjs_navigator.cpp:
710         (WebCore::MimeType::getValueProperty):
711         * bindings/js/kjs_proxy.cpp:
712         (WebCore::KJSProxy::evaluate):
713         (WebCore::KJSProxy::createHTMLEventHandler):
714         (WebCore::KJSProxy::createSVGEventHandler):
715         * bindings/js/kjs_window.cpp:
716         (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
717         (WebCore::DOMWindowTimer::DOMWindowTimer):
718         (WebCore::DOMWindowTimer::action):
719         (WebCore::DOMWindowTimer::takeAction):
720         (WebCore::):
721         (WebCore::JSDOMWindowBase::JSDOMWindowBase):
722         (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
723         (WebCore::JSDOMWindowBase::location):
724         (WebCore::JSDOMWindowBase::mark):
725         (WebCore::allowPopUp):
726         (WebCore::createWindow):
727         (WebCore::showModalDialog):
728         (WebCore::JSDOMWindowBase::getValueProperty):
729         (WebCore::JSDOMWindowBase::childFrameGetter):
730         (WebCore::JSDOMWindowBase::indexGetter):
731         (WebCore::JSDOMWindowBase::namedItemGetter):
732         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
733         (WebCore::JSDOMWindowBase::put):
734         (WebCore::JSDOMWindowBase::allowsAccessFrom):
735         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
736         (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
737         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
738         (WebCore::JSDOMWindowBase::printErrorMessage):
739         (WebCore::JSDOMWindowBase::globalExec):
740         (WebCore::JSDOMWindowBase::shouldInterruptScript):
741         (WebCore::JSDOMWindowBase::setListener):
742         (WebCore::JSDOMWindowBase::getListener):
743         (WebCore::JSDOMWindowBase::findJSEventListener):
744         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
745         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
746         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
747         (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
748         (WebCore::JSDOMWindowBase::clear):
749         (WebCore::JSDOMWindowBase::setCurrentEvent):
750         (WebCore::JSDOMWindowBase::currentEvent):
751         (WebCore::windowProtoFuncAToB):
752         (WebCore::windowProtoFuncBToA):
753         (WebCore::windowProtoFuncOpen):
754         (WebCore::windowProtoFuncSetTimeout):
755         (WebCore::windowProtoFuncClearTimeout):
756         (WebCore::windowProtoFuncSetInterval):
757         (WebCore::windowProtoFuncAddEventListener):
758         (WebCore::windowProtoFuncRemoveEventListener):
759         (WebCore::windowProtoFuncShowModalDialog):
760         (WebCore::windowProtoFuncNotImplemented):
761         (WebCore::JSDOMWindowBase::setReturnValueSlot):
762         (WebCore::JSDOMWindowBase::clearAllTimeouts):
763         (WebCore::JSDOMWindowBase::installTimeout):
764         (WebCore::JSDOMWindowBase::pauseTimeouts):
765         (WebCore::JSDOMWindowBase::resumeTimeouts):
766         (WebCore::JSDOMWindowBase::clearTimeout):
767         (WebCore::JSDOMWindowBase::timerFired):
768         (WebCore::JSDOMWindowBase::disconnectFrame):
769         (WebCore::JSDOMWindowBase::jsEventListeners):
770         (WebCore::JSDOMWindowBase::jsHTMLEventListeners):
771         (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners):
772         (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners):
773         (WebCore::toJS):
774         (WebCore::toJSDOMWindow):
775         (WebCore::toJSDOMWindow):
776         * bindings/js/kjs_window.h:
777         (WebCore::JSDOMWindowBase::impl):
778         (WebCore::JSDOMWindowBase::classInfo):
779         (WebCore::JSDOMWindowBase::):
780         * bindings/objc/DOMUtility.mm:
781         (KJS::createDOMWrapper):
782         * bindings/scripts/CodeGeneratorJS.pm:
783         * history/CachedPage.cpp:
784         (WebCore::CachedPage::CachedPage):
785         (WebCore::CachedPage::restore):
786         * page/Chrome.cpp:
787         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
788         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
789         * page/DOMWindow.idl:
790         * page/Frame.cpp:
791         (WebCore::Frame::~Frame):
792         (WebCore::Frame::windowScriptNPObject):
793         (WebCore::Frame::pageDestroyed):
794         * page/InspectorController.cpp:
795         (WebCore::inspectedWindow):
796         * page/mac/FrameMac.mm:
797         (WebCore::Frame::windowScriptObject):
798         * page/mac/WebCoreFrameBridge.mm:
799         (updateRenderingForBindings):
800         * platform/SecurityOrigin.cpp:
801         (WebCore::SecurityOrigin::canAccess):
802
803 2008-03-03  Kevin Ollivier  <kevino@theolliviers.com>
804
805         wx build fixes after recent Frame-related changes.
806
807         * platform/wx/PasteboardWx.cpp:
808         * platform/wx/TemporaryLinkStubs.cpp:
809
810 2008-03-03  Dan Bernstein  <mitz@apple.com>
811
812         Reviewed by Darin Adler.
813
814         - make :first-letter apply to the first letter in normal flow, skipping
815           floats and positioned objects
816
817         Test: fast/css/first-letter-skip-out-of-flow.html
818
819         * rendering/RenderBlock.cpp:
820         (WebCore::RenderBlock::updateFirstLetter):
821
822 2008-03-03  Ada Chan  <adachan@apple.com>
823
824         Fix build.
825
826         * plugins/win/PluginViewWin.cpp:
827
828 2008-03-03  Mark Rowe  <mrowe@apple.com>
829
830         Reviewed by Dan Bernstein.
831
832         Fix http://bugs.webkit.org/show_bug.cgi?id=17313
833         Bug 17313: querySelectorAll() causing crashes when called via dojo.query() wrapper
834
835         Node::querySelector and SelectorNodeList were not sufficiently initializing the CSSStyleSelector
836         before using it to resolve styles, which lead to it having a stale m_style member in some situations.
837         This stale m_style member resulted in a wild store that would write over whatever object now resided
838         at the location m_style pointed to.
839
840         Test: fast/dom/SelectorAPI/bug-17313.html
841
842         * dom/Node.cpp:
843         (WebCore::Node::querySelector): Call initForStyleResolve to further initialize the CSSStyleSelector.
844         * dom/SelectorNodeList.cpp:
845         (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
846
847 2008-03-03  Anders Carlsson  <andersca@apple.com>
848
849         Reviewed by Darin and Sam.
850
851         Include fixes, in preparation of using the headers in WebCore/bridge.
852         
853         * bindings/js/kjs_binding.h:
854         * bindings/js/kjs_dom.cpp:
855         * bindings/objc/DOMInternal.mm:
856         * bindings/objc/DOMUtility.mm:
857         * bindings/objc/WebScriptObject.mm:
858         * bindings/objc/WebScriptObjectPrivate.h:
859         * bridge/objc/objc_class.h:
860         * bridge/objc/objc_instance.h:
861         * bridge/objc/objc_runtime.h:
862         * bridge/objc/objc_utility.h:
863         * bridge/runtime.h:
864         * bridge/runtime_object.h:
865         * bridge/runtime_root.h:
866         * html/HTMLAppletElement.cpp:
867         * html/HTMLAppletElement.h:
868         * html/HTMLEmbedElement.cpp:
869         * html/HTMLEmbedElement.h:
870         * html/HTMLObjectElement.cpp:
871         * html/HTMLPlugInElement.cpp:
872         * html/HTMLPlugInElement.h:
873         * page/mac/FrameMac.mm:
874         * page/mac/WebCoreFrameBridge.h:
875         * page/mac/WebCoreFrameBridge.mm:
876         * page/mac/WebCoreScriptDebugger.mm:
877
878 2008-03-03  David Hyatt  <hyatt@apple.com>
879
880         Full page zoom plumbing.  Add a notion of whether or not a zoom is text only or a full zoom to the
881         Frame.  setTextSizeMultiplier does a text only zoom.
882
883         Reviewed by Tim H.
884
885         * page/Frame.cpp:
886         (WebCore::Frame::zoomFactor):
887         (WebCore::Frame::isZoomFactorTextOnly):
888         (WebCore::Frame::setZoomFactor):
889         (WebCore::FramePrivate::FramePrivate):
890         * page/Frame.h:
891         * page/FramePrivate.h:
892         * page/mac/WebCoreFrameBridge.mm:
893         (-[WebCoreFrameBridge setTextSizeMultiplier:]):
894         * svg/SVGSVGElement.cpp:
895         (WebCore::SVGSVGElement::setCurrentScale):
896
897 2008-03-03  David Hyatt  <hyatt@apple.com>
898
899         Fix for <rdar://problem/5776161> REGRESSION: Google Docs Spreadsheet crash
900
901         This is also http://bugs.webkit.org/show_bug.cgi?id=17543, fixed table layout corrupts heap.
902
903         Make sure not to access position -1 of the size 0 vectors.
904
905         Reviewed by ggaren
906
907         * rendering/FixedTableLayout.cpp:
908         (WebCore::FixedTableLayout::layout):
909
910 2008-03-03  David D. Kilzer  <ddkilzer@webkit.org>
911
912         Dynamically inserting CSS rule with @media query fails with DOM Exception 12
913         <http://bugs.webkit.org/show_bug.cgi?id=15986>
914
915         Reviewed by Darin.
916
917         Allow any valid rule (@font-face, @import, @media, @page or style) to be
918         parsed when using CSSStyleSheet.insertRule().  Previously only import and
919         style rules were allowed.  Note that @page rules always throw an exception
920         because they're not implemented yet, so no test case was added for them.
921
922         Tests: fast/css/insertRule-font-face.html
923                fast/css/insertRule-media.html
924
925         * css/CSSGrammar.y: Extracted 'valid_rule' out of 'rule'.  Renamed
926         'ruleset_or_import' to 'valid_rule_or_import' and changed its definition.
927
928 2008-03-03  Anders Carlsson  <andersca@apple.com>
929
930         Reviewed by Sam.
931
932         Copy JSC bindings directory over to WebCore/bridge.
933
934         * bridge: Copied from ../JavaScriptCore/bindings.
935
936 2008-03-03  Dan Bernstein  <mitz@apple.com>
937
938         Reviewed by Darin Adler.
939
940         - remove CSSMutableStyleDeclaration::setChanged()'s change type
941           parameter
942
943         * css/CSSMutableStyleDeclaration.cpp:
944         (WebCore::CSSMutableStyleDeclaration::setChanged): Removed the change
945         type parameter and made this function determine the correct change type
946         based on whether this is an inline style declaration.
947         (WebCore::CSSMutableStyleDeclaration::setProperty):
948         * css/CSSMutableStyleDeclaration.h:
949         (WebCore::CSSMutableStyleDeclaration::clear): Removed this unused
950         method.
951         (WebCore::CSSMutableStyleDeclaration::setChanged): Made private.
952
953 2008-03-03  Darin Adler  <darin@apple.com>
954
955         Reviewed by Adam.
956
957         - some "cleanup" on the path to removing WebCoreFrameBridge
958
959         * WebCore.base.exp: Exported some stuff we either already use or
960         I am about to use in an upcoming patch.
961
962         * WebCore.xcodeproj/project.pbxproj: Made FileChooser.h private rather
963         than project, for future use in WebKit.
964
965         * bindings/objc/WebScriptObject.mm: Removed some dead code.
966
967         * dom/ContainerNode.cpp: Added a now-needed or soon-to-be-needed include.
968         * editing/Editor.cpp: Ditto.
969
970         * editing/Editor.h: Removed many unneeded declarations and includes.
971         Removed the unused userVisibleString function.
972
973         * editing/EditorCommand.cpp:
974         (WebCore::executeYank): Added parameter for triggeringEvent, which no
975         longer has a default value.
976         (WebCore::executeYankAndSelect): Ditto.
977
978         * editing/mac/EditorMac.mm: Removed userVisibleString.
979
980         * page/mac/EventHandlerMac.mm:
981         (WebCore::isKeyboardOptionTab): Tweaked formattin.
982
983         * page/mac/WebCoreFrameBridge.mm:
984         (-[WebCoreFrameBridge dragSourceMovedTo:]): Get window from -[NSView window]
985         rather than from the bridge. There's no special value in the bridge's window
986         method and we can use NSView directly.
987         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]): Ditto.
988
989         * platform/graphics/mac/ImageMac.mm:
990         (WebCore::Image::loadPlatformResource): Use a new WebCoreBundleFinder class to
991         find the bundle rather than using WebCoreFrameBridge.
992
993         * platform/mac/ClipboardMac.mm: Added a now-needed or soon-to-be-needed include.
994         * platform/mac/PasteboardMac.mm: Ditto.
995
996         * rendering/RenderObject.h:
997         (WebCore::DashboardRegionValue::operator==): Fixed mistake where this wasn't
998         comparing the clip rectangle.
999         (WebCore::DashboardRegionValue::operator!=): Added. Needed by my future work.
1000
1001 2008-03-03  Oliver Hunt  <oliver@apple.com>
1002
1003         Reviewed by Mark Rowe.
1004
1005         Bug 17620: getImageData lies
1006         http://bugs.webkit.org/show_bug.cgi?id=17620
1007
1008         Correct logic to actually iterate over the source row
1009
1010         * platform/graphics/cg/ImageBufferCG.cpp:
1011         (WebCore::ImageBuffer::getImageData):
1012
1013 2008-03-03  Oliver Hunt  <oliver@apple.com>
1014
1015         Reviewed by Mark Rowe.
1016
1017         Correct incorrect assertion
1018
1019         * platform/graphics/cg/ImageBufferCG.cpp:
1020         (WebCore::ImageBuffer::putImageData):
1021
1022 2008-03-02  Alp Toker  <alp@atoker.com>
1023
1024         Another fix for non-database builds after changes in r30331.
1025
1026         Conditionalize a stopDatabases() call.
1027
1028         * loader/FrameLoader.cpp:
1029         (WebCore::FrameLoader::stopLoading):
1030
1031 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1032
1033         Reviewed by Alp Toker.
1034
1035         Scrolling fixes. Implement page scrolling, initialize mouse wheel
1036         event variables, and remove duplicate event binding for TOP
1037         scrolling event.
1038
1039         http://bugs.webkit.org/show_bug.cgi?id=17643
1040
1041         * platform/wx/MouseWheelEventWx.cpp:
1042         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1043         * platform/wx/ScrollViewWx.cpp:
1044         (WebCore::ScrollView::ScrollViewPrivate::bindEvents):
1045         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
1046
1047 2008-03-02  Alp Toker  <alp@atoker.com>
1048
1049         Fix building without database support after changes in r30331.
1050
1051         * dom/Document.cpp:
1052
1053 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1054
1055         wx build fix for Windows after PageWin.cpp move.
1056
1057         * webcore-wx.bkl:
1058
1059 2008-03-02  Kevin Ollivier  <kevino@theolliviers.com>
1060
1061         Reviewed by Dave Hyatt.
1062
1063         Gracefully handle a CSS rule containing an invalid value.
1064         (Fixes http://bugs.webkit.org/show_bug.cgi?id=16898)
1065
1066         * css/CSSGrammar.y:
1067
1068 2008-03-02  Alp Toker  <alp@atoker.com>
1069
1070         Reviewed by Mark Rowe.
1071
1072         Improve the Cairo Path::isEmpty() function
1073
1074         Use cairo_has_current_point() where available.
1075
1076         * platform/graphics/cairo/PathCairo.cpp:
1077         (WebCore::Path::isEmpty):
1078
1079 2008-03-01  Mark Rowe  <mrowe@apple.com>
1080
1081         Reviewed by Tim Hatcher.
1082
1083         Update Xcode configuration to support building debug and release from the mysterious future.
1084
1085         * Configurations/DebugRelease.xcconfig:
1086
1087 2008-03-01  Oliver Hunt  <oliver@apple.com>
1088
1089         Reviewed by Sam Weinig.
1090
1091         Bug 16954: Support putImageData
1092         
1093         Implement support for HTML5's putImageData for the CG port.  All other ports
1094         are currently just using stubs for the final blit.
1095
1096         Test: fast/canvas/canvas-putImageData.html
1097
1098         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1099         (WebCore::JSCanvasRenderingContext2D::putImageData):
1100         * html/CanvasRenderingContext2D.cpp:
1101         (WebCore::CanvasRenderingContext2D::putImageData):
1102         * html/CanvasRenderingContext2D.h:
1103         * platform/graphics/ImageBuffer.h:
1104         * platform/graphics/cairo/ImageBufferCairo.cpp:
1105         * platform/graphics/cg/ImageBufferCG.cpp:
1106         (WebCore::ImageBuffer::putImageData):
1107         * platform/graphics/qt/ImageBufferQt.cpp:
1108         * platform/graphics/wx/ImageBufferWx.cpp:
1109
1110 2008-03-01  Jon Honeycutt  <jhoneycutt@apple.com>
1111
1112         Reviewed by Darin.
1113
1114         <rdar://problem/5772987> Crashing viewing page with two VLC plug-in
1115         instances
1116
1117         The VLC Netscape plug-in crashes if more than one instance is created.
1118
1119         Added a quirk that disallows a plug-in from having more than one
1120         instance and set this for the VLC plug-in.
1121
1122         In addition, we now sort plug-ins that handle the same MIME
1123         type to choose the most appropriate one. This sorting first sorts by
1124         whether a plug-in has an issue that should put it at the end of the
1125         list, then whether it appears in a "preferred" plug-in directory.
1126
1127         * plugins/PluginQuirkSet.h: Added PluginQuirkDontAllowMultipleInstances.
1128         * plugins/PluginDatabase.cpp:
1129         (WebCore::PluginDatabase::preferredPluginCompare): Comparator for
1130         sorting plug-ins; calls PluginPackage::compare().
1131         (WebCore::PluginDatabase::pluginForMIMEType): Add all of the plug-ins
1132         that handle this MIME type to a list, sort the list, and return the
1133         first item.
1134         (WebCore::PluginDatabase::MIMETypeForExtension): Add all of the plug-ins
1135         that handle this extension to a list, sort the list, and return the MIME
1136         type used by the plug-in at the beginning of the list.
1137         * plugins/PluginDatabase.h:
1138         * plugins/PluginPackage.h:
1139         (WebCore::PluginPackage::version): Added; returns the module version.
1140         * plugins/win/PluginDatabaseWin.cpp:
1141         (WebCore::PluginDatabase::isPreferredPluginPath): Made static; removed
1142         const.
1143         * plugins/win/PluginPackageWin.cpp:
1144         (WebCore::PluginPackage::compare): Sorts plug-ins with known issues to
1145         the end, then plug-ins in preferred directories to the beginning, then
1146         alphabetically by file name, numerically by version, and alphabetically
1147         by parent directory.
1148         (WebCore::PluginPackage::determineQuirks): Set the "don't allow multiple
1149         instances" quirk for VLC.
1150         (WebCore::PluginPackage::load): Return false if the plug-in library has
1151         already been loaded and the "don't allow multiple instances" quirk is
1152         set.
1153         * platform/gtk/TemporaryLinkStubs.cpp:
1154         (PluginPackage::compare): Added stub.
1155         (PluginDatabase::IsPreferredPluginPath): Update the GTK stub.
1156         * platform/qt/TemporaryLinkStubs.cpp:
1157         (PluginPackage::compare): Added stub.
1158         (PluginDatabase::IsPreferredPluginPath): Update the Qt stub.
1159         * platform/wx/TemporaryLinkStubs.cpp:
1160         (PluginPackage::compare): Added stub.
1161         (PluginDatabase::IsPreferredPluginPath): Update the wx stub.
1162
1163 2008-03-01  Sam Weinig  <sam@webkit.org>
1164
1165         Rubber-stamped by Mark Rowe.
1166
1167         Remove reference to the now non-existent bridge directory.
1168
1169         * WebCore.xcodeproj/project.pbxproj:
1170
1171 2008-03-01  Sam Weinig  <sam@webkit.org>
1172
1173         Reviewed by Darin Adler.
1174
1175         Search the entire prototype chain when doing early prototype lookup in
1176         the Window's getOwnPropertySlot method.
1177
1178         Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
1179
1180         * bindings/js/kjs_window.cpp:
1181         (KJS::Window::getOwnPropertySlot):
1182
1183 2008-03-01  Nikolas Zimmermann  <zimmermann@kde.org>
1184
1185         Reviewed by Oliver.
1186
1187         Fixes: http://bugs.webkit.org/show_bug.cgi?id=17568 (SVGForeignObjectElement can't react to width/height SVG DOM changes)
1188
1189         As the bug title says, fix all dynamic update problems that occour with SVGForeignObjectElement.
1190
1191         Tests: svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html
1192                svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html
1193                svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html
1194                svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html
1195                svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html
1196                svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html
1197                svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html
1198                svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html
1199
1200         * svg/SVGForeignObjectElement.cpp:
1201         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
1202         (WebCore::addCSSPropertyAndNotifyAttributeMap):
1203         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
1204         * svg/SVGForeignObjectElement.h:
1205
1206 2008-02-29  Brady Eidson  <beidson@apple.com>
1207
1208         Reviewed by build-fix karma
1209
1210         Bonehead mistake.  Revert function to previous version for all non-Windows+CFNetwork platforms
1211
1212         * platform/network/ProtectionSpace.cpp:
1213         (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally
1214
1215 2008-02-29  Brady Eidson  <beidson@apple.com>
1216
1217         Reviewed by Darin
1218         
1219         <rdar://problem/5771227> - Incorrect password handling text in credential sheet
1220
1221         * platform/network/ProtectionSpace.cpp:
1222         (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to
1223           get "secureness" of the auth challenge instead of figuring it out ourselves
1224
1225 2008-02-29  Brent Fulgham  <bfulgham@gmail.com>
1226
1227         http://bugs.webkit.org/show_bug.cgi?id=17483
1228         Implement scrollbars on Windows (Cairo)
1229
1230         Reviewed by Adam Roben.
1231
1232         * platform/win/PlatfromScrollBarWin.cpp: Duplicate implementation
1233           from PlatformScrollBarWinSafari.cpp, then modify to use the
1234           native Windows theme engine.  Use SOFT_LINK.  Use platform
1235           'GetSystemMetrics' call to decide size of scrollbars and buttons.
1236
1237 2008-02-29  Adam Roben  <aroben@apple.com>
1238
1239         Windows build fix
1240
1241         * WebCore.vcproj/WebCore.vcproj: Remove bridge/* from the include path
1242         and the post-build event, and add page/win to each. Also let VS have
1243         its way with the order of the files.
1244         * page/win/PageWin.cpp: Copied from bridge/win/PageWin.cpp in r30673
1245         * page/win/GlobalHistoryWin.cpp: Copied from
1246         bridge/win/GlobalHistoryWin.cpp in r30673
1247
1248 2008-02-29  Anders Carlsson  <andersca@apple.com>
1249
1250         Build fix.
1251
1252         * WebCore.xcodeproj/project.pbxproj:
1253
1254 2008-02-29  Mark Rowe  <mrowe@apple.com>
1255
1256         Reviewed by Tim Hatcher.
1257
1258         64-bit build fix.
1259
1260         * platform/graphics/mac/SimpleFontDataMac.mm:
1261         (WebCore::pathFromFont): Provide stub implementation of pathFromFont for 64-bit as
1262         FMGetATSFontRefFromFont is not available.
1263
1264 2008-02-29  Mark Rowe  <mrowe@apple.com>
1265
1266         Build fix.  Only declare pathFromFont in debug builds as it is unused in release builds.
1267
1268         * platform/graphics/mac/SimpleFontDataMac.mm:
1269
1270 2008-02-29  Anders Carlsson  <andersca@apple.com>
1271
1272         Reviewed by Adam.
1273         
1274         Copy the remaining files in bridge/ over to page/
1275
1276         * WebCore.vcproj/WebCore.vcproj:
1277         * WebCore.xcodeproj/project.pbxproj:
1278         * bridge: Removed.
1279         * bridge/AXObjectCache.h: Removed.
1280         * bridge/EditorClient.h: Removed.
1281         * bridge/GlobalHistory.h: Removed.
1282         * bridge/win: Removed.
1283         * bridge/win/FrameCGWin.cpp: Removed.
1284         * bridge/win/FrameCairoWin.cpp: Removed.
1285         * bridge/win/FrameWin.cpp: Removed.
1286         * bridge/win/FrameWin.h: Removed.
1287         * bridge/win/GlobalHistoryWin.cpp: Removed.
1288         * bridge/win/PageWin.cpp: Removed.
1289         * page/AXObjectCache.h: Copied from bridge/AXObjectCache.h.
1290         * page/EditorClient.h: Copied from bridge/EditorClient.h.
1291         * page/GlobalHistory.h: Copied from bridge/GlobalHistory.h.
1292         * page/win/FrameCGWin.cpp: Copied from bridge/win/FrameCGWin.cpp.
1293         * page/win/FrameCairoWin.cpp: Copied from bridge/win/FrameCairoWin.cpp.
1294         * page/win/FrameWin.cpp: Copied from bridge/win/FrameWin.cpp.
1295         * page/win/FrameWin.h: Copied from bridge/win/FrameWin.h.
1296
1297 2008-02-29  Robert Blaut  <webkit@blaut.biz>
1298
1299         Reviewed by Darin Adler.
1300
1301         - fix http://bugs.webkit.org/show_bug.cgi?id=17532
1302           Webkit imports styles from <link> element which doesn't have rel=stylesheet defined
1303
1304         Test: fast/html/link-rel-stylesheet.html
1305
1306         * html/HTMLLinkElement.cpp:
1307         (WebCore::HTMLLinkElement::process):
1308
1309 2008-02-29  Mark Rowe  <mrowe@apple.com>
1310
1311         Reviewed by Anders Carlsson.
1312
1313         Replace use of WKPathFromFont with implementation in terms of public API.
1314
1315         * WebCore.base.exp: Remove unused symbol.
1316         * platform/graphics/mac/SimpleFontDataMac.mm:
1317         (WebCore::initFontData):
1318         (WebCore::pathFromFont): Implement pathFromFont in terms of public API.
1319         (WebCore::SimpleFontData::platformInit):
1320         * platform/mac/WebCoreSystemInterface.h: Remove unused symbol.
1321         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1322
1323 2008-02-29  Anders Carlsson  <andersca@apple.com>
1324
1325         Reviewed by Adam.
1326
1327         Move a bunch of files from bridge/mac to page/mac.
1328         
1329         * WebCore.xcodeproj/project.pbxproj:
1330         * bridge/mac: Removed.
1331         * bridge/mac/AXObjectCacheMac.mm: Removed.
1332         * bridge/mac/GlobalHistoryMac.mm: Removed.
1333         * bridge/mac/WebCoreAXObject.h: Removed.
1334         * bridge/mac/WebCoreAXObject.mm: Removed.
1335         * bridge/mac/WebCoreScriptDebugger.h: Removed.
1336         * bridge/mac/WebCoreScriptDebugger.mm: Removed.
1337         * page/mac/AXObjectCacheMac.mm: Copied from bridge/mac/AXObjectCacheMac.mm.
1338         * page/mac/GlobalHistoryMac.mm: Copied from bridge/mac/GlobalHistoryMac.mm.
1339         * page/mac/WebCoreAXObject.h: Copied from bridge/mac/WebCoreAXObject.h.
1340         * page/mac/WebCoreAXObject.mm: Copied from bridge/mac/WebCoreAXObject.mm.
1341         * page/mac/WebCoreScriptDebugger.h: Copied from bridge/mac/WebCoreScriptDebugger.h.
1342         * page/mac/WebCoreScriptDebugger.mm: Copied from bridge/mac/WebCoreScriptDebugger.mm.
1343
1344 2008-02-29  David Hyatt  <hyatt@apple.com>
1345
1346         Fix for http://bugs.webkit.org/show_bug.cgi?id=17559, media query tests crashing under
1347         guard malloc.  Pass along the style selector so it can be accessed, since it has not yet
1348         been assigned into the document's member variable.
1349
1350         Reviewed by aroben
1351
1352         * css/CSSStyleSelector.cpp:
1353         (WebCore::CSSRuleSet::addRulesFromSheet):
1354         * css/MediaQueryEvaluator.cpp:
1355         (WebCore::MediaQueryEvaluator::eval):
1356         * css/MediaQueryEvaluator.h:
1357
1358 2008-02-29  David Hyatt  <hyatt@apple.com>
1359
1360         <rdar://problem/5755916> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4
1361
1362         Improve the performance of dynamic sibling and CSS3 selectors so that there is no slowdown any more.
1363         Be more precise in terms of what nodes we mark dirty.
1364
1365         Reviewed by Beth
1366
1367         * css/CSSStyleSelector.cpp:
1368         (WebCore::CSSStyleSelector::checkSelector):
1369         * dom/Element.cpp:
1370         (WebCore::Element::recalcStyle):
1371         (WebCore::checkForSiblingStyleChanges):
1372         (WebCore::Element::childrenChanged):
1373         (WebCore::Element::finishParsingChildren):
1374         * rendering/RenderStyle.cpp:
1375         (WebCore::RenderStyle::RenderStyle):
1376         * rendering/RenderStyle.h:
1377         (WebCore::RenderStyle::childrenAffectedByPositionalRules):
1378         (WebCore::RenderStyle::childrenAffectedByDirectAdjacentRules):
1379         (WebCore::RenderStyle::setChildrenAffectedByDirectAdjacentRules):
1380
1381 2008-02-29  Alexey Proskuryakov  <ap@webkit.org>
1382
1383         Reviewed by Darin.
1384
1385         <rdar://problem/5766352> REGRESSION (r27151): XMLHttpRequest.abort() resets response status
1386
1387         Test: http/tests/xmlhttprequest/status-after-abort.html
1388
1389         * xml/XMLHttpRequest.cpp:
1390         (WebCore::XMLHttpRequest::getStatus):
1391         (WebCore::XMLHttpRequest::getStatusText):
1392         Changed to match Firefox more closely (IE just raises an exception in most of those cases).
1393
1394 2008-02-29  Dan Bernstein  <mitz@apple.com>
1395
1396         Reviewed by Darin Adler.
1397
1398         - fix a bug where explicit embedding past the end of a line could
1399           affect text that line
1400
1401         Test: fast/text/embed-at-end-of-pre-wrap-line.html
1402
1403         * rendering/bidi.cpp:
1404         (WebCore::RenderBlock::skipWhitespace): Removed calls to
1405         setAdjustEmbedding().
1406         (WebCore::RenderBlock::findNextLineBreak): Added calls to
1407         setAdjustEmbedding() around skipWhitespace() only where needed.
1408
1409 2008-02-29  Mark Rowe  <mrowe@apple.com>
1410
1411         Reviewed by Oliver Hunt.
1412
1413         Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
1414
1415         * platform/mac/WebCoreSystemInterface.h: Don't declare WKSupportsMultipartXMixedReplace on Leopard.
1416         * platform/mac/WebCoreSystemInterface.mm: Ditto.
1417         * platform/network/mac/ResourceRequestMac.mm:
1418         (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't call WKSupportsMultipartXMixedReplace on Leopard.
1419         * WebCore.Tiger.exp: Move Tiger-only symbol here.
1420         * WebCore.base.exp:
1421
1422 2008-02-29  Mark Rowe  <mrowe@apple.com>
1423
1424         Rubber-stamped by Eric Seidel.
1425
1426         Remove unneeded includes of WebCoreSystemInterface.h.
1427
1428         * loader/mac/LoaderNSURLExtras.m:
1429         * page/mac/FrameMac.mm:
1430         * page/mac/WebCoreFrameBridge.mm:
1431         * platform/MIMETypeRegistry.cpp:
1432         * platform/graphics/mac/ImageMac.mm:
1433         * platform/mac/PasteboardMac.mm:
1434
1435 2008-02-29  Mark Rowe  <mrowe@apple.com>
1436
1437         Reviewed by Oliver Hunt and Oliver Hunt.
1438
1439         <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
1440
1441         * platform/mac/SystemTimeMac.cpp:  Replace use of WKSecondsSinceLastInputEvent with CGEventSourceSecondsSinceLastEventType.
1442         * platform/mac/WebCoreSystemInterface.h:  Remove unused symbol.
1443         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
1444         * WebCore.base.exp:  Ditto.
1445
1446 2008-02-28  Mark Rowe  <mrowe@apple.com>
1447
1448         Reviewed by Dave Hyatt.
1449
1450         Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
1451
1452         * DerivedSources.make:  Add Tiger-only symbols to the export file when running on Tiger.
1453         * WebCore.Tiger.exp:  Added.  Move Tiger-only symbol here from WebCore.base.exp.
1454         * WebCore.base.exp:
1455         * platform/graphics/mac/SimpleFontDataMac.mm:
1456         (WebCore::SimpleFontData::platformInit):  Use Leopard APIs when building on Leopard.
1457         * platform/mac/WebCoreSystemInterface.h:  Don't declare wkGetFontMetrics on Leopard as it is unused.
1458         * platform/mac/WebCoreSystemInterface.mm:  Ditto.
1459
1460 2008-02-28  Matt Lilek  <webkit@mattlilek.com>
1461
1462         Reviewed by Tim Hatcher.
1463
1464         Bug 16535: Stylesheets loaded with @import are not editable
1465         http://bugs.webkit.org/show_bug.cgi?id=16535
1466         <rdar://problem/5712899>
1467
1468         Sheets loaded using @import were incorrectly being flagged as non-editable
1469         user agent sheets because their parent sheet doesn't have an ownerNode. We now
1470         check to make sure sheets also don't have a href before restricting their editability.
1471
1472         * page/inspector/StylesSidebarPane.js:
1473
1474 2008-02-28  Rodney Dawes  <dobey@wayofthemonkey.com>
1475
1476         Reviewed by Adam Roben.
1477
1478         Copy PluginPackageWin.cpp to shared PluginPackage.cpp.
1479         Add PluginPackage.cpp to build configurations.
1480         Remove PluginPackage destructor from TemporaryLinkStubs.cpp.
1481         Use cross-platform pathGetFilename method.
1482         Remove platform-specific code from shared PluginPackage implementation.
1483         Remove shared code from PluginPackageWin.cpp.
1484
1485         * GNUmakefile.am:
1486         * WebCore.pro:
1487         * WebCoreSources.bkl:
1488         * WebCore.vcproj/WebCore.vcproj:
1489         * platform/gtk/TemporaryLinkStubs.cpp:
1490         * platform/qt/TemporaryLinkStubs.cpp:
1491         * platform/wx/TemporaryLinkStubs.cpp:
1492         * plugins/PluginPackage.cpp:
1493         * plugins/win/PluginPackageWin.cpp:
1494
1495 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
1496
1497         Reviewed by Darin Adler.
1498
1499         <rdar://problem/4930986> REGRESSION: Paste As Quotation pastes black text instead of blue
1500         
1501         Add a second style span at copy time to hold document default styles.  This helps us
1502         differentiate between those and user applied styles at paste time, where we'll want
1503         to let Mail's Paste As Quotation blockquote override document default styles, but
1504         not others.
1505
1506         * css/CSSComputedStyleDeclaration.cpp:
1507         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed the unit type used 
1508         for -webkit-text-stroke-width from CSS_NUMBER to CSS_PX, to match other properties that 
1509         are thick | medium | thin | <length>.  Before, there was a mismatch between the unit 
1510         type of -webkit-text-stroke-width property values in a CSSComputedStyleDeclaration for 
1511         an element and that element's inlineStyleDecl(), causing identical values to always appear 
1512         different to diff().
1513         * editing/ReplaceSelectionCommand.cpp:
1514         (WebCore::ReplaceSelectionCommand::handlePasteAsQuotationNode): Fixed.  Don't just change
1515         the class to an empty string, completely remove it, it's no longer needed.
1516         (WebCore::handleStyleSpansBeforeInsertion): Moved the optimization from doApply here.
1517         (WebCore::ReplaceSelectionCommand::handleStyleSpans): 
1518         Added, replaces removeRedundantStyles.
1519         We aren't (yet) removing all redundant styles, just those on style spans, so I removed the
1520         unused code and renamed the function.
1521         There won't be more than two style spans that we need to consider, the one with the 
1522         source document's default styles and styles on the commonAncestor of the copied Range, 
1523         so don't look for more than two.
1524         Let elements that wrap the incoming fragment override the source document's styles.
1525         (WebCore::ReplaceSelectionCommand::doApply): Moved code to handleStyleSpansBeforeInsertion
1526         and call the renamed handleStyleSpans.
1527         * editing/ReplaceSelectionCommand.h:
1528         * editing/markup.cpp:
1529         (WebCore::removeDefaultStyles): Added.  Don't add document defaults to the style span
1530         that holds user applied styles, since they'll be added to their own style span.
1531         (WebCore::createMarkup):
1532         Add a second style span that holds just the document defaults. This lets us differentiate
1533         between those and user applied styles at paste time.
1534         Mail blockquotes are just another type of special element, moved their handling there. This
1535         also lets paste code make assumptions about the position of the two style spans (they are 
1536         *always* parent-child).
1537
1538 2008-02-28  Brent Fulgham <bfulgham@gmail.com>
1539
1540         http://bugs.webkit.org/show_bug.cgi?id=17576
1541         Modify RenderThemeWin to use SOFT_LINK
1542
1543         Reviewed by Adam Roben.
1544
1545         * rendering/RenderThemeWin.h: Remove unneeded library handle
1546         * rendering/RenderThemeWin.cpp: Change to use SOFT_LINK
1547           rather than hand-coded load library calls.
1548
1549 2008-02-28  Dan Bernstein  <mitz@apple.com>
1550
1551         Reviewed by Darin Adler.
1552
1553         - fix http://bugs.webkit.org/show_bug.cgi?id=17590
1554           ASSERTION FAILED: subject in jsRegExpExecute()
1555
1556         * page/mac/FrameMac.mm:
1557         (WebCore::Frame::matchLabelsAgainstElement): Added an early return in
1558         case the element name is empty.
1559
1560 2008-02-28  Justin Garcia  <justin.garcia@apple.com>
1561
1562         Reviewed by Dan Bernstein
1563         
1564         Small editing speed up.
1565         
1566         * dom/Position.cpp:
1567         (WebCore::Position::upstream): Don't check for a change in editability
1568         if the current node hasn't changed.
1569         (WebCore::Position::downstream): Ditto.
1570
1571 2008-02-27  Dan Bernstein  <mitz@apple.com>
1572
1573         Reviewed by John Sullivan.
1574
1575         - fix <rdar://problem/5607547> Single letter surrounded by soft hyphens can disappear
1576
1577         Test: fast/text/soft-hyphen-2.html
1578
1579         * rendering/bidi.cpp:
1580         (WebCore::chopMidpointsAt): Changed to iterate midpoints backwards, so
1581         that if there are two midpoints at the given position, only the last one
1582         will be chopped off.
1583
1584 2008-02-27  Dan Bernstein  <mitz@apple.com>
1585
1586         Reviewed by Darin Adler.
1587
1588         - make centered text in right-to-left blocks spill over to the left
1589
1590         Test: fast/text/align-center-rtl-spill.html
1591
1592         * rendering/bidi.cpp:
1593         (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1594
1595 2008-02-27  Dan Bernstein  <mitz@apple.com>
1596
1597         Reviewed by Darin Adler.
1598
1599         - more bidi.cpp cleanup
1600
1601         * platform/text/BidiResolver.h:
1602         (WebCore::BidiCharacterRun::destroy): Added. Overridden by BidiRun .
1603         (WebCore::BidiResolver<Iterator, Run>::addRun): Moved BidiState::addRun()
1604         here.
1605         (WebCore::BidiResolver<Iterator, Run>::appendRun): Changed to use
1606         addRun().
1607         (WebCore::BidiResolver<Iterator, Run>::deleteRuns): Changed to use
1608         destroy(), avoiding the need to specialize this method in BidiState.
1609         * rendering/bidi.cpp:
1610         (WebCore::BidiRun::destroy): Removed the RenderArena parameter.
1611         (WebCore::BidiState::deleteRuns): Removed now-unnecessary specialization.
1612         (WebCore::BidiState::addRun): Removed now-unnecessary specialization.
1613         (WebCore::RenderBlock::createLineBoxes): 
1614         (WebCore::RenderBlock::constructLine):
1615         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added a FIXME.
1616         (WebCore::RenderBlock::computeVerticalPositionsForLine):
1617         (WebCore::buildCompactRuns):
1618         (WebCore::RenderBlock::layoutInlineChildren):
1619         (WebCore::RenderBlock::determineStartPosition):
1620         (WebCore::RenderBlock::determineEndPosition):
1621         (WebCore::RenderBlock::matchedEndLine):
1622         (WebCore::skipNonBreakingSpace):
1623         (WebCore::RenderBlock::skipWhitespace):
1624         (WebCore::shouldSkipWhitespaceAfterStartObject):
1625         * rendering/bidi.h:
1626         (WebCore::BidiRun): Added m_ prefixes to several member variables. 
1627
1628 2008-02-27  Sam Weinig  <sam@webkit.org>
1629
1630         Reviewed by Darin.
1631
1632         Fix for <rdar://problem/5768769>
1633
1634         - Don't allow cross-origin calls using window.functionName.call(otherFrame)
1635           syntax.
1636
1637         * bindings/js/JSLocation.cpp:
1638         (WebCore::jsLocationProtoFuncToString): Do same-origin check.
1639         * bindings/js/kjs_window.cpp:
1640         (KJS::windowProtoFuncAToB): Ditto.
1641         (KJS::windowProtoFuncBToA): Ditto.
1642         (KJS::windowProtoFuncOpen): Ditto.
1643         (KJS::windowProtoFuncClearTimeout): Ditto.
1644         * bindings/scripts/CodeGeneratorJS.pm: Ditto.
1645
1646 2008-02-27  David Hyatt  <hyatt@apple.com>
1647
1648         More cleanup in preparation for fixing the HTML5 spec performance regression.
1649
1650         Reviewed by Sam Weinig
1651
1652         * dom/Attr.cpp:
1653         (WebCore::Attr::childrenChanged):
1654         * dom/Attr.h:
1655         * dom/ContainerNode.cpp:
1656         (WebCore::ContainerNode::insertBefore):
1657         (WebCore::ContainerNode::replaceChild):
1658         (WebCore::ContainerNode::removeChild):
1659         (WebCore::ContainerNode::removeChildren):
1660         (WebCore::ContainerNode::appendChild):
1661         (WebCore::ContainerNode::addChild):
1662         (WebCore::ContainerNode::childrenChanged):
1663         * dom/ContainerNode.h:
1664         * dom/Document.cpp:
1665         (WebCore::Document::childrenChanged):
1666         * dom/Document.h:
1667         * dom/Element.cpp:
1668         (WebCore::Element::childrenChanged):
1669         * dom/Element.h:
1670         * dom/Node.h:
1671         (WebCore::Node::childrenChanged):
1672         * html/HTMLObjectElement.cpp:
1673         (WebCore::HTMLObjectElement::childrenChanged):
1674         * html/HTMLObjectElement.h:
1675         * html/HTMLOptGroupElement.cpp:
1676         (WebCore::HTMLOptGroupElement::childrenChanged):
1677         * html/HTMLOptGroupElement.h:
1678         * html/HTMLOptionElement.cpp:
1679         (WebCore::HTMLOptionElement::childrenChanged):
1680         * html/HTMLOptionElement.h:
1681         * html/HTMLScriptElement.cpp:
1682         (WebCore::HTMLScriptElement::childrenChanged):
1683         * html/HTMLScriptElement.h:
1684         * html/HTMLSelectElement.cpp:
1685         (WebCore::HTMLSelectElement::childrenChanged):
1686         * html/HTMLSelectElement.h:
1687         * html/HTMLStyleElement.cpp:
1688         (WebCore::HTMLStyleElement::childrenChanged):
1689         * html/HTMLStyleElement.h:
1690         * html/HTMLTextAreaElement.cpp:
1691         (WebCore::HTMLTextAreaElement::childrenChanged):
1692         * html/HTMLTextAreaElement.h:
1693         * html/HTMLTitleElement.cpp:
1694         (WebCore::HTMLTitleElement::childrenChanged):
1695         * html/HTMLTitleElement.h:
1696         * svg/SVGClipPathElement.cpp:
1697         (WebCore::SVGClipPathElement::childrenChanged):
1698         * svg/SVGClipPathElement.h:
1699         * svg/SVGDefinitionSrcElement.cpp:
1700         (WebCore::SVGDefinitionSrcElement::childrenChanged):
1701         * svg/SVGDefinitionSrcElement.h:
1702         * svg/SVGFontFaceElement.cpp:
1703         (WebCore::SVGFontFaceElement::childrenChanged):
1704         * svg/SVGFontFaceElement.h:
1705         * svg/SVGFontFaceFormatElement.cpp:
1706         (WebCore::SVGFontFaceFormatElement::childrenChanged):
1707         * svg/SVGFontFaceFormatElement.h:
1708         * svg/SVGFontFaceSrcElement.cpp:
1709         (WebCore::SVGFontFaceSrcElement::childrenChanged):
1710         * svg/SVGFontFaceSrcElement.h:
1711         * svg/SVGFontFaceUriElement.cpp:
1712         (WebCore::SVGFontFaceUriElement::childrenChanged):
1713         * svg/SVGFontFaceUriElement.h:
1714         * svg/SVGGElement.cpp:
1715         (WebCore::SVGGElement::childrenChanged):
1716         * svg/SVGGElement.h:
1717         * svg/SVGGradientElement.cpp:
1718         (WebCore::SVGGradientElement::childrenChanged):
1719         * svg/SVGGradientElement.h:
1720         * svg/SVGMarkerElement.cpp:
1721         (WebCore::SVGMarkerElement::childrenChanged):
1722         * svg/SVGMarkerElement.h:
1723         * svg/SVGMaskElement.cpp:
1724         (WebCore::SVGMaskElement::childrenChanged):
1725         * svg/SVGMaskElement.h:
1726         * svg/SVGPatternElement.cpp:
1727         (WebCore::SVGPatternElement::childrenChanged):
1728         * svg/SVGPatternElement.h:
1729         * svg/SVGStyleElement.cpp:
1730         (WebCore::SVGStyleElement::childrenChanged):
1731         * svg/SVGStyleElement.h:
1732         * svg/SVGStyledElement.cpp:
1733         (WebCore::SVGStyledElement::childrenChanged):
1734         * svg/SVGStyledElement.h:
1735         * svg/SVGTitleElement.cpp:
1736         (WebCore::SVGTitleElement::childrenChanged):
1737         * svg/SVGTitleElement.h:
1738         * svg/SVGUseElement.cpp:
1739         (WebCore::SVGUseElement::childrenChanged):
1740         * svg/SVGUseElement.h:
1741
1742 2008-02-27  Julien Chaffraix <julien.chaffraix@gmail.com>
1743
1744         Reviewed by Alexey.
1745
1746         http://bugs.webkit.org/show_bug.cgi?id=17481
1747         Several consecutive calls to XMLHttpRequest::open should dispatch only one readyState event
1748
1749         Test: http/tests/xmlhttprequest/xmlhttprequest-multiple-open.html
1750
1751         * xml/XMLHttpRequest.cpp:
1752         (WebCore::XMLHttpRequest::open):
1753
1754 2008-02-27  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
1755
1756         Reviewed, tweaked and landed by ap.
1757
1758         http://bugs.webkit.org/show_bug.cgi?id=17487
1759         HTMLInput mysteriously fails to work if ICU dat file is missing
1760
1761         * platform/text/TextBreakIteratorICU.cpp: (WebCore::setUpIterator): Assert that the iterator
1762         has been opened.
1763
1764 2008-02-27  Adam Roben  <aroben@apple.com>
1765
1766         Windows build fix after r30616
1767
1768         * platform/win/ClipboardWin.cpp:
1769
1770 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
1771
1772         Reviewed by Simon.
1773
1774         Small style cleanup, and obvious fix: SVGGElement reacted on
1775         'clipPathUnits' changes, which is a funny copy&paste error.
1776
1777         * svg/SVGGElement.cpp:
1778         (WebCore::SVGGElement::parseMappedAttribute):
1779         (WebCore::SVGGElement::svgAttributeChanged):
1780         (WebCore::SVGGElement::createRenderer):
1781
1782 2008-02-27  Nikolas Zimmermann  <zimmermann@kde.org>
1783
1784         Reviewed by Simon.
1785
1786         Cleanup coding style. Still on my way to fix dynamic updates of all SVG elements.
1787         Currently at SVGF*. SVGDefs/DescElement don't need any dyn update fixes but cleanups.
1788
1789         * svg/SVGDefsElement.cpp:
1790         (WebCore::SVGDefsElement::createRenderer):
1791         * svg/SVGDefsElement.h:
1792         * svg/SVGDescElement.h:
1793
1794 2008-02-26  Antti Koivisto  <antti@apple.com>
1795
1796         Reviewed by Darin.
1797
1798         Fix <rdar://problem/5761326>
1799         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
1800         
1801         Generate better code with VS:
1802         - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions
1803         - Refactor error reporting so that there is no need to construct/destruct Strings in common cases
1804         - Add a separate version of the function for cases where error messages are not wanted
1805
1806         * bindings/js/JSDOMWindowCustom.cpp:
1807         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
1808         * bindings/js/kjs_window.cpp:
1809         (KJS::Window::allowsAccessFrom):
1810         (KJS::Window::allowsAccessFromNoErrorMessage):
1811         (KJS::Window::allowsAccessFromPrivate):
1812         (KJS::Window::crossDomainAccessErrorMessage):
1813         * bindings/js/kjs_window.h:
1814
1815 2008-02-26  Sam Weinig  <sam@webkit.org>
1816
1817         Reviewed by Dave Hyatt.
1818
1819         - remove DeprecatedCString, DeprecatedArray, and ArrayImpl.
1820
1821         * GNUmakefile.am:
1822         * WebCore.pro:
1823         * WebCore.vcproj/WebCore.vcproj:
1824         * WebCore.xcodeproj/project.pbxproj:
1825         * WebCoreSources.bkl:
1826         * platform/ArrayImpl.cpp: Removed.
1827         * platform/ArrayImpl.h: Removed.
1828         * platform/DeprecatedArray.h: Removed.
1829         * platform/DeprecatedCString.cpp: Removed.
1830         * platform/DeprecatedCString.h: Removed.
1831         * platform/text/CString.cpp:
1832         (WebCore::CString::length):
1833         * platform/text/CString.h:
1834
1835 2008-02-26  David Hyatt  <hyatt@apple.com>
1836
1837         Cleanup of childrenChanged in preparation for fixing the HTML5 spec slowdown.
1838
1839         Reviewed by Sam Weinig
1840
1841         * dom/Attr.cpp:
1842         (WebCore::Attr::childrenChanged):
1843         * dom/ContainerNode.cpp:
1844         (WebCore::ContainerNode::insertBefore):
1845         (WebCore::ContainerNode::replaceChild):
1846         (WebCore::ContainerNode::removeChild):
1847         (WebCore::ContainerNode::removeChildren):
1848         (WebCore::ContainerNode::appendChild):
1849         (WebCore::ContainerNode::addChild):
1850         (WebCore::ContainerNode::childrenChanged):
1851         * dom/ContainerNode.h:
1852         * dom/EventTargetNode.cpp:
1853         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
1854         * dom/EventTargetNode.h:
1855         * dom/NamedAttrMap.cpp:
1856         (WebCore::NamedAttrMap::addAttribute):
1857         (WebCore::NamedAttrMap::removeAttribute):
1858
1859 2008-02-26  Darin Adler  <darin@apple.com>
1860
1861         Reviewed by Sam.
1862
1863         - remove use of DeprecatedCString from Windows pasteboard code
1864
1865         * platform/win/ClipboardUtilitiesWin.cpp:
1866         (WebCore::createGlobalData): Added an overload for Vector<char>.
1867         Streamlined the logic a bit.
1868         (WebCore::append): Added. Helper functions for appending to a
1869         Vector<char>.
1870         (WebCore::markupToCF_HTML): Rewrote to use Vector<char> instead
1871         of DeprecatedCString. Also simplified the logic a bit and used
1872         macros to handle the integer width.
1873         (WebCore::urlToMarkup): Use Vector<UChar> instead of String.
1874         (WebCore::replaceNewlinesWithWindowsStyleNewlines): Tweaked.
1875         * platform/win/ClipboardUtilitiesWin.h: Update type of return
1876         value from markupToCF_HTML. Did a bit of streamlining too.
1877         * platform/win/ClipboardWin.cpp:
1878         (WebCore::writeURL): Update for above changes.
1879         (WebCore::ClipboardWin::declareAndWriteDragImage): Ditto.
1880         (WebCore::ClipboardWin::writeRange): Ditto.
1881         * platform/win/PasteboardWin.cpp:
1882         (WebCore::Pasteboard::writeSelection): Ditto.
1883         (WebCore::Pasteboard::writeURL): Ditto.
1884
1885 2008-02-26  Timothy Hatcher  <timothy@apple.com>
1886
1887         Reviewed by Adam Roben.
1888
1889         <rdar://problem/5712777> REGRESSION: Arrow up/down in inspector
1890         source list does not scroll when item at edge is reached (16572)
1891
1892         Use scrollIntoViewIfNeeded() instead of the hand-rolled scrollToElement
1893         we were using in utilities.js.
1894
1895         * page/inspector/DocumentPanel.js: Use scrollIntoViewIfNeeded instead of scrollToElement.
1896         * page/inspector/Resource.js: Ditto.
1897         * page/inspector/inspector.js: Ditto.
1898         * page/inspector/SourcePanel.js: Use scrollIntoViewIfNeeded instead
1899         of scrollIntoView, so the source line is centered in the view if needed.
1900         * page/inspector/utilities.js: Removed scrollToElement().
1901
1902 2008-02-26  David Hyatt  <hyatt@apple.com>
1903
1904         Reviewed by Dan
1905
1906         http://bugs.webkit.org/show_bug.cgi?id=17485
1907
1908         Refine our behavior for empty inlines so that they work more correctly with margins/borders/padding.
1909         Fixes a regression on huffingtonpost.com.
1910
1911         New tests added to fast/inline
1912
1913         * rendering/InlineFlowBox.cpp:
1914         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1915         (WebCore::InlineFlowBox::placeBoxesVertically):
1916         (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
1917         * rendering/RenderFlow.cpp:
1918         (WebCore::RenderFlow::calcMargins):
1919         * rendering/RenderFlow.h:
1920         * rendering/RenderObject.h:
1921         (WebCore::RenderObject::hasHorizontalBordersPaddingOrMargin):
1922         (WebCore::RenderObject::hasHorizontalBordersOrPadding):
1923         * rendering/bidi.cpp:
1924         (WebCore::getBorderPaddingMargin):
1925         (WebCore::RenderBlock::layoutInlineChildren):
1926         (WebCore::inlineFlowRequiresLineBox):
1927
1928 2008-02-26  Sam Weinig  <sam@webkit.org>
1929
1930         Fix Windows build.
1931
1932         * platform/text/PlatformString.h:
1933         (WebCore::reverseFind):
1934
1935 2008-02-26  Dan Bernstein  <mitz@apple.com>
1936
1937         Reviewed by Darin Adler.
1938
1939         - fix http://bugs.webkit.org/show_bug.cgi?id=17555
1940           <rdar://problem/5766016> REGRESSION (r27351): Thumbnails positioned wrong on Getty Images results page
1941
1942         Test: fast/dynamic/subtree-table-cell-height.html
1943
1944         * rendering/RenderObject.cpp:
1945         (WebCore::objectIsRelayoutBoundary): Exclude table cells, since their
1946         height depends on their contents even if the CSS height property is
1947         fixed.
1948
1949 2008-02-25  Sam Weinig  <sam@webkit.org>
1950
1951         Reviewed by Dan Bernstein.
1952
1953         Make the cleanPath function in CSSStyleSelector more efficient by using
1954         a Vector<UChar>.
1955
1956         * css/CSSStyleSelector.cpp:
1957         (WebCore::cleanPath): Make this function work on a Vector<UChar> instead
1958         of a String.  Also remove unnecessary reverseFind call that could be acomplished
1959         with two compares.
1960         (WebCore::checkPseudoState): Remove reserveCapacity calls now that we are using
1961         a stack buffer.
1962         * platform/text/PlatformString.h:
1963         (WebCore::find): Make this find generic enough that it can be used for
1964         String::find.
1965         (WebCore::reverseFind): Implement reverseFind so that it can be used
1966         for with a UChar* and length.
1967         * platform/text/StringImpl.cpp:
1968         (WebCore::StringImpl::find): Use implementation in PlatformString.cpp
1969         (WebCore::StringImpl::reverseFind): Ditto,
1970
1971 2008-02-26  Satoshi Nakagawa  <artension@gmail.com>
1972
1973         Reviewed by Darin. Tweaked and landed by Alexey.
1974
1975         http://bugs.webkit.org/show_bug.cgi?id=17411
1976         Ideographic comma and full stop should be treated as line-breakable characters
1977
1978         Test: fast/text/line-breaks-after-ideographic-comma-or-full-stop.html
1979
1980         * platform/text/CharacterNames.h: Added ideographicComma and ideographicFullStop.
1981         * rendering/break_lines.cpp: (WebCore::shouldBreakAfter): Added a workaround for an issue in
1982         Unicode 5.0 that is causing this.
1983
1984 2008-02-26  MorganL  <morganl.webkit@yahoo.com>
1985
1986         Reviewed by eseidel.  Landed by eseidel
1987
1988         Fix improperly initialized m_isUpToDate member variable.
1989         Fixs 50+ layout tests when run on Tiger.
1990         http://bugs.webkit.org/show_bug.cgi?id=17549
1991
1992         * platform/network/cf/ResourceResponse.h:
1993         (WebCore::ResourceResponse::ResourceResponse):
1994         * platform/network/mac/ResourceResponse.h:
1995         (WebCore::ResourceResponse::ResourceResponse):
1996
1997 2008-02-25  Dan Bernstein  <mitz@apple.com>
1998
1999         Reviewed by Sam Weinig.
2000
2001         - fix http://bugs.webkit.org/show_bug.cgi?id=17152
2002           Paragraphs indented with :first-letter and text-align CSS render incorrectly
2003
2004         Test: fast/text/apply-start-width-after-skipped-text.html
2005
2006         * rendering/bidi.cpp:
2007         (WebCore::RenderBlock::findNextLineBreak): Improved the logic for when
2008         to figure in the padding, border and margin before a text node when the
2009         line begins inside a text node.
2010
2011 2008-02-25  Kevin Ollivier  <kevino@theolliviers.com>
2012
2013         Windows build fix for wx port.
2014
2015         * loader/FTPDirectoryDocument.cpp:
2016
2017 2008-02-25  Mark Rowe  <mrowe@apple.com>
2018
2019         Windows build fix.
2020
2021         * platform/network/cf/ResourceResponseCFNet.cpp:
2022         (WebCore::ResourceResponse::platformCompare):  Implement platformCompare for ResourceResponseCFNet.cpp.
2023
2024 2008-02-25  Beth Dakin  <bdakin@apple.com>
2025
2026         Reviewed by Geoff.
2027
2028         Fixed for <rdar://problem/5760530> REGRESSION: Assertion failure in 
2029         Document::removePendingSheet() from r30438
2030
2031         r30438 added a call to CachedResource::error() from inside 
2032         Loader::didReceiveData() if a CSS file 4xxs. There was an 
2033         assumption in the loader, though, that either error() would be 
2034         called, or didFinishLoading() would be called, so some work is 
2035         duplicated in each. Now that we are calling an error() on files 
2036         that will also make it to didFinishLoading() (since they succeeded 
2037         in the network layer), we need to make sure we do not duplicate the 
2038         work. CachedCSSStyleSheet::error() calls checkNotify, which ends up 
2039         decrementing the document's pending style sheet counter. 
2040         checkNotify() was still getting called, though, through the normal  
2041         didFinishLoading code path, and the counter was being decremented 
2042         twice. Bad!
2043
2044         * loader/loader.cpp:
2045         (WebCore::Loader::didFinishLoading):
2046         (WebCore::Loader::didReceiveData):
2047
2048 2008-02-25  Mark Rowe  <mrowe@apple.com>
2049
2050         Fix the Gtk, wx and Qt builds.
2051
2052         * GNUmakefile.am: Add new files.
2053         * WebCore.pro: Ditto.
2054         * WebCoreSources.bkl: Ditto.
2055         * platform/network/AuthenticationChallengeBase.h: Fix up argument types.
2056
2057 2008-02-25  MorganL  <morganl.webkit@yahoo.com>
2058
2059         Reviewed by Darin Adler.
2060
2061         Eliminate some #ifdefs from headers in platform/network.
2062         http://bugs.webkit.org/show_bug.cgi?id=17210
2063
2064         * WebCore.base.exp:
2065         * WebCore.order:
2066         * WebCore.vcproj/WebCore.vcproj:
2067         * WebCore.xcodeproj/project.pbxproj:
2068         * dom/XMLTokenizer.cpp:
2069         * loader/ResourceLoader.h:
2070         * platform/network/AuthenticationChallenge.cpp: Removed.
2071         * platform/network/AuthenticationChallenge.h: Removed.
2072         * platform/network/AuthenticationChallengeBase.cpp: Copied from platform/network/AuthenticationChallenge.cpp.
2073         (WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):
2074         (WebCore::AuthenticationChallengeBase::previousFailureCount):
2075         (WebCore::AuthenticationChallengeBase::proposedCredential):
2076         (WebCore::AuthenticationChallengeBase::protectionSpace):
2077         (WebCore::AuthenticationChallengeBase::failureResponse):
2078         (WebCore::AuthenticationChallengeBase::error):
2079         (WebCore::AuthenticationChallengeBase::isNull):
2080         (WebCore::AuthenticationChallengeBase::nullify):
2081         (WebCore::AuthenticationChallengeBase::compare):
2082         * platform/network/AuthenticationChallengeBase.h: Copied from platform/network/AuthenticationChallenge.h.
2083         (WebCore::AuthenticationChallengeBase::platformCompare):
2084         (WebCore::operator==):
2085         (WebCore::operator!=):
2086         * platform/network/ResourceError.cpp: Removed.
2087         * platform/network/ResourceError.h: Removed.
2088         * platform/network/ResourceErrorBase.cpp: Copied from platform/network/ResourceError.cpp.
2089         (WebCore::ResourceErrorBase::lazyInit):
2090         (WebCore::ResourceErrorBase::compare):
2091         * platform/network/ResourceErrorBase.h: Copied from platform/network/ResourceError.h.
2092         (WebCore::ResourceErrorBase::isNull):
2093         (WebCore::ResourceErrorBase::domain):
2094         (WebCore::ResourceErrorBase::errorCode):
2095         (WebCore::ResourceErrorBase::failingURL):
2096         (WebCore::ResourceErrorBase::localizedDescription):
2097         (WebCore::ResourceErrorBase::ResourceErrorBase):
2098         (WebCore::ResourceErrorBase::platformLazyInit):
2099         (WebCore::ResourceErrorBase::platformCompare):
2100         (WebCore::operator==):
2101         * platform/network/ResourceResponseBase.cpp:
2102         (WebCore::ResourceResponseBase::isHTTP):
2103         (WebCore::ResourceResponseBase::url):
2104         (WebCore::ResourceResponseBase::setUrl):
2105         (WebCore::ResourceResponseBase::mimeType):
2106         (WebCore::ResourceResponseBase::setMimeType):
2107         (WebCore::ResourceResponseBase::expectedContentLength):
2108         (WebCore::ResourceResponseBase::setExpectedContentLength):
2109         (WebCore::ResourceResponseBase::textEncodingName):
2110         (WebCore::ResourceResponseBase::setTextEncodingName):
2111         (WebCore::ResourceResponseBase::suggestedFilename):
2112         (WebCore::ResourceResponseBase::setSuggestedFilename):
2113         (WebCore::ResourceResponseBase::httpStatusCode):
2114         (WebCore::ResourceResponseBase::setHTTPStatusCode):
2115         (WebCore::ResourceResponseBase::httpStatusText):
2116         (WebCore::ResourceResponseBase::setHTTPStatusText):
2117         (WebCore::ResourceResponseBase::httpHeaderField):
2118         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2119         (WebCore::ResourceResponseBase::httpHeaderFields):
2120         (WebCore::ResourceResponseBase::isAttachment):
2121         (WebCore::ResourceResponseBase::setExpirationDate):
2122         (WebCore::ResourceResponseBase::expirationDate):
2123         (WebCore::ResourceResponseBase::setLastModifiedDate):
2124         (WebCore::ResourceResponseBase::lastModifiedDate):
2125         (WebCore::ResourceResponseBase::lazyInit):
2126         (WebCore::ResourceResponseBase::compare):
2127         * platform/network/ResourceResponseBase.h:
2128         (WebCore::ResourceResponseBase::ResourceResponseBase):
2129         (WebCore::ResourceResponseBase::platformLazyInit):
2130         (WebCore::ResourceResponseBase::platformCompare):
2131         (WebCore::operator==):
2132         * platform/network/cf/AuthenticationCF.cpp:
2133         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2134         (WebCore::AuthenticationChallenge::platformCompare):
2135         * platform/network/cf/AuthenticationChallenge.h: Added.
2136         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2137         (WebCore::AuthenticationChallenge::sourceHandle):
2138         (WebCore::AuthenticationChallenge::cfURLAuthChallengeRef):
2139         * platform/network/cf/ResourceError.h: Added.
2140         (WebCore::ResourceError::ResourceError):
2141         * platform/network/cf/ResourceErrorCF.cpp:
2142         (WebCore::ResourceError::ResourceError):
2143         (WebCore::ResourceError::platformLazyInit):
2144         (WebCore::ResourceError::platformCompare):
2145         (WebCore::ResourceError::operator CFStreamError):
2146         * platform/network/cf/ResourceResponse.h:
2147         (WebCore::ResourceResponse::ResourceResponse):
2148         * platform/network/cf/ResourceResponseCFNet.cpp:
2149         (WebCore::ResourceResponse::platformLazyInit):
2150         * platform/network/curl/AuthenticationChallenge.h: Added.
2151         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2152         * platform/network/curl/ResourceError.h: Added.
2153         (WebCore::ResourceError::ResourceError):
2154         * platform/network/curl/ResourceResponse.h:
2155         (WebCore::ResourceResponse::ResourceResponse):
2156         * platform/network/mac/AuthenticationChallenge.h: Added.
2157         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2158         (WebCore::AuthenticationChallenge::sender):
2159         (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
2160         * platform/network/mac/AuthenticationMac.mm:
2161         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2162         (WebCore::AuthenticationChallenge::platformCompare):
2163         * platform/network/mac/ResourceError.h: Added.
2164         (WebCore::ResourceError::ResourceError):
2165         * platform/network/mac/ResourceErrorMac.mm:
2166         (WebCore::ResourceError::platformLazyInit):
2167         (WebCore::ResourceError::platformCompare):
2168         * platform/network/mac/ResourceResponse.h:
2169         (WebCore::ResourceResponse::ResourceResponse):
2170         * platform/network/mac/ResourceResponseMac.mm:
2171         (WebCore::ResourceResponse::platformLazyInit):
2172         (WebCore::ResourceResponse::platformCompare):
2173         * platform/network/qt/AuthenticationChallenge.h: Added.
2174         (WebCore::AuthenticationChallenge::AuthenticationChallenge):
2175         * platform/network/qt/ResourceError.h: Added.
2176         (WebCore::ResourceError::ResourceError):
2177         * platform/network/qt/ResourceResponse.h:
2178         (WebCore::ResourceResponse::ResourceResponse):
2179         * xml/XSLTProcessor.cpp:
2180
2181 2008-02-25  Anders Carlsson  <andersca@apple.com>
2182
2183         Reviewed by Darin.
2184
2185         Move remaining render style objects over to start with a refcount of 1 and get
2186         rid of DeprecatedDataRef.
2187         
2188         * rendering/DataRef.h:
2189         (WebCore::DataRef::operator*):
2190         (WebCore::DataRef::operator->):
2191         * rendering/RenderStyle.h:
2192         * rendering/SVGRenderStyle.cpp:
2193         (WebCore::SVGRenderStyle::SVGRenderStyle):
2194         * rendering/SVGRenderStyle.h:
2195         (WebCore::SVGRenderStyle::create):
2196         (WebCore::SVGRenderStyle::copy):
2197         * rendering/SVGRenderStyleDefs.cpp:
2198         (StyleFillData::StyleFillData):
2199         (StyleStrokeData::StyleStrokeData):
2200         (StyleStopData::StyleStopData):
2201         (StyleTextData::StyleTextData):
2202         (StyleClipData::StyleClipData):
2203         (StyleMaskData::StyleMaskData):
2204         (StyleMarkerData::StyleMarkerData):
2205         (StyleMiscData::StyleMiscData):
2206         * rendering/SVGRenderStyleDefs.h:
2207         (WebCore::StyleFillData::create):
2208         (WebCore::StyleFillData::copy):
2209         (WebCore::StyleStrokeData::create):
2210         (WebCore::StyleStrokeData::copy):
2211         (WebCore::StyleStopData::create):
2212         (WebCore::StyleStopData::copy):
2213         (WebCore::StyleTextData::create):
2214         (WebCore::StyleTextData::copy):
2215         (WebCore::StyleClipData::create):
2216         (WebCore::StyleClipData::copy):
2217         (WebCore::StyleMaskData::create):
2218         (WebCore::StyleMaskData::copy):
2219         (WebCore::StyleMarkerData::create):
2220         (WebCore::StyleMarkerData::copy):
2221         (WebCore::StyleMiscData::create):
2222         (WebCore::StyleMiscData::copy):
2223
2224 2008-02-25  Dan Bernstein  <mitz@apple.com>
2225
2226         Reviewed by Dave Hyatt.
2227
2228         - remove file-static BidiRun variables from bidi.cpp
2229
2230         * platform/text/BidiResolver.h:
2231         (WebCore::BidiResolver::): Initialize m_logicallyLastRun.
2232         (WebCore::BidiResolver::logicallyLastRun): Added.
2233         (WebCore::BidiResolver::runCount): Made unsigned.
2234         (WebCore::::reverseRuns): Changed ints to unsigned.
2235         (WebCore::::createBidiRunsForLine): Made this function set
2236         m_logicallyLastRun.
2237         * rendering/RenderBlock.h:
2238         * rendering/bidi.cpp:
2239         (WebCore::BidiState::addRun): Removed setting of sLogicallyLastBidiRun.
2240         (WebCore::RenderBlock::constructLine): Removed unused start parameter
2241         and added run count and first and last run parameters. Replaced end
2242         parameter with lastLine boolean and endObject pointer.
2243         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added first
2244         and logically last run parameters.
2245         (WebCore::RenderBlock::computeVerticalPositionsForLine): Added firstRun
2246         parameter.
2247         (WebCore::RenderBlock::bidiReorderLine): Removed setting of static
2248         variables.
2249         (WebCore::RenderBlock::layoutInlineChildren): Changed to use BidiState
2250         accessors instead of file statics.
2251
2252 2008-02-25  Rodney Dawes  <dobey@wayofthemonkey.com>
2253
2254         Reviewed by Jon Honeycutt.
2255
2256         http://bugs.webkit.org/show_bug.cgi?id=16924
2257         Bug 16924: Shared PluginDatabase, PluginPackage, and PlugInInfoStore implementations
2258
2259         Add PluginInfoStore.cpp and new PluginDatabase.cpp to GTK+ and Qt ports.
2260         Remove old PlugInInfoStoreQt.cpp as it is obsoleted by shared code.
2261         Add PluginInfoStore, PluginDatabase, and PluginStream files to Wx build.
2262         Add new PluginDatabase.cpp to Windows build.
2263         Add temporary stubs for new PluginDatabase and PluginPackage.
2264         shared classes to GTK+, Qt, and Wx ports.
2265         Copy PluginDatabaseWin.cpp to PluginDatabase.cpp to preserve history.
2266         Remove shared code from PluginDatabaseWin.cpp.
2267         Remove Windows-specific code from PluginDatabase.cpp.
2268         Use PlatformModule and PlatformFileTime instead of HMODULE and FILETIME.
2269         Remove extraneous PluginPackage:: from hash() class method prototype.
2270         Subsume storeFileVersion into PluginPackage::fetchInfo.
2271         Add cross-platform PlatformModuleVersion type definition.
2272         Use PlatformModuleVersion to store the module version.
2273         Rename m_fileVersion[ML]S to m_moduleVersion.
2274         Change compareFileVersion to use PlatformModuleVersion as the argument.
2275         Move PluginView::determineQuirks and m_quirks to PluginPackage.
2276         Updated determineQuirks for the PlatformModuleVersion.
2277
2278         * GNUmakefile.am:
2279         * WebCore.pro:
2280         * WebCoreSources.bkl:
2281         * webcore-base.bkl:
2282         * WebCore.vcproj/WebCore.vcproj:
2283         * Platform/FileSystem.h:
2284         * platform/qt/PlugInInfoStoreQt.cpp:
2285         * platform/gtk/TemporaryLinkStubs.cpp:
2286         * platform/qt/TemporaryLinkStubs.cpp:
2287         * platform/wx/TemporaryLinkStubs.cpp:
2288         * plugins/PluginDatabase.cpp:
2289         * plugins/PluginDatabase.h:
2290         * plugins/win/PluginDatabaseWin.cpp:
2291         * plugins/PluginPackage.h:
2292         * plugins/win/PluginPackageWin.cpp:
2293         * plugins/PluginView.h:
2294         * plugins/win/PluginViewWin.cpp:
2295
2296 2008-02-25  Anders Carlsson  <andersca@apple.com>
2297
2298         Reviewed by Darin.
2299
2300         Make more style objects start out with a refcount of 1.
2301         
2302         * rendering/RenderStyle.cpp:
2303         (WebCore::StyleSurroundData::StyleSurroundData):
2304         (WebCore::StyleBoxData::StyleBoxData):
2305         (WebCore::StyleVisualData::StyleVisualData):
2306         (WebCore::StyleBackgroundData::StyleBackgroundData):
2307         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2308         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2309         (WebCore::StyleInheritedData::StyleInheritedData):
2310         * rendering/RenderStyle.h:
2311         (WebCore::StyleSurroundData::create):
2312         (WebCore::StyleSurroundData::copy):
2313         (WebCore::StyleBoxData::create):
2314         (WebCore::StyleBoxData::copy):
2315         (WebCore::StyleVisualData::create):
2316         (WebCore::StyleVisualData::copy):
2317         (WebCore::StyleBackgroundData::create):
2318         (WebCore::StyleBackgroundData::copy):
2319         (WebCore::StyleBackgroundData::~StyleBackgroundData):
2320         (WebCore::StyleRareNonInheritedData::create):
2321         (WebCore::StyleRareNonInheritedData::copy):
2322         (WebCore::StyleRareInheritedData::create):
2323         (WebCore::StyleRareInheritedData::copy):
2324         (WebCore::StyleInheritedData::create):
2325         (WebCore::StyleInheritedData::copy):
2326
2327 2008-02-25  Anders Carlsson  <andersca@apple.com>
2328
2329         Reviewed by Darin.
2330
2331         Make some of the refcounted style objects start out with a refcount of 1.
2332
2333         * rendering/DataRef.h:
2334         Make a DeprecatedDataRef class which is just a copy of the old DataRef class.
2335         Change DataRef to use ::create() and ::copy() instead of the constructors.
2336         Change DataRef's pointer to be a RefPtr instead.
2337
2338         * rendering/RenderStyle.cpp:
2339         (WebCore::StyleMarqueeData::StyleMarqueeData):
2340         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
2341         (WebCore::StyleMultiColData::StyleMultiColData):
2342         (WebCore::StyleTransformData::StyleTransformData):
2343         Start with a RefCount of 1.
2344         
2345         * rendering/RenderStyle.h:
2346         * rendering/SVGRenderStyle.h:
2347         Add ::create() and ::copy() methods. Make not yet converted classes use DeprecatedDataRef.
2348
2349 2008-02-25  Darin Adler  <darin@apple.com>
2350
2351         Reviewed by Anders.
2352         Based on a patch by Tim Steele <timsteele41@gmail.com>.
2353
2354         - fix http://bugs.webkit.org/show_bug.cgi?id=17186
2355           Fragment navigation within a page permanently cancels meta refresh
2356
2357         Test: fast/loader/meta-refresh-anchor-click.html
2358
2359         * loader/FrameLoader.cpp:
2360         (WebCore::FrameLoader::load): When load type is FrameLoadTypeRedirectWithLockedHistory,
2361         always do a real load. This makes sure that meta refresh loads are treated as real loads
2362         rather than anchor scrolls. Also tweaked formatting a bit.
2363         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): This function is
2364         an alternate way to complete a load, so it needs to start the redirection timer if
2365         redirection has already been scheduled.
2366
2367 2008-02-25  Dan Bernstein  <mitz@apple.com>
2368
2369         Reviewed by Darin Adler.
2370
2371         - avoid counting spaces in non-justified text
2372
2373         * rendering/bidi.cpp:
2374         Removed file-static numSpaces.
2375         (WebCore::BidiState::addRun): Removed space counting.
2376         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Added space
2377         counting, conditional on the block having the text-align: justify
2378         property value.
2379         (WebCore::RenderBlock::bidiReorderLine): Removed initialization of
2380         numSpaces.
2381
2382 2008-02-25  Darin Adler  <darin@apple.com>
2383
2384         Requested by Steve.
2385
2386         * platform/graphics/cg/ImageSourceCG.cpp:
2387         (WebCore::ImageSource::createFrameAtIndex): Put the string into a global
2388         variable (because CFSTR is inefficient on Windows).
2389
2390 2008-02-25  Darin Adler  <darin@apple.com>
2391
2392         Reviewed by Adam.
2393
2394         * WebCore.base.exp: Export blankURL, and sort the file.
2395
2396 2008-02-25  Simon Hausmann  <hausmann@webkit.org>
2397
2398         Reviewed by Mark Rowe.
2399
2400         Fix compilation with gcc 4.3, added stdio.h and unistd.h inclusions.
2401
2402         * dom/Position.cpp:
2403         * dom/Range.cpp:
2404         * editing/Selection.cpp:
2405         * editing/SelectionController.cpp:
2406         * editing/VisiblePosition.cpp:
2407         * history/HistoryItem.cpp:
2408         * loader/Cache.cpp:
2409         * loader/FTPDirectoryParser.cpp:
2410         * platform/KURL.cpp:
2411         * platform/gtk/FileSystemGtk.cpp:
2412         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2413         * platform/text/TextCodecLatin1.cpp:
2414         * platform/text/TextCodecUserDefined.cpp:
2415         * rendering/CounterNode.cpp:
2416         * rendering/RenderObject.cpp:
2417
2418 2008-02-25  Johnny Ding  <johnnyding.webkit@gmail.com>
2419
2420         Reviewed by Darin Adler.
2421
2422         - fix http://bugs.webkit.org/show_bug.cgi?id=17444
2423
2424         In HTMLTokenizer::write, the code checks 'pendingScripts.isEmpty()' to decide
2425         whether to save prependingSrc or not. However, in HTMLTokenizer::scriptHandler
2426         and HTMLTokenizer::scriptExecution, the code checks testBit:LoadingExtScript
2427         to decide whether to save prependingSrc or not. The later behavior is not right
2428         because, in scriptHandler and scriptExecution, even the pendingScripts queue is
2429         empty, the testBit:LoadingExtScript might be TRUE.
2430
2431         Test: fast/tokenizer/nested-multiple-scripts.html
2432
2433         * html/HTMLTokenizer.cpp:
2434         (WebCore::HTMLTokenizer::scriptHandler): check pendingScripts.isEmpty() instead of
2435         checking state.loadingExtScript().
2436         (WebCore::HTMLTokenizer::scriptExecution): check pendingScripts.isEmpty() instead of
2437         checking state.loadingExtScript().
2438
2439 2008-02-24  Darin Adler  <darin@apple.com>
2440
2441         * dom/Document.h: Removed stray duplicate declaration of
2442         RegisteredEventListenerList.
2443
2444 2008-02-24  Darin Adler  <darin@apple.com>
2445
2446         * dom/Range.cpp:
2447         (WebCore::Range::surroundContents): Removed incorrect comment.
2448         I added it a while ago, and I was just mixed up.
2449
2450 2008-02-24  Darin Adler  <darin@apple.com>
2451
2452         - quick follow-up to that last check-in
2453
2454         * platform/graphics/cg/ImageSourceCG.cpp:
2455         (WebCore::ImageSource::createFrameAtIndex): Use CFEqual instead of
2456         WebCore::String's == for speed.
2457
2458 2008-02-24  Michael Knaup  <michael.knaup@mac.com>
2459
2460         Reviewed by Darin.
2461
2462         Bug 8749: XBM rendered incorrectly as black on white
2463
2464         xbm images are now created and rendered using black on a
2465         transparent background (same behavior as in Firefox)
2466
2467         Test: platform/mac/fast/canvas/canvas-draw-xbm-image.html
2468
2469         * platform/graphics/cg/ImageSourceCG.cpp:
2470         (WebCore::ImageSource::createFrameAtIndex):
2471
2472 2008-02-24  Dan Bernstein  <mitz@apple.com>
2473
2474         Reviewed by Darin Adler.
2475
2476         - fix http://bugs.webkit.org/show_bug.cgi?id=17471
2477           REGRESSION (r30438): Crash in deleteLineBoxes in cursor-adjusting code browsing Acid3
2478
2479         Test: http/tests/misc/object-image-error.html
2480
2481         * html/HTMLObjectElement.cpp:
2482         (WebCore::HTMLObjectElement::attach): Added an early return in case
2483         updateFromElement() has changed the object to use fallback content.
2484
2485 2008-02-24  Dan Bernstein  <mitz@apple.com>
2486
2487         Reviewed by Darin Adler.
2488
2489         - fix float positioning when a float that does not fit on the line is
2490           followed by a float that does
2491
2492         Test: fast/block/float/narrow-after-wide.html
2493
2494         * rendering/bidi.cpp:
2495         (WebCore::RenderBlock::findNextLineBreak): Changed to not position any
2496         more floats on the line once a float that does not fit is encountered.
2497         That float should be pushed to the next line, and so should all floats
2498         that follow, regardless of whether they can fit on the current line.
2499
2500 2008-02-24  Darin Adler  <darin@apple.com>
2501
2502         Reviewed by Sam.
2503
2504         - fix http://bugs.webkit.org/show_bug.cgi?id=16770
2505           Acid3 expects :visited styled links to restyle on iframe load
2506
2507         Disentangle global history updating from the back/forward history.
2508         There are many cases where we don't want to create a new back/forward
2509         item, but we do still want to add to the global history (used for visited
2510         link coloring) in those cases.
2511
2512         Test: fast/history/subframe-is-visited.html
2513
2514         * loader/FrameLoader.cpp:
2515         (WebCore::FrameLoader::updateGlobalHistory): Renamed from
2516         addHistoryForCurrentLocation and removed the back/forward handling.
2517         (WebCore::FrameLoader::updateHistoryForStandardLoad): Streamlined logic a
2518         bit. Replaced call to addHistoryForCurrentLocation with a call to
2519         addBackForwardItemClippedAtTarget. Added an unconditional call to
2520         updateGlobalHistory.
2521         (WebCore::FrameLoader::updateHistoryForClientRedirect): Added a FIXME;
2522         why doesn't this function update global history?
2523         (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Ditto.
2524         (WebCore::FrameLoader::updateHistoryForReload): Replaced the direct call
2525         the client with a call to the new updateGlobalHistory function.
2526         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Did
2527         the same changes as for updateHistoryForStandardLoad.
2528         * loader/FrameLoader.h: More of the same.
2529
2530         * loader/FrameLoaderClient.h: Removed updateGlobalHistoryForReload and
2531         renamed updateGlobalHistoryForStandardLoad to updateGlobalHistory.
2532
2533         * svg/graphics/SVGImageEmptyClients.h:
2534         (WebCore::SVGEmptyFrameLoaderClient::updateGlobalHistory): Updated to
2535         match the above.
2536
2537 2008-02-23  Darin Adler  <darin@apple.com>
2538
2539         Reviewed by Sam.
2540
2541         - fix http://bugs.webkit.org/show_bug.cgi?id=17508
2542           REGRESSION (r30535): mailto regression tests failing
2543
2544         * html/HTMLFormElement.cpp:
2545         (WebCore::HTMLFormElement::submit): Restore the old logic, with its unpleasant
2546         trip through String do to the replace operation. It's inefficient, but there's
2547         no real reason to worry about the efficiency of mailto forms, since that feature
2548         is nearly obsolete.
2549
2550 2008-02-23  Darin Adler  <darin@apple.com>
2551
2552         Reviewed by Sam.
2553
2554         - replace SegmentedString's use of DeprecatedValueList with Deque
2555
2556         Testing indicates this is a slight speed-up for page loading.
2557
2558         * platform/text/SegmentedString.cpp:
2559         (WebCore::SegmentedString::length): Update to use Deque.
2560         (WebCore::SegmentedString::setExcludeLineNumbers): Ditto.
2561         (WebCore::SegmentedString::append): Ditto.
2562         (WebCore::SegmentedString::prepend): Ditto.
2563         (WebCore::SegmentedString::advanceSubstring): Ditto.
2564         (WebCore::SegmentedString::toString): Ditto.
2565         * platform/text/SegmentedString.h: Tweak formatting. Don't bother making an entire
2566         class private with a single friend. Change m_sbstrings from a DeprecatedValueList
2567         to a Deque.
2568
2569 2008-02-23  Darin Adler  <darin@apple.com>
2570
2571         Reviewed by Anders.
2572
2573         - fix http://bugs.webkit.org/show_bug.cgi?id=17506
2574           REGRESSION (r30535): ASSERTION FAILED: i < size()
2575
2576         * loader/TextResourceDecoder.cpp:
2577         (WebCore::findTextEncoding): Fix off-by-one in code that null-terminates
2578         the C string here.
2579
2580 2008-02-23  Matt Lilek  <webkit@mattlilek.com>
2581
2582         Not reviewed, build fix.
2583
2584         * platform/network/cf/FormDataStreamCFNet.cpp:
2585         (WebCore::httpBodyFromRequest):
2586         * plugins/win/PluginViewWin.cpp:
2587         (WebCore::PluginView::handlePost):
2588
2589 2008-02-23  Dan Bernstein  <mitz@apple.com>
2590
2591         - fix a typo
2592
2593         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
2594         (WebCore::GlyphPage::fill):
2595         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
2596         (WebCore::GlyphPage::fill):
2597
2598 2008-02-23  Dan Bernstein  <mitz@apple.com>
2599
2600         Reviewed by Anders Carlsson.
2601
2602         - fix GlyphPage::fill() logic for partial page fills
2603
2604         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
2605         (WebCore::GlyphPage::fill): Changed the test for non-BMP characters to
2606         work correctly when the length parameter is less than a full page size.
2607         Also updated the comment.
2608         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
2609         (WebCore::GlyphPage::fill): Ditto.
2610
2611 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
2612
2613         Reviewed by Darin Adler.
2614
2615         Move text drawing into wxcode, as we need platform-dependent
2616         APIs for drawing non-kerned text, which wx doesn't yet have.
2617         (But hopefully will, once these APIs are fleshed out on all
2618         platforms!)
2619
2620         http://bugs.webkit.org/show_bug.cgi?id=17396
2621
2622         * platform/graphics/wx/FontWx.cpp:
2623         (WebCore::Font::drawGlyphs):
2624         * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: Added.
2625         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: Added.
2626         * platform/wx/wxcode/non-kerned-drawing.h: Added.
2627         * platform/wx/wxcode/win/non-kerned-drawing.cpp: Added.
2628         * webcore-wx.bkl:
2629
2630 2008-02-23  Darin Adler  <darin@apple.com>
2631
2632         Pointed out by Mitz.
2633
2634         * loader/TextResourceDecoder.cpp:
2635         (WebCore::find): Fix a "==" that was supposed to be ">".
2636         (WebCore::findIgnoringCase): Ditto.
2637
2638 2008-02-23  Darin Adler  <darin@apple.com>
2639
2640         Reviewed by Sam.
2641
2642         * html/HTMLFormElement.cpp:
2643         (WebCore::appendEncodedString): Fix buffer overrun in the code I just landed.
2644
2645 2008-02-23  Darin Adler  <darin@apple.com>
2646
2647         Reviewed by Sam.
2648
2649         - remove all but 1 remaining use of DeprecatedCString
2650         - change FormData to start refcount at 1
2651
2652         * html/HTMLFormElement.cpp:
2653         (WebCore::appendString): Added. Helpers for Vector<char>.
2654         (WebCore::appendEncodedString): Renamed from encodeCString and changed to
2655         append to an existing Vector<char> to cut down a bit on memory allocation.
2656         (WebCore::HTMLFormElement::formData): Replace the DeprecatedCString called
2657         enc_string with a Vector<char> called encodedData. Change to use the new
2658         FormData::create function.
2659         (WebCore::HTMLFormElement::submit): Same thing, for the mailto form code.
2660
2661         * loader/TextResourceDecoder.cpp:
2662         (WebCore::find): Added. Helper for searching in char* with length.
2663         (WebCore::findIgnoringCase): Ditto.
2664         (WebCore::findTextEncoding): Added. Helper for looking up a text encoding
2665         when we have a char* with length rather than a null-terminated char*.
2666         (WebCore::findXMLEncoding): Changed to use char* and length rather than
2667         DeprecatedCString. Also fixed some things that would be one-character
2668         buffer overruns in a string that's not null-terminated.
2669         (WebCore::TextResourceDecoder::checkForCSSCharset): Change to use
2670         findTextEncoding rather than constructing a CString to pass to the
2671         TextEncodingconstructor.
2672         (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto.
2673
2674         * platform/network/FormData.cpp:
2675         (WebCore::FormData::FormData): Changed to start refcount at 1.
2676         (WebCore::FormData::create): Added.
2677         (WebCore::FormData::copy): Call adoptRef since refcount starts at 1.
2678         * platform/network/FormData.h: Made constructor private. Added create functions.
2679
2680         * platform/network/mac/ResourceRequestMac.mm:
2681         (WebCore::ResourceRequest::doUpdateResourceRequest): Call FormData::create.
2682         * xml/XMLHttpRequest.cpp:
2683         (WebCore::XMLHttpRequest::send): Ditto.
2684
2685 2008-02-23  Darin Adler  <darin@apple.com>
2686
2687         Reviewed by Anders.
2688
2689         - http://bugs.webkit.org/show_bug.cgi?id=17067
2690           eliminate attributes parameter from JSObject::put for speed/clarity
2691
2692         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2693         (WebCore::JSCSSStyleDeclaration::customPut): Remove attributes argument.
2694
2695         * bindings/js/JSCanvasPixelArrayCustom.cpp:
2696         (WebCore::JSCanvasPixelArray::indexGetter): Use early exit idiom.
2697         (WebCore::JSCanvasPixelArray::indexSetter): Moved length check into the
2698         CanvasPixelArray object, for consistency with the getter. Removed attributes
2699         argument.
2700
2701         * bindings/js/JSDOMWindowCustom.cpp:
2702         (WebCore::JSDOMWindow::customPut): Removed special case for variable
2703         initialization, which is not needed since that does use put any more.
2704         Removed attributes argument.
2705
2706         * bindings/js/JSEventTargetBase.h:
2707         (WebCore::JSEventTargetBase::putValueProperty): Removed attributes argument.
2708         (WebCore::JSEventTargetBase::put): Ditto.
2709         (WebCore::JSEventTargetPrototype::self): Removed Internal flag.
2710         * bindings/js/JSEventTargetNode.cpp:
2711         (WebCore::JSEventTargetNode::put): Removed attributes argument.
2712         (WebCore::JSEventTargetNode::putValueProperty): Ditto.
2713         * bindings/js/JSEventTargetNode.h: Ditto.
2714         * bindings/js/JSHTMLAppletElementCustom.cpp:
2715         (WebCore::JSHTMLAppletElement::customPut): Ditto.
2716         * bindings/js/JSHTMLEmbedElementCustom.cpp:
2717         (WebCore::JSHTMLEmbedElement::customPut): Ditto.
2718         * bindings/js/JSHTMLInputElementBase.cpp:
2719         (WebCore::JSHTMLInputElementBase::put): Ditto.
2720         (WebCore::JSHTMLInputElementBase::putValueProperty): Ditto.
2721         * bindings/js/JSHTMLInputElementBase.h: Ditto.
2722         * bindings/js/JSHTMLObjectElementCustom.cpp:
2723         (WebCore::JSHTMLObjectElement::customPut): Ditto.
2724         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2725         (WebCore::JSHTMLOptionsCollection::indexSetter): Ditto.
2726         * bindings/js/JSHTMLSelectElementCustom.cpp:
2727         (WebCore::JSHTMLSelectElement::indexSetter): Ditto.
2728         * bindings/js/JSHistoryCustom.cpp:
2729         (WebCore::JSHistory::customPut): Ditto.
2730         * bindings/js/JSLocation.cpp:
2731         (WebCore::JSLocation::put): Ditto.
2732         * bindings/js/JSLocation.h: Ditto.
2733         * bindings/js/JSXMLHttpRequest.cpp:
2734         (WebCore::JSXMLHttpRequest::put): Ditto.
2735         (WebCore::JSXMLHttpRequest::putValueProperty): Ditto.
2736         * bindings/js/JSXMLHttpRequest.h: Ditto.
2737
2738         * bindings/js/kjs_dom.cpp:
2739         (WebCore::getRuntimeObject): Changed return type to JSObject*.
2740         * bindings/js/kjs_dom.h: Ditto.
2741
2742         * bindings/js/kjs_events.cpp:
2743         (WebCore::JSClipboard::put): Removed attributes argument.
2744         (WebCore::JSClipboard::putValueProperty): Ditto.
2745         * bindings/js/kjs_events.h: Ditto.
2746
2747         * bindings/js/kjs_html.cpp:
2748         (WebCore::runtimeObjectGetter): Updated for change to getRuntimeObject to
2749         return a JSObject. Used early exit idiom.
2750         (WebCore::runtimeObjectPropertyGetter): Ditto.
2751         (WebCore::runtimeObjectCustomGetOwnPropertySlot): Ditto.
2752         (WebCore::runtimeObjectCustomPut): Use hasProperty to check for properties
2753         that we should put with the property syntax instead of canPut.
2754         (WebCore::runtimeObjectImplementsCall): Ditto.
2755         (WebCore::runtimeObjectCallAsFunction): Ditto.
2756         * bindings/js/kjs_html.h: Removed attributes argument to runtimeObjectCustomPut.
2757
2758         * bindings/js/kjs_window.cpp:
2759         (KJS::Window::put): Removed attributes argument.
2760         * bindings/js/kjs_window.h: Ditto.
2761
2762         * bindings/scripts/CodeGeneratorJS.pm: Removed attributes argument from put,
2763         putValueProperty, customPut, and indexSetter.
2764
2765         * html/CanvasPixelArray.h:
2766         (WebCore::CanvasPixelArray::set): Added index checking here, as in the get
2767         function. Before, the checking was done in the JavaScript bindings for set.
2768
2769 2008-02-23  Brent Fulgham  <bfulgham@gmail.com>
2770
2771         Reviewed by Adam and Darin.
2772
2773         http://bugs.webkit.org/show_bug.cgi?id=17442
2774         Correct the Windows Cairo implementation of GraphicsContext so
2775         that Windows 'WorldTransform' is kept in sync with the Cairo
2776         transormations.
2777
2778         Also corrects an uninitialized variable in the Cairo Windows
2779         image drag handler.
2780
2781         WARNING: NO TEST CASES ADDED OR CHANGED
2782
2783         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Modify
2784           methods to call GraphicsContextPlatformPrivate calls, just
2785           as is done for the CoreGraphics version.  These calls are
2786           nop's for everything but Windows.
2787         (WebCore::GraphicsContext::savePlatformState):
2788         (WebCore::GraphicsContext::restorePlatformState):
2789         (WebCore::GraphicsContext::clip):
2790         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
2791         (WebCore::GraphicsContext::translate):
2792         (WebCore::GraphicsContext::concatCTM): Re-enable for Windows
2793         (WebCore::GraphicsContext::beginTransparencyLayer):
2794         (WebCore::GraphicsContext::endTransparencyLayer):
2795         (WebCore::GraphicsContext::rotate):
2796         (WebCore::GraphicsContext::scale):
2797         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2798         * platform/graphics/win/GraphicsContextCGWin.cpp:  Move common
2799           code for handling WorldTransform calls to parent class.
2800         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add common
2801           code for handling WorldTransform calls.
2802           (WebCore::GraphicsContextPlatformPrivate::concatCTM):  Change
2803           implementation so that it only handles WorldTransform.  The
2804           Cairo update is done in GraphicsContextCairo.cpp
2805         * platform/graphics/win/GraphicsContextWin.cpp:  Call platform-private
2806           methods to keep WorldTransform in sync.
2807         (WebCore::GraphicsContextPlatformPrivate::save):
2808         (WebCore::GraphicsContextPlatformPrivate::restore):
2809         (WebCore::GraphicsContextPlatformPrivate::clip):
2810         (WebCore::GraphicsContextPlatformPrivate::scale):
2811         (WebCore::GraphicsContextPlatformPrivate::rotate):
2812         (WebCore::GraphicsContextPlatformPrivate::translate):
2813         * platform/win/DragImageCairoWin.cpp:
2814         (WebCore::createDragImageFromImage):  Correct uninitialized value
2815
2816 2008-02-23  Dan Bernstein  <mitz@apple.com>
2817
2818         Reviewed by Dave Hyatt.
2819
2820         - make non-autowrapping text clear floats
2821
2822         Test: fast/text/whitespace/nowrap-clear-float.html
2823
2824         * rendering/RenderBlock.cpp:
2825         (WebCore::RenderBlock::nextFloatBottomBelow): Renamed nearestFloat() to
2826         this and changed to avoid comparing bottom to 0 in each iteration.
2827         (WebCore::RenderBlock::getClearDelta): Updated comment for the rename.
2828         * rendering/RenderBlock.h:
2829         * rendering/bidi.cpp:
2830         (WebCore::RenderBlock::fitBelowFloats): Added. Factored out of
2831         findNextLineBreak() and simplified.
2832         (WebCore::RenderBlock::findNextLineBreak): Changed to call
2833         fitBelowFloats(). Fixed the bug by trying to fit below floats in the
2834         case of non-wrapping text. Removed some redundancy.
2835
2836 2008-02-23  Sam Weinig  <sam@webkit.org>
2837
2838         Reviewed by Oliver Hunt.
2839
2840         Fix for http://bugs.webkit.org/show_bug.cgi?id=17504
2841         Speed up DOM lists array subscription syntax by using the fast 
2842         getOwnPropertySlot and set paths
2843
2844         - 6x speed improvement on Oliver's ImageData put test.
2845
2846         * bindings/scripts/CodeGeneratorJS.pm: Add fast path for getOwnPropertySlot
2847         and put when an indexGetter or indexSetter is used.  We can not use the fast
2848         path if an overridingNameGetter is used as there would be no way to override.
2849
2850 2008-02-23  Kevin Ollivier  <kevino@theolliviers.com>
2851
2852         wx build fix after JSImageData.cpp was added.
2853
2854         * WebCoreSources.bkl:
2855
2856 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
2857
2858         Windows build fix - move ThreadCondition implementation from WebCore to WTF.
2859
2860         * WebCore.vcproj/WebCore.vcproj:
2861         * platform/win/ThreadConditionWin.cpp: Removed.
2862
2863 2008-02-23  Alexey Proskuryakov  <ap@webkit.org>
2864
2865         Reviewed by Darin.
2866
2867         Move basic threading support from WebCore to WTF.
2868
2869         One call that remains in WebCore is callOnMainThread(), and it has its own header now.
2870
2871         * ForwardingHeaders/wtf/Locker.h: Added.
2872         * ForwardingHeaders/wtf/MessageQueue.h: Added.
2873         * ForwardingHeaders/wtf/Threading.h: Added.
2874         * GNUmakefile.am:
2875         * WebCore.pro:
2876         * WebCore.vcproj/WebCore.vcproj:
2877         * WebCore.xcodeproj/project.pbxproj:
2878         * WebCoreSources.bkl:
2879         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2880         * dom/XMLTokenizer.cpp:
2881         * loader/icon/IconDatabase.cpp:
2882         (WebCore::iconDatabase):
2883         * loader/icon/IconDatabase.h:
2884         * platform/Locker.h: Removed.
2885         * platform/MainThread.h: Copied from WebCore/platform/Threading.h.
2886         (WebCore::initializeThreadingAndMainThread):
2887         * platform/MessageQueue.h: Removed.
2888         * platform/SecurityOrigin.h:
2889         * platform/Threading.h: Removed.
2890         * platform/ThreadingNone.cpp: Removed.
2891         * platform/gtk/MainThreadGtk.cpp: Copied from WebCore/platform/gtk/ThreadingGtk.cpp.
2892         * platform/gtk/ThreadingGtk.cpp: Removed.
2893         * platform/mac/MainThreadMac.mm: Copied from WebCore/platform/mac/Threading.mm.
2894         * platform/mac/Threading.mm: Removed.
2895         * platform/pthreads: Removed.
2896         * platform/pthreads/ThreadingPthreads.cpp: Removed.
2897         * platform/qt/MainThreadQt.cpp: Copied from WebCore/platform/qt/ThreadingQt.cpp.
2898         * platform/qt/ThreadingQt.cpp: Removed.
2899         * platform/sql/SQLValue.h:
2900         * platform/sql/SQLiteAuthorizer.h:
2901         * platform/sql/SQLiteDatabase.h:
2902         * platform/win/MainThreadWin.cpp: Copied from WebCore/platform/win/ThreadingWin.cpp.
2903         (WebCore::initializeThreadingAndMainThread):
2904         * platform/win/MutexWin.cpp: Removed.
2905         * platform/win/ThreadingWin.cpp: Removed.
2906         * platform/wx/MainThreadWx.cpp: Copied from WebCore/platform/wx/ThreadingWx.cpp.
2907         * platform/wx/ThreadingWx.cpp: Removed.
2908         * storage/Database.cpp:
2909         (WebCore::Database::Database):
2910         * storage/Database.h:
2911         * storage/DatabaseTask.h:
2912         * storage/DatabaseThread.h:
2913         * storage/DatabaseTracker.cpp:
2914         * storage/OriginQuotaManager.h:
2915         * storage/SQLError.h:
2916         * storage/SQLResultSet.h:
2917         * storage/SQLStatement.h:
2918         * storage/SQLStatementCallback.h:
2919         * storage/SQLStatementErrorCallback.h:
2920         * storage/SQLTransaction.h:
2921         * storage/SQLTransactionCallback.h:
2922         * storage/SQLTransactionErrorCallback.h:
2923         * webcore-wx.bkl:
2924
2925 2008-02-23  David Kilzer  <ddkilzer@apple.com>
2926
2927         Please clarify licensing for some files
2928         <http://bugs.webkit.org/show_bug.cgi?id=14970>
2929
2930         Reviewed by Darin.
2931
2932         * bindings/objc/WebScriptObject.h: Added Apple BSD-style license.
2933         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
2934         * platform/text/mac/ShapeArabic.c: Added ICU license from WebCore/icu/LICENSE.
2935
2936 2008-02-22  Justin Garcia  <justin.garcia@apple.com>
2937
2938         Reviewed by Anders Carlsson.
2939
2940         <rdar://problem/5714333> Add document.getSelection()
2941         
2942         Add a synonym for window.getSelection() that FF supports.  There were requests in
2943         this bugs dupes to also support the IE only document.selection, but IE's Selection
2944         object is too different than ours currently for that to be safe (specifically, we
2945         don't support enough of IE's TextRange methods on our DOM Range object yet). I
2946         filed <rdar://problem/5761233> to cover that.
2947
2948         * dom/Document.cpp:
2949         (WebCore::Document::getSelection): Added.
2950         * dom/Document.h:
2951         * dom/Document.idl: Ditto.  JS only since this is about web compatibility.
2952
2953 2008-02-22  Oliver Hunt  <oliver@apple.com>
2954
2955         WX build fixes
2956
2957         * WebCoreSources.bkl:
2958
2959 2008-02-22  Oliver Hunt  <oliver@apple.com>
2960
2961         Once more with the cairo/qt/wx build fixing
2962
2963         * platform/graphics/cairo/ImageBufferCairo.cpp:
2964         * platform/graphics/qt/ImageBufferQt.cpp:
2965         * platform/graphics/wx/ImageBufferWx.cpp:
2966
2967 2008-02-22  Mark Rowe  <mrowe@apple.com>
2968
2969         Windows build fix.  Add missing include of DeprecatedCString.h and sort existing includes.
2970
2971         * platform/win/PasteboardWin.cpp:
2972
2973 2008-02-22  Mark Rowe  <mrowe@apple.com>
2974
2975         Speculative Windows build fix.
2976
2977         * platform/win/ClipboardUtilitiesWin.cpp:  Add missing include of DeprecatedCString.h and sort existing includes.
2978         * platform/win/ClipboardWin.cpp:  Ditto.
2979
2980 2008-02-22  Oliver Hunt  <oliver@apple.com>
2981
2982         Build fix for windows, wx and qt
2983
2984         * html/CanvasPixelArray.h:
2985         (WebCore::CanvasPixelArray::set):
2986
2987 2008-02-22  Oliver Hunt  <oliver@apple.com>
2988
2989         Unbreak windows vcproj
2990
2991         * WebCore.vcproj/WebCore.vcproj:
2992
2993 2008-02-22  Oliver Hunt  <oliver@apple.com>
2994
2995         Reviewed by Sam W.
2996
2997         Support Canvas.getImageData and Canvas.createImageData
2998         
2999         This patch adds support for all the pixel reading portions
3000         of the HTML5 Canvas spec.  There are two new types ImageData
3001         and CanvasPixelArray which are used to provide the HTML5
3002         ImageData object, and the required semantics for assignment
3003         to the ImageData data array.
3004         
3005         We only implement the CG version of ImageBuffer::getImageData,
3006         but the logic is null safe, so this will not introduce any
3007         crashes into other platforms, unfortunately it will result in
3008         JS Object detection "lying" on non-CG platforms.
3009
3010         Tests: fast/canvas/canvas-ImageData-behaviour.html
3011                fast/canvas/canvas-getImageData.html
3012
3013         * DerivedSources.make:
3014         * GNUmakefile.am:
3015         * WebCore.pro:
3016         * WebCore.vcproj/WebCore.vcproj:
3017         * WebCore.xcodeproj/project.pbxproj:
3018         * bindings/js/JSCanvasPixelArrayCustom.cpp: Added.
3019         (WebCore::JSCanvasPixelArray::indexGetter):
3020         (WebCore::JSCanvasPixelArray::indexSetter):
3021         (WebCore::toJS):
3022         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3023         * bindings/scripts/CodeGeneratorJS.pm:
3024         * html/CanvasPixelArray.cpp: Added.
3025         (WebCore::CanvasPixelArray::create):
3026         * html/CanvasPixelArray.h: Added.
3027         (WebCore::CanvasPixelArray::data):
3028         (WebCore::CanvasPixelArray::length):
3029         (WebCore::CanvasPixelArray::set):
3030         (WebCore::CanvasPixelArray::get):
3031         * html/CanvasPixelArray.idl: Added.
3032         * html/CanvasRenderingContext2D.cpp:
3033         (WebCore::createEmptyImageData):
3034         (WebCore::CanvasRenderingContext2D::createImageData):
3035         (WebCore::CanvasRenderingContext2D::getImageData):
3036         * html/CanvasRenderingContext2D.h:
3037         * html/CanvasRenderingContext2D.idl:
3038         * html/HTMLCanvasElement.cpp:
3039         (WebCore::HTMLCanvasElement::convertLogicalToDevice):
3040         (WebCore::HTMLCanvasElement::createImageBuffer):
3041         * html/HTMLCanvasElement.h:
3042         * html/ImageData.cpp: Added.
3043         (WebCore::ImageData::create):
3044         (WebCore::ImageData::ImageData):
3045         * html/ImageData.h: Added.
3046         (WebCore::ImageData::width):
3047         (WebCore::ImageData::height):
3048         (WebCore::ImageData::data):
3049         * html/ImageData.idl: Added.
3050         * platform/graphics/ImageBuffer.h:
3051         * platform/graphics/cairo/ImageBufferCairo.cpp:
3052         (WebCore::ImageBuffer::getImageData):
3053         * platform/graphics/cg/ImageBufferCG.cpp:
3054         (WebCore::ImageBuffer::getImageData):
3055         * platform/graphics/qt/ImageBufferQt.cpp:
3056         (WebCore::ImageBuffer::getImageData):
3057         * platform/graphics/wx/ImageBufferWx.cpp:
3058         (WebCore::ImageBuffer::getImageData):
3059
3060 2008-02-22  Sam Weinig  <sam@webkit.org>
3061
3062         Rubber-stamped by Adam Roben.
3063
3064         Rid the project of the Devil known as DeprecatedString!
3065
3066         * GNUmakefile.am:
3067         * WebCore.base.exp:
3068         * WebCore.pro:
3069         * WebCore.vcproj/WebCore.vcproj:
3070         * WebCore.xcodeproj/project.pbxproj:
3071         * WebCoreSources.bkl:
3072         * dom/Node.h:
3073         * html/HTMLFormElement.cpp:
3074         * platform/DeprecatedString.cpp: Removed.
3075         * platform/DeprecatedString.h: Removed.
3076         * platform/graphics/qt/IconQt.cpp:
3077         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3078         * platform/gtk/CookieJarGtk.cpp:
3079         * platform/gtk/CursorGtk.cpp:
3080         * platform/gtk/KeyEventGtk.cpp:
3081         * platform/mac/DeprecatedStringMac.mm: Removed.
3082         * platform/network/qt/ResourceHandleQt.cpp:
3083         * platform/network/win/CookieJarWin.cpp:
3084         (WebCore::cookies):
3085         * platform/qt/ClipboardQt.cpp:
3086         * platform/qt/CookieJarQt.cpp:
3087         * platform/qt/CursorQt.cpp:
3088         * platform/symbian/DeprecatedStringSymbian.cpp: Removed.
3089         * platform/text/AtomicString.cpp:
3090         * platform/text/AtomicString.h:
3091         * platform/text/PlatformString.h:
3092         * platform/text/String.cpp:
3093         * platform/text/StringImpl.cpp:
3094         * platform/text/qt/StringQt.cpp:
3095         (WebCore::String::String):
3096         * platform/text/wx/StringWx.cpp:
3097         * platform/win/BString.cpp:
3098         * platform/win/BString.h:
3099         * platform/win/PasteboardWin.cpp:
3100
3101 2008-02-22  Sam Weinig  <sam@webkit.org>
3102
3103         Reviewed by Geoff Garen.
3104
3105         - Remove use of DeprecatedString in CSSStyleSelector.
3106
3107         * css/CSSStyleSelector.cpp:
3108         (WebCore::findHash): Removed.  Use find instead.
3109         (WebCore::findSlashDotDotSlash): Changed to take a UChar* and a length.
3110         (WebCore::findSlashSlash): Ditto.
3111         (WebCore::findSlashDotSlash): Ditto.
3112         (WebCore::containsColonSlashSlash): Ditto.
3113         (WebCore::cleanPath): Change to operate on a String.
3114         (WebCore::checkPseudoState): Changed to use a Vector as a buffer.
3115
3116 2008-02-22  Geoffrey Garen  <ggaren@apple.com>
3117
3118         Reviewed by Sam Weinig.
3119         
3120         Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and
3121         associated objects @ www.viamichelin.it, which was probably an underlying
3122         cause of <rdar://problem/5744037> Gmail out of memory (17455)
3123         
3124         If SubresourceLoader::create returned NULL, we would ref() / gcProtect()
3125         the XMLHttpRequest but think we hadn't, therefore never
3126         calling deref() / gcUnprotect().
3127         
3128         This could happen at gmail.com, since gmail.com attempts to send
3129         XMLHttpRequests from unload handlers in order to gather usage statistics.
3130         (According to comments in the code, SubresourceLoader::create returns
3131         NULL when called from an unload handler.)
3132
3133         The solution is to ref() / gcProtect() only if SubresourceLoader::create
3134         doesn't return NULL. This make sense, since we only need to protect the
3135         request as long as it has an outstanding network transaction.
3136         
3137         * xml/XMLHttpRequest.cpp:
3138         (WebCore::XMLHttpRequest::XMLHttpRequest):
3139         (WebCore::XMLHttpRequest::send):
3140
3141 2008-02-22  Darin Adler  <darin@apple.com>
3142
3143         Reviewed, tweaked and landed by Sam.
3144
3145         - Make RegularExpression operate on Strings instead of DeprecatedStrings.
3146
3147         * dom/DOMImplementation.cpp:
3148         (WebCore::DOMImplementation::isXMLMIMEType): Use string instead of DeprecatedString
3149         to build up the RegularExpression.
3150         * page/Frame.cpp:
3151         (WebCore::createRegExpForLabels): Use String instead of DeprecatedString.
3152         (WebCore::Frame::searchForLabelsAboveCell): Ditto.
3153         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
3154         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
3155         * page/Frame.h:
3156         * page/mac/FrameMac.mm:
3157         (WebCore::regExpForLabels): Ditto.
3158         (WebCore::Frame::searchForNSLabelsAboveCell): Ditto.
3159         (WebCore::Frame::searchForLabelsBeforeElement): Ditto.
3160         (WebCore::Frame::matchLabelsAgainstElement): Ditto.
3161
3162         * platform/text/RegularExpression.cpp:
3163         (WebCore::RegularExpression::Private::Private):
3164         (WebCore::RegularExpression::Private::compile):
3165         (WebCore::RegularExpression::RegularExpression):
3166         (WebCore::RegularExpression::operator=):
3167         (WebCore::RegularExpression::pattern):
3168         (WebCore::RegularExpression::match):
3169         (WebCore::RegularExpression::search):
3170         (WebCore::RegularExpression::searchRev):
3171         (WebCore::replace): Added.
3172         * platform/text/RegularExpression.h:
3173         Change functions to take Strings as input instead of DeprecatedStrings and
3174         reduce the complexity of the class by removing unneeded globbing support.
3175
3176 2008-02-22  Jon Honeycutt  <jhoneycutt@apple.com>
3177
3178         Reviewed by Anders.
3179
3180         <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page
3181         during stress test (after only 5 min) - null dereference
3182
3183         Full-frame plug-ins create PluginStream objects without loaders, as the
3184         PluginView receives the loading callbacks. We were trying to call
3185         setDefersLoading on these null pointers.
3186
3187         * plugins/PluginStream.cpp:
3188         (WebCore::PluginStream::startStream): Add null check.
3189         (WebCore::PluginStream::destroyStream): Same.
3190         (WebCore::PluginStream::deliverData): Same.
3191
3192 2008-02-22  Darin Adler  <darin@apple.com>
3193
3194         Reviewed and tweaked by Jon Honeycutt. Reviewed and landed by Sam.
3195
3196         - Remove uses of DeprecatedString in Windows plugin code.
3197
3198         * plugins/win/PluginPackageWin.cpp:
3199         (WebCore::getVersionInfo): Cleanup formatting.
3200         (WebCore::PluginPackage::freeLibraryTimerFired): Remove un-needed variable name.
3201         (WebCore::PluginPackage::storeFileVersion): Move casts.
3202         (WebCore::PluginPackage::fetchInfo): Use OwnArrayPtr and switch to more efficient
3203         use of Vectors.
3204         (WebCore::PluginPackage::load): Fix whitespace.
3205         (WebCore::PluginPackage::hash): Make the hashCodes const
3206         * plugins/win/PluginViewWin.cpp:
3207         (WebCore::makeURL): Use String instead of DeprecatedString.
3208         (WebCore::parseRFC822HeaderFields): Ditto.
3209         (WebCore::PluginView::handlePost): Ditto.
3210         (WebCore::PluginView::status): Ditto.
3211
3212 2008-02-22  Darin Adler  <darin@apple.com>
3213
3214         Reviewed, tweaked and landed by Sam.
3215
3216         - Don't use DeprecatedString in HTMLTokenizer.
3217
3218         * html/HTMLTokenizer.cpp:
3219         (WebCore::HTMLTokenizer::finish):
3220         * platform/text/PlatformString.h:
3221         (WebCore::find):
3222
3223 2008-02-21  Sam Weinig  <sam@webkit.org>
3224
3225         Reviewed by Anders Carlsson.
3226
3227         Fix for <rdar://problem/5757946>
3228
3229         - Parse URLs before checking whether they are javascript: urls
3230           (which require security checks).
3231
3232         * bindings/js/JSAttrCustom.cpp:
3233         (WebCore::JSAttr::setValue):
3234         * bindings/js/JSElementCustom.cpp:
3235         (WebCore::allowSettingSrcToJavascriptURL):
3236         * bindings/js/JSHTMLFrameElementCustom.cpp:
3237         (WebCore::allowSettingJavascriptURL):
3238         * bindings/js/JSHTMLIFrameElementCustom.cpp:
3239         (WebCore::JSHTMLIFrameElement::setSrc):
3240
3241 2008-02-21  Ada Chan  <adachan@apple.com>
3242
3243         <rdar://problem/5757873> Buffer overrun in DeprecatedCString::find() in WebCore
3244         We could get a buffer overrun in DeprecatedCString::find() if the end of the
3245         string matches a beginning portion of the substring, for example, if string is
3246         "a" but the substring is "ab".
3247         The code as is also will not match things correctly under certain situations
3248         since the inner while loop increments the index. For example, we wouldn't find
3249         a match if the string is "aab..." and the substring is "ab".  Changed the 
3250         inner while loop to increment a temporary index into str.
3251         
3252         Test: fast/loader/charset-parse.html
3253
3254         Reviewed by Dan Berstein.
3255
3256         * platform/DeprecatedCString.cpp:
3257         (WebCore::DeprecatedCString::find):
3258
3259 2008-02-21  David Hyatt  <hyatt@apple.com>
3260
3261         Fix for bug 17301.  CSS media queries need to use the correct viewport
3262         when contained in documents inside iframes (rather than always using the
3263         top-level document's viewport).  CSS media queries based on the viewport
3264         also needed to be dynamic and update as you resize the window (this is
3265         a HOT feature). :)
3266
3267         This patch gets Acid3 up to 86/100 with 3 colored boxes filled in.
3268
3269         Reviewed by olliej
3270
3271         Added fast/media/viewport-media-query.html
3272
3273         * css/CSSStyleSelector.cpp:
3274         (WebCore::CSSStyleSelector::CSSStyleSelector):
3275         (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
3276         (WebCore::CSSStyleSelector::affectedByViewportChange):
3277         * css/CSSStyleSelector.h:
3278         (WebCore::MediaQueryResult::MediaQueryResult):
3279         * css/MediaQueryEvaluator.cpp:
3280         (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
3281         (WebCore::MediaQueryEvaluator):
3282         (WebCore::MediaQueryEvaluator::eval):
3283         (WebCore::colorMediaFeatureEval):
3284         (WebCore::monochromeMediaFeatureEval):
3285         (WebCore::device_aspect_ratioMediaFeatureEval):
3286         (WebCore::device_pixel_ratioMediaFeatureEval):
3287         (WebCore::gridMediaFeatureEval):
3288         (WebCore::device_heightMediaFeatureEval):
3289         (WebCore::device_widthMediaFeatureEval):
3290         (WebCore::heightMediaFeatureEval):
3291         (WebCore::widthMediaFeatureEval):
3292         (WebCore::min_colorMediaFeatureEval):
3293         (WebCore::max_colorMediaFeatureEval):
3294         (WebCore::min_monochromeMediaFeatureEval):
3295         (WebCore::max_monochromeMediaFeatureEval):
3296         (WebCore::min_device_aspect_ratioMediaFeatureEval):
3297         (WebCore::max_device_aspect_ratioMediaFeatureEval):
3298         (WebCore::min_device_pixel_ratioMediaFeatureEval):
3299         (WebCore::max_device_pixel_ratioMediaFeatureEval):
3300         (WebCore::min_heightMediaFeatureEval):
3301         (WebCore::max_heightMediaFeatureEval):
3302         (WebCore::min_widthMediaFeatureEval):
3303         (WebCore::max_widthMediaFeatureEval):
3304         (WebCore::min_device_heightMediaFeatureEval):
3305         (WebCore::max_device_heightMediaFeatureEval):
3306         (WebCore::min_device_widthMediaFeatureEval):
3307         (WebCore::max_device_widthMediaFeatureEval):
3308         * css/MediaQueryEvaluator.h:
3309         * css/MediaQueryExp.cpp:
3310         (WebCore::MediaQueryExp::~MediaQueryExp):
3311         * css/MediaQueryExp.h:
3312         (WebCore::MediaQueryExp::value):
3313         (WebCore::MediaQueryExp::isViewportDependent):
3314         * html/HTMLMediaElement.cpp:
3315         (WebCore::HTMLMediaElement::pickMedia):
3316         * page/FrameView.cpp:
3317         (WebCore::FrameView::layout):
3318
3319 2008-02-21  Anders Carlsson  <andersca@apple.com>
3320
3321         Reviewed by Sam.
3322
3323         Make more classes start out with a refcount of 1.
3324
3325         * dom/QualifiedName.cpp:
3326         (WebCore::QNameComponentsTranslator::translate):
3327         (WebCore::QualifiedName::QualifiedName):
3328         * dom/QualifiedName.h:
3329         (WebCore::QualifiedName::QualifiedNameImpl::create):
3330         (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
3331         * history/BackForwardList.cpp:
3332         (WebCore::BackForwardList::BackForwardList):
3333         * history/BackForwardList.h:
3334         (WebCore::BackForwardList::create):
3335         * page/Page.cpp:
3336         (WebCore::Page::Page):
3337         * platform/text/CString.cpp:
3338         (WebCore::CString::init):
3339         (WebCore::CString::newUninitialized):
3340         (WebCore::CString::copyBufferIfNeeded):
3341         * platform/text/CString.h:
3342         (WebCore::CStringBuffer::create):
3343         (WebCore::CStringBuffer::CStringBuffer):
3344
3345 2008-02-21  Kevin Ollivier  <kevino@theolliviers.com>
3346
3347         wx build fix for the domString() -> string() rename in r30443.
3348
3349         * platform/graphics/wx/FontPlatformDataWx.cpp:
3350         (WebCore::FontPlatformData::FontPlatformData):
3351
3352 2008-02-21  Antti Koivisto  <antti@apple.com>
3353
3354         Reviewed by Sam Weinig.
3355
3356         <rdar://problem/5753789>
3357         REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang)
3358         
3359         Ensure all versions of allowsAccessFrom are inlined to single functions. 
3360         This is a 2% win in browser hosted Sunspider. 
3361
3362         * bindings/js/kjs_window.cpp:
3363         (KJS::Window::allowsAccessFrom):
3364         (KJS::Window::allowsAccessFromPrivate):
3365         * bindings/js/kjs_window.h:
3366
3367 2008-02-21  Dan Bernstein  <mitz@apple.com>
3368
3369         Reviewed by Sam Weinig.
3370
3371         - minor cleanup
3372
3373         * rendering/bidi.cpp:
3374         (WebCore::bidiNext): Removed redundant isBR() check -- isText() returns
3375         true for RenderLineBreak.
3376         (WebCore::bidiFirst): Ditto.
3377         (WebCore::shouldSkipWhitespaceAfterStartObject):
3378         (WebCore::RenderBlock::findNextLineBreak):
3379
3380 2008-02-21  Geoffrey Garen  <ggaren@apple.com>
3381
3382         Reviewed by David Harrison.
3383         
3384         Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at 
3385         WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget
3386
3387         Test: fast/dom/script-element-without-frame-crash.html
3388
3389         * html/HTMLTokenizer.cpp:
3390         (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was
3391         accidentally removed in r30325.
3392
3393 2008-02-21  Rodney Dawes  <dobey@wayofthemonkey.com>
3394
3395         GTK+ build fix. s/domString()/string()/
3396
3397         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
3398         (FontPlatformData::FontPlatformData):
3399
3400 2008-02-20  Dan Bernstein  <mitz@apple.com>
3401
3402         Reviewed by Dave Hyatt.
3403
3404         - fix http://bugs.webkit.org/show_bug.cgi?id=17465
3405           REGRESSION: <DIV> tokenized into Div if still searching for DOCTYPE
3406
3407         Test: fast/tokenizer/doctype-search-reset.html
3408
3409         * html/HTMLTokenizer.cpp:
3410         (WebCore::HTMLTokenizer::parseTag):
3411
3412 2008-02-20  Dan Bernstein  <mitz@apple.com>
3413
3414         Reviewed by Dave Hyatt.
3415
3416         - fix http://bugs.webkit.org/show_bug.cgi?id=17464
3417           REGRESSION: Crash in RenderBlock::findNextLineBreak reading r30444 commit email in GMail
3418
3419         Test: fast/text/wbr-in-pre-crash.html
3420
3421         * rendering/bidi.cpp:
3422         (WebCore::RenderBlock::findNextLineBreak):
3423
3424 2008-02-20  Oliver Hunt  <oliver@apple.com>
3425
3426         Reviewed by Hyatt.
3427
3428         Bug 17303: Canvas crash in ImageBuffer
3429
3430         We handle a null GraphicsContext everywhere, but we weren't checking for 
3431         a null ImageBuffer, which is what will result in a null GraphicsContext in
3432         the first place.
3433
3434         Test: fast/canvas/access-zero-sized-canvas.html
3435
3436         * html/HTMLCanvasElement.cpp:
3437
3438 2008-02-20  David Hyatt  <hyatt@apple.com>
3439
3440         Fix the layout test failure that never should have passed in the first
3441         place by making changes to media lists actually result in the recomputation
3442         of the style selector.  Now it passes for the right reasons and not because
3443         of dumb luck.
3444
3445         Reviewed by Sam Weinig
3446
3447         * css/MediaList.cpp:
3448         (WebCore::MediaList::deleteMedium):
3449         (WebCore::MediaList::setMediaText):
3450         (WebCore::MediaList::appendMedium):
3451         (WebCore::MediaList::notifyChanged):
3452         * css/MediaList.h:
3453         * dom/Document.cpp:
3454         (WebCore::Document::attach):
3455
3456 2008-02-20  Darin Adler  <darin@apple.com>
3457
3458         Reviewed, tweaked and landed by Sam.
3459
3460         - make markup functions not use DeprecatedString.
3461
3462         * editing/markup.cpp:
3463         (WebCore::append): Added.
3464         (WebCore::escapeContentText): Build up string using a Vector.
3465         (WebCore::appendStartMarkup): Use String instead of DeprecatedString.
3466
3467 2008-02-20  Darin Adler  <darin@apple.com>
3468
3469         Reviewed, tweaked and landed by Sam.
3470
3471         - make TextIterator use a Vector instead of a DeprecatedString.
3472
3473         * editing/TextIterator.cpp:
3474         (WebCore::CharacterIterator::string): Build up the String using a
3475         Vector.
3476         (WebCore::WordAwareIterator::advance): Switch to using Vector functions.
3477         (WebCore::WordAwareIterator::length): Ditto.
3478         (WebCore::WordAwareIterator::characters): Ditto.
3479         * editing/TextIterator.h: Use a Vector<UChar> for the buffer instead
3480         of DeprecatedString.
3481
3482 2008-02-20  Darin Adler  <darin@apple.com>
3483
3484         Reviewed, tweaked and landed by Sam.
3485
3486         - make HTMLInterchange return a String instead of a DeprecatedString
3487
3488         * editing/HTMLInterchange.cpp:
3489         (WebCore::): Return a String from convertedSpaceString.
3490         (WebCore::convertHTMLTextToInterchangeFormat): Use a Vector instead of
3491         a DeprecatedString to build up the return String.
3492         * editing/HTMLInterchange.h:
3493
3494 2008-02-20  Eric Seidel  <eric@webkit.org>
3495
3496         Reviewed by Oliver.
3497
3498         Remove m_drawingContext and change m_data to m_imageBuffer
3499
3500         * html/HTMLCanvasElement.cpp:
3501         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
3502         (WebCore::HTMLCanvasElement::reset):
3503         (WebCore::HTMLCanvasElement::paint):
3504         (WebCore::HTMLCanvasElement::createImageBuffer):
3505         (WebCore::HTMLCanvasElement::buffer):
3506         (WebCore::HTMLCanvasElement::createPlatformImage):
3507         * html/HTMLCanvasElement.h:
3508
3509 2008-02-20  Anders Carlsson  <andersca@apple.com>
3510
3511         Reviewed by Sam.
3512
3513         Rename AtomicString::domString() to AtomicString::string().
3514         
3515         * css/CSSComputedStyleDeclaration.cpp:
3516         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3517         * css/CSSFontSelector.cpp:
3518         (WebCore::CSSFontSelector::getFontData):
3519         * dom/Attr.cpp:
3520         (WebCore::Attr::createTextChild):
3521         * dom/Comment.cpp:
3522         (WebCore::Comment::nodeName):
3523         * dom/Document.cpp:
3524         (WebCore::Document::recalcStyleSelector):
3525         (WebCore::Document::setHTMLWindowEventListener):
3526         (WebCore::Document::formElementsState):
3527         * dom/StyledElement.cpp:
3528         (WebCore::StyledElement::parseMappedAttribute):
3529         * dom/Text.cpp:
3530         (WebCore::Text::nodeName):
3531         * editing/SelectionController.cpp:
3532         (WebCore::SelectionController::debugRenderer):
3533         * html/HTMLCollection.cpp:
3534         (WebCore::HTMLCollection::checkForNameMatch):
3535         * html/HTMLElement.cpp:
3536         (WebCore::HTMLElement::nodeName):
3537         (WebCore::HTMLElement::setHTMLEventListener):
3538         * html/HTMLFormCollection.cpp:
3539         (WebCore::HTMLFormCollection::getNamedFormItem):
3540         * html/HTMLImageElement.cpp:
3541         (WebCore::HTMLImageElement::parseMappedAttribute):
3542         (WebCore::HTMLImageElement::isURLAttribute):
3543         * html/HTMLLinkElement.cpp:
3544         (WebCore::HTMLLinkElement::parseMappedAttribute):
3545         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
3546         * html/HTMLObjectElement.cpp:
3547         (WebCore::HTMLObjectElement::isURLAttribute):
3548         (WebCore::HTMLObjectElement::containsJavaApplet):
3549         * html/HTMLParamElement.cpp:
3550         (WebCore::HTMLParamElement::isURLAttribute):
3551         * html/HTMLParser.cpp:
3552         (WebCore::HTMLParser::handleIsindex):
3553         * html/HTMLScriptElement.cpp:
3554         (WebCore::HTMLScriptElement::insertedIntoDocument):
3555         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
3556         * html/HTMLStyleElement.cpp:
3557         (WebCore::HTMLStyleElement::parseMappedAttribute):
3558         * html/HTMLTokenizer.cpp:
3559         (WebCore::HTMLTokenizer::parseTag):
3560         * html/HTMLViewSourceDocument.cpp:
3561         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
3562         * loader/FrameLoader.cpp:
3563         (WebCore::FrameLoader::saveDocumentState):
3564         * page/FrameTree.cpp:
3565         (WebCore::FrameTree::uniqueChildName):
3566         * platform/text/AtomicString.h:
3567         (WebCore::AtomicString::string):
3568         (WebCore::AtomicString::contains):
3569         (WebCore::AtomicString::find):
3570         (WebCore::AtomicString::startsWith):
3571         (WebCore::AtomicString::endsWith):
3572         * rendering/RenderPartObject.cpp:
3573         (WebCore::RenderPartObject::updateWidget):
3574         * svg/SVGElement.cpp:
3575         (WebCore::SVGElement::addSVGEventListener):
3576         * svg/SVGSVGElement.cpp:
3577         (WebCore::SVGSVGElement::addSVGWindowEventListener):
3578         * xml/XPathFunctions.cpp:
3579         (WebCore::XPath::FunLocalName::evaluate):
3580         (WebCore::XPath::FunNamespaceURI::evaluate):
3581         (WebCore::XPath::FunName::evaluate):
3582
3583 2008-02-20  Brent Fulgham  <bfulgham@gmail.com>
3584
3585         Reviewed by Dan.
3586
3587         http://bugs.webkit.org/show_bug.cgi?id=17336
3588         Provide implementations for Windows (Cairo) build of WebKit that
3589         handles font formatting.
3590         - Split font implementation files to allow maximal code sharing
3591           between CG and Cairo back-ends. 
3592
3593         * WebCore.vcproj/WebCore.vcproj:
3594         * platform/graphics/SimpleFontData.h:   Add signatures for private win
3595           initialization functions.
3596         * platform/graphics/win/FontCacheWin.cpp:
3597         (WebCore::FontCache::platformInit):
3598         (WebCore::FontCache::createFontPlatformData):
3599         * platform/graphics/win/FontCairoWin.cpp: Removed.  Universal version
3600           is now part of platform/graphics/cairo.
3601         * platform/graphics/win/FontCustomPlatformDataCairo.cpp: Added.
3602         (WebCore::FontCustomPlatformDataCairo::~FontCustomPlatformDataCairo):
3603         (WebCore::FontCustomPlatformDataCairo::fontPlatformData):
3604         (WebCore::releaseData):
3605         (WebCore::createFontCustomPlatformData):
3606         * platform/graphics/win/FontCustomPlatformDataCairo.h: Added.
3607         (WebCore::FontCustomPlatformDataCairo::FontCustomPlatformDataCairo):
3608         * platform/graphics/win/FontPlatformData.h:
3609         (WebCore::FontPlatformData::FontPlatformData):
3610         (WebCore::FontPlatformData::fontFace):
3611         (WebCore::FontPlatformData::scaledFont):
3612         (WebCore::FontPlatformData::operator==):
3613         * platform/graphics/win/FontPlatformDataCGWin.cpp: Copied from WebCore/platform/graphics/win/FontPlatformDataWin.cpp.
3614         (WebCore::FontPlatformData::platformDataInit):
3615         * platform/graphics/win/FontPlatformDataCairoWin.cpp: Added.
3616         (WebCore::FontPlatformData::platformDataInit):
3617         (WebCore::FontPlatformData::FontPlatformData):
3618         (WebCore::FontPlatformData::setFont):
3619         * platform/graphics/win/FontPlatformDataWin.cpp:  Moved CG-specific
3620           code to FontPlatformDataCG.cpp.
3621         (WebCore::FontPlatformData::FontPlatformData):
3622         * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
3623         * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: Copied from WebCore/platform/graphics/win/GlyphPageTreeNodeWin.cpp.
3624         (WebCore::GlyphPage::fill):
3625         * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Removed.  Replaced
3626           with CG- and Cairo-specific versions.
3627         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3628         (WebCore::SimpleFontData::platformInit):
3629         (WebCore::SimpleFontData::platformDestroy):
3630         (WebCore::SimpleFontData::platformWidthForGlyph):
3631         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
3632         (WebCore::SimpleFontData::platformInit):
3633         (WebCore::SimpleFontData::platformDestroy):
3634         (WebCore::SimpleFontData::platformWidthForGlyph):
3635         (WebCore::SimpleFontData::setFont):
3636         * platform/graphics/win/SimpleFontDataWin.cpp:
3637         (WebCore::SimpleFontData::initGDIFont):
3638         (WebCore::SimpleFontData::platformCommonDestroy):
3639         (WebCore::SimpleFontData::widthForGDIGlyph):
3640
3641 2008-02-20  Darin Adler  <darin@apple.com>
3642
3643         Reviewed by Sam.
3644
3645         * dom/Node.h: Took out unneeded forward declaration of TextStream.
3646
3647 2008-02-20  Darin Adler  <darin@apple.com>
3648
3649         Reviewed by Sam.
3650
3651         * rendering/RenderObject.h: Took out unneeded forward declaration of TextStream.
3652
3653 2008-02-20  David Hyatt  <hyatt@apple.com>
3654
3655         Fix for bug 16760, incorrect <object> MIME type handling and fallback
3656         handling.
3657
3658         Reviewed by darin
3659
3660         * html/HTMLImageLoader.cpp:
3661         (WebCore::HTMLImageLoader::notifyFinished):
3662         If the image had an error, make sure to do <object> fallback.
3663
3664         * html/HTMLObjectElement.cpp:
3665         (WebCore::HTMLObjectElement::renderFallbackContent):
3666         Before doing fallback check if there is a MIME type mismatch between
3667         an image type and a non-image type.  If so, detach and re-attach after
3668         storing the correct MIME type.
3669
3670         * loader/loader.cpp:
3671         (WebCore::Loader::didReceiveData):
3672         Consider it an error when a 404 is encountered on a CachedResource load.
3673
3674 2008-02-20  Anders Carlsson  <andersca@apple.com>
3675