* platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
[WebKit-https.git] / WebCore / ChangeLog
1 2007-10-28  Darin Adler  <darin@apple.com>
2
3         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
4         We don't include "config.h" in headers. Hope this desn't break
5         the non-SVG build again.
6
7 2007-10-28  Eric Seidel  <eric@webkit.org>
8
9         Build fix for non-SVG build, no review.
10
11         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h:
12         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm:
13
14 2007-10-28  Eric Seidel  <eric@webkit.org>
15
16         Reviewed by Oliver.
17
18         Push SVGResourceFilter platform specific data down into m_platformData
19         in preparation for implementing a non-mac filter solution.
20         
21         Also update a very old email address in copyright headers
22
23         * WebCore.xcodeproj/project.pbxproj:
24         * platform/graphics/FloatPoint3D.cpp:
25         (WebCore::FloatPoint3D::FloatPoint3D):
26         * platform/graphics/FloatPoint3D.h:
27         * platform/graphics/svg/SVGResourceFilter.cpp:
28         (WebCore::SVGResourceFilter::SVGResourceFilter):
29         * platform/graphics/svg/SVGResourceFilter.h:
30         (WebCore::SVGResourceFilter::platformData):
31         (WebCore::SVGResourceFilter::effects):
32         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
33         (WebCore::SVGResourceFilter::createPlatformData):l
34         (WebCore::SVGResourceFilter::prepareFilter):
35         (WebCore::SVGResourceFilter::applyFilter):
36         * platform/graphics/svg/filters/SVGDistantLightSource.h:
37         * platform/graphics/svg/filters/SVGFEBlend.cpp:
38         * platform/graphics/svg/filters/SVGFEBlend.h:
39         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
40         * platform/graphics/svg/filters/SVGFEColorMatrix.h:
41         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
42         * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
43         * platform/graphics/svg/filters/SVGFEComposite.cpp:
44         * platform/graphics/svg/filters/SVGFEComposite.h:
45         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
46         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
47         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
48         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
49         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
50         * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
51         * platform/graphics/svg/filters/SVGFEFlood.cpp:
52         * platform/graphics/svg/filters/SVGFEFlood.h:
53         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
54         * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
55         * platform/graphics/svg/filters/SVGFEImage.cpp:
56         * platform/graphics/svg/filters/SVGFEImage.h:
57         * platform/graphics/svg/filters/SVGFEMerge.cpp:
58         * platform/graphics/svg/filters/SVGFEMerge.h:
59         * platform/graphics/svg/filters/SVGFEMorphology.cpp:
60         * platform/graphics/svg/filters/SVGFEMorphology.h:
61         * platform/graphics/svg/filters/SVGFEOffset.cpp:
62         * platform/graphics/svg/filters/SVGFEOffset.h:
63         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
64         * platform/graphics/svg/filters/SVGFESpecularLighting.h:
65         * platform/graphics/svg/filters/SVGFETile.h:
66         * platform/graphics/svg/filters/SVGFETurbulence.cpp:
67         * platform/graphics/svg/filters/SVGFETurbulence.h:
68         * platform/graphics/svg/filters/SVGFilterEffect.cpp:
69         * platform/graphics/svg/filters/SVGFilterEffect.h:
70         * platform/graphics/svg/filters/SVGLightSource.cpp:
71         * platform/graphics/svg/filters/SVGLightSource.h:
72         * platform/graphics/svg/filters/SVGPointLightSource.h:
73         * platform/graphics/svg/filters/SVGSpotLightSource.h:
74         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
75         (WebCore::SVGFEBlend::getCIFilter):
76         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
77         (WebCore::SVGFEColorMatrix::getCIFilter):
78         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
79         (WebCore::SVGFEComponentTransfer::getCIFilter):
80         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
81         (WebCore::SVGFEComposite::getCIFilter):
82         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
83         (WebCore::SVGFEDiffuseLighting::getCIFilter):
84         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
85         (WebCore::SVGFEDisplacementMap::getCIFilter):
86         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
87         (WebCore::SVGFEFlood::getCIFilter):
88         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
89         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
90         (WebCore::SVGFEImage::getCIFilter):
91         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
92         (WebCore::SVGFEMerge::getCIFilter):
93         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
94         (WebCore::SVGFESpecularLighting::getCIFilter):
95         * platform/graphics/svg/mac: Added.
96         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added.
97         * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added.
98         (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac):
99         (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac):
100         (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack):
101         (WebCore::alphaImageForImage):
102         (WebCore::SVGResourceFilterPlatformDataMac::imageForName):
103         (WebCore::SVGResourceFilterPlatformDataMac::setImageForName):
104         (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage):
105         (WebCore::SVGResourceFilterPlatformDataMac::inputImage):
106
107 2007-10-28  Alexey Proskuryakov  <ap@webkit.org>
108
109         Reviewed by Adam Roben.
110
111         http://bugs.webkit.org/show_bug.cgi?id=15217
112         Plugin complains that xpcom_core.dll missing
113
114         * plugins/win/PluginDatabaseWin.cpp:
115         (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll.
116
117 2007-10-28  Timothy Hatcher  <timothy@apple.com>
118
119         Reviewed by Adam.
120
121         Pass the Document's domain to InspectorController:didOpenDatabase. This matches
122         what the Inspector shows for other resources.
123
124         * storage/Database.cpp:
125         (WebCore::Database::openDatabase):
126
127         * dom/Document.h: Remove KURL.h, no longer needed.
128
129 2007-10-28  Timothy Hatcher  <timothy@apple.com>
130
131         Reviewed by Adam.
132
133         Bug 15728: Selected Resource background image gradient has banding
134         http://bugs.webkit.org/show_bug.cgi?id=15728
135
136         - Reduced images to 1px wide that are tiled horizontally in CSS.
137         - Corrected the -webkit-background-size usage to specify auto for the width.
138
139         * page/inspector/Images/attachedShadow.png:
140         * page/inspector/Images/bottomShadow.png:
141         * page/inspector/Images/darkShadow.png:
142         * page/inspector/Images/gradient.png:
143         * page/inspector/Images/gradientHighlight.png:
144         * page/inspector/Images/gradientHighlightBottom.png:
145         * page/inspector/Images/sidebarSelection.png:
146         * page/inspector/Images/sidebarSelectionBlurred.png:
147         * page/inspector/Images/sidebarSelectionBlurredTall.png:
148         * page/inspector/Images/sidebarSelectionGray.png:
149         * page/inspector/Images/sidebarSelectionGrayTall.png:
150         * page/inspector/Images/sidebarSelectionTall.png:
151         * page/inspector/inspector.css:
152
153 2007-10-27  Timothy Hatcher  <timothy@apple.com>
154
155         Reviewed by Adam.
156
157         Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline
158         http://bugs.webkit.org/show_bug.cgi?id=15727
159
160         Add one window resize listener and call the new resize function on the currentPanel.
161         Also call the currentPanel's resize function when resizing the sidebar.
162
163         * page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when
164           the panel is shown and when resizing the DOM sidebar.
165         * page/inspector/FontPanel.js: Implement resize.
166         * page/inspector/NetworkPanel.js: Ditto.
167         * page/inspector/inspector.js: Add a window resize listener.
168
169 2007-10-27  Maciej Stachowiak  <mjs@apple.com>
170
171         Reviewed by Oliver.
172         
173         - update for HashTable changes
174
175         * bindings/js/JSSVGPODTypeWrapper.h:
176         * dom/Document.h:
177         * dom/QualifiedName.cpp:
178         * dom/StyledElement.cpp:
179         * ksvg2/svg/SVGAnimatedTemplate.h:
180         * platform/FontCache.cpp:
181         * platform/StringHash.h:
182         (WTF::):
183         * platform/TextEncodingRegistry.cpp:
184         * platform/graphics/IntSizeHash.h:
185         (WTF::):
186         * plugins/win/PluginPackageWin.h:
187
188 2007-10-28  Alp Toker  <alp@atoker.com>
189
190         Reviewed by Adam Roben.
191
192         http://bugs.webkit.org/show_bug.cgi?id=15646
193         [GTK] caretBlinkFrequency is hard-coded in Frame.cpp
194
195         Abstract caretBlinkFrequency to RenderTheme.
196
197         * page/Frame.cpp:
198         (WebCore::Frame::selectionLayoutChanged):
199         * platform/gtk/RenderThemeGtk.cpp:
200         (WebCore::RenderThemeGtk::caretShouldBlink):
201         (WebCore::RenderThemeGtk::caretBlinkFrequency):
202         * platform/gtk/RenderThemeGtk.h:
203         * rendering/RenderTheme.h:
204
205 2007-10-27  Timothy Hatcher  <timothy@apple.com>
206
207         Reviewed by Adam.
208
209         Don't print the line number in the Inspector Console if it is Zero.
210
211         * page/inspector/ConsolePanel.js:
212
213 2007-10-27  Sam Weinig  <sam@webkit.org>
214
215         Reviewed by Adam Roben.
216
217         Fix http://bugs.webkit.org/show_bug.cgi?id=14953
218         Implement window.console in WebCore
219
220         - Adds a window.console object that has 4 methods (log, info, warn, and error)
221           that send messages to the Chrome.  This moves functionality that was in the
222           app down into WebCore.
223
224         * DerivedSources.make:
225         * WebCore.pro:
226         * WebCore.vcproj/WebCore.vcproj:
227         * WebCore.xcodeproj/project.pbxproj:
228         * bindings/scripts/CodeGeneratorJS.pm: Add extended attribute
229         to mark attributes as [Replacable] which indicates they can 
230         overridden when set.
231         * page/Chrome.cpp:
232         (WebCore::Chrome::addMessageToConsole): Allow all messages to go
233         up to the ChromeClient.
234         * page/Console.cpp: Added.
235         (WebCore::Console::Console):
236         (WebCore::Console::disconnectFrame):
237         (WebCore::Console::error):
238         (WebCore::Console::info):
239         (WebCore::Console::log):
240         (WebCore::Console::warn):
241         * page/Console.h: Added.
242         * page/Console.idl: Added.
243         * page/DOMWindow.cpp:
244         (WebCore::DOMWindow::clear):
245         (WebCore::DOMWindow::console):
246         * page/DOMWindow.h:
247         * page/DOMWindow.idl:
248
249 2007-10-27  Eric Seidel  <eric@webkit.org>
250
251         Reviewed by aroben.
252         
253         Remove legacy createFilterEffect function (causing extra filter tests to fail on windows)
254
255         No functional changes, thus no tests.
256
257         * ksvg2/svg/SVGFEBlendElement.cpp:
258         (WebCore::SVGFEBlendElement::filterEffect):
259         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
260         (WebCore::SVGFEColorMatrixElement::filterEffect):
261         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
262         (WebCore::SVGFEComponentTransferElement::filterEffect):
263         * ksvg2/svg/SVGFECompositeElement.cpp:
264         (WebCore::SVGFECompositeElement::filterEffect):
265         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
266         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
267         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
268         (WebCore::SVGFEDisplacementMapElement::filterEffect):
269         * ksvg2/svg/SVGFEFloodElement.cpp:
270         (WebCore::SVGFEFloodElement::filterEffect):
271         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
272         (WebCore::SVGFEGaussianBlurElement::filterEffect):
273         * ksvg2/svg/SVGFEImageElement.cpp:
274         (WebCore::SVGFEImageElement::filterEffect):
275         * ksvg2/svg/SVGFEMergeElement.cpp:
276         (WebCore::SVGFEMergeElement::filterEffect):
277         * ksvg2/svg/SVGFEOffsetElement.cpp:
278         (WebCore::SVGFEOffsetElement::filterEffect):
279         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
280         (WebCore::SVGFESpecularLightingElement::filterEffect):
281         * ksvg2/svg/SVGFETileElement.cpp:
282         (WebCore::SVGFETileElement::filterEffect):
283         * ksvg2/svg/SVGFETurbulenceElement.cpp:
284         (WebCore::SVGFETurbulenceElement::filterEffect):
285         * platform/graphics/svg/SVGResourceFilter.h:
286         * platform/graphics/svg/cg/SVGResourceFilterCg.cpp:
287         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
288         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
289
290 2007-10-27  Dan Bernstein  <mitz@apple.com>
291
292         Reviewed by Darin Adler.
293
294         - fix a crash when opening Zenoss server history view
295           <rdar://problem/5530657>
296
297         Test: fast/table/colgroup-relative.html
298
299         * rendering/LayoutState.cpp:
300         (WebCore::LayoutState::LayoutState): Added a hasLayer() check before
301         accessing layer().
302
303 2007-10-27  Julien  <julien.chaffraix@gmail.com>
304
305         Reviewed by Alexey.
306
307         http://bugs.webkit.org/show_bug.cgi?id=13141
308         XMLHttpRequest should set readyState to 0 after abort()
309         
310         Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html
311
312         * xml/XMLHttpRequest.cpp:
313         (WebCore::XMLHttpRequest::open):
314         (WebCore::XMLHttpRequest::abort):
315
316 2007-10-27  Dan Bernstein  <mitz@apple.com>
317
318         Reviewed by Dave Hyatt.
319
320         - fix rotated border images by using a temporary subimage containing
321           only the part we want to tile
322
323         Test: fast/borders/border-image-rotate-transform.html
324
325         * platform/graphics/cg/ImageCG.cpp:
326         (WebCore::Image::drawPatternCallback):
327         (WebCore::Image::drawPattern):
328
329 2007-10-27  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
330
331         Reviewed by Alp.
332
333         http://bugs.webkit.org/show_bug.cgi?id=15722
334         [GTK] Refactor gtk/RenderThemeGtk and implement a few more methods
335
336         Refactor/enhance GTK RenderTheme
337
338         * platform/gtk/RenderThemeGtk.cpp:
339         (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances
340         (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported
341         (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports
342         (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports
343         (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton
344         (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton
345         (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so
346         (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs
347         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
348         (WebCore::RenderThemeGtk::getThemeData):
349         * platform/gtk/RenderThemeGtk.h:
350         (WebCore::RenderThemeGtk::supportsControlTints):
351
352 2007-10-27  Alexey Proskuryakov  <ap@webkit.org>
353
354         Reviewed by Darin.
355
356         http://bugs.webkit.org/show_bug.cgi?id=15555
357         XMLHttpRequest does not support charset "x-user-defined", which can
358         facilitate loading of binary data
359
360         Test: http/tests/xmlhttprequest/binary-x-user-defined.html
361
362         * WebCore.pro:
363         * WebCore.vcproj/WebCore.vcproj:
364         * WebCore.xcodeproj/project.pbxproj:
365         * platform/TextCodecUserDefined.cpp: Added.
366         (WebCore::TextCodecUserDefined::registerEncodingNames):
367         (WebCore::newStreamingTextDecoderUserDefined):
368         (WebCore::TextCodecUserDefined::registerCodecs):
369         (WebCore::TextCodecUserDefined::decode):
370         (WebCore::encodeComplexUserDefined):
371         (WebCore::TextCodecUserDefined::encode):
372         * platform/TextCodecUserDefined.h: Added.
373         * platform/TextEncodingRegistry.cpp:
374         (WebCore::buildBaseTextCodecMaps):
375
376 2007-10-27  Alexey Proskuryakov  <ap@webkit.org>
377
378         Reviewed by Darin.
379
380         http://bugs.webkit.org/show_bug.cgi?id=15467
381         Setting innerHTML to blank string in application/xhtml+xml mode
382         throws DOM Exception 7
383
384         Test: fast/dom/blank-innerHTML.xhtml
385
386         * dom/XMLTokenizer.cpp:
387         (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty.
388
389 2007-10-26  Sam Weinig  <sam@webkit.org>
390
391         Enable dragging the left sidebar using the separator.
392
393         Reviewed by Anders (unless Mitz says otherwise).
394
395         * page/inspector/DocumentPanel.js:
396         * page/inspector/inspector.css:
397         * page/inspector/inspector.html:
398         * page/inspector/inspector.js:
399
400 2007-10-26  Sam Weinig  <sam@webkit.org>
401
402         Fix an off by one error when resizing the Inspector find window.
403
404         Reviewed by Hyatt.
405
406         * page/inspector/inspector.js:
407
408 2007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>
409
410         Reviewed by Adam.
411
412         Fix fallout from r26072, which leads to all plugin streams for local
413         resources being cancelled
414
415         * loader/win/NetscapePlugInStreamLoaderWin.cpp:
416         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this
417         is an HTTP response before checking the HTTP response code
418
419 2007-10-26  David Hyatt  <hyatt@apple.com>
420
421         Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly
422         when only translation changes.
423
424         Move the updating of the transform to in between the old repaint and the new repaint.
425
426         Reviewed by mitz
427
428         fast/repaint/transform-translate.html
429
430         * rendering/RenderLayer.cpp:
431         (WebCore::RenderLayer::updateLayerPositions):
432
433 2007-10-26  Jon Honeycutt  <jhoneycutt@apple.com>
434
435         Reviewed by Darin.
436
437         <rdar://5557379> Crash in Silverlight when opening microsoft.com
438
439         The crash is within Silverlight, and the latest version of the plugin
440         does not exhibit this crash, so just avoid loading this version of the
441         plugin.
442
443         * plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and
444         constants silverlightPluginMinRequiredVersionMSDWORD and
445         silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from 
446         the version info of Silverlight 1.0.20926.0, which is a version known
447         not to exhibit this crash
448         (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether
449         this plugin is blacklisted
450         * plugins/win/PluginDatabaseWin.h:
451         * plugins/win/PluginPackageWin.cpp:
452         (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion*
453         (WebCore::PluginPackageWin::getFileVersion):
454         (WebCore::PluginPackageWin::storeFileVersion): Read version info for
455         the plugin, and store the file version
456         (WebCore::PluginPackageWin::fetchInfo): After determining the name,
457         description, and file version, determine whether this plug-in is
458         blacklisted. If so, return false so this plug-in isn't loaded
459         * plugins/win/PluginPackageWin.h:
460
461 2007-10-26  Sam Weinig  <sam@webkit.org>
462
463         Reviewed by Adele Peterson.
464
465         Fix for <rdar://problem/5421754>
466         m_frameName member variable in HTMLPlugInElement unnecessary
467
468         - Refactor the willRemove() method down into HTMLFrameOwnerElement now that
469           we no longer need to use the m_frameName variable.
470
471         * html/HTMLFrameElementBase.cpp:
472         * html/HTMLFrameElementBase.h:
473         * html/HTMLFrameOwnerElement.cpp:
474         (WebCore::HTMLFrameOwnerElement::willRemove):
475         * html/HTMLFrameOwnerElement.h:
476         * html/HTMLPlugInElement.cpp:
477         * html/HTMLPlugInElement.h:
478         * loader/FrameLoader.cpp:
479         (WebCore::FrameLoader::requestObject):
480
481 2007-10-26  Adele Peterson  <adele@apple.com>
482
483         Export _wkDrawCapsLockIndicator.
484
485         * WebCore.base.exp:
486
487 2007-10-26  Adele Peterson  <adele@apple.com>
488
489         Reviewed by Oliver.
490
491         Adding WebKitSystemInterface support for the caps lock indicator
492
493         * platform/mac/WebCoreSystemInterface.h:
494         * platform/mac/WebCoreSystemInterface.mm:
495
496 2007-10-26  Tristan O'Tierney  <tristan@apple.com>
497
498         Reviewed by Darin Adler.
499
500         <rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/
501         The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect
502         but failed to account for bounds checking (instead replaced with bounds clipping).  This caused issues
503         when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of
504         setting window bounds to NaN before an update occurs.
505
506         Test: fast/dom/Window/window-resize-nan.html
507         
508         * bindings/js/kjs_window.cpp:
509         (KJS::adjustWindowRect):
510         Added a new parameter, pendingChanges, which takes pending changes to the window
511         rect, and if they are valid (not NaN) sets them on window.
512         
513         (KJS::WindowFunc::callAsFunction):
514         Adjusted uses of adjustWindowRect to take new update parameter.
515
516 2007-10-26  Sam Weinig  <sam@webkit.org>
517
518         Reviewed by Tim Hatcher.
519
520         Fix for http://bugs.webkit.org/show_bug.cgi?id=15175
521         Cannot copy text of errors from Web Inspector from Console view
522
523         * page/inspector/inspector.css: add -webkit-user-select: text for console messages.
524
525 2007-10-26  Sam Weinig  <sam@webkit.org>
526
527         Reviewed by Tim Hatcher.
528
529         Fix for http://bugs.webkit.org/show_bug.cgi?id=15446
530         Web Inspector find window is not resizable
531
532         - Adds ability to resize the find window.
533         - Fixes bug that messed up the find window when resizing the left sidebar. 
534
535         * page/inspector/inspector.css:
536         * page/inspector/inspector.html:
537         * page/inspector/inspector.js:
538
539 2007-10-26  Ada Chan  <adachan@apple.com>
540
541         Update m_current index after we've removed an item:
542         - if item removed is before m_current, decrement m_current
543         - if the current item is removed, make sure m_current is within bounds.
544
545         Reviewed by Darin.
546
547         * history/BackForwardList.cpp:
548         (WebCore::BackForwardList::removeItem):
549
550 2007-10-26  Mark Rowe  <mrowe@apple.com>
551
552         Debug build fix.
553
554         * bindings/js/kjs_proxy.cpp:
555         (WebCore::KJSProxy::~KJSProxy):
556
557 2007-10-26  Maciej Stachowiak  <mjs@apple.com>
558
559         No review, build fix.
560
561         * bindings/objc/WebScriptObject.mm:
562         (+[WebScriptObject throwException:]):
563         (-[WebScriptObject setException:]):
564
565 2007-10-26  Maciej Stachowiak  <mjs@apple.com>
566
567         Rubber Stamped by Mark.
568
569         - fix build
570
571         * bridge/mac/WebCoreScriptDebugger.mm:
572         (-[WebCoreScriptCallFrame scopeChain]):
573         (-[WebCoreScriptCallFrame functionName]):
574         (-[WebCoreScriptCallFrame evaluateWebScript:]):
575
576 2007-10-26  Maciej Stachowiak  <mjs@apple.com>
577
578         Reviewed by Oliver.
579
580         - update for JavaScriptCore header changes
581
582         * bindings/objc/WebScriptObject.mm:
583         * bridge/mac/WebCoreScriptDebugger.mm:
584
585 2007-10-26  Alp Toker  <alp@atoker.com>
586
587         Reviewed by Mark Rowe.
588
589         http://bugs.webkit.org/show_bug.cgi?id=15693
590         [GTK] Paging does not work when widget is added to a GtkScrolledWindow
591
592         Eliminate MagicGtkScrollConstant in favour of the same calculations as
593         GtkTextView for step and page increments. This also makes paging work,
594         as the page increment was previously always 0.
595
596         * platform/gtk/ScrollViewGtk.cpp:
597         (WebCore::ScrollView::updateScrollbars):
598
599 2007-10-25  Dan Bernstein  <mitz@apple.com>
600
601         Reviewed by Dave Hyatt and Sam Weinig.
602
603         Build fix
604
605         * platform/graphics/cg/ImageCG.cpp:
606         (WebCore::Image::drawPattern):
607
608 2007-10-23  Jan Michael Alonzo  <jmalonzo@unpluggable.com>
609
610         Reviewed by Alp.
611
612         http://bugs.webkit.org/show_bug.cgi?id=15656
613         [GTK] Implement WebCore::Widget::isEnabled/setEnabled
614
615         * platform/gtk/WidgetGtk.cpp:
616         (WebCore::Widget::isEnabled):
617         (WebCore::Widget::setEnabled): Implemented.
618
619 2007-10-25  David Hyatt  <hyatt@apple.com>
620
621         Fix for bug 15672, background images don't tile properly inside transforms.  This patch fixes background
622         tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms.
623
624         Reviewed by aroben and mitz
625
626         * WebCore.base.exp:
627         * platform/graphics/Image.cpp:
628         (WebCore::Image::setData):
629         * platform/graphics/cg/ImageCG.cpp:
630         (WebCore::ImageInfo::ImageInfo):
631         (WebCore::Image::drawPatternCallback):
632         (WebCore::Image::drawPattern):
633         * platform/graphics/mac/GraphicsContextMac.mm:
634         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
635         * platform/mac/WebCoreSystemInterface.h:
636         * platform/mac/WebCoreSystemInterface.mm:
637
638 2007-10-25  Brady Eidson  <beidson@apple.com>
639
640         Blind build fix attempt
641
642         * WebCore.pro:
643
644 2007-10-25  Brady Eidson  <beidson@apple.com>
645
646         Reviewed by Anders and Sam
647
648         Bulk rename of platform/sql/SQL* to platform/sql/SQLite*
649         
650         This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously
651         tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in 
652         the HTML5 database API which we are adopting.
653
654         * WebCore.vcproj/WebCore.vcproj:
655         * WebCore.xcodeproj/project.pbxproj:
656         * loader/icon/IconDatabase.cpp:
657         (WebCore::IconDatabase::iconDatabaseSyncThread):
658         (WebCore::databaseVersionNumber):
659         (WebCore::isValidDatabase):
660         (WebCore::createDatabaseTables):
661         (WebCore::IconDatabase::performOpenInitialization):
662         (WebCore::IconDatabase::checkIntegrity):
663         (WebCore::IconDatabase::performURLImport):
664         (WebCore::IconDatabase::writeToDatabase):
665         (WebCore::IconDatabase::pruneUnretainedIcons):
666         (WebCore::IconDatabase::checkForDanglingPageURLs):
667         (WebCore::IconDatabase::imported):
668         (WebCore::IconDatabase::setImported):
669         (WebCore::readySQLiteStatement):
670         (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
671         (WebCore::IconDatabase::removePageURLFromSQLDatabase):
672         (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
673         (WebCore::IconDatabase::addIconURLToSQLDatabase):
674         (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
675         (WebCore::IconDatabase::removeIconFromSQLDatabase):
676         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
677         * loader/icon/IconDatabase.h:
678         * loader/icon/IconRecord.cpp:
679         * platform/sql/SQLAuthorizer.cpp: Removed.
680         * platform/sql/SQLAuthorizer.h: Removed.
681         * platform/sql/SQLDatabase.cpp: Removed.
682         * platform/sql/SQLDatabase.h: Removed.
683         * platform/sql/SQLStatement.cpp: Removed.
684         * platform/sql/SQLStatement.h: Removed.
685         * platform/sql/SQLTransaction.cpp: Removed.
686         * platform/sql/SQLTransaction.h: Removed.
687         * platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp.
688         * platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h.
689         (WebCore::SQLiteAuthorizer::~SQLiteAuthorizer):
690         * platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp.
691         (WebCore::SQLiteDatabase::SQLiteDatabase):
692         (WebCore::SQLiteDatabase::~SQLiteDatabase):
693         (WebCore::SQLiteDatabase::open):
694         (WebCore::SQLiteDatabase::close):
695         (WebCore::SQLiteDatabase::setFullsync):
696         (WebCore::SQLiteDatabase::setSynchronous):
697         (WebCore::SQLiteDatabase::setBusyTimeout):
698         (WebCore::SQLiteDatabase::setBusyHandler):
699         (WebCore::SQLiteDatabase::executeCommand):
700         (WebCore::SQLiteDatabase::returnsAtLeastOneResult):
701         (WebCore::SQLiteDatabase::tableExists):
702         (WebCore::SQLiteDatabase::clearAllTables):
703         (WebCore::SQLiteDatabase::runVacuumCommand):
704         (WebCore::SQLiteDatabase::lastInsertRowID):
705         (WebCore::SQLiteDatabase::lastChanges):
706         (WebCore::SQLiteDatabase::lastError):
707         (WebCore::SQLiteDatabase::lastErrorMsg):
708         (WebCore::SQLiteDatabase::authorizerFunction):
709         (WebCore::SQLiteDatabase::setAuthorizer):
710         (WebCore::SQLiteDatabase::lock):
711         (WebCore::SQLiteDatabase::unlock):
712         * platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h.
713         * platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp.
714         (WebCore::SQLiteStatement::SQLiteStatement):
715         (WebCore::SQLiteStatement::~SQLiteStatement):
716         (WebCore::SQLiteStatement::prepare):
717         * platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h.
718         (WebCore::SQLiteStatement::database):
719         * platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp.
720         (WebCore::SQLiteTransaction::SQLiteTransaction):
721         (WebCore::SQLiteTransaction::~SQLiteTransaction):
722         (WebCore::SQLiteTransaction::begin):
723         (WebCore::SQLiteTransaction::commit):
724         (WebCore::SQLiteTransaction::rollback):
725         * platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h.
726         * storage/Database.cpp:
727         (WebCore::retrieveTextResultFromDatabase):
728         (WebCore::setTextValueInDatabase):
729         (WebCore::Database::performExecuteSql):
730         (WebCore::Database::performGetTableNames):
731         (WebCore::Database::executeSql):
732         * storage/Database.h:
733         * storage/DatabaseAuthorizer.h:
734         * storage/DatabaseTracker.cpp:
735         (WebCore::DatabaseTracker::fullPathForDatabase):
736         (WebCore::DatabaseTracker::populateOrigins):
737         (WebCore::DatabaseTracker::databaseNamesForOrigin):
738         (WebCore::DatabaseTracker::addDatabase):
739         * storage/DatabaseTracker.h:
740
741 2007-10-25  Alexey Proskuryakov  <ap@webkit.org>
742
743         Reviewed by Darin.
744
745         http://bugs.webkit.org/show_bug.cgi?id=15650
746         XML attribute nodes are not importable
747
748         Tests: fast/dom/import-attribute-node.html
749                fast/dom/import-document-fragment.html
750
751         * dom/Document.cpp:
752         (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes.
753
754 2007-10-25  Dan Bernstein  <mitz@apple.com>
755
756         Reviewed by Dave Hyatt.
757
758         - fix http://bugs.webkit.org/show_bug.cgi?id=15362
759           <rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget
760
761         Test: fast/dynamic/insert-before-table-part-in-continuation.html
762
763         * rendering/RenderFlow.cpp:
764         (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's
765         parent is an anonymous table part, let the table figure out where to
766         insert the new child.
767
768 2007-10-25  Alp Toker  <alp@atoker.com>
769
770         Reviewed by Brady.
771
772         http://bugs.webkit.org/show_bug.cgi?id=15686
773         GtkLauncher aborts on launch due to uninitialized threading subsystem
774
775         Re-enable database support in the GTK+ port, with a fix.
776
777         * WebCore.pro:
778
779 2007-10-25  Jon Honeycutt  <jhoneycutt@apple.com>
780
781         Reviewed by Steve.
782
783         <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
784         java page
785
786         Previous patch erroneously compared a path and a
787         path-including-filename. This corrects that. It also caches the result
788         of safariPluginsPath() and uses shell API funcs for determining filename
789         and parent directory from a full path.
790
791         * ChangeLog:
792         * plugins/win/PluginDatabaseWin.cpp:
793         (WebCore::safariPluginsPath): Cache return value. Use API functions to
794         build the path
795         (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
796         parent directory, not full path
797         (WebCore::PluginDatabaseWin::pluginForExtension): Same
798         * plugins/win/PluginPackageWin.cpp:
799         (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
800         * plugins/win/PluginPackageWin.h:
801         (WebCore::PluginPackageWin::parentDirectory):
802         * plugins/win/PluginStreamWin.cpp:
803         (WebCore::PluginStreamWin::didReceiveData):
804
805 2007-10-25  Alp Toker  <alp@atoker.com>
806
807         Unreviewed fix to make the GTK+ port run.
808
809         http://bugs.webkit.org/show_bug.cgi?id=15686
810         GtkLauncher aborts on launch due to uninitialized threading subsystem
811
812         Disable database support until #15686 is fixed.
813
814         * WebCore.pro:
815
816 2007-10-25  Simon Hausmann  <hausmann@kde.org>
817
818         Reviewed by Lars.
819
820         Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string.
821
822         * platform/qt/TextBreakIteratorQt.cpp:
823         (WebCore::wordBreakIterator):
824         (WebCore::characterBreakIterator):
825         (WebCore::lineBreakIterator):
826         (WebCore::sentenceBreakIterator):
827
828 2007-10-25  Holger Freyther  <zecke@selfish.org>
829
830         Reviewed by Simon Hausmann <hausmann@kde.org>.
831
832         * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
833         * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
834         * This is causing some regressions...
835         
836
837         * dom/XMLTokenizer.cpp:
838         (WebCore::XMLTokenizer::XMLTokenizer):
839         (WebCore::XMLTokenizer::write):
840         (WebCore::XMLTokenizer::end):
841         * dom/XMLTokenizer.h:
842
843 2007-10-25  Holger Freyther  <zecke@selfish.org>
844
845         Reviewed by Simon Hausmann <hausmann@kde.org>.
846
847         * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
848         * Use the error message from Qt. It might or might not be translated.
849         
850
851         WARNING: NO TEST CASES ADDED OR CHANGED
852
853         * platform/network/qt/ResourceHandleQt.cpp:
854         (WebCore::WebCoreSynchronousLoader::didFail):
855
856 2007-10-25  Holger Freyther  <zecke@selfish.org>
857
858         Reviewed by Simon Hausmann <hausmann@kde.org>.
859
860         * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
861         * This should be thread-safe besides QWebNetworkJob::{ref,deref}
862         
863
864         * platform/network/qt/ResourceHandleQt.cpp:
865         (WebCore::ResourceHandle::loadResourceSynchronously):
866
867 2007-10-25  Alp Toker  <alp@atoker.com>
868
869         Reviewed by Mark Rowe.
870
871         Add support for list box theme colors and styled menu list buttons.
872
873         Remove obsolete FIXMEs.
874
875         * platform/gtk/RenderThemeGtk.cpp:
876         (WebCore::RenderThemeGtk::RenderThemeGtk):
877         (WebCore::RenderThemeGtk::paintCheckbox):
878         (WebCore::RenderThemeGtk::paintRadio):
879         (WebCore::RenderThemeGtk::paintButton):
880         (WebCore::RenderThemeGtk::adjustMenuListStyle):
881         (WebCore::RenderThemeGtk::paintMenuList):
882         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
883         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
884         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
885         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
886         (WebCore::RenderThemeGtk::gtkTreeView):
887         * platform/gtk/RenderThemeGtk.h:
888
889 2007-10-25  Eric Seidel  <eric@webkit.org>
890
891         Reviewed by Geoff.
892
893         * bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/
894
895 2007-10-24  Eric Seidel  <eric@webkit.org>
896
897         Reviewed by Maciej.
898         
899         Make Window subclass from JSGlobalObject (for a .5% win in Sunspider)
900         http://bugs.webkit.org/show_bug.cgi?id=15681
901
902         No test cases necessary, no functional changes.
903
904         * WebCore.xcodeproj/project.pbxproj:
905         * bindings/js/kjs_binding.cpp:
906         (KJS::ScriptInterpreter::ScriptInterpreter):
907         * bindings/js/kjs_binding.h:
908         * bindings/js/kjs_proxy.cpp:
909         (WebCore::KJSProxy::initScriptIfNeeded):
910         * bindings/js/kjs_window.cpp:
911         (KJS::Window::Window):
912         * bindings/js/kjs_window.h:
913         * bindings/objc/WebScriptObject.mm:
914         (_didExecute):
915         * bridge/mac/WebCoreScriptDebugger.mm:
916
917 2007-10-24  Adam Roben  <aroben@apple.com>
918
919         Add font database initialization code to WebCore
920
921         Reviewed by Ada.
922
923         * WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}.
924         * platform/win/FontDatabase.cpp: Added.
925         (WebCore::systemFontsDirectory):
926         (WebCore::fontsPlistPath):
927         (WebCore::systemHasFontsNewerThanFontsPlist):
928         (WebCore::readFontPlist):
929         (WebCore::populateFontDatabaseFromPlist):
930         (WebCore::populateFontDatabaseFromFileSystem):
931         (WebCore::writeFontDatabaseToPlist):
932         (WebCore::populateFontDatabase): This is the only function callable
933         from outside this file. It populates the font database once, either
934         from the fonts plist, or from the filesystem (and then saves a new
935         fonts plist).
936         * platform/win/FontDatabase.h: Added.
937
938 2007-10-24  Justin Garcia  <justin.garcia@apple.com>
939
940         Reviewed by Darin Adler.
941
942         Correcting the fix for:
943         <rdar://problem/5544856> 
944         REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
945         
946         Made removal of the previous composition part of the current Undo step in the 
947         case where the new composition is the empty string, too.
948
949         * editing/Editor.cpp:
950         (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection,
951         which either has the currently open typing command delete the current selection, or
952         opens a new typing command (of type DeleteSelection) if one is not already open.
953         (WebCore::Editor::setComposition): Ditto.
954         * editing/TypingCommand.cpp:
955         (WebCore::TypingCommand::deleteSelection): Added.
956         (WebCore::TypingCommand::doApply): Handle DeleteSelection.
957         (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection
958         is called.
959         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
960         (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection.
961         * editing/TypingCommand.h:
962
963 2007-10-24  Sam Weinig  <sam@webkit.org>
964
965         Build fix.
966
967         * WebCore.vcproj/WebCore.vcproj:
968
969 2007-10-24  Alice Liu  <alice.liu@apple.com>
970
971         Reviewed by Oliver.
972
973         Fix <rdar://5410959>  editing/selection/drag-to-contenteditable-iframe.html fails on Windows
974         
975         * page/win/EventHandlerWin.cpp:
976         (WebCore::EventHandler::passMouseMoveEventToSubframe):
977         Some mouse move events are actually drags, which on mac return early from this function.
978         Adding the same logic to its Windows equivalent.  
979
980 2007-10-24  Brady Eidson  <beidson@apple.com>
981
982         Reviewed by Anders
983
984         <rdar://5554130> DatabaseTracker.o has a global initializer
985
986         Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
987         Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases 
988         path is set.
989         
990         * WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build
991         
992         * storage/Database.cpp:
993         (WebCore::Database::~Database): Remove bogus assertion
994         
995         * storage/DatabaseTracker.cpp:
996         (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now!  Move this code to openTrackerDatabase
997         (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed
998         (WebCore::DatabaseTracker::databasePath):
999         (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor
1000         (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
1001         * storage/DatabaseTracker.h:
1002
1003 2007-10-24  David Hyatt  <hyatt@apple.com>
1004
1005         Don't try to gap fill transformed selections.  Fix the invalidation of selection to use the clip to visible content
1006         code path so that it works with multi-column layouts and transforms.
1007
1008         Reviewed by aroben
1009
1010         * rendering/RenderBlock.cpp:
1011         (WebCore::RenderBlock::isSelectionRoot):
1012         (WebCore::RenderBlock::fillSelectionGaps):
1013         * rendering/RenderView.cpp:
1014         (WebCore::RenderView::setSelection):
1015
1016 2007-10-24  Eric Seidel  <eric@webkit.org>
1017
1018         No review, I want to tickle the CIA bot to test changes,
1019         and took this as an opportunity to clean up some old change logs.
1020
1021         * ChangeLog-2005-08-23: update email address
1022         * ChangeLog-2006-12-31: fix spelling mistakes
1023
1024 2007-10-24  Dan Bernstein  <mitz@apple.com>
1025
1026         Reviewed by Oliver Hunt.
1027
1028         - add "(anonymous)" to the renderName of anonymous table cells, rows and sections
1029
1030         * rendering/RenderTableCell.h:
1031         (WebCore::RenderTableCell::renderName):
1032         * rendering/RenderTableRow.h:
1033         (WebCore::RenderTableRow::renderName):
1034         * rendering/RenderTableSection.h:
1035         (WebCore::RenderTableSection::renderName):
1036
1037 2007-10-24  Timothy Hatcher  <timothy@apple.com>
1038
1039         Reviewed by Adam.
1040
1041         Bug 15476: DOM tree fully expands some elements when arrowing up
1042         http://bugs.webkit.org/show_bug.cgi?id=15476
1043
1044         Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
1045         is used only for the sidebar and search results.
1046
1047         * page/inspector/inspector.js: Opt-in for the sidebar and search results.
1048         * page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass
1049           this option to traverseNextTreeElement and traversePreviousTreeElement.
1050
1051 2007-10-24  Anders Carlsson  <andersca@apple.com>
1052
1053         Reviewed by Geoff and Mitz.
1054
1055         <rdar://problem/5493833>
1056         REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)
1057
1058         * bindings/js/kjs_binding.cpp:
1059         (KJS::ScriptInterpreter::markDOMNodesForDocument):
1060         If an image element that is currently loading an image is not in the document,
1061         it should still be marked.
1062         
1063         * bindings/js/kjs_html.cpp:
1064         (WebCore::ImageConstructorImp::construct):
1065         Force the document wrapper to be created.
1066         
1067         * html/HTMLImageElement.h:
1068         (WebCore::HTMLImageElement::haveFiredLoadEvent):
1069         New method which calls down to the image loader.
1070         
1071         * html/HTMLImageLoader.cpp:
1072         (WebCore::HTMLImageLoader::HTMLImageLoader):
1073         (WebCore::HTMLImageLoader::~HTMLImageLoader):
1074         (WebCore::HTMLImageLoader::setLoadingImage):
1075         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1076         Remove code that's not needed anymore.
1077         
1078         * html/HTMLImageLoader.h:
1079         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
1080         Make this public.
1081
1082 2007-10-23  Adam Roben  <aroben@apple.com>
1083
1084         Move Windows safe file creation code into WebCore from WebPreferences
1085
1086         Reviewed by Brady.
1087
1088         * platform/FileSystem.h:
1089         * platform/win/FileSystemWin.cpp:
1090         (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.
1091
1092 2007-10-23  Adam Roben  <aroben@apple.com>
1093
1094         Add methods to FileSystemWin to get some user profile directories
1095
1096         These directories are used to hold things like preferences, caches,
1097         etc.
1098
1099         Reviewed by Brady.
1100
1101         * platform/FileSystem.h: Added new method declarations for Windows
1102         only.
1103         * platform/win/FileSystemWin.cpp:
1104         (WebCore::bundleName): Added.
1105         (WebCore::storageDirectory): Added.
1106         (WebCore::cachedStorageDirectory): Added.
1107         (WebCore::localUserSpecificStorageDirectory): Added. Returns the
1108         directory where WebKit should store any user-specific data that should
1109         stay local to the current machine (i.e., shouldn't be stored in a
1110         roaming profile).
1111         (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the
1112         directory where WebKit should store any user-specific data that should
1113         move with the user from machine to machine (i.e., should be stored in
1114         a roaming profile).
1115
1116 2007-10-24  Alp Toker  <alp@atoker.com>
1117
1118         Reviewed by Mark Rowe.
1119
1120         http://bugs.webkit.org/show_bug.cgi?id=15659
1121         InlineTextBox does not setStrokeStyle() as needed
1122
1123         GraphicsContextCairo workaround to support a GraphicsContextCG quirk:
1124
1125         Save and restore the StrokeStyle manually.
1126
1127         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1128         (WebCore::GraphicsContext::drawLineForText):
1129
1130 2007-10-24  Julien Chaffraix  <julien.chaffraix@gmail.com>
1131
1132         Reviewed by Darin.
1133
1134         Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
1135         Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions
1136
1137         - getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification
1138
1139         - Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)
1140
1141         - Updated XMLHttpRequest::responseMIMEType() to keep its behaviour
1142
1143         Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html
1144                http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
1145                http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html
1146
1147         * bindings/js/JSXMLHttpRequest.cpp:
1148         (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
1149         * xml/XMLHttpRequest.cpp:
1150         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1151         (WebCore::XMLHttpRequest::getResponseHeader):
1152         (WebCore::XMLHttpRequest::responseMIMEType):
1153         * xml/XMLHttpRequest.h:
1154
1155 2007-10-24  Lars Knoll  <lars@trolltech.com>
1156
1157         Reviewed by Simon.
1158
1159         implement most of DragData.
1160
1161         WARNING: NO TEST CASES ADDED OR CHANGED
1162
1163         * platform/qt/DragDataQt.cpp:
1164         (WebCore::DragData::containsColor):
1165         (WebCore::DragData::containsFiles):
1166         (WebCore::DragData::asFilenames):
1167         (WebCore::DragData::containsPlainText):
1168         (WebCore::DragData::asPlainText):
1169         (WebCore::DragData::asColor):
1170         (WebCore::DragData::containsCompatibleContent):
1171         (WebCore::DragData::containsURL):
1172
1173 2007-10-24  Lars Knoll  <lars@trolltech.com>
1174
1175         Reviewed by Simon.
1176
1177         remove a stupid notImplemented() warning and implement PasteBoad::clear().
1178
1179         WARNING: NO TEST CASES ADDED OR CHANGED
1180
1181         * platform/qt/PasteboardQt.cpp:
1182
1183 2007-10-24  Lars Knoll  <lars@trolltech.com>
1184
1185         Reviewed by Simon.
1186
1187         implement Pasteboard::documentFragment(), and fix a mem leak.
1188
1189         WARNING: NO TEST CASES ADDED OR CHANGED
1190
1191         * platform/qt/PasteboardQt.cpp:
1192         (WebCore::Pasteboard::generalPasteboard):
1193         (WebCore::Pasteboard::documentFragment):
1194
1195 2007-10-24  Lars Knoll  <lars@trolltech.com>
1196
1197         Reviewed by Simon.
1198
1199         Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.
1200
1201         WARNING: NO TEST CASES ADDED OR CHANGED
1202
1203         * platform/PlatformKeyboardEvent.h:
1204         * platform/qt/PlatformKeyboardEventQt.cpp:
1205         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1206
1207 2007-10-24  Lars Knoll  <lars@trolltech.com>
1208
1209         Reviewed by Simon.
1210
1211         use the new QTextBoundaryFinder class in Qt.
1212
1213         WARNING: NO TEST CASES ADDED OR CHANGED
1214
1215         * platform/qt/TextBoundaries.cpp:
1216         (WebCore::findNextWordFromIndex):
1217         (WebCore::findWordBoundary):
1218         * platform/qt/TextBreakIteratorQt.cpp:
1219         (WebCore::wordBreakIterator):
1220         (WebCore::characterBreakIterator):
1221         (WebCore::lineBreakIterator):
1222         (WebCore::sentenceBreakIterator):
1223         (WebCore::textBreakFirst):
1224         (WebCore::textBreakNext):
1225         (WebCore::textBreakPreceding):
1226         (WebCore::textBreakFollowing):
1227         (WebCore::textBreakCurrent):
1228         (WebCore::isTextBreak):
1229
1230 2007-10-24  Darin Adler  <darin@apple.com>
1231
1232         Reviewed by Maciej.
1233
1234         - http://bugs.webkit.org/show_bug.cgi?id=15657
1235           change static hash tables to use powers of two for speed
1236
1237         * bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.
1238
1239 2007-10-24  Simon Hausmann  <hausmann@kde.org>
1240
1241         Reviewed by Lars.
1242
1243         Make the implementation of pathByAppendingComponent use QDir.
1244
1245         * platform/qt/FileSystemQt.cpp:
1246
1247 2007-10-24  David Hyatt  <hyatt@apple.com>
1248
1249         Make repainting work with transforms.
1250
1251         Reviewed by John Sullivan
1252
1253         * rendering/RenderBox.cpp:
1254         (WebCore::RenderBox::computeAbsoluteRepaintRect):
1255
1256 2007-10-23  Alp Toker  <alp@atoker.com>
1257
1258         Reviewed by Maciej.
1259
1260         http://bugs.webkit.org/show_bug.cgi?id=14412
1261         [GDK] Clipboard support
1262
1263         Initial clipboard implementation for the GTK+ port.
1264
1265         * platform/gtk/ClipboardGtk.cpp:
1266         (WebCore::Editor::newGeneralClipboard):
1267         * platform/gtk/PasteboardGtk.cpp:
1268         (WebCore::Pasteboard::generalPasteboard):
1269         (WebCore::Pasteboard::Pasteboard):
1270         (WebCore::Pasteboard::~Pasteboard):
1271         (WebCore::Pasteboard::writeSelection):
1272         (WebCore::Pasteboard::writeImage):
1273         (WebCore::Pasteboard::clear):
1274         (WebCore::Pasteboard::plainText):
1275         * platform/gtk/TemporaryLinkStubs.cpp:
1276
1277 2007-10-23  Timothy Hatcher  <timothy@apple.com>
1278
1279         Reviewed by Adam.
1280
1281         Fixes the Network panel so that it refreshes as needed.
1282
1283         * page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
1284         * page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.
1285
1286 2007-10-23  Justin Garcia  <justin.garcia@apple.com>
1287
1288         Reviewed by Oliver Hunt.
1289
1290         <rdar://problem/5544856> 
1291         REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
1292         
1293         No layout test for now because I'm having trouble getting Undo during a layout
1294         test to only undo the last Undo step, and I want to write a test that fails
1295         without the code change.
1296
1297         * editing/Editor.cpp:
1298         (WebCore::Editor::confirmComposition): When we replace the previous composition,
1299         delete it with a sub-command of the command used to insert the new composition,
1300         instead of with a separate command.  No new code was added because insertText
1301         already deletes the current selection.
1302         (WebCore::Editor::setComposition): Ditto.
1303
1304 2007-10-23  Adam Roben  <aroben@apple.com>
1305
1306         Fix the behavior of pathByAppendingComponent when path is empty
1307
1308         We now use the Windows Shell API function PathAppendW instead of
1309         rolling our own broken implementation.
1310
1311         Reviewed by Anders.
1312
1313         * platform/win/FileSystemWin.cpp:
1314         (WebCore::pathByAppendingComponent):
1315
1316 2007-10-23  Adele Peterson  <adele@apple.com>
1317
1318         Reviewed by Darin.
1319
1320         Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872
1321
1322         Test: fast/forms/textfield-onchange-deletion.html
1323
1324         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
1325           Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
1326
1327 2007-10-23  Timothy Hatcher  <timothy@apple.com>
1328
1329         Reviewed by Sam Weinig.
1330
1331         - Made seperate files for the various classes in ResourcePanel.js.
1332         - Broke up ResourcePanel.js and created seperate panel classes for different resource types.
1333         - Moved View code down to the Panel base-class.
1334         - Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.
1335
1336         * page/inspector/DatabasePanel.js:
1337         * page/inspector/DocumentPanel.js: Added.
1338         * page/inspector/FontPanel.js: Added.
1339         * page/inspector/ImagePanel.js: Added.
1340         * page/inspector/Panel.js: Added.
1341         * page/inspector/PropertiesSection.js: Added.
1342         * page/inspector/Resource.js:
1343         * page/inspector/ResourcePanel.js:
1344         * page/inspector/SidebarPane.js: Added.
1345         * page/inspector/SourcePanel.js: Added.
1346         * page/inspector/inspector.css:
1347         * page/inspector/inspector.html:
1348         * page/inspector/inspector.js:
1349
1350 2007-10-23  Anders Carlsson  <andersca@apple.com>
1351
1352         Correct the version #if check.
1353         
1354         * platform/sql/SQLDatabase.cpp:
1355         (WebCore::SQLDatabase::authorizerFunction):
1356
1357 2007-10-23  Jon Honeycutt  <jhoneycutt@apple.com>
1358
1359         Reviewed by Anders.
1360
1361         <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
1362         java page
1363
1364         It is possible to load Mozilla's Java plugin instead of our own, which
1365         can lead to a crash. The fix is to prefer plugins in our own Plugins
1366         directory when searching for a plugin.
1367
1368         * plugins/win/PluginDatabaseWin.cpp:
1369         (WebCore::safariPluginsPath): Return the path to our own Plugins
1370         directory
1371         (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method
1372         safariPluginsPath()
1373         (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is
1374         our Plugins path, return this plugin. Otherwise, continue scanning the
1375         list of plugins
1376         (WebCore::PluginDatabaseWin::pluginForExtension): Same
1377         * plugins/win/PluginPackageWin.h:
1378         (WebCore::PluginPackageWin::path): Return this plugin's path
1379
1380 2007-10-23  Jasper Bryant-Greene  <m@ni.ac.nz>
1381
1382         Reviewed by Darin.
1383
1384         http://bugs.webkit.org/show_bug.cgi?id=15058
1385         Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly
1386
1387         Corrected precendence fault which was causing Shift, Alt, Control and
1388         Meta to behave incorrectly on GTK.
1389
1390         Coding style fix by Alp.
1391
1392         * platform/gtk/KeyEventGtk.cpp:
1393         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1394
1395 2007-10-23  Sam Weinig  <sam@webkit.org>
1396
1397         Reviewed by Tim Hatcher.
1398
1399         Add resizing of the DOM view right sidebar.  This allows us to actually see the values now.
1400
1401         * page/inspector/ResourcePanel.js:
1402         * page/inspector/inspector.css:
1403         * page/inspector/inspector.js:
1404         * page/inspector/utilities.js:
1405
1406 2007-10-23  David Hyatt  <hyatt@apple.com>
1407
1408         Get basic hit testing right for transforms.
1409
1410         Reviewed by ollliej
1411
1412         * platform/graphics/AffineTransform.cpp:
1413         (WebCore::AffineTransform::mapPoint):
1414         * platform/graphics/AffineTransform.h:
1415         * rendering/InlineBox.cpp:
1416         (WebCore::InlineBox::nodeAtPoint):
1417         * rendering/RenderBlock.cpp:
1418         (WebCore::RenderBlock::nodeAtPoint):
1419         * rendering/RenderLayer.cpp:
1420         (WebCore::RenderLayer::paintLayer):
1421         (WebCore::RenderLayer::hitTest):
1422         (WebCore::RenderLayer::hitTestLayer):
1423         * rendering/RenderLayer.h:
1424         * rendering/RenderObject.cpp:
1425         (WebCore::RenderObject::hitTest):
1426         * rendering/RenderObject.h:
1427
1428 2007-10-23  Eric Seidel  <eric@webkit.org>
1429
1430         Reviewed by Mark Rowe.
1431
1432         Fix leaks seen on TOT from new font-face code.
1433
1434         * ksvg2/svg/SVGFontFaceElement.cpp:
1435         (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing
1436
1437 2007-10-23  Eric Seidel  <eric@webkit.org>
1438
1439         Build fix only, no review.
1440
1441         Sacrifice three virgin hours upon the altar of the heathen XCode gods
1442         and pray that our build troubles are finally over. :(
1443
1444         * DerivedSources.make: add DOMSVGException.h
1445         * WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why?  Who knows.
1446
1447 2007-10-22  Steve Falkenburg  <sfalken@apple.com>
1448
1449         Fix build.
1450
1451         * plugins/win/PluginViewWin.cpp:
1452
1453 2007-10-22  Eric Seidel  <eric@webkit.org>
1454
1455         Build fix only, no review.
1456
1457         * WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure.
1458
1459 2007-10-22  Eric Seidel  <eric@webkit.org>
1460
1461         Build fix only, no review.
1462
1463         * WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers.
1464
1465 2007-10-22  Eric Seidel  <eric@webkit.org>
1466
1467         Reviewed by Maciej.
1468
1469         Fix build by properly exposing SVG font-face dom bindings.
1470
1471         * DerivedSources.make:
1472         * WebCore.vcproj/WebCore.vcproj: add font-face files to build
1473         * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
1474         * bindings/js/JSSVGElementWrapperFactory.cpp:
1475         * bindings/objc/DOM.mm:
1476         (WebCore::createElementClassMap):
1477         * bindings/objc/DOMSVG.h:
1478         * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
1479
1480 2007-10-22  Mark Rowe  <mrowe@apple.com>
1481
1482         Gtk build fix.
1483
1484         * WebCore.pro:
1485
1486 2007-10-22  Darin Adler  <darin@apple.com>
1487
1488         - a first cut at fixing the Qt and GTK builds
1489
1490         * WebCore.pro: Add new .idl and .cpp files.
1491         * DerivedSources.make: Re-sorted.
1492
1493 2007-10-22  Eric Seidel  <eric@webkit.org>
1494
1495         Reviewed by hyatt.
1496
1497         Implement <font-face> and friends for SVG.
1498         http://bugs.webkit.org/show_bug.cgi?id=10652
1499
1500         * DerivedSources.make:
1501         * WebCore.xcodeproj/project.pbxproj:
1502         * bindings/js/JSSVGElementWrapperFactory.cpp:
1503         * dom/Document.cpp:
1504         (WebCore::Document::mappedElementSheet):
1505         (WebCore::Document::recalcStyleSelector):
1506         * dom/Document.h:
1507         * ksvg2/scripts/make_names.pl:
1508         * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
1509         (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
1510         (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
1511         (WebCore::SVGDefinitionSrcElement::childrenChanged):
1512         * ksvg2/svg/SVGDefinitionSrcElement.h: Added.
1513         * ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
1514         * ksvg2/svg/SVGFontFaceElement.cpp: Added.
1515         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
1516         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
1517         (WebCore::cssPropertyIdForName):
1518         (WebCore::mapAttributeToCSSProperty):
1519         (WebCore::cssPropertyIdForSVGAttributeName):
1520         (WebCore::SVGFontFaceElement::parseMappedAttribute):
1521         (WebCore::SVGFontFaceElement::rebuildFontFace):
1522         (WebCore::SVGFontFaceElement::childrenChanged):
1523         * ksvg2/svg/SVGFontFaceElement.h: Added.
1524         * ksvg2/svg/SVGFontFaceElement.idl: Added.
1525         * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
1526         (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
1527         (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
1528         (WebCore::SVGFontFaceFormatElement::childrenChanged):
1529         * ksvg2/svg/SVGFontFaceFormatElement.h: Added.
1530         * ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
1531         * ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
1532         (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
1533         (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
1534         (WebCore::SVGFontFaceNameElement::srcValue):
1535         * ksvg2/svg/SVGFontFaceNameElement.h: Added.
1536         * ksvg2/svg/SVGFontFaceNameElement.idl: Added.
1537         * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
1538         (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
1539         (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
1540         (WebCore::SVGFontFaceSrcElement::srcValue):
1541         (WebCore::SVGFontFaceSrcElement::childrenChanged):
1542         * ksvg2/svg/SVGFontFaceSrcElement.h: Added.
1543         * ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
1544         * ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
1545         (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
1546         (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
1547         (WebCore::SVGFontFaceUriElement::srcValue):
1548         (WebCore::SVGFontFaceUriElement::childrenChanged):
1549         * ksvg2/svg/SVGFontFaceUriElement.h: Added.
1550         * ksvg2/svg/SVGFontFaceUriElement.idl: Added.
1551         * ksvg2/svg/svgtags.in:
1552
1553 2007-10-22  Jon Honeycutt  <jhoneycutt@apple.com>
1554
1555         Reviewed by Anders.
1556
1557         <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
1558         java page
1559
1560         We purposefully do not destroy our Java VM when its reference count
1561         reaches 0, but we were unloading our JavaPlugin.dll when its reference
1562         count reached 0, which lost the reference to the VM. This led to our
1563         process trying to create a new VM the next time a page using Java was
1564         loaded, and the JNI spec states that a single process is not allowed to
1565         create more than one VM. The fix is to avoid unloading the Java plugin
1566         via our PluginQuirkDontUnloadPlugin. 
1567
1568         * plugins/win/PluginViewWin.cpp:
1569         (WebCore::PluginViewWin::determineQuirks):
1570
1571 2007-10-22  David Hyatt  <hyatt@apple.com>
1572
1573         Fix for bug 15624, make transforms work properly with opacity.
1574
1575         Make sure a unitless 0 is allowed as an angle argument to rotation/skew.
1576
1577         Reviewed by Mitz Pettel
1578
1579         fast/transforms/transforms-with-opacity.html
1580         fast/transforms/skew-with-unitless-zero.html
1581
1582         * css/CSSParser.cpp:
1583         (WebCore::CSSParser::validUnit):
1584         * rendering/RenderLayer.cpp:
1585         (WebCore::transparencyClipBox):
1586         (WebCore::RenderLayer::beginTransparencyLayers):
1587         (WebCore::RenderLayer::paintLayer):
1588         (WebCore::RenderLayer::calculateClipRects):
1589         * rendering/RenderLayer.h:
1590         (WebCore::RenderLayer::transform):
1591
1592 2007-10-22  Adam Roben  <aroben@apple.com>
1593
1594         Windows build fix
1595
1596         Reviewed by NOBODY.
1597
1598         * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
1599         * page/Page.cpp: Touched to force the header files to be copied.
1600
1601 2007-10-22  Nikolas Zimmermann  <zimmermann@kde.org>
1602
1603         Reviewed by Simon.
1604
1605         Move textPath related SVGChar data in it's own structure SVGCharOnPath.
1606         Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.
1607
1608         Saves space for the common case. And allows me to add more data (another float) to support
1609         glyph-orientation-* on textPath later on...
1610
1611         * rendering/SVGCharacterLayoutInfo.cpp:
1612         (WebCore::SVGChar::characterTransform):
1613         * rendering/SVGCharacterLayoutInfo.h:
1614         * rendering/SVGRootInlineBox.cpp:
1615         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
1616         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1617
1618 2007-10-22  Alp Toker  <alp@atoker.com>
1619
1620         Reviewed by Nikolas Zimmermann.
1621
1622         Implement more GraphicsContextCairo stubs.
1623
1624         Remove a hack "to work around no current point bug" that was breaking
1625         canvas tests.
1626
1627         Fix warnings.
1628
1629         * platform/graphics/cairo/CairoPath.h:
1630         (WebCore::CairoPath::CairoPath):
1631         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1632         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1633         (WebCore::GraphicsContext::strokeRect):
1634         * platform/graphics/cairo/PathCairo.cpp:
1635         (WebCore::Path::isEmpty):
1636         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
1637         (WebCore::SVGPaintServerGradient::setup):
1638         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
1639         (WebCore::SVGPaintServerSolid::setup):
1640
1641 2007-10-22  Simon Hausmann  <hausmann@kde.org>
1642
1643         Reviewed by Nikolas.
1644
1645         Fix compilation from a clean build with the database feature disabled.
1646         JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.
1647
1648         * bindings/js/JSCustomVersionChangeCallback.cpp:
1649         * page/InspectorController.cpp:
1650
1651 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
1652
1653         Reviewed by Mark Rowe.
1654
1655         Fix for local database support after r26879
1656         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
1657
1658         * Configurations/WebCore.xcconfig:
1659         * WebCore.pro:
1660         * WebCore.vcproj/build-generated-files.sh:
1661
1662 2007-10-22  Simon Hausmann  <hausmann@kde.org>
1663
1664         Reviewed by Lars.
1665
1666         Disable the Database feature for the qmake build for now.
1667
1668         * WebCore.pro:
1669
1670 2007-10-22  Simon Hausmann  <hausmann@kde.org>
1671
1672         Reviewed by Lars.
1673
1674         Make disabling the database feature (ENABLE_DATABASE=0) work by
1675         placing various #ifdefs into the code and making the compilation of
1676         some files optional.
1677
1678         * WebCore.pro:
1679         * dom/Document.cpp:
1680         (WebCore::Document::~Document):
1681         (WebCore::Document::defaultEventHandler):
1682         * dom/Document.h:
1683         * page/DOMWindow.cpp:
1684         * page/DOMWindow.h:
1685         * page/DOMWindow.idl:
1686         * page/InspectorController.cpp:
1687         (WebCore::InspectorController::windowScriptObjectAvailable):
1688         (WebCore::InspectorController::populateScriptResources):
1689         (WebCore::InspectorController::clearDatabaseScriptResources):
1690         (WebCore::InspectorController::didCommitLoad):
1691         * page/InspectorController.h:
1692
1693 2007-10-22  Alp Toker  <alp@atoker.com>
1694
1695         Reviewed by Mark Rowe.
1696
1697         http://bugs.webkit.org/show_bug.cgi?id=15611
1698         [GTK] Text selection behaviour different in Debug and Release builds
1699
1700         http://bugs.webkit.org/show_bug.cgi?id=15578
1701         [GTK] Text editor caret does not blink
1702
1703         Never allow control to reach the end of non-void functions.
1704
1705         Return more sensible values, or in some cases, nulls.
1706
1707         * page/gtk/EventHandlerGtk.cpp:
1708         (WebCore::isKeyboardOptionTab):
1709         (WebCore::EventHandler::tabsToAllControls):
1710         (WebCore::EventHandler::eventActivatedView):
1711
1712 2007-10-22  Holger Freyther  <zecke@selfish.org>
1713
1714         Reviewed by Simon Hausmann <hausmann@kde.org>.
1715
1716         Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.
1717
1718         * platform/network/qt/ResourceHandleQt.cpp:
1719         (WebCore::WebCoreSynchronousLoader::resourceResponse):
1720         (WebCore::WebCoreSynchronousLoader::resourceError):
1721         (WebCore::WebCoreSynchronousLoader::data):
1722         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
1723         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
1724         (WebCore::WebCoreSynchronousLoader::didReceiveData):
1725         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
1726         (WebCore::WebCoreSynchronousLoader::didFail):
1727         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
1728         (WebCore::ResourceHandle::loadResourceSynchronously):
1729
1730 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
1731
1732         Reviewed by Lars Knoll <lars@trolltech.com>.
1733
1734         Style fix. It is allowed to attempt to delete 0.
1735
1736         * platform/qt/ClipboardQt.cpp:
1737
1738 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
1739
1740         Reviewed by Lars Knoll <lars@trolltech.com>.
1741
1742         Make it actually localizable....
1743
1744         * platform/qt/Localizations.cpp:
1745         (WebCore::submitButtonDefaultLabel):
1746         (WebCore::inputElementAltText):
1747         (WebCore::searchableIndexIntroduction):
1748         (WebCore::fileButtonChooseFileLabel):
1749         (WebCore::fileButtonNoFileSelectedLabel):
1750         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1751         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1752         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1753         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1754         (WebCore::contextMenuItemTagDownloadImageToDisk):
1755         (WebCore::contextMenuItemTagCopyImageToClipboard):
1756         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1757         (WebCore::contextMenuItemTagCopy):
1758         (WebCore::contextMenuItemTagGoBack):
1759         (WebCore::contextMenuItemTagGoForward):
1760         (WebCore::contextMenuItemTagStop):
1761         (WebCore::contextMenuItemTagReload):
1762         (WebCore::contextMenuItemTagCut):
1763         (WebCore::contextMenuItemTagPaste):
1764         (WebCore::contextMenuItemTagNoGuessesFound):
1765         (WebCore::contextMenuItemTagIgnoreSpelling):
1766         (WebCore::contextMenuItemTagLearnSpelling):
1767         (WebCore::contextMenuItemTagSearchWeb):
1768         (WebCore::contextMenuItemTagLookUpInDictionary):
1769         (WebCore::contextMenuItemTagOpenLink):
1770         (WebCore::contextMenuItemTagIgnoreGrammar):
1771         (WebCore::contextMenuItemTagSpellingMenu):
1772         (WebCore::contextMenuItemTagShowSpellingPanel):
1773         (WebCore::contextMenuItemTagCheckSpelling):
1774         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1775         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1776         (WebCore::contextMenuItemTagFontMenu):
1777         (WebCore::contextMenuItemTagBold):
1778         (WebCore::contextMenuItemTagItalic):
1779         (WebCore::contextMenuItemTagUnderline):
1780         (WebCore::contextMenuItemTagOutline):
1781         (WebCore::contextMenuItemTagWritingDirectionMenu):
1782         (WebCore::contextMenuItemTagDefaultDirection):
1783         (WebCore::contextMenuItemTagLeftToRight):
1784         (WebCore::contextMenuItemTagRightToLeft):
1785         (WebCore::contextMenuItemTagInspectElement):
1786         (WebCore::searchMenuNoRecentSearchesText):
1787         (WebCore::searchMenuRecentSearchesText):
1788
1789 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
1790
1791         Reviewed by Lars Knoll <lars@trolltech.com>.
1792
1793         Adjust the code to obey the Coding Style.
1794
1795         * platform/qt/Localizations.cpp:
1796         (WebCore::submitButtonDefaultLabel):
1797         (WebCore::inputElementAltText):
1798         (WebCore::resetButtonDefaultLabel):
1799         (WebCore::defaultLanguage):
1800         (WebCore::searchableIndexIntroduction):
1801         (WebCore::fileButtonChooseFileLabel):
1802         (WebCore::fileButtonNoFileSelectedLabel):
1803         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
1804         (WebCore::contextMenuItemTagDownloadLinkToDisk):
1805         (WebCore::contextMenuItemTagCopyLinkToClipboard):
1806         (WebCore::contextMenuItemTagOpenImageInNewWindow):
1807         (WebCore::contextMenuItemTagDownloadImageToDisk):
1808         (WebCore::contextMenuItemTagCopyImageToClipboard):
1809         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
1810         (WebCore::contextMenuItemTagCopy):
1811         (WebCore::contextMenuItemTagGoBack):
1812         (WebCore::contextMenuItemTagGoForward):
1813         (WebCore::contextMenuItemTagStop):
1814         (WebCore::contextMenuItemTagReload):
1815         (WebCore::contextMenuItemTagCut):
1816         (WebCore::contextMenuItemTagPaste):
1817         (WebCore::contextMenuItemTagNoGuessesFound):
1818         (WebCore::contextMenuItemTagIgnoreSpelling):
1819         (WebCore::contextMenuItemTagLearnSpelling):
1820         (WebCore::contextMenuItemTagSearchWeb):
1821         (WebCore::contextMenuItemTagLookUpInDictionary):
1822         (WebCore::contextMenuItemTagOpenLink):
1823         (WebCore::contextMenuItemTagIgnoreGrammar):
1824         (WebCore::contextMenuItemTagSpellingMenu):
1825         (WebCore::contextMenuItemTagShowSpellingPanel):
1826         (WebCore::contextMenuItemTagCheckSpelling):
1827         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
1828         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
1829         (WebCore::contextMenuItemTagFontMenu):
1830         (WebCore::contextMenuItemTagBold):
1831         (WebCore::contextMenuItemTagItalic):
1832         (WebCore::contextMenuItemTagUnderline):
1833         (WebCore::contextMenuItemTagOutline):
1834         (WebCore::contextMenuItemTagWritingDirectionMenu):
1835         (WebCore::contextMenuItemTagDefaultDirection):
1836         (WebCore::contextMenuItemTagLeftToRight):
1837         (WebCore::contextMenuItemTagRightToLeft):
1838         (WebCore::contextMenuItemTagInspectElement):
1839         (WebCore::searchMenuNoRecentSearchesText):
1840         (WebCore::searchMenuRecentSearchesText):
1841         (WebCore::searchMenuClearRecentSearchesText):
1842         (WebCore::AXWebAreaText):
1843         (WebCore::AXLinkText):
1844         (WebCore::AXListMarkerText):
1845         (WebCore::AXImageMapText):
1846         (WebCore::AXHeadingText):
1847         (WebCore::unknownFileSizeText):
1848
1849 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
1850
1851         Reviewed by Lars Knoll <lars@trolltech.com>.
1852
1853         Return a non empty string in more functions.
1854
1855         * platform/qt/Localizations.cpp:
1856         (WebCore::contextMenuItemTagShowSpellingPanel):
1857
1858 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
1859
1860         Reviewed by Lars Knoll <lars@trolltech.com>.
1861
1862         Shrink the TemporaryLinkStubs and move the
1863         Frame::setNeedsReapplyStyles stub to FrameQt.cpp
1864
1865         * page/qt/FrameQt.cpp:
1866         (WebCore::Frame::setNeedsReapplyStyles):
1867         * platform/qt/TemporaryLinkStubs.cpp:
1868
1869 2007-10-22  Holger Freyther  <zecke@selfish.org>
1870
1871         Reviewed by Lars Knoll <lars@trolltech.com>.
1872
1873         Implement the WebCore::fileSize function. The
1874         implementation assumes that QFileInfo will cache
1875         the result of the stat so that info.size() and
1876         info.exists() use the same stat result.
1877
1878         * platform/qt/FileSystemQt.cpp:
1879         (WebCore::deleteFile):
1880         * platform/qt/TemporaryLinkStubs.cpp:
1881
1882 2007-10-21  Alp Toker  <alp@atoker.com>
1883
1884         Reviewed by Mark Rowe.
1885
1886         Use the portable GLib time function.
1887
1888         Use event timestamps rather than the current time where available.
1889
1890         Rename SharedTimerLinux.cpp since it isn't Linux-specific.
1891
1892         * WebCore.pro:
1893         * platform/gtk/MouseEventGtk.cpp:
1894         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1895         * platform/gtk/SystemTimeGtk.cpp: Added.
1896         (WebCore::currentTime):
1897         * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
1898         * platform/gtk/SharedTimerLinux.cpp: Removed.
1899
1900 2007-10-22  David Hyatt  <hyatt@apple.com>
1901
1902         Fix for 15596, regression from my transform changes.  Preserve null checks on the clip rects calls for parent(),
1903         since the method is called on orphaned layers.  This is not very well understood.
1904
1905         Reviewed by eric
1906
1907         * rendering/RenderLayer.cpp:
1908         (WebCore::RenderLayer::calculateClipRects):
1909         (WebCore::RenderLayer::calculateRects):
1910
1911 2007-10-21  Mark Rowe  <mrowe@apple.com>
1912
1913         Reviewed by Alp.
1914
1915         http://bugs.webkit.org/show_bug.cgi?id=15575
1916         Bug 15575: [GTK] Implement threading using GThread
1917
1918         * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
1919         * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
1920         (WebCore::iconDatabase):
1921         (WebCore::IconDatabase::open):
1922         * platform/Threading.h:
1923         * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
1924         (WebCore::initializeThreading):
1925         (WebCore::threadMapMutex):
1926         (WebCore::threadMap):
1927         (WebCore::establishIdentifierForThread):
1928         (WebCore::threadForIdentifier):
1929         (WebCore::clearThreadForIdentifier):
1930         (WebCore::createThread):
1931         (WebCore::waitForThreadCompletion):
1932         (WebCore::detachThread):
1933         (WebCore::Mutex::Mutex):
1934         (WebCore::Mutex::~Mutex):
1935         (WebCore::Mutex::lock):
1936         (WebCore::Mutex::tryLock):
1937         (WebCore::Mutex::unlock):
1938         (WebCore::ThreadCondition::ThreadCondition):
1939         (WebCore::ThreadCondition::~ThreadCondition):
1940         (WebCore::ThreadCondition::wait):
1941         (WebCore::ThreadCondition::signal):
1942         (WebCore::ThreadCondition::broadcast):
1943         * storage/Database.cpp:
1944         (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
1945         if the icon database is compiled out
1946
1947 2007-10-21  Mark Rowe  <mrowe@apple.com>
1948
1949         Build fix.
1950
1951         * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
1952         implicit conversion warning.
1953
1954 2007-10-21  Alp Toker  <alp@atoker.com>
1955
1956         Reviewed by Mark Rowe.
1957
1958         Implement spelling and grammar mistake underlining with Pango/Cairo.
1959
1960         This change does not add any actual support for spelling or grammar
1961         checking to any port.
1962
1963         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1964         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1965
1966 2007-10-21  Alp Toker  <alp@atoker.com>
1967
1968         Reviewed by Mark Rowe.
1969
1970         Cairo canvas fixes:
1971
1972         Fix a refcounting issue leading to leaks and crashes on canvas
1973         content.
1974
1975         Delegate memory management of canvas images to Cairo.
1976
1977         Mark unhandled conditions with notImplemented() instead of silently
1978         ignoring them.
1979
1980         * html/CanvasRenderingContext2D.cpp:
1981         (WebCore::CanvasRenderingContext2D::drawImage):
1982         * html/CanvasStyle.cpp:
1983         (WebCore::CanvasStyle::applyStrokeColor):
1984         * html/CanvasStyle.h:
1985         * html/HTMLCanvasElement.cpp:
1986         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
1987         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
1988         (WebCore::HTMLCanvasElement::reset):
1989         (WebCore::HTMLCanvasElement::paint):
1990         (WebCore::HTMLCanvasElement::createDrawingContext):
1991         (WebCore::HTMLCanvasElement::createPlatformImage):
1992
1993 2007-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
1994
1995         Reviewed by Eric.
1996
1997         Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
1998
1999         The SVG layouting code itself doesn't handle these properties yet,
2000         it's just about recognizing them in the SVG CSS engine.
2001
2002         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
2003         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
2004         * ksvg2/css/SVGCSSParser.cpp:
2005         (WebCore::CSSParser::parseSVGValue):
2006         * ksvg2/css/SVGCSSStyleSelector.cpp:
2007         (WebCore::CSSStyleSelector::applySVGProperty):
2008         * ksvg2/css/SVGRenderStyle.h:
2009         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
2010         (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
2011         (WebCore::SVGRenderStyle::setBitDefaults):
2012         * ksvg2/css/SVGRenderStyleDefs.h:
2013
2014 2007-10-21  Christian Dywan  <christian@twotoasts.de>
2015
2016         Reviewed by Alp.
2017
2018         http://bugs.webkit.org/show_bug.cgi?id=15589
2019         Use glib's path separator on gtk
2020
2021         * platform/gtk/FileSystemGtk.cpp:
2022         (WebCore::pathByAppendingComponent):
2023
2024 2007-10-21  Dan Bernstein  <mitz@apple.com>
2025
2026         Reviewed by Dave Hyatt.
2027
2028         - fix http://bugs.webkit.org/show_bug.cgi?id=15259
2029           <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
2030
2031         Test: fast/text/word-space.html
2032
2033         * rendering/RenderBlock.cpp:
2034         (WebCore::stripTrailingSpace): Added word-spacing to the width of the
2035         space being stripped out.
2036         * rendering/RenderText.cpp:
2037         (WebCore::RenderText::trimmedPrefWidths): Changed handling of
2038         leading space. Since Font::width includes leading space width but not
2039         leading word spacing, this method needs to either remove the width of a
2040         space character or add word spacing,
2041         depending on stripFrontSpaces. 
2042         (WebCore::RenderText::calcPrefWidths): Corrected the check for adding
2043         trailing word spacing so that it would work in the case where the last
2044         space is ignored.
2045         * rendering/bidi.cpp:
2046         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
2047         actually add word spacing to the total width.
2048
2049 2007-10-20  David Hyatt  <hyatt@apple.com>
2050
2051         Land support for the transform CSS property.  Basic painting now works properly. There are many open issues
2052         that will have to be covered by individual bugs.
2053
2054         Reviewed by olliej
2055
2056         * css/CSSParser.cpp:
2057         (WebCore::CSSParser::validUnit):
2058         (WebCore::CSSParser::parseTransform):
2059         * rendering/RenderLayer.cpp:
2060         (WebCore::RenderLayer::RenderLayer):
2061         (WebCore::RenderLayer::~RenderLayer):
2062         (WebCore::RenderLayer::updateLayerPositions):
2063         (WebCore::RenderLayer::updateTransform):
2064         (WebCore::transparencyClipBox):
2065         (WebCore::RenderLayer::beginTransparencyLayers):
2066         (WebCore::RenderLayer::paintLayer):
2067         (WebCore::RenderLayer::calculateClipRects):
2068         (WebCore::RenderLayer::calculateRects):
2069         (WebCore::RenderLayer::childrenClipRect):
2070         (WebCore::RenderLayer::selfClipRect):
2071         (WebCore::RenderLayer::intersectsDamageRect):
2072         (WebCore::RenderLayer::boundingBox):
2073         * rendering/RenderLayer.h:
2074         * rendering/RenderObject.cpp:
2075         (WebCore::RenderObject::containingBlock):
2076         (WebCore::RenderObject::container):
2077         * rendering/RenderStyle.cpp:
2078         (WebCore::RenderStyle::applyTransform):
2079         * rendering/RenderStyle.h:
2080         (WebCore::TransformOperation::isScaleOperation):
2081         (WebCore::TransformOperation::isRotateOperation):
2082         (WebCore::TransformOperation::isSkewOperation):
2083         (WebCore::TransformOperation::isTranslateOperation):
2084         (WebCore::TransformOperation::isMatrixOperation):
2085         (WebCore::ScaleTransformOperation::isScaleOperation):
2086         (WebCore::RotateTransformOperation::isRotateOperation):
2087         (WebCore::SkewTransformOperation::isSkewOperation):
2088         (WebCore::TranslateTransformOperation::isTranslateOperation):
2089         (WebCore::MatrixTransformOperation::isMatrixOperation):
2090         * rendering/RenderTableRow.h:
2091         (WebCore::RenderTableRow::requiresLayer):
2092         * rendering/RenderTreeAsText.cpp:
2093         (WebCore::writeLayers):
2094
2095 2007-10-20  Timothy Hatcher  <timothy@apple.com>
2096
2097         Reviewed by Adam.
2098
2099         Add basic @font-face to the Web Inspector.
2100
2101         * page/InspectorController.cpp:
2102         (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
2103         * page/inspector/Resource.js: Add support for Font types and font preview in the icon.
2104         * page/inspector/ResourcePanel.js: Show a font preview for font resources.
2105         * page/inspector/inspector.css: Style for the font preview and font icon.
2106         * page/inspector/inspector.js: Add font mime types.
2107
2108 2007-10-20  Sam Weinig  <sam@webkit.org>
2109
2110         Reviewed by Mark Rowe.
2111
2112         Fixes:
2113             - http://bugs.webkit.org/show_bug.cgi?id=14393
2114               Column on the left side of the Web Inspector should have a smaller minimum width for resizing
2115             - http://bugs.webkit.org/show_bug.cgi?id=14394
2116               Left pane of the Web Inspector "shakes" when resizing it to maximum width
2117
2118         * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
2119           and window.innerWidth - 100 max-width for the sidebar.  The change also makes the viewbuttons
2120           move with the sidebar.
2121
2122 2007-10-20  Dan Bernstein  <mitz@apple.com>
2123
2124         Reviewed by Dave Hyatt.
2125
2126         - fix http://bugs.webkit.org/show_bug.cgi?id=15208
2127           display:table causes the collapsed text to show at a different position when expanded
2128
2129         Test: fast/table/insert-before-anonymous-ancestors.html
2130
2131         * rendering/RenderTable.cpp:
2132         (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
2133         that change was supposed to accomplish has since been done in other
2134         places in the code.
2135
2136 2007-10-20  Mark Rowe  <mrowe@apple.com>
2137
2138         Reviewed by Dave Hyatt.
2139
2140         Fix http://bugs.webkit.org/show_bug.cgi?id=15584
2141         Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
2142
2143         * platform/Font.cpp:
2144         (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
2145         glyph for the character, fall back to the missing glyph data rather than returning an
2146         invalid GlyphData.
2147
2148 2007-10-20  Jasper Bryant-Greene  <m@ni.ac.nz>
2149
2150         Reviewed by Maciej.
2151
2152         Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
2153         as suggested by George Wright in #15108 (which this patch will
2154         resolve).
2155
2156         This gives a more sane scrolling behaviour, rather than the
2157         jumping to the end or start of the document as occurred previously.
2158
2159         * platform/gtk/WheelEventGtk.cpp:
2160         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2161
2162 2007-10-20  Alp Toker  <alp@atoker.com>
2163
2164         Reviewed by Eric.
2165
2166         Support text boundary detection.
2167         Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
2168         Split out and implement some TemporaryLinkStubs.
2169
2170         * WebCore.pro:
2171         * WebCore.vcproj/WebCore.vcproj:
2172         * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
2173         * platform/gtk/Language.cpp: Added.
2174         (WebCore::defaultLanguage):
2175         * platform/gtk/TemporaryLinkStubs.cpp:
2176         * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
2177         (WebCore::currentTextBreakLocaleID):
2178         * platform/win/TextBoundariesWin.cpp: Removed.
2179
2180 2007-10-20  Mark Rowe  <mrowe@apple.com>
2181
2182         Reviewed by Tim Hatcher.
2183
2184         Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
2185         Bug 15574: Web Inspector doesn't work with the new Database feature
2186
2187         The executeSql callback is executed in the security domain of the web page that owns the database,
2188         while the inspector's window object is in the callback functions scope chain.  This is leading to a
2189         security violation when the callback attempts to access "document".  We can work around this by
2190         ensuring that "document" can be found in the scope chain before the window object.
2191
2192         * page/inspector/DatabasePanel.js:
2193
2194 2007-10-20  Darin Adler  <darin@apple.com>
2195
2196         Reviewed by Maciej.
2197
2198         - http://bugs.webkit.org/show_bug.cgi?id=15567
2199           speed up hashing const char* by removing call to strlen
2200
2201         This includes one other fix as well. Both were from a day where I did some
2202         profiling to find hot spots when running the page load test.
2203
2204         * platform/StringImpl.cpp:
2205         (WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
2206         Also change the argument names to not confusingly use m_ prefixes.
2207         (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
2208         don't have null.
2209
2210 2007-10-20  Mark Rowe  <mrowe@apple.com>
2211
2212         Reviewed by Alp.
2213
2214         Gtk changes needed to enable HTML 5 client-side database storage.
2215
2216         * WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
2217         * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
2218
2219 2007-10-20  Mark Rowe  <mrowe@apple.com>
2220
2221         Reviewed by Alp.
2222
2223         Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
2224         from the main event loop.
2225
2226         * WebCore.pro:
2227         * platform/gtk/TemporaryLinkStubs.cpp:
2228         * platform/gtk/ThreadingGtk.cpp: Added.
2229         (WebCore::callFunctionOnMainThread):
2230         (WebCore::callOnMainThread):
2231
2232 2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
2233
2234         Reviewed by Eric.
2235
2236         Fix non-functional display="inline" / display="none" for SVG text.
2237
2238         Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
2239         Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
2240         Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
2241         
2242         * css/svg.css: Remove "important" flag on text/foreignObject display: block property
2243         * rendering/RenderSVGBlock.cpp:
2244         (WebCore::RenderSVGBlock::setStyle):
2245
2246 2007-10-20  Mark Rowe  <mrowe@apple.com>
2247
2248         Reviewed by Alp.
2249
2250         Replace #ifdef'd code with the appropriate use of a forwarding header.
2251
2252         * ForwardingHeaders/kjs/array_instance.h: Added.
2253         * bindings/js/JSDatabaseCustom.cpp:
2254
2255 2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
2256
2257         Reviewed by Oliver.
2258
2259         Add support for 'kerning' property in SVG text layout code.
2260         Support all textLength/lengthAdjust modes on normal text & textPaths.
2261
2262         Support letter & word spacing on textPath.
2263         Fix text selection when any spacing (letter/word/kerning) is involved.
2264
2265         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
2266         Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
2267                svg/batik/text/textLayout.svg (kerning support)
2268                svg/text/text-spacing-01-b.svg (text selection)
2269
2270         * platform/Font.cpp:
2271         (WebCore::WidthIterator::advance):
2272         * platform/TextStyle.h:
2273         (WebCore::TextStyle::TextStyle):
2274         (WebCore::TextStyle::spacingDisabled):
2275         (WebCore::TextStyle::disableSpacing):
2276         * rendering/SVGCharacterLayoutInfo.cpp:
2277         (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
2278         (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
2279         (WebCore::SVGCharacterLayoutInfo::setInPathLayout):
2280         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
2281         (WebCore::SVGChar::characterTransform):
2282         * rendering/SVGCharacterLayoutInfo.h:
2283         (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
2284         * rendering/SVGRootInlineBox.cpp:
2285         (WebCore::closeTextChunk):
2286         (WebCore::calculateKerning):
2287         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
2288         (WebCore::svgTextStyleForInlineTextBox):
2289         (WebCore::calculateTextAnchorShiftForTextChunk):
2290         (WebCore::applyTextAnchorToTextChunk):
2291         (WebCore::calculateTextLengthCorrectionForTextChunk):
2292         (WebCore::applyTextLengthCorrectionToTextChunk):
2293         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
2294         (WebCore::SVGRootInlineBox::buildLayoutInformation):
2295         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
2296         (WebCore::SVGRootInlineBox::buildTextChunks):
2297         (WebCore::SVGRootInlineBox::layoutTextChunks):
2298         * rendering/SVGRootInlineBox.h:
2299
2300 2007-10-20  Rodney Dawes  <dobey@wayofthemonkey.com>
2301
2302         Reviewd by Darin.
2303
2304         http://bugs.webkit.org/show_bug.cgi?id=15563
2305         Fix conflict with X11 Window type in WebCore
2306
2307         * WebCore/bindings/js/JSDocumentCustom.cpp:
2308         * WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
2309         * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
2310         * WebCore/bindings/js/kjs_dom.cpp:
2311         * WebCore/bindings/js/kjs_events.cpp:
2312         * WebCore/bindings/js/kjs_proxy.cpp:
2313         * WebCore/history/CachedPage.cpp:
2314         * WebCore/page/Chrome.cpp:
2315         * WebCore/page/Frame.cpp:
2316
2317 2007-10-20  Simon Hausmann  <hausmann@kde.org>
2318
2319         Build fix, not reviewed.
2320
2321         Fix the Qt build by adding the two missing FileSystem functions.
2322
2323         * platform/qt/FileSystemQt.cpp:
2324         (WebCore::makeAllDirectories):
2325         (WebCore::pathByAppendingComponent):
2326
2327 2007-10-19  Alp Toker  <alp@atoker.com>
2328
2329         Reviewed by Oliver.
2330
2331         GTK+ build fix enabling the new local database storage feature.
2332         There is also a prospective Qt build fix.
2333
2334         * WebCore.pro:
2335         * bindings/js/JSDatabaseCustom.cpp:
2336         * platform/gtk/FileSystemGtk.cpp:
2337         (WebCore::pathByAppendingComponent):
2338         (WebCore::makeAllDirectories):
2339
2340 2007-10-19  Andrew Wellington  <proton@wiretapped.net>
2341
2342         Reviewed by Brady Eidson.
2343
2344         Mac build fix.
2345
2346         * WebCore.xcodeproj/project.pbxproj:
2347
2348 2007-10-19  Alp Toker  <alp@atoker.com>
2349
2350         Reviewed by Oliver.
2351
2352         Use platform colors for text selection.
2353         Update the cache when the GTK style is changed.
2354
2355         * platform/gtk/RenderThemeGtk.cpp:
2356         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
2357         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
2358         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
2359         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
2360         (WebCore::RenderThemeGtk::gtkStyleSet):
2361         (WebCore::RenderThemeGtk::gtkEntry):
2362         * platform/gtk/RenderThemeGtk.h:
2363
2364 2007-10-19  Adele Peterson  <adele@apple.com>
2365
2366         Reviewed by Beth.
2367
2368         Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
2369
2370         Test: fast/forms/menulist-no-overflow.html
2371
2372         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
2373
2374 2007-10-19  Anders Carlsson  <andersca@apple.com>
2375
2376         Reviewed by Brady.
2377
2378         Move some SQL-related classes to platform/sql.
2379         
2380         * WebCore.vcproj/WebCore.vcproj:
2381         * WebCore.xcodeproj/project.pbxproj:
2382         * loader/icon/SQLDatabase.cpp: Removed.
2383         * loader/icon/SQLDatabase.h: Removed.
2384         * loader/icon/SQLStatement.cpp: Removed.
2385         * loader/icon/SQLStatement.h: Removed.
2386         * loader/icon/SQLTransaction.cpp: Removed.
2387         * loader/icon/SQLTransaction.h: Removed.
2388         * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
2389         * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
2390         * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
2391         * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
2392         * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
2393         * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
2394
2395 2007-10-19  Anders Carlsson  <andersca@apple.com>
2396
2397         Reviewed by Adam.
2398
2399         Update to match the latest version of the spec. Now, executeSQL takes an array
2400         of SQL parameters instead of them being passed as arguments.
2401         
2402         * bindings/js/JSDatabaseCustom.cpp:
2403         (WebCore::JSDatabase::executeSql):
2404         * page/inspector/DatabasePanel.js:
2405         * storage/Database.idl:
2406
2407 2007-10-19  Brady Eidson  <beidson@apple.com>
2408
2409         Reviewed by Tim
2410
2411         Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
2412
2413         * storage/Database.cpp:
2414         (WebCore::Database::performOpenAndVerify):
2415         * storage/DatabaseTracker.cpp:
2416         (WebCore::DatabaseTracker::DatabaseTracker):
2417
2418 2007-10-19  Anders Carlsson  <andersca@apple.com>
2419
2420         Release build fix.
2421         
2422         * WebCore.vcproj/WebCore.vcproj:
2423
2424 2007-10-19  Brady Eidson  <beidson@apple.com>
2425
2426         Remove stray printfs
2427
2428         * dom/Document.cpp:
2429         (WebCore::Document::Document):
2430         (WebCore::Document::~Document):
2431
2432 2007-10-19  Anders Carlsson  <andersca@apple.com>
2433
2434         Reviewed by Brady.
2435
2436         Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
2437         already been locked, so lock the mutex first.
2438         
2439         * storage/DatabaseThread.cpp:
2440         (WebCore::DatabaseThread::databaseThread):
2441
2442 2007-10-19  Brady Eidson  <beidson@apple.com>
2443
2444         Better build fix
2445
2446         * loader/icon/SQLDatabase.cpp:
2447         (WebCore::SQLDatabase::authorizerFunction):  Definite works by 3.3.13
2448
2449 2007-10-19  Brady Eidson  <beidson@apple.com>
2450
2451         Build fix
2452
2453         * loader/icon/SQLDatabase.cpp:
2454         (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
2455           added to SQLite, but I know they were by 3.4.0
2456
2457 2007-10-19  Brady Eidson  <beidson@apple.com>
2458         Reviewed by Anders
2459
2460         Windows specific changes, as well as renaming Queue -> Deque
2461
2462         * ForwardingHeaders/wtf/Deque.h: Added.
2463         * ForwardingHeaders/wtf/Queue.h: Removed.
2464         * platform/win/FileSystemWin.cpp:
2465         (WebCore::fileSize):
2466         (WebCore::fileExists):
2467         (WebCore::deleteFile):
2468         (WebCore::pathByAppendingComponent):
2469         (WebCore::fileSystemRepresentation):
2470         (WebCore::makeAllDirectories):
2471         (WebCore::homeDirectoryPath):
2472         * storage/Database.h:
2473         * storage/DatabaseThread.cpp:
2474         (WebCore::DatabaseThread::documentGoingAway):
2475         (WebCore::DatabaseThread::databaseGoingAway):
2476         (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
2477         (WebCore::DatabaseThread::scheduleTask):
2478         (WebCore::DatabaseThread::scheduleImmediateTask):
2479         * storage/DatabaseThread.h:
2480
2481 2007-10-19  Brady Eidson <beidson@apple.com>
2482
2483         Reviewed by Tim and Anders
2484
2485         Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
2486
2487         The specification is still in flux but the fundamentals are pretty solid and we can start using and testing 
2488         this implementation even while filing bugs to track changes in the spec as it becomes more final
2489
2490         There are some implementation details in this patch that seem unused or useless, but they remain in place 
2491         while the spec is in flux and might go one way or another.
2492
2493         * platform/Logging.cpp: Add StorageAPI logging channel
2494         * platform/Logging.h:
2495
2496         * storage/Database.cpp: Added.
2497         (WebCore::Database::databaseInfoTableName):
2498         (WebCore::databaseVersionKey):
2499         (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
2500         (WebCore::Database::Database):
2501         (WebCore::Database::~Database):
2502         (WebCore::Database::openAndVerifyVersion):
2503         (WebCore::retrieveTextResultFromDatabase):
2504         (WebCore::Database::getVersionFromDatabase):
2505         (WebCore::setTextValueInDatabase):
2506         (WebCore::Database::setVersionInDatabase):
2507         (WebCore::Database::databaseThreadGoingAway): May be removed in the future
2508         (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
2509         (WebCore::Database::enableAuthorizer):
2510         (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.  
2511           The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
2512         (WebCore::Database::resetAuthorizer):
2513         (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage 
2514         (WebCore::Database::scheduleDatabaseCallback):
2515         (WebCore::Database::performOpenAndVerify): 
2516         (WebCore::Database::performChangeVersion):
2517         (WebCore::Database::performExecuteSql):
2518         (WebCore::Database::performCloseTransaction):
2519         (WebCore::Database::performGetTableNames):
2520         (WebCore::Database::version): C++ version of the javascript API
2521         (WebCore::Database::changeVersion): Ditto
2522         (WebCore::Database::executeSql): Ditto
2523         (WebCore::Database::closeTransaction): Ditto
2524         (WebCore::Database::tableNames): For internal (WebInspector) use
2525         (WebCore::Database::deliverAllPendingCallbacks):
2526         (WebCore::Database::deliverPendingCallbacks):
2527         * storage/Database.h: Added.
2528         (WebCore::Database::databaseDebugName): For debug logging purposes
2529         * storage/Database.idl: Added.
2530
2531         * storage/DatabaseAuthorizer.cpp: Added.
2532           The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
2533           tracking when effects certain sql statements might have (such as increasing the size of the database)
2534         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
2535         (WebCore::DatabaseAuthorizer::reset):
2536         (WebCore::DatabaseAuthorizer::createTable):
2537         (WebCore::DatabaseAuthorizer::createTempTable):
2538         (WebCore::DatabaseAuthorizer::dropTable):
2539         (WebCore::DatabaseAuthorizer::dropTempTable):
2540         (WebCore::DatabaseAuthorizer::allowAlterTable):
2541         (WebCore::DatabaseAuthorizer::createIndex):
2542         (WebCore::DatabaseAuthorizer::createTempIndex):
2543         (WebCore::DatabaseAuthorizer::dropIndex):
2544         (WebCore::DatabaseAuthorizer::dropTempIndex):
2545         (WebCore::DatabaseAuthorizer::createTrigger):
2546         (WebCore::DatabaseAuthorizer::createTempTrigger):
2547         (WebCore::DatabaseAuthorizer::dropTrigger):
2548         (WebCore::DatabaseAuthorizer::dropTempTrigger):
2549         (WebCore::DatabaseAuthorizer::createVTable):
2550         (WebCore::DatabaseAuthorizer::dropVTable):
2551         (WebCore::DatabaseAuthorizer::allowDelete):
2552         (WebCore::DatabaseAuthorizer::allowInsert):
2553         (WebCore::DatabaseAuthorizer::allowUpdate):
2554         (WebCore::DatabaseAuthorizer::allowRead):
2555         (WebCore::DatabaseAuthorizer::allowAnalyze):
2556         (WebCore::DatabaseAuthorizer::allowPragma):
2557         (WebCore::DatabaseAuthorizer::allowAttach):
2558         (WebCore::DatabaseAuthorizer::allowDetach):
2559         (WebCore::DatabaseAuthorizer::allowFunction):
2560         (WebCore::DatabaseAuthorizer::disable):
2561         (WebCore::DatabaseAuthorizer::enable):
2562         (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
2563           it should be invisible to scripts
2564         * storage/DatabaseAuthorizer.h: Added.
2565         (WebCore::DatabaseAuthorizer::lastActionWasInsert):
2566         (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
2567
2568         * storage/DatabaseCallback.cpp: Added.
2569           Generic item to queue up for callbacks on the main thread for database activities that take place on 
2570           a secondary thread
2571         (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
2572         (WebCore::DatabaseChangeVersionCallback::performCallback):
2573         (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
2574         (WebCore::DatabaseExecuteSqlCallback::performCallback):
2575         * storage/DatabaseCallback.h: Added.
2576         (WebCore::DatabaseCallback::~DatabaseCallback):
2577         (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
2578         (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
2579
2580         * storage/DatabaseTask.h: Added.
2581           Generic work-item to be queued up on the background database thread
2582         (WebCore::DatabaseTask::isComplete):
2583         (WebCore::DatabaseOpenTask::exceptionCode):
2584         (WebCore::DatabaseOpenTask::openSuccessful):
2585         (WebCore::DatabaseTableNamesTask::tableNames):
2586         * storage/DatabaseTask.cpp: Added.
2587         (WebCore::DatabaseTask::DatabaseTask):
2588         (WebCore::DatabaseTask::~DatabaseTask):
2589         (WebCore::DatabaseTask::performTask):
2590         (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished 
2591           synchronously
2592         (WebCore::DatabaseTask::waitForSynchronousCompletion):
2593
2594         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
2595         (WebCore::DatabaseOpenTask::doPerformTask):
2596
2597         (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
2598         (WebCore::DatabaseExecuteSqlTask::doPerformTask):
2599
2600         (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
2601         (WebCore::DatabaseChangeVersionTask::doPerformTask):
2602
2603         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
2604         (WebCore::DatabaseTableNamesTask::doPerformTask):
2605
2606         * storage/DatabaseThread.cpp: Added.
2607           The current design is that each Document will have its own DatabaseThread.  This makes scripts on each
2608           individual document more response at the cost of adding more threads and potentially creating concurrency
2609           issues when the same database is open twice from two different documents
2610         (WebCore::DatabaseThread::DatabaseThread):
2611         (WebCore::DatabaseThread::~DatabaseThread):
2612         (WebCore::DatabaseThread::start):
2613         (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
2614         (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
2615         (WebCore::DatabaseThread::databaseThreadStart):
2616         (WebCore::DatabaseThread::databaseThread):
2617         (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
2618         (WebCore::DatabaseThread::scheduleTask):
2619         (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
2620           the main thread requires a task be performed synchronously
2621         (WebCore::DatabaseThread::wakeWorkThread):
2622         * storage/DatabaseThread.h: Added.
2623
2624         * storage/DatabaseTracker.cpp: Added.
2625           The DatabaseTracker is the master management of all databases.  It will keep track of the filename for a given
2626           unique database, keep track of the total disk usage per-origin, and policys per database/origin
2627         (WebCore::DatabaseTracker::setDatabasePath):
2628         (WebCore::DatabaseTracker::databasePath):
2629         (WebCore::DatabaseTracker::tracker):
2630         (WebCore::DatabaseTracker::DatabaseTracker):
2631         (WebCore::DatabaseTracker::fullPathForDatabase):
2632         (WebCore::DatabaseTracker::populateOrigins):
2633         (WebCore::DatabaseTracker::origins):
2634         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2635         (WebCore::DatabaseTracker::addDatabase):
2636         (WebCore::DatabaseTracker::deleteAllDatabases):
2637         (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
2638         * storage/DatabaseTracker.h: Added.
2639
2640         * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
2641         (WebCore::SQLCallback::~SQLCallback):
2642         * storage/SQLCallback.idl: Added.
2643
2644         * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
2645         (WebCore::SQLResultSet::SQLResultSet):
2646         (WebCore::SQLResultSet::insertId):
2647         (WebCore::SQLResultSet::rowsAffected):
2648         (WebCore::SQLResultSet::errorCode):
2649         (WebCore::SQLResultSet::error):
2650         (WebCore::SQLResultSet::rows):
2651         (WebCore::SQLResultSet::setInsertId):
2652         (WebCore::SQLResultSet::setRowsAffected):
2653         (WebCore::SQLResultSet::setErrorCode):
2654         (WebCore::SQLResultSet::setErrorMessage):
2655         * storage/SQLResultSet.h: Added.
2656         * storage/SQLResultSet.idl: Added.
2657
2658         * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
2659         (WebCore::SQLResultSetRowList::length):
2660         * storage/SQLResultSetRowList.h: Added.
2661         (WebCore::SQLResultSetRowList::columnNames):
2662         (WebCore::SQLResultSetRowList::values):
2663         (WebCore::SQLResultSetRowList::addColumn):
2664         (WebCore::SQLResultSetRowList::addResult):
2665         * storage/SQLResultSetRowList.idl: Added.
2666
2667         * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
2668         (WebCore::VersionChangeCallback::~VersionChangeCallback):
2669         * storage/VersionChangeCallback.idl: Added.
2670
2671 2007-10-19  Brady Eidson <beidson@apple.com>
2672
2673         Reviewed by Oliver + Same
2674
2675         Forwarding header for the new wtf/Queue.h
2676
2677         * ForwardingHeaders/wtf/Queue.h: Added.
2678
2679 2007-10-19  Anders Carlsson <beidson@apple.com>
2680
2681         Reviewed by Sam Weinig
2682
2683         Most of the Javascript binding support for the Storage API
2684
2685         * bindings/js/JSCustomSQLCallback.cpp: Added.
2686         (WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
2687         (WebCore::JSCustomSQLCallback::handleEvent):
2688         * bindings/js/JSCustomSQLCallback.h: Added.
2689                 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
2690                 handleEvent to a JS function or a JS object with a handleEvent function.
2691
2692         * bindings/js/JSCustomVersionChangeCallback.cpp: Added.
2693         (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
2694         (WebCore::JSCustomVersionChangeCallback::handleEvent):
2695         * bindings/js/JSCustomVersionChangeCallback.h: Added.
2696                 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
2697                 handleEvent to a JS function or a JS object with a handleEvent function.
2698
2699         * bindings/js/JSDatabaseCustom.cpp: Added.
2700         (WebCore::JSDatabase::executeSql):
2701                 Custom implementation of executeSql that takes an array of parameters.
2702                 
2703         (WebCore::JSDatabase::changeVersion):
2704                 Custom implementation of changeVersion.
2705                 
2706         * bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
2707         (WebCore::JSSQLResultSetRowList::item):
2708                 Custom method that returns a JS object that corresponds to a given row in the database.
2709
2710         * bindings/scripts/CodeGeneratorJS.pm:
2711
2712         * page/DOMWindow.cpp:
2713         (WebCore::DOMWindow::openDatabase):
2714         * page/DOMWindow.h:
2715         * page/DOMWindow.idl:
2716                 Add openDatabase implementation.
2717
2718 2007-10-19  Brady Eidson <beidson@apple.com>
2719
2720         Reviewed by Oliver
2721
2722         Added tons of utility to the FileSystem abstractions, including moving
2723         some stuff over from IconDatabase
2724
2725         * platform/FileSystem.h:
2726
2727         * platform/cf/FileSystemCF.cpp: Added.
2728         (WebCore::fileSystemRepresentation):
2729
2730         * platform/mac/FileSystemMac.mm:
2731
2732         * platform/posix/FileSystemPOSIX.cpp: Added.
2733         (WebCore::fileExists):
2734         (WebCore::deleteFile):
2735         (WebCore::fileSize):
2736         (WebCore::pathByAppendingComponent):
2737         (WebCore::makeAllDirectories):
2738
2739 2007-10-19  Timothy Hatcher  <timothy@apple.com>
2740
2741         Reviewed by Adam Roben
2742
2743         Preliminary Web Inspector support for the Storage API
2744         (This patch does not include the support artwork)
2745
2746         * page/InspectorController.cpp:
2747         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
2748         (WebCore::InspectorDatabaseResource::setScriptObject):
2749         (WebCore::databaseTableNames): Return the table names for a Database object.
2750         (WebCore::InspectorController::setWindowVisible):
2751         (WebCore::InspectorController::windowScriptObjectAvailable):
2752         (WebCore::InspectorController::populateScriptResources):
2753         (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
2754         (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
2755         (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
2756         (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
2757         (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
2758         * page/InspectorController.h:
2759         * page/inspector/Database.js: Added.
2760         * page/inspector/DatabasePanel.js: Added.
2761         * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
2762         * page/inspector/inspector.css: Add styles for the database panel.
2763         * page/inspector/inspector.html: Include DatabasePanel.js
2764         * page/inspector/inspector.js: Support for adding and removing Database resources.
2765
2766 2007-10-19  Brady Eidson <beidson@apple.com>
2767
2768         Reviewed by Tim Hatcher
2769
2770         Added support for Chrome prompts required by the Storage API
2771
2772         * page/Chrome.cpp:
2773         (WebCore::Chrome::runDatabaseSizeLimitPrompt):
2774         * page/Chrome.h:
2775         * page/ChromeClient.h:
2776         * platform/graphics/svg/SVGImageEmptyClients.h:
2777
2778 2007-10-19  Brady Eidson <beidson@apple.com>
2779
2780         Contributions and Review by Anders
2781
2782         Various SQLite tweaks in preparation for the storage API
2783
2784         * loader/icon/SQLDatabase.cpp:
2785         (WebCore::SQLDatabase::~SQLDatabase):
2786         (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
2787         (WebCore::SQLDatabase::setAuthorizer):
2788         (WebCore::SQLDatabase::lock):
2789         (WebCore::SQLDatabase::unlock):
2790         * loader/icon/SQLDatabase.h:
2791
2792         * loader/icon/SQLStatement.cpp:
2793         (WebCore::SQLStatement::prepare): Switch to prepare16_v2
2794         (WebCore::SQLStatement::bindDouble): Added
2795         (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
2796         (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
2797         * loader/icon/SQLStatement.h:
2798         (WebCore::SQLStatement::isPrepared):
2799
2800         * platform/sql/SQLAuthorizer.cpp: Added.  Fully virtual interface to implement your own SQLite authorizer
2801         * platform/sql/SQLAuthorizer.h: Added.
2802         (WebCore::SQLAuthorizer::~SQLAuthorizer):
2803         (WebCore::SQLAuthorizer::createTable):
2804         (WebCore::SQLAuthorizer::createTempTable):
2805         (WebCore::SQLAuthorizer::dropTable):
2806         (WebCore::SQLAuthorizer::dropTempTable):
2807         (WebCore::SQLAuthorizer::allowAlterTable):
2808         (WebCore::SQLAuthorizer::createIndex):
2809         (WebCore::SQLAuthorizer::createTempIndex):
2810         (WebCore::SQLAuthorizer::dropIndex):
2811         (WebCore::SQLAuthorizer::dropTempIndex):
2812         (WebCore::SQLAuthorizer::createTrigger):
2813         (WebCore::SQLAuthorizer::createTempTrigger):
2814         (WebCore::SQLAuthorizer::dropTrigger):
2815         (WebCore::SQLAuthorizer::dropTempTrigger):
2816         (WebCore::SQLAuthorizer::createView):
2817         (WebCore::SQLAuthorizer::createTempView):
2818         (WebCore::SQLAuthorizer::dropView):
2819         (WebCore::SQLAuthorizer::dropTempView):
2820         (WebCore::SQLAuthorizer::createVTable):
2821         (WebCore::SQLAuthorizer::dropVTable):
2822         (WebCore::SQLAuthorizer::allowDelete):
2823         (WebCore::SQLAuthorizer::allowInsert):
2824         (WebCore::SQLAuthorizer::allowUpdate):
2825         (WebCore::SQLAuthorizer::allowTransaction):
2826         (WebCore::SQLAuthorizer::allowSelect):
2827         (WebCore::SQLAuthorizer::allowRead):
2828         (WebCore::SQLAuthorizer::allowAttach):
2829         (WebCore::SQLAuthorizer::allowDetach):
2830         (WebCore::SQLAuthorizer::allowReindex):
2831         (WebCore::SQLAuthorizer::allowAnalyze):
2832         (WebCore::SQLAuthorizer::allowFunction):
2833
2834         * platform/sql/SQLValue.cpp: Added.  Contains a value for a SQLite database that can be one of a few types.  
2835           For now, just a String or a double
2836         (WebCore::SQLValue::SQLValue):
2837         (WebCore::SQLValue::string):
2838         (WebCore::SQLValue::number):
2839         * platform/sql/SQLValue.h: Added.
2840         (WebCore::SQLValue::):
2841         (WebCore::SQLValue::SQLValue):
2842         (WebCore::SQLValue::type):
2843
2844 2007-10-19  Brady Eidson <beidson@apple.com>
2845
2846         Reviewed by Maciej
2847
2848         Changed IconDatabase over to use new FileSystem apis
2849
2850         * loader/icon/IconDatabase.cpp:
2851         (WebCore::IconDatabase::open):
2852
2853 2007-10-19  David Hyatt  <hyatt@apple.com>
2854
2855         Fix for ebay parser crash.
2856
2857         Reviewed by Beth
2858
2859         fast/invalid/table-residual-style-crash.html added as a test
2860
2861         * html/HTMLParser.cpp:
2862         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2863
2864 2007-10-19  Sam Weinig  <sam@webkit.org>
2865
2866         Fix Windows, Qt and GTK builds.
2867
2868         * WebCore.pro:
2869         * WebCore.vcproj/WebCore.vcproj:
2870
2871 2007-10-19  Sam Weinig  <sam@webkit.org>
2872
2873         Reviewed by Darin.
2874
2875         Encapsulate the same origin check into the new SecurityOrigin class.
2876
2877         * WebCore.xcodeproj/project.pbxproj:
2878         * bindings/js/kjs_window.cpp:
2879         (KJS::Window::isSafeScript):
2880         * dom/Document.cpp:
2881         (WebCore::Document::Document):
2882         (WebCore::Document::defaultEventHandler):
2883         * dom/Document.h:
2884         (WebCore::Document::securityOrigin):
2885         * loader/FrameLoader.cpp:
2886         (WebCore::FrameLoader::begin):
2887         (WebCore::FrameLoader::setOpener):
2888         * loader/FrameLoader.h:
2889         * platform/SecurityOrigin.cpp: Added.
2890         (WebCore::SecurityOrigin::SecurityOrigin):
2891         (WebCore::SecurityOrigin::clear):
2892         (WebCore::SecurityOrigin::isEmpty):
2893         (WebCore::SecurityOrigin::setForFrame):
2894         (WebCore::SecurityOrigin::setDomainFromDOM):
2895         (WebCore::SecurityOrigin::allowsAccessFrom):
2896         (WebCore::SecurityOrigin::isSecureTransitionTo):
2897         * platform/SecurityOrigin.h: Added.
2898
2899 2007-10-19  Simon Hausmann  <hausmann@kde.org>
2900
2901         Fix the Qt/Windows build: Added missing FontSelector.h include.
2902
2903         * platform/qt/FontQt.cpp:
2904
2905 2007-10-19  Simon Hausmann  <hausmann@kde.org>
2906
2907         Reviewed by Lars.
2908
2909         Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
2910
2911         * platform/Threading.h:
2912
2913 2007-10-19  Simon Hausmann  <hausmann@kde.org>
2914
2915         Reviewed by Lars.
2916
2917         Fix the Qt/Windows build, don't use cat but use the perl print trick
2918         instead.
2919
2920         * WebCore.pro:
2921
2922 2007-10-18  Justin Garcia  <justin.garcia@apple.com>
2923
2924         Reviewed by Kevin McCullough.
2925
2926         <rdar://problem/5483526> 
2927         GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
2928
2929         * editing/TextIterator.cpp:
2930         (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
2931         between every VisiblePosition.  We weren't emitting a space after some tables, because
2932         we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
2933         was emitted.
2934
2935 2007-10-18  Dan Bernstein  <mitz@apple.com>
2936
2937         Reviewed by Adam Roben.
2938
2939         - fix <rdar://problem/5313523>
2940         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
2941
2942         * platform/network/mac/ResourceResponseMac.mm:
2943         (WebCore::ResourceResponse::doUpdateResourceResponse): Work around
2944         <rdar://problem/5321972> by testing for the case of a response
2945         with a MIME type of application/octet-stream and a Content-Type header
2946         starting with text/plain and setting the MIME type to text/plain in
2947         that case.
2948
2949 2007-10-18  Mark Rowe  <mrowe@apple.com>
2950
2951         Fix the no-SVG build.
2952
2953         * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
2954         LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
2955
2956 2007-10-18  Darin Adler  <darin@apple.com>
2957
2958         Reviewed by Anders.
2959
2960         - some small tweaks to the threading implementation
2961
2962         I had trouble building on Windows. Either the problem went away by itself
2963         or one of these changes fixed it.
2964
2965         * platform/Threading.h: Eliminated the use of friend, and shared a single
2966         declaration for the initializeThreading function.
2967
2968         * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
2969         Call impl() here.
2970
2971         * platform/win/ThreadingWin.cpp: Got rid of two globals here with static
2972         constructors. Also added a typedef for the type of the function queue.
2973         (WebCore::functionQueueMutex): Added function.
2974         (WebCore::functionQueue): Ditto.
2975         (WebCore::callFunctionsOnMainThread): Use functions instead of using the
2976         globals directly.
2977         (WebCore::callOnMainThread): Ditto.
2978
2979         * css/CSSParser.cpp: Had to touch this file to make things build.
2980
2981 2007-10-18  Adam Roben  <aroben@apple.com>
2982
2983         Fix <rdar://5547462> Need to copy Inspector resources in Production builds
2984
2985         I also added an excludes file for the xcopy command to avoid copying
2986         .svn folders.
2987
2988         Reviewed by Geoff.
2989
2990         * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
2991         resources.
2992         * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
2993         xcopy.
2994         * WebCore.vcproj/xcopy.excludes: Added.
2995
2996 2007-10-18  Darin Adler  <darin@apple.com>
2997
2998         Reviewed by Sam.
2999
3000         - fix http://bugs.webkit.org/show_bug.cgi?id=15541
3001           REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
3002
3003         * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
3004
3005 2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
3006
3007         Build fix. Not reviewed.
3008
3009         Hopefully fix win build by including wtf/MathExtras.h.
3010
3011         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3012
3013 2007-10-18  Dan Bernstein  <mitz@apple.com>
3014
3015         Reviewed by Nikolas Zimmermann.
3016
3017         - fix http://bugs.webkit.org/show_bug.cgi?id=15367
3018           Assertion failure inspecting a document including soft hyphen code (0xad)
3019
3020         Test: fast/text/word-break-soft-hyphen.html
3021
3022         * rendering/RenderText.cpp:
3023         (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as 
3024         word boundaries. This fixes the bug and is consistent with the fact that
3025         run rounding does occur at soft hyphens.
3026
3027 2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
3028
3029         Reviewed by Anders.
3030
3031         Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
3032         Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
3033
3034         Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
3035         to avoid excessive mallocs (in the testcase above 1000000x1000000)
3036
3037         * ksvg2/svg/SVGMaskElement.cpp:
3038         (WebCore::SVGMaskElement::drawMaskerContent):
3039         * ksvg2/svg/SVGPatternElement.cpp:
3040         (WebCore::SVGPatternElement::buildPattern):
3041         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3042         (WebCore::SVGPaintServerGradient::teardown):
3043         (WebCore::SVGPaintServerGradient::setup):
3044         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
3045         (WebCore::SVGResourceMasker::applyMask):
3046         * rendering/SVGRenderSupport.cpp:
3047         (WebCore::clampImageBufferSizeToViewport):
3048         * rendering/SVGRenderSupport.h:
3049
3050 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
3051
3052         Windows build fix.
3053
3054         * css/CSSStyleSelector.cpp:
3055         (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
3056
3057 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
3058
3059         Release build fix.
3060
3061         * css/CSSStyleSelector.cpp:
3062         (WebCore::CSSStyleSelector::applyProperty): 
3063
3064 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
3065
3066         Reviewed by Darin.
3067
3068         Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
3069         and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.
3070
3071         * WebCore.xcodeproj/project.pbxproj:
3072         * css/CSSComputedStyleDeclaration.cpp:
3073         (WebCore::getPositionOffsetValue):
3074         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3075         * css/CSSPrimitiveValue.cpp:
3076         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3077         (WebCore::CSSPrimitiveValue::init):
3078         * css/CSSPrimitiveValue.h:
3079         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3080         * css/CSSPrimitiveValueMappings.h: Added.
3081         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3082         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
3083         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
3084         (WebCore::CSSPrimitiveValue::operator EAppearance):
3085         (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
3086         (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
3087         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
3088         (WebCore::CSSPrimitiveValue::operator EBoxDirection):
3089         (WebCore::CSSPrimitiveValue::operator EBoxLines):
3090         (WebCore::CSSPrimitiveValue::operator EBoxOrient):
3091         (WebCore::CSSPrimitiveValue::operator ECaptionSide):
3092         (WebCore::CSSPrimitiveValue::operator EClear):
3093         (WebCore::CSSPrimitiveValue::operator ECursor):
3094         (WebCore::CSSPrimitiveValue::operator EDisplay):
3095         (WebCore::CSSPrimitiveValue::operator EEmptyCell):
3096         (WebCore::CSSPrimitiveValue::operator EFloat):
3097         (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
3098         (WebCore::CSSPrimitiveValue::operator EListStylePosition):
3099         (WebCore::CSSPrimitiveValue::operator EListStyleType):
3100         (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
3101         (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
3102         (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
3103         (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
3104         (WebCore::CSSPrimitiveValue::operator ENBSPMode):
3105         (WebCore::CSSPrimitiveValue::operator EOverflow):
3106         (WebCore::CSSPrimitiveValue::operator EPageBreak):
3107         (WebCore::CSSPrimitiveValue::operator EPosition):
3108         (WebCore::CSSPrimitiveValue::operator EResize):
3109         (WebCore::CSSPrimitiveValue::operator ETableLayout):
3110         (WebCore::CSSPrimitiveValue::operator ETextAlign):
3111         (WebCore::CSSPrimitiveValue::operator ETextSecurity):
3112         (WebCore::CSSPrimitiveValue::operator ETextTransform):
3113         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
3114         (WebCore::CSSPrimitiveValue::operator EUserDrag):
3115         (WebCore::CSSPrimitiveValue::operator EUserModify):
3116         (WebCore::CSSPrimitiveValue::operator EUserSelect):
3117         (WebCore::CSSPrimitiveValue::operator EVisibility):
3118         (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
3119         (WebCore::CSSPrimitiveValue::operator EWordBreak):
3120         (WebCore::CSSPrimitiveValue::operator EWordWrap):
3121         (WebCore::CSSPrimitiveValue::operator LineCap):
3122         (WebCore::CSSPrimitiveValue::operator LineJoin):
3123         (WebCore::CSSPrimitiveValue::operator TextDirection):
3124         (WebCore::CSSPrimitiveValue::operator WindRule):
3125         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
3126         (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
3127         (WebCore::CSSPrimitiveValue::operator EColorRendering):
3128         (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
3129         (WebCore::CSSPrimitiveValue::operator EImageRendering):
3130         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
3131         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
3132         (WebCore::CSSPrimitiveValue::operator ETextAnchor):
3133         (WebCore::CSSPrimitiveValue::operator ETextRendering):
3134         (WebCore::CSSPrimitiveValue::operator EWritingMode):
3135         * css/CSSStyleSelector.cpp:
3136         (WebCore::CSSStyleSelector::checkSelector):
3137         (WebCore::CSSStyleSelector::checkOneSelector):
3138         (WebCore::CSSRuleSet::addRulesFromSheet):
3139         (WebCore::convertToLength):
3140         (WebCore::CSSStyleSelector::applyDeclarations):
3141         (WebCore::CSSStyleSelector::applyProperty):
3142         (WebCore::CSSStyleSelector::mapBackgroundAttachment):
3143         (WebCore::CSSStyleSelector::mapBackgroundClip):
3144         (WebCore::CSSStyleSelector::mapBackgroundComposite):
3145         (WebCore::CSSStyleSelector::mapBackgroundOrigin):
3146         (WebCore::CSSStyleSelector::mapBackgroundRepeat):
3147         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
3148         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
3149         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
3150         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
3151         * ksvg2/css/SVGCSSStyleSelector.cpp:
3152         (WebCore::CSSStyleSelector::applySVGProperty):
3153
3154 2007-10-18  Eric Seidel  <eric@webkit.org>
3155
3156         Reviewed by Maciej.
3157
3158         Fix crashers in SVGViewSpec::parseViewSpec
3159         http://bugs.webkit.org/show_bug.cgi?id=15504
3160
3161         Test is blocked by bug 15503, landed as:
3162         * svg/dom/viewspec-parser.html-disabled
3163
3164         * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
3165         * ksvg2/svg/SVGViewSpec.cpp:
3166         (WebCore::SVGViewSpec::parseViewSpec):
3167         * ksvg2/svg/SVGViewSpec.idl: Added.
3168
3169 2007-10-17  Rob Buis  <buis@kde.org>
3170
3171         Reviewed by Darin, Adam, and Maciej.
3172
3173         http://bugs.webkit.org/show_bug.cgi?id=12988
3174         First element (in document order) is not returned when other duplicate ID-ed elements were created first
3175
3176         Reset the element id cache when an id is added and there is a duplicate for that id.
3177
3178         * dom/Document.cpp:
3179         (WebCore::Document::addElementById):
3180
3181 2007-10-17  Mark Rowe  <mrowe@apple.com>
3182
3183         Mac build fix.
3184
3185         * Configurations/WebCore.xcconfig:  Make it possible to include CoreGraphics header files.
3186
3187 2007-10-17  Adam Roben  <aroben@apple.com>
3188
3189         Fix an ASSERT on launch on Windows
3190
3191         Fix dictated to me by Brady.
3192
3193         * loader/icon/IconDatabase.cpp:
3194         (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
3195         m_syncLock before going into the loop.
3196
3197 2007-10-17  Adam Roben  <aroben@apple.com>
3198
3199         Windows build fix
3200
3201         Reviewed by NOBODY.
3202
3203         * platform/graphics/AffineTransform.h: Don't #include
3204         ApplicationServices.h.
3205         * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
3206         needed now that we're not #including ApplicationServices.h.
3207
3208 2007-10-17  Mark Rowe  <mrowe@apple.com>
3209
3210         Gtk build fix.  Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
3211         multiple-definition link errors.
3212
3213         * WebCore.pro:
3214         * platform/Threading.h:
3215         * platform/ThreadingNone.cpp: Added.
3216         (WebCore::createThread):
3217         (WebCore::waitForThreadCompletion):
3218         (WebCore::detachThread):
3219         (WebCore::Mutex::Mutex):
3220         (WebCore::Mutex::~Mutex):
3221         (WebCore::Mutex::lock):
3222         (WebCore::Mutex::tryLock):
3223         (WebCore::Mutex::unlock):
3224         (WebCore::ThreadCondition::ThreadCondition):
3225
3226 2007-10-17  Anders Carlsson  <andersca@apple.com>
3227
3228         Reviewed by Oliver.
3229
3230         * WebCore.xcodeproj/project.pbxproj:
3231         * WebCore.vcproj/WebCore.vcproj:
3232         
3233         * config.h:
3234         #define USE_PTHREADS on Windows.
3235         
3236         * loader/icon/IconDatabase.cpp:
3237         (WebCore::IconDatabase::getOrCreateIconRecord):
3238         (WebCore::IconDatabase::getOrCreatePageURLRecord):
3239         Update for mutex changes.
3240         
3241         * platform/Threading.h:
3242         (WebCore::):
3243         (WebCore::ThreadSafeShared::ThreadSafeShared):
3244         (WebCore::ThreadSafeShared::ref):
3245         (WebCore::ThreadSafeShared::deref):
3246         (WebCore::ThreadSafeShared::hasOneRef):
3247         (WebCore::ThreadSafeShared::refCount):
3248         (WebCore::ThreadSafeShared::isThreadSafe):
3249         Add a new Shared base class that uses a mutex to manage its refcount.
3250         
3251         (WebCore::createThread):
3252         (WebCore::waitForThreadCompletion):
3253         (WebCore::detachThread):
3254         New functions for thread creation.
3255         
3256         (WebCore::Mutex::Mutex):
3257         (WebCore::Mutex::~Mutex):
3258         (WebCore::Mutex::lock):
3259         (WebCore::Mutex::tryLock):
3260         (WebCore::Mutex::unlock):
3261         Move the definitions to ThreadingPthreads.cpp
3262         
3263         (WebCore::ThreadCondition::ThreadCondition):
3264         (WebCore::ThreadCondition::~ThreadCondition):
3265         (WebCore::ThreadCondition::wait):
3266         (WebCore::ThreadCondition::signal):
3267         (WebCore::ThreadCondition::broadcast):
3268         Move the definitions to ThreadingPthreads.cpp
3269         
3270         * platform/pthreads: Added.
3271         * platform/pthreads/ThreadingPthreads.cpp: Added.
3272         Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.
3273
3274 2007-10-17  David Hyatt  <hyatt@apple.com>
3275
3276         Add support for creating a layer when a transform is in effect.  Add support to RenderStyle for
3277         handing back a computed AffineTransform.
3278
3279         Reviewed by Mitz Pettel
3280
3281         * css/CSSStyleSelector.cpp:
3282         (WebCore::CSSStyleSelector::adjustRenderStyle):
3283         * rendering/RenderBox.cpp:
3284         (WebCore::RenderBox::setStyle):
3285         * rendering/RenderObject.cpp:
3286         (WebCore::RenderObject::RenderObject):
3287         (WebCore::RenderObject::requiresLayer):
3288         (WebCore::RenderObject::setStyle):
3289         * rendering/RenderObject.h:
3290         (WebCore::RenderObject::hasTransform):
3291         (WebCore::RenderObject::setHasTransform):
3292         * rendering/RenderStyle.cpp:
3293         (WebCore::RenderStyle::applyTransform):
3294         * rendering/RenderStyle.h:
3295         (WebCore::RenderStyle::hasTransform):
3296         * rendering/RenderTableCell.cpp:
3297         (WebCore::RenderTableCell::requiresLayer):
3298         * rendering/RenderTableRow.h:
3299         (WebCore::RenderTableRow::requiresLayer):
3300
3301 2007-10-17  David Hyatt  <hyatt@apple.com>
3302
3303         Add support for mapping of the transform CSS property into RenderStyles.  Everything is now ready for the front
3304         end to use.
3305
3306         Reviewed by Mitz Pettel
3307
3308         * WebCore.xcodeproj/project.pbxproj:
3309         * css/CSSStyleSelector.cpp:
3310         (WebCore::CSSStyleSelector::applyProperty):
3311         * css/CSSTransformValue.h:
3312         (WebCore::CSSTransformValue::type):
3313         (WebCore::CSSTransformValue::values):
3314         * platform/graphics/AffineTransform.cpp:
3315         (WebCore::AffineTransform::skew):
3316         * platform/graphics/AffineTransform.h:
3317         * rendering/RenderStyle.cpp:
3318         (WebCore::StyleTransformData::StyleTransformData):
3319         (WebCore::StyleTransformData::operator==):
3320         (WebCore::StyleTransformData::transformDataEquivalent):
3321         * rendering/RenderStyle.h:
3322         (WebCore::TransformOperation::~TransformOperation):
3323         (WebCore::TransformOperation::operator!=):
3324         (WebCore::TransformOperation::isScaleOperation):
3325         (WebCore::TransformOperation::isRotateOperation):
3326         (WebCore::TransformOperation::isSkewOperation):
3327         (WebCore::TransformOperation::isTranslateOperation):
3328         (WebCore::TransformOperation::isMatrixOperation):
3329         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
3330         (WebCore::ScaleTransformOperation::isScaleOperation):
3331         (WebCore::ScaleTransformOperation::operator==):
3332         (WebCore::ScaleTransformOperation::apply):
3333         (WebCore::RotateTransformOperation::RotateTransformOperation):
3334         (WebCore::RotateTransformOperation::isRotateOperation):
3335         (WebCore::RotateTransformOperation::operator==):
3336         (WebCore::RotateTransformOperation::apply):
3337         (WebCore::SkewTransformOperation::SkewTransformOperation):
3338         (WebCore::SkewTransformOperation::isSkewOperation):
3339         (WebCore::SkewTransformOperation::operator==):
3340         (WebCore::SkewTransformOperation::apply):
3341         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
3342         (WebCore::TranslateTransformOperation::isTranslateOperation):
3343         (WebCore::TranslateTransformOperation::operator==):
3344         (WebCore::TranslateTransformOperation::apply):
3345         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
3346         (WebCore::MatrixTransformOperation::isMatrixOperation):
3347         (WebCore::MatrixTransformOperation::operator==):
3348         (WebCore::MatrixTransformOperation::apply):
3349         (WebCore::StyleTransformData::operator!=):
3350         (WebCore::RenderStyle::transform):
3351         (WebCore::RenderStyle::setTransform):
3352         (WebCore::RenderStyle::initialTransform):
3353
3354 2007-10-17  Adam Roben  <aroben@apple.com>
3355
3356         * page/Frame.cpp: I had to touch this file when fixing the Windows
3357         build. Checking it in in case it helps others, too.
3358
3359 2007-10-17  Eric Seidel  <eric@webkit.org>
3360
3361         Reviewed by Mark Rowe.
3362         
3363         Remove a couple more uses of svg_dynamic_cast.
3364
3365         No functional changes, no tests.
3366
3367         * ksvg2/svg/SVGPatternElement.cpp:
3368         (WebCore::SVGPatternElement::buildPattern):
3369
3370 2007-10-17  Mark Rowe  <mrowe@apple.com>
3371
3372         Reviewed by Eric and Geoff.
3373
3374         <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
3375         http://bugs.webkit.org/show_bug.cgi?id=15191
3376
3377         * loader/DocLoader.cpp:
3378         (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.
3379
3380 2007-10-17  Justin Garcia  <justin.garcia@apple.com>
3381
3382         Reviewed by Harrison.
3383         
3384         <rdar://problem/5481523> 
3385         GoogleDocs: Safari hangs when indenting a particular table twice
3386         
3387         Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
3388         It is now more difficult to create selections that cause hangs.  Those are covered by:
3389         <rdar://problem/5543472>
3390
3391         * editing/IndentOutdentCommand.cpp:
3392         (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
3393         in the document, instead of the first Position.
3394         Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
3395         Tell TextIterator::rangeLength that we're doing selection preservation, so that it
3396         will emit characters between all VisiblePositions.
3397         (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
3398         passed to rangeFromLocationAndLength were reversed.
3399         Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
3400         above.
3401         * editing/TextIterator.cpp:
3402         (WebCore::CharacterIterator::CharacterIterator): 
3403         (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
3404         to forSelectionPreservation, to match the name of the boolean inside TextIterator and
3405         to match its meaning after r25522.
3406         (WebCore::TextIterator::rangeFromLocationAndLength): Ditto.
3407
3408 2007-10-16  Darin Adler  <darin@apple.com>
3409
3410         Reviewed by Mitz.
3411
3412         - fix http://bugs.webkit.org/show_bug.cgi?id=15536
3413           need to cache missing glyph so we're not slow on pages that show missing glyphs
3414
3415         - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
3416           (related to font data caching)
3417
3418         * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
3419         for fontData rather than for glyph to detect non-cached entries in the glyph data.
3420
3421         * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
3422         * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
3423         * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
3424         Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
3425         to return the proper value for haveGlyphs.
3426
3427 2007-10-16  Mark Rowe  <mrowe@apple.com>
3428
3429         Gtk build fix.  Replace use of assert with ASSERT_NOT_REACHED.
3430
3431         * platform/gtk/FontCacheGtk.cpp:
3432         (WebCore::FontCache::platformInit):
3433
3434 2007-10-16  Darin Adler  <darin@apple.com>
3435
3436         Reviewed by Adam.
3437
3438         - fix http://bugs.webkit.org/show_bug.cgi?id=15534
3439           WebScriptObject.h has some formatting and editorial mistakes
3440
3441         * bindings/objc/WebScriptObject.h: Fix wording and formatting.
3442
3443 2007-10-16  Darin Adler  <darin@apple.com>
3444
3445         - try to fix the Qt build
3446
3447         * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
3448         that are used in some Qt-specific source files.
3449
3450 2007-10-16  Darin Adler  <darin@apple.com>
3451
3452         Reviewed by Adele.
3453
3454         - fix http://bugs.webkit.org/show_bug.cgi?id=15525
3455           transpose (control-T) should do the last two characters on a line if at end of line
3456         - remove unused CommandByName class
3457         - move transpose command implementation here from Mac OS X WebKit
3458
3459         * editing/Editor.h:
3460         * editing/Editor.cpp:
3461         (WebCore::execTranspose): Added.
3462         (WebCore::Editor::transpose): Added. This has the transpose implementation from
3463         WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
3464         a special case for the end of a paragraph.
3465
3466         * page/Frame.h: Removed unused command() function member.
3467         * page/FramePrivate.h: Removed unused m_command data member.
3468         * page/Frame.cpp: Ditto.
3469
3470         * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
3471         * page/mac/WebCoreFrameBridge.mm: Ditto.
3472
3473         * WebCore.pro: Removed CommandByName.h/cpp.
3474         * WebCore.vcproj/WebCore.vcproj: Ditto.
3475         * WebCore.xcodeproj/project.pbxproj: Ditto.
3476
3477         * editing/CommandByName.cpp: Removed.
3478         * editing/CommandByName.h: Removed.
3479
3480 2007-10-16  Darin Adler  <darin@apple.com>
3481
3482         Reviewed by Maciej and Geoff (and looked over by Eric).
3483
3484         - http://bugs.webkit.org/show_bug.cgi?id=15519
3485           eliminate use of <ctype.h> for processing ASCII
3486
3487         * ForwardingHeaders/wtf/ASCIICType.h: Added.
3488         * ForwardingHeaders/wtf/DisallowCType.h: Added.
3489
3490         * WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
3491         * config.h: Include DisallowCType.h.
3492
3493         * css/CSSParser.cpp:
3494         (WebCore::ParseString::lower):
3495         * css/CSSPrimitiveValue.cpp:
3496         (WebCore::isCSSTokenizerIdentifier):
3497         * css/CSSStyleDeclaration.cpp:
3498         (WebCore::propertyID):
3499         * html/HTMLSelectElement.cpp:
3500         (WebCore::stripLeadingWhiteSpace):
3501         * html/HTMLTokenizer.cpp:
3502         (WebCore::tagMatch):
3503         * loader/FTPDirectoryParser.cpp:
3504         (WebCore::parseOneFTPLine):
3505         * loader/TextResourceDecoder.cpp:
3506         (WebCore::TextResourceDecoder::checkForHeadCharset):
3507         * platform/DeprecatedCString.cpp:
3508         (WebCore::DeprecatedCString::lower):
3509         (WebCore::DeprecatedCString::upper):
3510         (WebCore::DeprecatedCString::find):
3511         (WebCore::DeprecatedCString::contains):
3512         * platform/DeprecatedString.cpp:
3513         (WebCore::equalCaseInsensitive):
3514         (WebCore::isCharacterAllowedInBase):
3515         (WebCore::DeprecatedString::find):
3516         (WebCore::DeprecatedString::contains):
3517         (WebCore::toIntegralType):
3518         * platform/DeprecatedString.h:
3519         (WebCore::DeprecatedChar::isSpace):
3520         (WebCore::DeprecatedChar::lower):
3521         (WebCore::DeprecatedChar::upper):
3522         * platform/KURL.cpp:
3523         (WebCore::KURL::parse):
3524         * platform/StringImpl.cpp:
3525         (WebCore::isSpace):
3526         (WebCore::StringImpl::containsOnlyWhitespace):
3527         (WebCore::StringImpl::isLower):
3528         (WebCore::StringImpl::lower):
3529         (WebCore::StringImpl::find):
3530         (WebCore::StringImpl::reverseFind):
3531         (WebCore::equalIgnoringCase):
3532         * platform/TextEncodingRegistry.cpp:
3533         (WebCore::TextEncodingNameHash::equal):
3534         (WebCore::TextEncodingNameHash::hash):
3535         (WebCore::atomicCanonicalTextEncodingName):
3536         * platform/mac/KeyEventMac.mm:
3537         (WebCore::keyIdentifierForKeyEvent):
3538         * platform/win/KeyEventWin.cpp:
3539         (WebCore::keyIdentifierForWindowsKeyCode):
3540         * platform/win/PopupMenuWin.cpp:
3541         (WebCore::isASCIIPrintable):
3542         (WebCore::PopupWndProc):
3543         * plugins/win/PluginViewWin.cpp:
3544         (WebCore::capitalizeRFC822HeaderFieldName):
3545         * rendering/RenderText.cpp:
3546         (WebCore::RenderText::widthFromCache):
3547         Use ASCIICType.h functions instead of ctype.h ones.
3548
3549 2007-10-16  Mitz Pettel  <mitz@webkit.org>
3550
3551         Reviewed by Dave Hyatt.
3552
3553         - fix http://bugs.webkit.org/show_bug.cgi?id=15296
3554           REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.
3555
3556         Test: fast/block/float/marquee-shrink-to-avoid-floats.html
3557
3558         * rendering/RenderObject.cpp:
3559         (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.
3560
3561 2007-10-16  Beth Dakin  <bdakin@apple.com>
3562
3563         Reviewed by Darin.
3564
3565         Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders 
3566         Amazon seller page way too small
3567
3568         The font size at Amazon was way too small because the calls to 
3569         getComputedStyle and getPropertyValue did not cause the div to 
3570         attach because there was a pending stylesheet. The fix is to call 
3571         updateLayoutIgnorePendingStylesheets() instead of just 
3572         updateLayout().
3573
3574         * css/CSSComputedStyleDeclaration.cpp:
3575         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3576
3577 2007-10-16  David Hyatt  <hyatt@apple.com>
3578
3579         Get transform-origin(x/y) mapped into the front end RenderStyle.  Adds a new StyleTransformData struct that
3580         holds transform-origin (and that will also eventually hold the parsed transform operations as well).
3581
3582         Reviewed by Beth
3583
3584         * css/CSSStyleSelector.cpp:
3585         (WebCore::CSSStyleSelector::applyProperty):
3586         * rendering/RenderStyle.cpp:
3587         (WebCore::StyleTransformData::StyleTransformData):
3588         (WebCore::StyleTransformData::operator==):
3589         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3590         (WebCore::StyleRareNonInheritedData::operator==):
3591         (WebCore::RenderStyle::RenderStyle):
3592         (WebCore::RenderStyle::diff):
3593         * rendering/RenderStyle.h:
3594         (WebCore::StyleTransformData::operator!=):
3595         (WebCore::RenderStyle::transformOriginX):
3596         (WebCore::RenderStyle::transformOriginY):
3597         (WebCore::RenderStyle::setTransformOriginX):
3598         (WebCore::RenderStyle::setTransformOriginY):
3599         (WebCore::RenderStyle::initialTransformOriginX):
3600         (WebCore::RenderStyle::initialTransformOriginY):
3601
3602 2007-10-16  Adele Peterson  <adele@apple.com>
3603
3604         Reviewed by Alice.
3605
3606         Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)
3607
3608         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute):  When switching between types of select elements, call setRecalcListItems
3609           since recalcListItems updates the default selection in different ways for the different controls. 
3610
3611 2007-10-16  Alice Liu  <alice.liu@apple.com>
3612
3613         rubber-stamped by Darin.
3614
3615         flipping my previous fix around so that mac is special-cased instead of win.
3616
3617         * dom/Document.cpp:
3618         (WebCore::Document::defaultEventHandler):
3619
3620 2007-10-16  David Hyatt  <hyatt@apple.com>