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