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