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