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