2007-10-22 Eric Seidel <eric@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2007-10-22  Eric Seidel  <eric@webkit.org>
2
3         Reviewed by Maciej.
4
5         Fix build by properly exposing SVG font-face dom bindings.
6
7         * DerivedSources.make:
8         * WebCore.vcproj/WebCore.vcproj: add font-face files to build
9         * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files
10         * bindings/js/JSSVGElementWrapperFactory.cpp:
11         * bindings/objc/DOM.mm:
12         (WebCore::createElementClassMap):
13         * bindings/objc/DOMSVG.h:
14         * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement
15
16 2007-10-22  Mark Rowe  <mrowe@apple.com>
17
18         Gtk build fix.
19
20         * WebCore.pro:
21
22 2007-10-22  Darin Adler  <darin@apple.com>
23
24         - a first cut at fixing the Qt and GTK builds
25
26         * WebCore.pro: Add new .idl and .cpp files.
27         * DerivedSources.make: Re-sorted.
28
29 2007-10-22  Eric Seidel  <eric@webkit.org>
30
31         Reviewed by hyatt.
32
33         Implement <font-face> and friends for SVG.
34         http://bugs.webkit.org/show_bug.cgi?id=10652
35
36         * DerivedSources.make:
37         * WebCore.xcodeproj/project.pbxproj:
38         * bindings/js/JSSVGElementWrapperFactory.cpp:
39         * dom/Document.cpp:
40         (WebCore::Document::mappedElementSheet):
41         (WebCore::Document::recalcStyleSelector):
42         * dom/Document.h:
43         * ksvg2/scripts/make_names.pl:
44         * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added.
45         (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement):
46         (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement):
47         (WebCore::SVGDefinitionSrcElement::childrenChanged):
48         * ksvg2/svg/SVGDefinitionSrcElement.h: Added.
49         * ksvg2/svg/SVGDefinitionSrcElement.idl: Added.
50         * ksvg2/svg/SVGFontFaceElement.cpp: Added.
51         (WebCore::SVGFontFaceElement::SVGFontFaceElement):
52         (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
53         (WebCore::cssPropertyIdForName):
54         (WebCore::mapAttributeToCSSProperty):
55         (WebCore::cssPropertyIdForSVGAttributeName):
56         (WebCore::SVGFontFaceElement::parseMappedAttribute):
57         (WebCore::SVGFontFaceElement::rebuildFontFace):
58         (WebCore::SVGFontFaceElement::childrenChanged):
59         * ksvg2/svg/SVGFontFaceElement.h: Added.
60         * ksvg2/svg/SVGFontFaceElement.idl: Added.
61         * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added.
62         (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
63         (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement):
64         (WebCore::SVGFontFaceFormatElement::childrenChanged):
65         * ksvg2/svg/SVGFontFaceFormatElement.h: Added.
66         * ksvg2/svg/SVGFontFaceFormatElement.idl: Added.
67         * ksvg2/svg/SVGFontFaceNameElement.cpp: Added.
68         (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
69         (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement):
70         (WebCore::SVGFontFaceNameElement::srcValue):
71         * ksvg2/svg/SVGFontFaceNameElement.h: Added.
72         * ksvg2/svg/SVGFontFaceNameElement.idl: Added.
73         * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added.
74         (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
75         (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement):
76         (WebCore::SVGFontFaceSrcElement::srcValue):
77         (WebCore::SVGFontFaceSrcElement::childrenChanged):
78         * ksvg2/svg/SVGFontFaceSrcElement.h: Added.
79         * ksvg2/svg/SVGFontFaceSrcElement.idl: Added.
80         * ksvg2/svg/SVGFontFaceUriElement.cpp: Added.
81         (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
82         (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
83         (WebCore::SVGFontFaceUriElement::srcValue):
84         (WebCore::SVGFontFaceUriElement::childrenChanged):
85         * ksvg2/svg/SVGFontFaceUriElement.h: Added.
86         * ksvg2/svg/SVGFontFaceUriElement.idl: Added.
87         * ksvg2/svg/svgtags.in:
88
89 2007-10-22  Jon Honeycutt  <jhoneycutt@apple.com>
90
91         Reviewed by Anders.
92
93         <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a 
94         java page
95
96         We purposefully do not destroy our Java VM when its reference count
97         reaches 0, but we were unloading our JavaPlugin.dll when its reference
98         count reached 0, which lost the reference to the VM. This led to our
99         process trying to create a new VM the next time a page using Java was
100         loaded, and the JNI spec states that a single process is not allowed to
101         create more than one VM. The fix is to avoid unloading the Java plugin
102         via our PluginQuirkDontUnloadPlugin. 
103
104         * plugins/win/PluginViewWin.cpp:
105         (WebCore::PluginViewWin::determineQuirks):
106
107 2007-10-22  David Hyatt  <hyatt@apple.com>
108
109         Fix for bug 15624, make transforms work properly with opacity.
110
111         Make sure a unitless 0 is allowed as an angle argument to rotation/skew.
112
113         Reviewed by Mitz Pettel
114
115         fast/transforms/transforms-with-opacity.html
116         fast/transforms/skew-with-unitless-zero.html
117
118         * css/CSSParser.cpp:
119         (WebCore::CSSParser::validUnit):
120         * rendering/RenderLayer.cpp:
121         (WebCore::transparencyClipBox):
122         (WebCore::RenderLayer::beginTransparencyLayers):
123         (WebCore::RenderLayer::paintLayer):
124         (WebCore::RenderLayer::calculateClipRects):
125         * rendering/RenderLayer.h:
126         (WebCore::RenderLayer::transform):
127
128 2007-10-22  Adam Roben  <aroben@apple.com>
129
130         Windows build fix
131
132         Reviewed by NOBODY.
133
134         * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql.
135         * page/Page.cpp: Touched to force the header files to be copied.
136
137 2007-10-22  Nikolas Zimmermann  <zimmermann@kde.org>
138
139         Reviewed by Simon.
140
141         Move textPath related SVGChar data in it's own structure SVGCharOnPath.
142         Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool.
143
144         Saves space for the common case. And allows me to add more data (another float) to support
145         glyph-orientation-* on textPath later on...
146
147         * rendering/SVGCharacterLayoutInfo.cpp:
148         (WebCore::SVGChar::characterTransform):
149         * rendering/SVGCharacterLayoutInfo.h:
150         * rendering/SVGRootInlineBox.cpp:
151         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
152         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
153
154 2007-10-22  Alp Toker  <alp@atoker.com>
155
156         Reviewed by Nikolas Zimmermann.
157
158         Implement more GraphicsContextCairo stubs.
159
160         Remove a hack "to work around no current point bug" that was breaking
161         canvas tests.
162
163         Fix warnings.
164
165         * platform/graphics/cairo/CairoPath.h:
166         (WebCore::CairoPath::CairoPath):
167         * platform/graphics/cairo/GraphicsContextCairo.cpp:
168         (WebCore::GraphicsContext::addInnerRoundedRectClip):
169         (WebCore::GraphicsContext::strokeRect):
170         * platform/graphics/cairo/PathCairo.cpp:
171         (WebCore::Path::isEmpty):
172         * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp:
173         (WebCore::SVGPaintServerGradient::setup):
174         * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp:
175         (WebCore::SVGPaintServerSolid::setup):
176
177 2007-10-22  Simon Hausmann  <hausmann@kde.org>
178
179         Reviewed by Nikolas.
180
181         Fix compilation from a clean build with the database feature disabled.
182         JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter.
183
184         * bindings/js/JSCustomVersionChangeCallback.cpp:
185         * page/InspectorController.cpp:
186
187 2007-10-22  Andrew Wellington  <proton@wiretapped.net>
188
189         Reviewed by Mark Rowe.
190
191         Fix for local database support after r26879
192         Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
193
194         * Configurations/WebCore.xcconfig:
195         * WebCore.pro:
196         * WebCore.vcproj/build-generated-files.sh:
197
198 2007-10-22  Simon Hausmann  <hausmann@kde.org>
199
200         Reviewed by Lars.
201
202         Disable the Database feature for the qmake build for now.
203
204         * WebCore.pro:
205
206 2007-10-22  Simon Hausmann  <hausmann@kde.org>
207
208         Reviewed by Lars.
209
210         Make disabling the database feature (ENABLE_DATABASE=0) work by
211         placing various #ifdefs into the code and making the compilation of
212         some files optional.
213
214         * WebCore.pro:
215         * dom/Document.cpp:
216         (WebCore::Document::~Document):
217         (WebCore::Document::defaultEventHandler):
218         * dom/Document.h:
219         * page/DOMWindow.cpp:
220         * page/DOMWindow.h:
221         * page/DOMWindow.idl:
222         * page/InspectorController.cpp:
223         (WebCore::InspectorController::windowScriptObjectAvailable):
224         (WebCore::InspectorController::populateScriptResources):
225         (WebCore::InspectorController::clearDatabaseScriptResources):
226         (WebCore::InspectorController::didCommitLoad):
227         * page/InspectorController.h:
228
229 2007-10-22  Alp Toker  <alp@atoker.com>
230
231         Reviewed by Mark Rowe.
232
233         http://bugs.webkit.org/show_bug.cgi?id=15611
234         [GTK] Text selection behaviour different in Debug and Release builds
235
236         http://bugs.webkit.org/show_bug.cgi?id=15578
237         [GTK] Text editor caret does not blink
238
239         Never allow control to reach the end of non-void functions.
240
241         Return more sensible values, or in some cases, nulls.
242
243         * page/gtk/EventHandlerGtk.cpp:
244         (WebCore::isKeyboardOptionTab):
245         (WebCore::EventHandler::tabsToAllControls):
246         (WebCore::EventHandler::eventActivatedView):
247
248 2007-10-22  Holger Freyther  <zecke@selfish.org>
249
250         Reviewed by Simon Hausmann <hausmann@kde.org>.
251
252         Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy.
253
254         * platform/network/qt/ResourceHandleQt.cpp:
255         (WebCore::WebCoreSynchronousLoader::resourceResponse):
256         (WebCore::WebCoreSynchronousLoader::resourceError):
257         (WebCore::WebCoreSynchronousLoader::data):
258         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
259         (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
260         (WebCore::WebCoreSynchronousLoader::didReceiveData):
261         (WebCore::WebCoreSynchronousLoader::didFinishLoading):
262         (WebCore::WebCoreSynchronousLoader::didFail):
263         (WebCore::WebCoreSynchronousLoader::waitForCompletion):
264         (WebCore::ResourceHandle::loadResourceSynchronously):
265
266 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
267
268         Reviewed by Lars Knoll <lars@trolltech.com>.
269
270         Style fix. It is allowed to attempt to delete 0.
271
272         * platform/qt/ClipboardQt.cpp:
273
274 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
275
276         Reviewed by Lars Knoll <lars@trolltech.com>.
277
278         Make it actually localizable....
279
280         * platform/qt/Localizations.cpp:
281         (WebCore::submitButtonDefaultLabel):
282         (WebCore::inputElementAltText):
283         (WebCore::searchableIndexIntroduction):
284         (WebCore::fileButtonChooseFileLabel):
285         (WebCore::fileButtonNoFileSelectedLabel):
286         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
287         (WebCore::contextMenuItemTagDownloadLinkToDisk):
288         (WebCore::contextMenuItemTagCopyLinkToClipboard):
289         (WebCore::contextMenuItemTagOpenImageInNewWindow):
290         (WebCore::contextMenuItemTagDownloadImageToDisk):
291         (WebCore::contextMenuItemTagCopyImageToClipboard):
292         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
293         (WebCore::contextMenuItemTagCopy):
294         (WebCore::contextMenuItemTagGoBack):
295         (WebCore::contextMenuItemTagGoForward):
296         (WebCore::contextMenuItemTagStop):
297         (WebCore::contextMenuItemTagReload):
298         (WebCore::contextMenuItemTagCut):
299         (WebCore::contextMenuItemTagPaste):
300         (WebCore::contextMenuItemTagNoGuessesFound):
301         (WebCore::contextMenuItemTagIgnoreSpelling):
302         (WebCore::contextMenuItemTagLearnSpelling):
303         (WebCore::contextMenuItemTagSearchWeb):
304         (WebCore::contextMenuItemTagLookUpInDictionary):
305         (WebCore::contextMenuItemTagOpenLink):
306         (WebCore::contextMenuItemTagIgnoreGrammar):
307         (WebCore::contextMenuItemTagSpellingMenu):
308         (WebCore::contextMenuItemTagShowSpellingPanel):
309         (WebCore::contextMenuItemTagCheckSpelling):
310         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
311         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
312         (WebCore::contextMenuItemTagFontMenu):
313         (WebCore::contextMenuItemTagBold):
314         (WebCore::contextMenuItemTagItalic):
315         (WebCore::contextMenuItemTagUnderline):
316         (WebCore::contextMenuItemTagOutline):
317         (WebCore::contextMenuItemTagWritingDirectionMenu):
318         (WebCore::contextMenuItemTagDefaultDirection):
319         (WebCore::contextMenuItemTagLeftToRight):
320         (WebCore::contextMenuItemTagRightToLeft):
321         (WebCore::contextMenuItemTagInspectElement):
322         (WebCore::searchMenuNoRecentSearchesText):
323         (WebCore::searchMenuRecentSearchesText):
324
325 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
326
327         Reviewed by Lars Knoll <lars@trolltech.com>.
328
329         Adjust the code to obey the Coding Style.
330
331         * platform/qt/Localizations.cpp:
332         (WebCore::submitButtonDefaultLabel):
333         (WebCore::inputElementAltText):
334         (WebCore::resetButtonDefaultLabel):
335         (WebCore::defaultLanguage):
336         (WebCore::searchableIndexIntroduction):
337         (WebCore::fileButtonChooseFileLabel):
338         (WebCore::fileButtonNoFileSelectedLabel):
339         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
340         (WebCore::contextMenuItemTagDownloadLinkToDisk):
341         (WebCore::contextMenuItemTagCopyLinkToClipboard):
342         (WebCore::contextMenuItemTagOpenImageInNewWindow):
343         (WebCore::contextMenuItemTagDownloadImageToDisk):
344         (WebCore::contextMenuItemTagCopyImageToClipboard):
345         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
346         (WebCore::contextMenuItemTagCopy):
347         (WebCore::contextMenuItemTagGoBack):
348         (WebCore::contextMenuItemTagGoForward):
349         (WebCore::contextMenuItemTagStop):
350         (WebCore::contextMenuItemTagReload):
351         (WebCore::contextMenuItemTagCut):
352         (WebCore::contextMenuItemTagPaste):
353         (WebCore::contextMenuItemTagNoGuessesFound):
354         (WebCore::contextMenuItemTagIgnoreSpelling):
355         (WebCore::contextMenuItemTagLearnSpelling):
356         (WebCore::contextMenuItemTagSearchWeb):
357         (WebCore::contextMenuItemTagLookUpInDictionary):
358         (WebCore::contextMenuItemTagOpenLink):
359         (WebCore::contextMenuItemTagIgnoreGrammar):
360         (WebCore::contextMenuItemTagSpellingMenu):
361         (WebCore::contextMenuItemTagShowSpellingPanel):
362         (WebCore::contextMenuItemTagCheckSpelling):
363         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
364         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
365         (WebCore::contextMenuItemTagFontMenu):
366         (WebCore::contextMenuItemTagBold):
367         (WebCore::contextMenuItemTagItalic):
368         (WebCore::contextMenuItemTagUnderline):
369         (WebCore::contextMenuItemTagOutline):
370         (WebCore::contextMenuItemTagWritingDirectionMenu):
371         (WebCore::contextMenuItemTagDefaultDirection):
372         (WebCore::contextMenuItemTagLeftToRight):
373         (WebCore::contextMenuItemTagRightToLeft):
374         (WebCore::contextMenuItemTagInspectElement):
375         (WebCore::searchMenuNoRecentSearchesText):
376         (WebCore::searchMenuRecentSearchesText):
377         (WebCore::searchMenuClearRecentSearchesText):
378         (WebCore::AXWebAreaText):
379         (WebCore::AXLinkText):
380         (WebCore::AXListMarkerText):
381         (WebCore::AXImageMapText):
382         (WebCore::AXHeadingText):
383         (WebCore::unknownFileSizeText):
384
385 2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org>
386
387         Reviewed by Lars Knoll <lars@trolltech.com>.
388
389         Return a non empty string in more functions.
390
391         * platform/qt/Localizations.cpp:
392         (WebCore::contextMenuItemTagShowSpellingPanel):
393
394 2007-10-22  Holger Hans Peter Freyther <zecke@selfish.org>
395
396         Reviewed by Lars Knoll <lars@trolltech.com>.
397
398         Shrink the TemporaryLinkStubs and move the
399         Frame::setNeedsReapplyStyles stub to FrameQt.cpp
400
401         * page/qt/FrameQt.cpp:
402         (WebCore::Frame::setNeedsReapplyStyles):
403         * platform/qt/TemporaryLinkStubs.cpp:
404
405 2007-10-22  Holger Freyther  <zecke@selfish.org>
406
407         Reviewed by Lars Knoll <lars@trolltech.com>.
408
409         Implement the WebCore::fileSize function. The
410         implementation assumes that QFileInfo will cache
411         the result of the stat so that info.size() and
412         info.exists() use the same stat result.
413
414         * platform/qt/FileSystemQt.cpp:
415         (WebCore::deleteFile):
416         * platform/qt/TemporaryLinkStubs.cpp:
417
418 2007-10-21  Alp Toker  <alp@atoker.com>
419
420         Reviewed by Mark Rowe.
421
422         Use the portable GLib time function.
423
424         Use event timestamps rather than the current time where available.
425
426         Rename SharedTimerLinux.cpp since it isn't Linux-specific.
427
428         * WebCore.pro:
429         * platform/gtk/MouseEventGtk.cpp:
430         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
431         * platform/gtk/SystemTimeGtk.cpp: Added.
432         (WebCore::currentTime):
433         * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp.
434         * platform/gtk/SharedTimerLinux.cpp: Removed.
435
436 2007-10-22  David Hyatt  <hyatt@apple.com>
437
438         Fix for 15596, regression from my transform changes.  Preserve null checks on the clip rects calls for parent(),
439         since the method is called on orphaned layers.  This is not very well understood.
440
441         Reviewed by eric
442
443         * rendering/RenderLayer.cpp:
444         (WebCore::RenderLayer::calculateClipRects):
445         (WebCore::RenderLayer::calculateRects):
446
447 2007-10-21  Mark Rowe  <mrowe@apple.com>
448
449         Reviewed by Alp.
450
451         http://bugs.webkit.org/show_bug.cgi?id=15575
452         Bug 15575: [GTK] Implement threading using GThread
453
454         * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads.
455         * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads.
456         (WebCore::iconDatabase):
457         (WebCore::IconDatabase::open):
458         * platform/Threading.h:
459         * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation.
460         (WebCore::initializeThreading):
461         (WebCore::threadMapMutex):
462         (WebCore::threadMap):
463         (WebCore::establishIdentifierForThread):
464         (WebCore::threadForIdentifier):
465         (WebCore::clearThreadForIdentifier):
466         (WebCore::createThread):
467         (WebCore::waitForThreadCompletion):
468         (WebCore::detachThread):
469         (WebCore::Mutex::Mutex):
470         (WebCore::Mutex::~Mutex):
471         (WebCore::Mutex::lock):
472         (WebCore::Mutex::tryLock):
473         (WebCore::Mutex::unlock):
474         (WebCore::ThreadCondition::ThreadCondition):
475         (WebCore::ThreadCondition::~ThreadCondition):
476         (WebCore::ThreadCondition::wait):
477         (WebCore::ThreadCondition::signal):
478         (WebCore::ThreadCondition::broadcast):
479         * storage/Database.cpp:
480         (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even
481         if the icon database is compiled out
482
483 2007-10-21  Mark Rowe  <mrowe@apple.com>
484
485         Build fix.
486
487         * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the
488         implicit conversion warning.
489
490 2007-10-21  Alp Toker  <alp@atoker.com>
491
492         Reviewed by Mark Rowe.
493
494         Implement spelling and grammar mistake underlining with Pango/Cairo.
495
496         This change does not add any actual support for spelling or grammar
497         checking to any port.
498
499         * platform/graphics/cairo/GraphicsContextCairo.cpp:
500         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
501
502 2007-10-21  Alp Toker  <alp@atoker.com>
503
504         Reviewed by Mark Rowe.
505
506         Cairo canvas fixes:
507
508         Fix a refcounting issue leading to leaks and crashes on canvas
509         content.
510
511         Delegate memory management of canvas images to Cairo.
512
513         Mark unhandled conditions with notImplemented() instead of silently
514         ignoring them.
515
516         * html/CanvasRenderingContext2D.cpp:
517         (WebCore::CanvasRenderingContext2D::drawImage):
518         * html/CanvasStyle.cpp:
519         (WebCore::CanvasStyle::applyStrokeColor):
520         * html/CanvasStyle.h:
521         * html/HTMLCanvasElement.cpp:
522         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
523         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
524         (WebCore::HTMLCanvasElement::reset):
525         (WebCore::HTMLCanvasElement::paint):
526         (WebCore::HTMLCanvasElement::createDrawingContext):
527         (WebCore::HTMLCanvasElement::createPlatformImage):
528
529 2007-10-21  Nikolas Zimmermann  <zimmermann@kde.org>
530
531         Reviewed by Eric.
532
533         Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties.
534
535         The SVG layouting code itself doesn't handle these properties yet,
536         it's just about recognizing them in the SVG CSS engine.
537
538         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
539         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
540         * ksvg2/css/SVGCSSParser.cpp:
541         (WebCore::CSSParser::parseSVGValue):
542         * ksvg2/css/SVGCSSStyleSelector.cpp:
543         (WebCore::CSSStyleSelector::applySVGProperty):
544         * ksvg2/css/SVGRenderStyle.h:
545         (WebCore::SVGRenderStyle::InheritedFlags::operator==):
546         (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
547         (WebCore::SVGRenderStyle::setBitDefaults):
548         * ksvg2/css/SVGRenderStyleDefs.h:
549
550 2007-10-21  Christian Dywan  <christian@twotoasts.de>
551
552         Reviewed by Alp.
553
554         http://bugs.webkit.org/show_bug.cgi?id=15589
555         Use glib's path separator on gtk
556
557         * platform/gtk/FileSystemGtk.cpp:
558         (WebCore::pathByAppendingComponent):
559
560 2007-10-21  Dan Bernstein  <mitz@apple.com>
561
562         Reviewed by Dave Hyatt.
563
564         - fix http://bugs.webkit.org/show_bug.cgi?id=15259
565           <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page)
566
567         Test: fast/text/word-space.html
568
569         * rendering/RenderBlock.cpp:
570         (WebCore::stripTrailingSpace): Added word-spacing to the width of the
571         space being stripped out.
572         * rendering/RenderText.cpp:
573         (WebCore::RenderText::trimmedPrefWidths): Changed handling of
574         leading space. Since Font::width includes leading space width but not
575         leading word spacing, this method needs to either remove the width of a
576         space character or add word spacing,
577         depending on stripFrontSpaces. 
578         (WebCore::RenderText::calcPrefWidths): Corrected the check for adding
579         trailing word spacing so that it would work in the case where the last
580         space is ignored.
581         * rendering/bidi.cpp:
582         (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to
583         actually add word spacing to the total width.
584
585 2007-10-20  David Hyatt  <hyatt@apple.com>
586
587         Land support for the transform CSS property.  Basic painting now works properly. There are many open issues
588         that will have to be covered by individual bugs.
589
590         Reviewed by olliej
591
592         * css/CSSParser.cpp:
593         (WebCore::CSSParser::validUnit):
594         (WebCore::CSSParser::parseTransform):
595         * rendering/RenderLayer.cpp:
596         (WebCore::RenderLayer::RenderLayer):
597         (WebCore::RenderLayer::~RenderLayer):
598         (WebCore::RenderLayer::updateLayerPositions):
599         (WebCore::RenderLayer::updateTransform):
600         (WebCore::transparencyClipBox):
601         (WebCore::RenderLayer::beginTransparencyLayers):
602         (WebCore::RenderLayer::paintLayer):
603         (WebCore::RenderLayer::calculateClipRects):
604         (WebCore::RenderLayer::calculateRects):
605         (WebCore::RenderLayer::childrenClipRect):
606         (WebCore::RenderLayer::selfClipRect):
607         (WebCore::RenderLayer::intersectsDamageRect):
608         (WebCore::RenderLayer::boundingBox):
609         * rendering/RenderLayer.h:
610         * rendering/RenderObject.cpp:
611         (WebCore::RenderObject::containingBlock):
612         (WebCore::RenderObject::container):
613         * rendering/RenderStyle.cpp:
614         (WebCore::RenderStyle::applyTransform):
615         * rendering/RenderStyle.h:
616         (WebCore::TransformOperation::isScaleOperation):
617         (WebCore::TransformOperation::isRotateOperation):
618         (WebCore::TransformOperation::isSkewOperation):
619         (WebCore::TransformOperation::isTranslateOperation):
620         (WebCore::TransformOperation::isMatrixOperation):
621         (WebCore::ScaleTransformOperation::isScaleOperation):
622         (WebCore::RotateTransformOperation::isRotateOperation):
623         (WebCore::SkewTransformOperation::isSkewOperation):
624         (WebCore::TranslateTransformOperation::isTranslateOperation):
625         (WebCore::MatrixTransformOperation::isMatrixOperation):
626         * rendering/RenderTableRow.h:
627         (WebCore::RenderTableRow::requiresLayer):
628         * rendering/RenderTreeAsText.cpp:
629         (WebCore::writeLayers):
630
631 2007-10-20  Timothy Hatcher  <timothy@apple.com>
632
633         Reviewed by Adam.
634
635         Add basic @font-face to the Web Inspector.
636
637         * page/InspectorController.cpp:
638         (WebCore::InspectorResource::type): Check for CachedResource::FontResource.
639         * page/inspector/Resource.js: Add support for Font types and font preview in the icon.
640         * page/inspector/ResourcePanel.js: Show a font preview for font resources.
641         * page/inspector/inspector.css: Style for the font preview and font icon.
642         * page/inspector/inspector.js: Add font mime types.
643
644 2007-10-20  Sam Weinig  <sam@webkit.org>
645
646         Reviewed by Mark Rowe.
647
648         Fixes:
649             - http://bugs.webkit.org/show_bug.cgi?id=14393
650               Column on the left side of the Web Inspector should have a smaller minimum width for resizing
651             - http://bugs.webkit.org/show_bug.cgi?id=14394
652               Left pane of the Web Inspector "shakes" when resizing it to maximum width
653
654         * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width
655           and window.innerWidth - 100 max-width for the sidebar.  The change also makes the viewbuttons
656           move with the sidebar.
657
658 2007-10-20  Dan Bernstein  <mitz@apple.com>
659
660         Reviewed by Dave Hyatt.
661
662         - fix http://bugs.webkit.org/show_bug.cgi?id=15208
663           display:table causes the collapsed text to show at a different position when expanded
664
665         Test: fast/table/insert-before-anonymous-ancestors.html
666
667         * rendering/RenderTable.cpp:
668         (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever
669         that change was supposed to accomplish has since been done in other
670         places in the code.
671
672 2007-10-20  Mark Rowe  <mrowe@apple.com>
673
674         Reviewed by Dave Hyatt.
675
676         Fix http://bugs.webkit.org/show_bug.cgi?id=15584
677         Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance
678
679         * platform/Font.cpp:
680         (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a
681         glyph for the character, fall back to the missing glyph data rather than returning an
682         invalid GlyphData.
683
684 2007-10-20  Jasper Bryant-Greene  <m@ni.ac.nz>
685
686         Reviewed by Maciej.
687
688         Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25,
689         as suggested by George Wright in #15108 (which this patch will
690         resolve).
691
692         This gives a more sane scrolling behaviour, rather than the
693         jumping to the end or start of the document as occurred previously.
694
695         * platform/gtk/WheelEventGtk.cpp:
696         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
697
698 2007-10-20  Alp Toker  <alp@atoker.com>
699
700         Reviewed by Eric.
701
702         Support text boundary detection.
703         Move TextBoundariesWin.cpp to platform/ since it's portable and useful.
704         Split out and implement some TemporaryLinkStubs.
705
706         * WebCore.pro:
707         * WebCore.vcproj/WebCore.vcproj:
708         * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp.
709         * platform/gtk/Language.cpp: Added.
710         (WebCore::defaultLanguage):
711         * platform/gtk/TemporaryLinkStubs.cpp:
712         * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added.
713         (WebCore::currentTextBreakLocaleID):
714         * platform/win/TextBoundariesWin.cpp: Removed.
715
716 2007-10-20  Mark Rowe  <mrowe@apple.com>
717
718         Reviewed by Tim Hatcher.
719
720         Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574
721         Bug 15574: Web Inspector doesn't work with the new Database feature
722
723         The executeSql callback is executed in the security domain of the web page that owns the database,
724         while the inspector's window object is in the callback functions scope chain.  This is leading to a
725         security violation when the callback attempts to access "document".  We can work around this by
726         ensuring that "document" can be found in the scope chain before the window object.
727
728         * page/inspector/DatabasePanel.js:
729
730 2007-10-20  Darin Adler  <darin@apple.com>
731
732         Reviewed by Maciej.
733
734         - http://bugs.webkit.org/show_bug.cgi?id=15567
735           speed up hashing const char* by removing call to strlen
736
737         This includes one other fix as well. Both were from a day where I did some
738         profiling to find hot spots when running the page load test.
739
740         * platform/StringImpl.cpp:
741         (WebCore::StringImpl::computeHash): Compute the hash without calling strlen.
742         Also change the argument names to not confusingly use m_ prefixes.
743         (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that
744         don't have null.
745
746 2007-10-20  Mark Rowe  <mrowe@apple.com>
747
748         Reviewed by Alp.
749
750         Gtk changes needed to enable HTML 5 client-side database storage.
751
752         * WebCore.pro: Have Gtk use ThreadingPthreads.cpp.
753         * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available.
754
755 2007-10-20  Mark Rowe  <mrowe@apple.com>
756
757         Reviewed by Alp.
758
759         Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched
760         from the main event loop.
761
762         * WebCore.pro:
763         * platform/gtk/TemporaryLinkStubs.cpp:
764         * platform/gtk/ThreadingGtk.cpp: Added.
765         (WebCore::callFunctionOnMainThread):
766         (WebCore::callOnMainThread):
767
768 2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
769
770         Reviewed by Eric.
771
772         Fix non-functional display="inline" / display="none" for SVG text.
773
774         Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support)
775         Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support)
776         Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting)
777         
778         * css/svg.css: Remove "important" flag on text/foreignObject display: block property
779         * rendering/RenderSVGBlock.cpp:
780         (WebCore::RenderSVGBlock::setStyle):
781
782 2007-10-20  Mark Rowe  <mrowe@apple.com>
783
784         Reviewed by Alp.
785
786         Replace #ifdef'd code with the appropriate use of a forwarding header.
787
788         * ForwardingHeaders/kjs/array_instance.h: Added.
789         * bindings/js/JSDatabaseCustom.cpp:
790
791 2007-10-20  Nikolas Zimmermann  <zimmermann@kde.org>
792
793         Reviewed by Oliver.
794
795         Add support for 'kerning' property in SVG text layout code.
796         Support all textLength/lengthAdjust modes on normal text & textPaths.
797
798         Support letter & word spacing on textPath.
799         Fix text selection when any spacing (letter/word/kerning) is involved.
800
801         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571
802         Fixes: svg/batik/text/textOnPathSpaces.svg (spacing)
803                svg/batik/text/textLayout.svg (kerning support)
804                svg/text/text-spacing-01-b.svg (text selection)
805
806         * platform/Font.cpp:
807         (WebCore::WidthIterator::advance):
808         * platform/TextStyle.h:
809         (WebCore::TextStyle::TextStyle):
810         (WebCore::TextStyle::spacingDisabled):
811         (WebCore::TextStyle::disableSpacing):
812         * rendering/SVGCharacterLayoutInfo.cpp:
813         (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo):
814         (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle):
815         (WebCore::SVGCharacterLayoutInfo::setInPathLayout):
816         (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
817         (WebCore::SVGChar::characterTransform):
818         * rendering/SVGCharacterLayoutInfo.h:
819         (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo):
820         * rendering/SVGRootInlineBox.cpp:
821         (WebCore::closeTextChunk):
822         (WebCore::calculateKerning):
823         (WebCore::SVGRootInlineBox::placeBoxesHorizontally):
824         (WebCore::svgTextStyleForInlineTextBox):
825         (WebCore::calculateTextAnchorShiftForTextChunk):
826         (WebCore::applyTextAnchorToTextChunk):
827         (WebCore::calculateTextLengthCorrectionForTextChunk):
828         (WebCore::applyTextLengthCorrectionToTextChunk):
829         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
830         (WebCore::SVGRootInlineBox::buildLayoutInformation):
831         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
832         (WebCore::SVGRootInlineBox::buildTextChunks):
833         (WebCore::SVGRootInlineBox::layoutTextChunks):
834         * rendering/SVGRootInlineBox.h:
835
836 2007-10-20  Rodney Dawes  <dobey@wayofthemonkey.com>
837
838         Reviewd by Darin.
839
840         http://bugs.webkit.org/show_bug.cgi?id=15563
841         Fix conflict with X11 Window type in WebCore
842
843         * WebCore/bindings/js/JSDocumentCustom.cpp:
844         * WebCore/bindings/js/JSHTMLDocumentCustom.cpp:
845         * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp:
846         * WebCore/bindings/js/kjs_dom.cpp:
847         * WebCore/bindings/js/kjs_events.cpp:
848         * WebCore/bindings/js/kjs_proxy.cpp:
849         * WebCore/history/CachedPage.cpp:
850         * WebCore/page/Chrome.cpp:
851         * WebCore/page/Frame.cpp:
852
853 2007-10-20  Simon Hausmann  <hausmann@kde.org>
854
855         Build fix, not reviewed.
856
857         Fix the Qt build by adding the two missing FileSystem functions.
858
859         * platform/qt/FileSystemQt.cpp:
860         (WebCore::makeAllDirectories):
861         (WebCore::pathByAppendingComponent):
862
863 2007-10-19  Alp Toker  <alp@atoker.com>
864
865         Reviewed by Oliver.
866
867         GTK+ build fix enabling the new local database storage feature.
868         There is also a prospective Qt build fix.
869
870         * WebCore.pro:
871         * bindings/js/JSDatabaseCustom.cpp:
872         * platform/gtk/FileSystemGtk.cpp:
873         (WebCore::pathByAppendingComponent):
874         (WebCore::makeAllDirectories):
875
876 2007-10-19  Andrew Wellington  <proton@wiretapped.net>
877
878         Reviewed by Brady Eidson.
879
880         Mac build fix.
881
882         * WebCore.xcodeproj/project.pbxproj:
883
884 2007-10-19  Alp Toker  <alp@atoker.com>
885
886         Reviewed by Oliver.
887
888         Use platform colors for text selection.
889         Update the cache when the GTK style is changed.
890
891         * platform/gtk/RenderThemeGtk.cpp:
892         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
893         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
894         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
895         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
896         (WebCore::RenderThemeGtk::gtkStyleSet):
897         (WebCore::RenderThemeGtk::gtkEntry):
898         * platform/gtk/RenderThemeGtk.h:
899
900 2007-10-19  Adele Peterson  <adele@apple.com>
901
902         Reviewed by Beth.
903
904         Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com
905
906         Test: fast/forms/menulist-no-overflow.html
907
908         * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists.
909
910 2007-10-19  Anders Carlsson  <andersca@apple.com>
911
912         Reviewed by Brady.
913
914         Move some SQL-related classes to platform/sql.
915         
916         * WebCore.vcproj/WebCore.vcproj:
917         * WebCore.xcodeproj/project.pbxproj:
918         * loader/icon/SQLDatabase.cpp: Removed.
919         * loader/icon/SQLDatabase.h: Removed.
920         * loader/icon/SQLStatement.cpp: Removed.
921         * loader/icon/SQLStatement.h: Removed.
922         * loader/icon/SQLTransaction.cpp: Removed.
923         * loader/icon/SQLTransaction.h: Removed.
924         * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp.
925         * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h.
926         * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp.
927         * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h.
928         * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp.
929         * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h.
930
931 2007-10-19  Anders Carlsson  <andersca@apple.com>
932
933         Reviewed by Adam.
934
935         Update to match the latest version of the spec. Now, executeSQL takes an array
936         of SQL parameters instead of them being passed as arguments.
937         
938         * bindings/js/JSDatabaseCustom.cpp:
939         (WebCore::JSDatabase::executeSql):
940         * page/inspector/DatabasePanel.js:
941         * storage/Database.idl:
942
943 2007-10-19  Brady Eidson  <beidson@apple.com>
944
945         Reviewed by Tim
946
947         Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :(
948
949         * storage/Database.cpp:
950         (WebCore::Database::performOpenAndVerify):
951         * storage/DatabaseTracker.cpp:
952         (WebCore::DatabaseTracker::DatabaseTracker):
953
954 2007-10-19  Anders Carlsson  <andersca@apple.com>
955
956         Release build fix.
957         
958         * WebCore.vcproj/WebCore.vcproj:
959
960 2007-10-19  Brady Eidson  <beidson@apple.com>
961
962         Remove stray printfs
963
964         * dom/Document.cpp:
965         (WebCore::Document::Document):
966         (WebCore::Document::~Document):
967
968 2007-10-19  Anders Carlsson  <andersca@apple.com>
969
970         Reviewed by Brady.
971
972         Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not
973         already been locked, so lock the mutex first.
974         
975         * storage/DatabaseThread.cpp:
976         (WebCore::DatabaseThread::databaseThread):
977
978 2007-10-19  Brady Eidson  <beidson@apple.com>
979
980         Better build fix
981
982         * loader/icon/SQLDatabase.cpp:
983         (WebCore::SQLDatabase::authorizerFunction):  Definite works by 3.3.13
984
985 2007-10-19  Brady Eidson  <beidson@apple.com>
986
987         Build fix
988
989         * loader/icon/SQLDatabase.cpp:
990         (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were
991           added to SQLite, but I know they were by 3.4.0
992
993 2007-10-19  Brady Eidson  <beidson@apple.com>
994         Reviewed by Anders
995
996         Windows specific changes, as well as renaming Queue -> Deque
997
998         * ForwardingHeaders/wtf/Deque.h: Added.
999         * ForwardingHeaders/wtf/Queue.h: Removed.
1000         * platform/win/FileSystemWin.cpp:
1001         (WebCore::fileSize):
1002         (WebCore::fileExists):
1003         (WebCore::deleteFile):
1004         (WebCore::pathByAppendingComponent):
1005         (WebCore::fileSystemRepresentation):
1006         (WebCore::makeAllDirectories):
1007         (WebCore::homeDirectoryPath):
1008         * storage/Database.h:
1009         * storage/DatabaseThread.cpp:
1010         (WebCore::DatabaseThread::documentGoingAway):
1011         (WebCore::DatabaseThread::databaseGoingAway):
1012         (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
1013         (WebCore::DatabaseThread::scheduleTask):
1014         (WebCore::DatabaseThread::scheduleImmediateTask):
1015         * storage/DatabaseThread.h:
1016
1017 2007-10-19  Brady Eidson <beidson@apple.com>
1018
1019         Reviewed by Tim and Anders
1020
1021         Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/)
1022
1023         The specification is still in flux but the fundamentals are pretty solid and we can start using and testing 
1024         this implementation even while filing bugs to track changes in the spec as it becomes more final
1025
1026         There are some implementation details in this patch that seem unused or useless, but they remain in place 
1027         while the spec is in flux and might go one way or another.
1028
1029         * platform/Logging.cpp: Add StorageAPI logging channel
1030         * platform/Logging.h:
1031
1032         * storage/Database.cpp: Added.
1033         (WebCore::Database::databaseInfoTableName):
1034         (WebCore::databaseVersionKey):
1035         (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API
1036         (WebCore::Database::Database):
1037         (WebCore::Database::~Database):
1038         (WebCore::Database::openAndVerifyVersion):
1039         (WebCore::retrieveTextResultFromDatabase):
1040         (WebCore::Database::getVersionFromDatabase):
1041         (WebCore::setTextValueInDatabase):
1042         (WebCore::Database::setVersionInDatabase):
1043         (WebCore::Database::databaseThreadGoingAway): May be removed in the future
1044         (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions
1045         (WebCore::Database::enableAuthorizer):
1046         (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker.  
1047           The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future
1048         (WebCore::Database::resetAuthorizer):
1049         (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage 
1050         (WebCore::Database::scheduleDatabaseCallback):
1051         (WebCore::Database::performOpenAndVerify): 
1052         (WebCore::Database::performChangeVersion):
1053         (WebCore::Database::performExecuteSql):
1054         (WebCore::Database::performCloseTransaction):
1055         (WebCore::Database::performGetTableNames):
1056         (WebCore::Database::version): C++ version of the javascript API
1057         (WebCore::Database::changeVersion): Ditto
1058         (WebCore::Database::executeSql): Ditto
1059         (WebCore::Database::closeTransaction): Ditto
1060         (WebCore::Database::tableNames): For internal (WebInspector) use
1061         (WebCore::Database::deliverAllPendingCallbacks):
1062         (WebCore::Database::deliverPendingCallbacks):
1063         * storage/Database.h: Added.
1064         (WebCore::Database::databaseDebugName): For debug logging purposes
1065         * storage/Database.idl: Added.
1066
1067         * storage/DatabaseAuthorizer.cpp: Added.
1068           The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as
1069           tracking when effects certain sql statements might have (such as increasing the size of the database)
1070         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
1071         (WebCore::DatabaseAuthorizer::reset):
1072         (WebCore::DatabaseAuthorizer::createTable):
1073         (WebCore::DatabaseAuthorizer::createTempTable):
1074         (WebCore::DatabaseAuthorizer::dropTable):
1075         (WebCore::DatabaseAuthorizer::dropTempTable):
1076         (WebCore::DatabaseAuthorizer::allowAlterTable):
1077         (WebCore::DatabaseAuthorizer::createIndex):
1078         (WebCore::DatabaseAuthorizer::createTempIndex):
1079         (WebCore::DatabaseAuthorizer::dropIndex):
1080         (WebCore::DatabaseAuthorizer::dropTempIndex):
1081         (WebCore::DatabaseAuthorizer::createTrigger):
1082         (WebCore::DatabaseAuthorizer::createTempTrigger):
1083         (WebCore::DatabaseAuthorizer::dropTrigger):
1084         (WebCore::DatabaseAuthorizer::dropTempTrigger):
1085         (WebCore::DatabaseAuthorizer::createVTable):
1086         (WebCore::DatabaseAuthorizer::dropVTable):
1087         (WebCore::DatabaseAuthorizer::allowDelete):
1088         (WebCore::DatabaseAuthorizer::allowInsert):
1089         (WebCore::DatabaseAuthorizer::allowUpdate):
1090         (WebCore::DatabaseAuthorizer::allowRead):
1091         (WebCore::DatabaseAuthorizer::allowAnalyze):
1092         (WebCore::DatabaseAuthorizer::allowPragma):
1093         (WebCore::DatabaseAuthorizer::allowAttach):
1094         (WebCore::DatabaseAuthorizer::allowDetach):
1095         (WebCore::DatabaseAuthorizer::allowFunction):
1096         (WebCore::DatabaseAuthorizer::disable):
1097         (WebCore::DatabaseAuthorizer::enable):
1098         (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as
1099           it should be invisible to scripts
1100         * storage/DatabaseAuthorizer.h: Added.
1101         (WebCore::DatabaseAuthorizer::lastActionWasInsert):
1102         (WebCore::DatabaseAuthorizer::lastActionIncreasedSize):
1103
1104         * storage/DatabaseCallback.cpp: Added.
1105           Generic item to queue up for callbacks on the main thread for database activities that take place on 
1106           a secondary thread
1107         (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback):
1108         (WebCore::DatabaseChangeVersionCallback::performCallback):
1109         (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback):
1110         (WebCore::DatabaseExecuteSqlCallback::performCallback):
1111         * storage/DatabaseCallback.h: Added.
1112         (WebCore::DatabaseCallback::~DatabaseCallback):
1113         (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback):
1114         (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback):
1115
1116         * storage/DatabaseTask.h: Added.
1117           Generic work-item to be queued up on the background database thread
1118         (WebCore::DatabaseTask::isComplete):
1119         (WebCore::DatabaseOpenTask::exceptionCode):
1120         (WebCore::DatabaseOpenTask::openSuccessful):
1121         (WebCore::DatabaseTableNamesTask::tableNames):
1122         * storage/DatabaseTask.cpp: Added.
1123         (WebCore::DatabaseTask::DatabaseTask):
1124         (WebCore::DatabaseTask::~DatabaseTask):
1125         (WebCore::DatabaseTask::performTask):
1126         (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished 
1127           synchronously
1128         (WebCore::DatabaseTask::waitForSynchronousCompletion):
1129
1130         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
1131         (WebCore::DatabaseOpenTask::doPerformTask):
1132
1133         (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask):
1134         (WebCore::DatabaseExecuteSqlTask::doPerformTask):
1135
1136         (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask):
1137         (WebCore::DatabaseChangeVersionTask::doPerformTask):
1138
1139         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
1140         (WebCore::DatabaseTableNamesTask::doPerformTask):
1141
1142         * storage/DatabaseThread.cpp: Added.
1143           The current design is that each Document will have its own DatabaseThread.  This makes scripts on each
1144           individual document more response at the cost of adding more threads and potentially creating concurrency
1145           issues when the same database is open twice from two different documents
1146         (WebCore::DatabaseThread::DatabaseThread):
1147         (WebCore::DatabaseThread::~DatabaseThread):
1148         (WebCore::DatabaseThread::start):
1149         (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed
1150         (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database
1151         (WebCore::DatabaseThread::databaseThreadStart):
1152         (WebCore::DatabaseThread::databaseThread):
1153         (WebCore::DatabaseThread::dispatchNextTaskIdentifier):
1154         (WebCore::DatabaseThread::scheduleTask):
1155         (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when
1156           the main thread requires a task be performed synchronously
1157         (WebCore::DatabaseThread::wakeWorkThread):
1158         * storage/DatabaseThread.h: Added.
1159
1160         * storage/DatabaseTracker.cpp: Added.
1161           The DatabaseTracker is the master management of all databases.  It will keep track of the filename for a given
1162           unique database, keep track of the total disk usage per-origin, and policys per database/origin
1163         (WebCore::DatabaseTracker::setDatabasePath):
1164         (WebCore::DatabaseTracker::databasePath):
1165         (WebCore::DatabaseTracker::tracker):
1166         (WebCore::DatabaseTracker::DatabaseTracker):
1167         (WebCore::DatabaseTracker::fullPathForDatabase):
1168         (WebCore::DatabaseTracker::populateOrigins):
1169         (WebCore::DatabaseTracker::origins):
1170         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1171         (WebCore::DatabaseTracker::addDatabase):
1172         (WebCore::DatabaseTracker::deleteAllDatabases):
1173         (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin):
1174         * storage/DatabaseTracker.h: Added.
1175
1176         * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback
1177         (WebCore::SQLCallback::~SQLCallback):
1178         * storage/SQLCallback.idl: Added.
1179
1180         * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object
1181         (WebCore::SQLResultSet::SQLResultSet):
1182         (WebCore::SQLResultSet::insertId):
1183         (WebCore::SQLResultSet::rowsAffected):
1184         (WebCore::SQLResultSet::errorCode):
1185         (WebCore::SQLResultSet::error):
1186         (WebCore::SQLResultSet::rows):
1187         (WebCore::SQLResultSet::setInsertId):
1188         (WebCore::SQLResultSet::setRowsAffected):
1189         (WebCore::SQLResultSet::setErrorCode):
1190         (WebCore::SQLResultSet::setErrorMessage):
1191         * storage/SQLResultSet.h: Added.
1192         * storage/SQLResultSet.idl: Added.
1193
1194         * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object
1195         (WebCore::SQLResultSetRowList::length):
1196         * storage/SQLResultSetRowList.h: Added.
1197         (WebCore::SQLResultSetRowList::columnNames):
1198         (WebCore::SQLResultSetRowList::values):
1199         (WebCore::SQLResultSetRowList::addColumn):
1200         (WebCore::SQLResultSetRowList::addResult):
1201         * storage/SQLResultSetRowList.idl: Added.
1202
1203         * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback
1204         (WebCore::VersionChangeCallback::~VersionChangeCallback):
1205         * storage/VersionChangeCallback.idl: Added.
1206
1207 2007-10-19  Brady Eidson <beidson@apple.com>
1208
1209         Reviewed by Oliver + Same
1210
1211         Forwarding header for the new wtf/Queue.h
1212
1213         * ForwardingHeaders/wtf/Queue.h: Added.
1214
1215 2007-10-19  Anders Carlsson <beidson@apple.com>
1216
1217         Reviewed by Sam Weinig
1218
1219         Most of the Javascript binding support for the Storage API
1220
1221         * bindings/js/JSCustomSQLCallback.cpp: Added.
1222         (WebCore::JSCustomSQLCallback::JSCustomSQLCallback):
1223         (WebCore::JSCustomSQLCallback::handleEvent):
1224         * bindings/js/JSCustomSQLCallback.h: Added.
1225                 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
1226                 handleEvent to a JS function or a JS object with a handleEvent function.
1227
1228         * bindings/js/JSCustomVersionChangeCallback.cpp: Added.
1229         (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback):
1230         (WebCore::JSCustomVersionChangeCallback::handleEvent):
1231         * bindings/js/JSCustomVersionChangeCallback.h: Added.
1232                 Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches
1233                 handleEvent to a JS function or a JS object with a handleEvent function.
1234
1235         * bindings/js/JSDatabaseCustom.cpp: Added.
1236         (WebCore::JSDatabase::executeSql):
1237                 Custom implementation of executeSql that takes an array of parameters.
1238                 
1239         (WebCore::JSDatabase::changeVersion):
1240                 Custom implementation of changeVersion.
1241                 
1242         * bindings/js/JSSQLResultSetRowListCustom.cpp: Added.
1243         (WebCore::JSSQLResultSetRowList::item):
1244                 Custom method that returns a JS object that corresponds to a given row in the database.
1245
1246         * bindings/scripts/CodeGeneratorJS.pm:
1247
1248         * page/DOMWindow.cpp:
1249         (WebCore::DOMWindow::openDatabase):
1250         * page/DOMWindow.h:
1251         * page/DOMWindow.idl:
1252                 Add openDatabase implementation.
1253
1254 2007-10-19  Brady Eidson <beidson@apple.com>
1255
1256         Reviewed by Oliver
1257
1258         Added tons of utility to the FileSystem abstractions, including moving
1259         some stuff over from IconDatabase
1260
1261         * platform/FileSystem.h:
1262
1263         * platform/cf/FileSystemCF.cpp: Added.
1264         (WebCore::fileSystemRepresentation):
1265
1266         * platform/mac/FileSystemMac.mm:
1267
1268         * platform/posix/FileSystemPOSIX.cpp: Added.
1269         (WebCore::fileExists):
1270         (WebCore::deleteFile):
1271         (WebCore::fileSize):
1272         (WebCore::pathByAppendingComponent):
1273         (WebCore::makeAllDirectories):
1274
1275 2007-10-19  Timothy Hatcher  <timothy@apple.com>
1276
1277         Reviewed by Adam Roben
1278
1279         Preliminary Web Inspector support for the Storage API
1280         (This patch does not include the support artwork)
1281
1282         * page/InspectorController.cpp:
1283         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
1284         (WebCore::InspectorDatabaseResource::setScriptObject):
1285         (WebCore::databaseTableNames): Return the table names for a Database object.
1286         (WebCore::InspectorController::setWindowVisible):
1287         (WebCore::InspectorController::windowScriptObjectAvailable):
1288         (WebCore::InspectorController::populateScriptResources):
1289         (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database.
1290         (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database.
1291         (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources.
1292         (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources().
1293         (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources.
1294         * page/InspectorController.h:
1295         * page/inspector/Database.js: Added.
1296         * page/inspector/DatabasePanel.js: Added.
1297         * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource.
1298         * page/inspector/inspector.css: Add styles for the database panel.
1299         * page/inspector/inspector.html: Include DatabasePanel.js
1300         * page/inspector/inspector.js: Support for adding and removing Database resources.
1301
1302 2007-10-19  Brady Eidson <beidson@apple.com>
1303
1304         Reviewed by Tim Hatcher
1305
1306         Added support for Chrome prompts required by the Storage API
1307
1308         * page/Chrome.cpp:
1309         (WebCore::Chrome::runDatabaseSizeLimitPrompt):
1310         * page/Chrome.h:
1311         * page/ChromeClient.h:
1312         * platform/graphics/svg/SVGImageEmptyClients.h:
1313
1314 2007-10-19  Brady Eidson <beidson@apple.com>
1315
1316         Contributions and Review by Anders
1317
1318         Various SQLite tweaks in preparation for the storage API
1319
1320         * loader/icon/SQLDatabase.cpp:
1321         (WebCore::SQLDatabase::~SQLDatabase):
1322         (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions
1323         (WebCore::SQLDatabase::setAuthorizer):
1324         (WebCore::SQLDatabase::lock):
1325         (WebCore::SQLDatabase::unlock):
1326         * loader/icon/SQLDatabase.h:
1327
1328         * loader/icon/SQLStatement.cpp:
1329         (WebCore::SQLStatement::prepare): Switch to prepare16_v2
1330         (WebCore::SQLStatement::bindDouble): Added
1331         (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later)
1332         (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements
1333         * loader/icon/SQLStatement.h:
1334         (WebCore::SQLStatement::isPrepared):
1335
1336         * platform/sql/SQLAuthorizer.cpp: Added.  Fully virtual interface to implement your own SQLite authorizer
1337         * platform/sql/SQLAuthorizer.h: Added.
1338         (WebCore::SQLAuthorizer::~SQLAuthorizer):
1339         (WebCore::SQLAuthorizer::createTable):
1340         (WebCore::SQLAuthorizer::createTempTable):
1341         (WebCore::SQLAuthorizer::dropTable):
1342         (WebCore::SQLAuthorizer::dropTempTable):
1343         (WebCore::SQLAuthorizer::allowAlterTable):
1344         (WebCore::SQLAuthorizer::createIndex):
1345         (WebCore::SQLAuthorizer::createTempIndex):
1346         (WebCore::SQLAuthorizer::dropIndex):
1347         (WebCore::SQLAuthorizer::dropTempIndex):
1348         (WebCore::SQLAuthorizer::createTrigger):
1349         (WebCore::SQLAuthorizer::createTempTrigger):
1350         (WebCore::SQLAuthorizer::dropTrigger):
1351         (WebCore::SQLAuthorizer::dropTempTrigger):
1352         (WebCore::SQLAuthorizer::createView):
1353         (WebCore::SQLAuthorizer::createTempView):
1354         (WebCore::SQLAuthorizer::dropView):
1355         (WebCore::SQLAuthorizer::dropTempView):
1356         (WebCore::SQLAuthorizer::createVTable):
1357         (WebCore::SQLAuthorizer::dropVTable):
1358         (WebCore::SQLAuthorizer::allowDelete):
1359         (WebCore::SQLAuthorizer::allowInsert):
1360         (WebCore::SQLAuthorizer::allowUpdate):
1361         (WebCore::SQLAuthorizer::allowTransaction):
1362         (WebCore::SQLAuthorizer::allowSelect):
1363         (WebCore::SQLAuthorizer::allowRead):
1364         (WebCore::SQLAuthorizer::allowAttach):
1365         (WebCore::SQLAuthorizer::allowDetach):
1366         (WebCore::SQLAuthorizer::allowReindex):
1367         (WebCore::SQLAuthorizer::allowAnalyze):
1368         (WebCore::SQLAuthorizer::allowFunction):
1369
1370         * platform/sql/SQLValue.cpp: Added.  Contains a value for a SQLite database that can be one of a few types.  
1371           For now, just a String or a double
1372         (WebCore::SQLValue::SQLValue):
1373         (WebCore::SQLValue::string):
1374         (WebCore::SQLValue::number):
1375         * platform/sql/SQLValue.h: Added.
1376         (WebCore::SQLValue::):
1377         (WebCore::SQLValue::SQLValue):
1378         (WebCore::SQLValue::type):
1379
1380 2007-10-19  Brady Eidson <beidson@apple.com>
1381
1382         Reviewed by Maciej
1383
1384         Changed IconDatabase over to use new FileSystem apis
1385
1386         * loader/icon/IconDatabase.cpp:
1387         (WebCore::IconDatabase::open):
1388
1389 2007-10-19  David Hyatt  <hyatt@apple.com>
1390
1391         Fix for ebay parser crash.
1392
1393         Reviewed by Beth
1394
1395         fast/invalid/table-residual-style-crash.html added as a test
1396
1397         * html/HTMLParser.cpp:
1398         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1399
1400 2007-10-19  Sam Weinig  <sam@webkit.org>
1401
1402         Fix Windows, Qt and GTK builds.
1403
1404         * WebCore.pro:
1405         * WebCore.vcproj/WebCore.vcproj:
1406
1407 2007-10-19  Sam Weinig  <sam@webkit.org>
1408
1409         Reviewed by Darin.
1410
1411         Encapsulate the same origin check into the new SecurityOrigin class.
1412
1413         * WebCore.xcodeproj/project.pbxproj:
1414         * bindings/js/kjs_window.cpp:
1415         (KJS::Window::isSafeScript):
1416         * dom/Document.cpp:
1417         (WebCore::Document::Document):
1418         (WebCore::Document::defaultEventHandler):
1419         * dom/Document.h:
1420         (WebCore::Document::securityOrigin):
1421         * loader/FrameLoader.cpp:
1422         (WebCore::FrameLoader::begin):
1423         (WebCore::FrameLoader::setOpener):
1424         * loader/FrameLoader.h:
1425         * platform/SecurityOrigin.cpp: Added.
1426         (WebCore::SecurityOrigin::SecurityOrigin):
1427         (WebCore::SecurityOrigin::clear):
1428         (WebCore::SecurityOrigin::isEmpty):
1429         (WebCore::SecurityOrigin::setForFrame):
1430         (WebCore::SecurityOrigin::setDomainFromDOM):
1431         (WebCore::SecurityOrigin::allowsAccessFrom):
1432         (WebCore::SecurityOrigin::isSecureTransitionTo):
1433         * platform/SecurityOrigin.h: Added.
1434
1435 2007-10-19  Simon Hausmann  <hausmann@kde.org>
1436
1437         Fix the Qt/Windows build: Added missing FontSelector.h include.
1438
1439         * platform/qt/FontQt.cpp:
1440
1441 2007-10-19  Simon Hausmann  <hausmann@kde.org>
1442
1443         Reviewed by Lars.
1444
1445         Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h.
1446
1447         * platform/Threading.h:
1448
1449 2007-10-19  Simon Hausmann  <hausmann@kde.org>
1450
1451         Reviewed by Lars.
1452
1453         Fix the Qt/Windows build, don't use cat but use the perl print trick
1454         instead.
1455
1456         * WebCore.pro:
1457
1458 2007-10-18  Justin Garcia  <justin.garcia@apple.com>
1459
1460         Reviewed by Kevin McCullough.
1461
1462         <rdar://problem/5483526> 
1463         GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks
1464
1465         * editing/TextIterator.cpp:
1466         (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character
1467         between every VisiblePosition.  We weren't emitting a space after some tables, because
1468         we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline
1469         was emitted.
1470
1471 2007-10-18  Dan Bernstein  <dan.bernstein@apple.com>
1472
1473         Reviewed by Adam Roben.
1474
1475         - fix <rdar://problem/5313523>
1476         REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
1477
1478         * platform/network/mac/ResourceResponseMac.mm:
1479         (WebCore::ResourceResponse::doUpdateResourceResponse): Work around
1480         <rdar://problem/5321972> by testing for the case of a response
1481         with a MIME type of application/octet-stream and a Content-Type header
1482         starting with text/plain and setting the MIME type to text/plain in
1483         that case.
1484
1485 2007-10-18  Mark Rowe  <mrowe@apple.com>
1486
1487         Fix the no-SVG build.
1488
1489         * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for
1490         LineCap, LineJoin and WindRule inside #if ENABLE(SVG).
1491
1492 2007-10-18  Darin Adler  <darin@apple.com>
1493
1494         Reviewed by Anders.
1495
1496         - some small tweaks to the threading implementation
1497
1498         I had trouble building on Windows. Either the problem went away by itself
1499         or one of these changes fixed it.
1500
1501         * platform/Threading.h: Eliminated the use of friend, and shared a single
1502         declaration for the initializeThreading function.
1503
1504         * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait):
1505         Call impl() here.
1506
1507         * platform/win/ThreadingWin.cpp: Got rid of two globals here with static
1508         constructors. Also added a typedef for the type of the function queue.
1509         (WebCore::functionQueueMutex): Added function.
1510         (WebCore::functionQueue): Ditto.
1511         (WebCore::callFunctionsOnMainThread): Use functions instead of using the
1512         globals directly.
1513         (WebCore::callOnMainThread): Ditto.
1514
1515         * css/CSSParser.cpp: Had to touch this file to make things build.
1516
1517 2007-10-18  Adam Roben  <aroben@apple.com>
1518
1519         Fix <rdar://5547462> Need to copy Inspector resources in Production builds
1520
1521         I also added an excludes file for the xcopy command to avoid copying
1522         .svn folders.
1523
1524         Reviewed by Geoff.
1525
1526         * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
1527         resources.
1528         * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
1529         xcopy.
1530         * WebCore.vcproj/xcopy.excludes: Added.
1531
1532 2007-10-18  Darin Adler  <darin@apple.com>
1533
1534         Reviewed by Sam.
1535
1536         - fix http://bugs.webkit.org/show_bug.cgi?id=15541
1537           REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply
1538
1539         * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue.
1540
1541 2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
1542
1543         Build fix. Not reviewed.
1544
1545         Hopefully fix win build by including wtf/MathExtras.h.
1546
1547         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1548
1549 2007-10-18  Dan Bernstein  <dan.bernstein@apple.com>
1550
1551         Reviewed by Nikolas Zimmermann.
1552
1553         - fix http://bugs.webkit.org/show_bug.cgi?id=15367
1554           Assertion failure inspecting a document including soft hyphen code (0xad)
1555
1556         Test: fast/text/word-break-soft-hyphen.html
1557
1558         * rendering/RenderText.cpp:
1559         (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as 
1560         word boundaries. This fixes the bug and is consistent with the fact that
1561         run rounding does occur at soft hyphens.
1562
1563 2007-10-18  Nikolas Zimmermann  <zimmermann@kde.org>
1564
1565         Reviewed by Anders.
1566
1567         Fix last layout test failure seen on buildbot "trunk-mac-ppc-release".
1568         Problem: "svg/custom/mask-excessive-malloc.svg -> crashed"
1569
1570         Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize
1571         to avoid excessive mallocs (in the testcase above 1000000x1000000)
1572
1573         * ksvg2/svg/SVGMaskElement.cpp:
1574         (WebCore::SVGMaskElement::drawMaskerContent):
1575         * ksvg2/svg/SVGPatternElement.cpp:
1576         (WebCore::SVGPatternElement::buildPattern):
1577         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1578         (WebCore::SVGPaintServerGradient::teardown):
1579         (WebCore::SVGPaintServerGradient::setup):
1580         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1581         (WebCore::SVGResourceMasker::applyMask):
1582         * rendering/SVGRenderSupport.cpp:
1583         (WebCore::clampImageBufferSizeToViewport):
1584         * rendering/SVGRenderSupport.h:
1585
1586 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
1587
1588         Windows build fix.
1589
1590         * css/CSSStyleSelector.cpp:
1591         (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now.
1592
1593 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
1594
1595         Release build fix.
1596
1597         * css/CSSStyleSelector.cpp:
1598         (WebCore::CSSStyleSelector::applyProperty): 
1599
1600 2007-10-18  Alexey Proskuryakov  <ap@webkit.org>
1601
1602         Reviewed by Darin.
1603
1604         Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue()
1605         and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable.
1606
1607         * WebCore.xcodeproj/project.pbxproj:
1608         * css/CSSComputedStyleDeclaration.cpp:
1609         (WebCore::getPositionOffsetValue):
1610         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1611         * css/CSSPrimitiveValue.cpp:
1612         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1613         (WebCore::CSSPrimitiveValue::init):
1614         * css/CSSPrimitiveValue.h:
1615         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1616         * css/CSSPrimitiveValueMappings.h: Added.
1617         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1618         (WebCore::CSSPrimitiveValue::operator EBorderStyle):
1619         (WebCore::CSSPrimitiveValue::operator CompositeOperator):
1620         (WebCore::CSSPrimitiveValue::operator EAppearance):
1621         (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
1622         (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat):
1623         (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
1624         (WebCore::CSSPrimitiveValue::operator EBoxDirection):
1625         (WebCore::CSSPrimitiveValue::operator EBoxLines):
1626         (WebCore::CSSPrimitiveValue::operator EBoxOrient):
1627         (WebCore::CSSPrimitiveValue::operator ECaptionSide):
1628         (WebCore::CSSPrimitiveValue::operator EClear):
1629         (WebCore::CSSPrimitiveValue::operator ECursor):
1630         (WebCore::CSSPrimitiveValue::operator EDisplay):
1631         (WebCore::CSSPrimitiveValue::operator EEmptyCell):
1632         (WebCore::CSSPrimitiveValue::operator EFloat):
1633         (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak):
1634         (WebCore::CSSPrimitiveValue::operator EListStylePosition):
1635         (WebCore::CSSPrimitiveValue::operator EListStyleType):
1636         (WebCore::CSSPrimitiveValue::operator EMarginCollapse):
1637         (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior):
1638         (WebCore::CSSPrimitiveValue::operator EMarqueeDirection):
1639         (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor):
1640         (WebCore::CSSPrimitiveValue::operator ENBSPMode):
1641         (WebCore::CSSPrimitiveValue::operator EOverflow):
1642         (WebCore::CSSPrimitiveValue::operator EPageBreak):
1643         (WebCore::CSSPrimitiveValue::operator EPosition):
1644         (WebCore::CSSPrimitiveValue::operator EResize):
1645         (WebCore::CSSPrimitiveValue::operator ETableLayout):
1646         (WebCore::CSSPrimitiveValue::operator ETextAlign):
1647         (WebCore::CSSPrimitiveValue::operator ETextSecurity):
1648         (WebCore::CSSPrimitiveValue::operator ETextTransform):
1649         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
1650         (WebCore::CSSPrimitiveValue::operator EUserDrag):
1651         (WebCore::CSSPrimitiveValue::operator EUserModify):
1652         (WebCore::CSSPrimitiveValue::operator EUserSelect):
1653         (WebCore::CSSPrimitiveValue::operator EVisibility):
1654         (WebCore::CSSPrimitiveValue::operator EWhiteSpace):
1655         (WebCore::CSSPrimitiveValue::operator EWordBreak):
1656         (WebCore::CSSPrimitiveValue::operator EWordWrap):
1657         (WebCore::CSSPrimitiveValue::operator LineCap):
1658         (WebCore::CSSPrimitiveValue::operator LineJoin):
1659         (WebCore::CSSPrimitiveValue::operator TextDirection):
1660         (WebCore::CSSPrimitiveValue::operator WindRule):
1661         (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline):
1662         (WebCore::CSSPrimitiveValue::operator EColorInterpolation):
1663         (WebCore::CSSPrimitiveValue::operator EColorRendering):
1664         (WebCore::CSSPrimitiveValue::operator EDominantBaseline):
1665         (WebCore::CSSPrimitiveValue::operator EImageRendering):
1666         (WebCore::CSSPrimitiveValue::operator EPointerEvents):
1667         (WebCore::CSSPrimitiveValue::operator EShapeRendering):
1668         (WebCore::CSSPrimitiveValue::operator ETextAnchor):
1669         (WebCore::CSSPrimitiveValue::operator ETextRendering):
1670         (WebCore::CSSPrimitiveValue::operator EWritingMode):
1671         * css/CSSStyleSelector.cpp:
1672         (WebCore::CSSStyleSelector::checkSelector):
1673         (WebCore::CSSStyleSelector::checkOneSelector):
1674         (WebCore::CSSRuleSet::addRulesFromSheet):
1675         (WebCore::convertToLength):
1676         (WebCore::CSSStyleSelector::applyDeclarations):
1677         (WebCore::CSSStyleSelector::applyProperty):
1678         (WebCore::CSSStyleSelector::mapBackgroundAttachment):
1679         (WebCore::CSSStyleSelector::mapBackgroundClip):
1680         (WebCore::CSSStyleSelector::mapBackgroundComposite):
1681         (WebCore::CSSStyleSelector::mapBackgroundOrigin):
1682         (WebCore::CSSStyleSelector::mapBackgroundRepeat):
1683         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
1684         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
1685         * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp:
1686         (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
1687         * ksvg2/css/SVGCSSStyleSelector.cpp:
1688         (WebCore::CSSStyleSelector::applySVGProperty):
1689
1690 2007-10-18  Eric Seidel  <eric@webkit.org>
1691
1692         Reviewed by Maciej.
1693
1694         Fix crashers in SVGViewSpec::parseViewSpec
1695         http://bugs.webkit.org/show_bug.cgi?id=15504
1696
1697         Test is blocked by bug 15503, landed as:
1698         * svg/dom/viewspec-parser.html-disabled
1699
1700         * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces
1701         * ksvg2/svg/SVGViewSpec.cpp:
1702         (WebCore::SVGViewSpec::parseViewSpec):
1703         * ksvg2/svg/SVGViewSpec.idl: Added.
1704
1705 2007-10-17  Rob Buis  <buis@kde.org>
1706
1707         Reviewed by Darin, Adam, and Maciej.
1708
1709         http://bugs.webkit.org/show_bug.cgi?id=12988
1710         First element (in document order) is not returned when other duplicate ID-ed elements were created first
1711
1712         Reset the element id cache when an id is added and there is a duplicate for that id.
1713
1714         * dom/Document.cpp:
1715         (WebCore::Document::addElementById):
1716
1717 2007-10-17  Mark Rowe  <mrowe@apple.com>
1718
1719         Mac build fix.
1720
1721         * Configurations/WebCore.xcconfig:  Make it possible to include CoreGraphics header files.
1722
1723 2007-10-17  Adam Roben  <aroben@apple.com>
1724
1725         Fix an ASSERT on launch on Windows
1726
1727         Fix dictated to me by Brady.
1728
1729         * loader/icon/IconDatabase.cpp:
1730         (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold
1731         m_syncLock before going into the loop.
1732
1733 2007-10-17  Adam Roben  <aroben@apple.com>
1734
1735         Windows build fix
1736
1737         Reviewed by NOBODY.
1738
1739         * platform/graphics/AffineTransform.h: Don't #include
1740         ApplicationServices.h.
1741         * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's
1742         needed now that we're not #including ApplicationServices.h.
1743
1744 2007-10-17  Mark Rowe  <mrowe@apple.com>
1745
1746         Gtk build fix.  Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent
1747         multiple-definition link errors.
1748
1749         * WebCore.pro:
1750         * platform/Threading.h:
1751         * platform/ThreadingNone.cpp: Added.
1752         (WebCore::createThread):
1753         (WebCore::waitForThreadCompletion):
1754         (WebCore::detachThread):
1755         (WebCore::Mutex::Mutex):
1756         (WebCore::Mutex::~Mutex):
1757         (WebCore::Mutex::lock):
1758         (WebCore::Mutex::tryLock):
1759         (WebCore::Mutex::unlock):
1760         (WebCore::ThreadCondition::ThreadCondition):
1761
1762 2007-10-17  Anders Carlsson  <andersca@apple.com>
1763
1764         Reviewed by Oliver.
1765
1766         * WebCore.xcodeproj/project.pbxproj:
1767         * WebCore.vcproj/WebCore.vcproj:
1768         
1769         * config.h:
1770         #define USE_PTHREADS on Windows.
1771         
1772         * loader/icon/IconDatabase.cpp:
1773         (WebCore::IconDatabase::getOrCreateIconRecord):
1774         (WebCore::IconDatabase::getOrCreatePageURLRecord):
1775         Update for mutex changes.
1776         
1777         * platform/Threading.h:
1778         (WebCore::):
1779         (WebCore::ThreadSafeShared::ThreadSafeShared):
1780         (WebCore::ThreadSafeShared::ref):
1781         (WebCore::ThreadSafeShared::deref):
1782         (WebCore::ThreadSafeShared::hasOneRef):
1783         (WebCore::ThreadSafeShared::refCount):
1784         (WebCore::ThreadSafeShared::isThreadSafe):
1785         Add a new Shared base class that uses a mutex to manage its refcount.
1786         
1787         (WebCore::createThread):
1788         (WebCore::waitForThreadCompletion):
1789         (WebCore::detachThread):
1790         New functions for thread creation.
1791         
1792         (WebCore::Mutex::Mutex):
1793         (WebCore::Mutex::~Mutex):
1794         (WebCore::Mutex::lock):
1795         (WebCore::Mutex::tryLock):
1796         (WebCore::Mutex::unlock):
1797         Move the definitions to ThreadingPthreads.cpp
1798         
1799         (WebCore::ThreadCondition::ThreadCondition):
1800         (WebCore::ThreadCondition::~ThreadCondition):
1801         (WebCore::ThreadCondition::wait):
1802         (WebCore::ThreadCondition::signal):
1803         (WebCore::ThreadCondition::broadcast):
1804         Move the definitions to ThreadingPthreads.cpp
1805         
1806         * platform/pthreads: Added.
1807         * platform/pthreads/ThreadingPthreads.cpp: Added.
1808         Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition.
1809
1810 2007-10-17  David Hyatt  <hyatt@apple.com>
1811
1812         Add support for creating a layer when a transform is in effect.  Add support to RenderStyle for
1813         handing back a computed AffineTransform.
1814
1815         Reviewed by Mitz Pettel
1816
1817         * css/CSSStyleSelector.cpp:
1818         (WebCore::CSSStyleSelector::adjustRenderStyle):
1819         * rendering/RenderBox.cpp:
1820         (WebCore::RenderBox::setStyle):
1821         * rendering/RenderObject.cpp:
1822         (WebCore::RenderObject::RenderObject):
1823         (WebCore::RenderObject::requiresLayer):
1824         (WebCore::RenderObject::setStyle):
1825         * rendering/RenderObject.h:
1826         (WebCore::RenderObject::hasTransform):
1827         (WebCore::RenderObject::setHasTransform):
1828         * rendering/RenderStyle.cpp:
1829         (WebCore::RenderStyle::applyTransform):
1830         * rendering/RenderStyle.h:
1831         (WebCore::RenderStyle::hasTransform):
1832         * rendering/RenderTableCell.cpp:
1833         (WebCore::RenderTableCell::requiresLayer):
1834         * rendering/RenderTableRow.h:
1835         (WebCore::RenderTableRow::requiresLayer):
1836
1837 2007-10-17  David Hyatt  <hyatt@apple.com>
1838
1839         Add support for mapping of the transform CSS property into RenderStyles.  Everything is now ready for the front
1840         end to use.
1841
1842         Reviewed by Mitz Pettel
1843
1844         * WebCore.xcodeproj/project.pbxproj:
1845         * css/CSSStyleSelector.cpp:
1846         (WebCore::CSSStyleSelector::applyProperty):
1847         * css/CSSTransformValue.h:
1848         (WebCore::CSSTransformValue::type):
1849         (WebCore::CSSTransformValue::values):
1850         * platform/graphics/AffineTransform.cpp:
1851         (WebCore::AffineTransform::skew):
1852         * platform/graphics/AffineTransform.h:
1853         * rendering/RenderStyle.cpp:
1854         (WebCore::StyleTransformData::StyleTransformData):
1855         (WebCore::StyleTransformData::operator==):
1856         (WebCore::StyleTransformData::transformDataEquivalent):
1857         * rendering/RenderStyle.h:
1858         (WebCore::TransformOperation::~TransformOperation):
1859         (WebCore::TransformOperation::operator!=):
1860         (WebCore::TransformOperation::isScaleOperation):
1861         (WebCore::TransformOperation::isRotateOperation):
1862         (WebCore::TransformOperation::isSkewOperation):
1863         (WebCore::TransformOperation::isTranslateOperation):
1864         (WebCore::TransformOperation::isMatrixOperation):
1865         (WebCore::ScaleTransformOperation::ScaleTransformOperation):
1866         (WebCore::ScaleTransformOperation::isScaleOperation):
1867         (WebCore::ScaleTransformOperation::operator==):
1868         (WebCore::ScaleTransformOperation::apply):
1869         (WebCore::RotateTransformOperation::RotateTransformOperation):
1870         (WebCore::RotateTransformOperation::isRotateOperation):
1871         (WebCore::RotateTransformOperation::operator==):
1872         (WebCore::RotateTransformOperation::apply):
1873         (WebCore::SkewTransformOperation::SkewTransformOperation):
1874         (WebCore::SkewTransformOperation::isSkewOperation):
1875         (WebCore::SkewTransformOperation::operator==):
1876         (WebCore::SkewTransformOperation::apply):
1877         (WebCore::TranslateTransformOperation::TranslateTransformOperation):
1878         (WebCore::TranslateTransformOperation::isTranslateOperation):
1879         (WebCore::TranslateTransformOperation::operator==):
1880         (WebCore::TranslateTransformOperation::apply):
1881         (WebCore::MatrixTransformOperation::MatrixTransformOperation):
1882         (WebCore::MatrixTransformOperation::isMatrixOperation):
1883         (WebCore::MatrixTransformOperation::operator==):
1884         (WebCore::MatrixTransformOperation::apply):
1885         (WebCore::StyleTransformData::operator!=):
1886         (WebCore::RenderStyle::transform):
1887         (WebCore::RenderStyle::setTransform):
1888         (WebCore::RenderStyle::initialTransform):
1889
1890 2007-10-17  Adam Roben  <aroben@apple.com>
1891
1892         * page/Frame.cpp: I had to touch this file when fixing the Windows
1893         build. Checking it in in case it helps others, too.
1894
1895 2007-10-17  Eric Seidel  <eric@webkit.org>
1896
1897         Reviewed by Mark Rowe.
1898         
1899         Remove a couple more uses of svg_dynamic_cast.
1900
1901         No functional changes, no tests.
1902
1903         * ksvg2/svg/SVGPatternElement.cpp:
1904         (WebCore::SVGPatternElement::buildPattern):
1905
1906 2007-10-17  Mark Rowe  <mrowe@apple.com>
1907
1908         Reviewed by Eric and Geoff.
1909
1910         <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab
1911         http://bugs.webkit.org/show_bug.cgi?id=15191
1912
1913         * loader/DocLoader.cpp:
1914         (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading.
1915
1916 2007-10-17  Justin Garcia  <justin.garcia@apple.com>
1917
1918         Reviewed by Harrison.
1919         
1920         <rdar://problem/5481523> 
1921         GoogleDocs: Safari hangs when indenting a particular table twice
1922         
1923         Fixed by fixing problems with the selection preservation done by IndentOutdentCommand.
1924         It is now more difficult to create selections that cause hangs.  Those are covered by:
1925         <rdar://problem/5543472>
1926
1927         * editing/IndentOutdentCommand.cpp:
1928         (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition
1929         in the document, instead of the first Position.
1930         Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength.
1931         Tell TextIterator::rangeLength that we're doing selection preservation, so that it
1932         will emit characters between all VisiblePositions.
1933         (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location
1934         passed to rangeFromLocationAndLength were reversed.
1935         Tell rangeFromLocationAndLength that we're doing doing selection preservation, as
1936         above.
1937         * editing/TextIterator.cpp:
1938         (WebCore::CharacterIterator::CharacterIterator): 
1939         (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements
1940         to forSelectionPreservation, to match the name of the boolean inside TextIterator and
1941         to match its meaning after r25522.
1942         (WebCore::TextIterator::rangeFromLocationAndLength): Ditto.
1943
1944 2007-10-16  Darin Adler  <darin@apple.com>
1945
1946         Reviewed by Mitz.
1947
1948         - fix http://bugs.webkit.org/show_bug.cgi?id=15536
1949           need to cache missing glyph so we're not slow on pages that show missing glyphs
1950
1951         - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test
1952           (related to font data caching)
1953
1954         * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value
1955         for fontData rather than for glyph to detect non-cached entries in the glyph data.
1956
1957         * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill):
1958         * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill):
1959         * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill):
1960         Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions
1961         to return the proper value for haveGlyphs.
1962
1963 2007-10-16  Mark Rowe  <mrowe@apple.com>
1964
1965         Gtk build fix.  Replace use of assert with ASSERT_NOT_REACHED.
1966
1967         * platform/gtk/FontCacheGtk.cpp:
1968         (WebCore::FontCache::platformInit):
1969
1970 2007-10-16  Darin Adler  <darin@apple.com>
1971
1972         Reviewed by Adam.
1973
1974         - fix http://bugs.webkit.org/show_bug.cgi?id=15534
1975           WebScriptObject.h has some formatting and editorial mistakes
1976
1977         * bindings/objc/WebScriptObject.h: Fix wording and formatting.
1978
1979 2007-10-16  Darin Adler  <darin@apple.com>
1980
1981         - try to fix the Qt build
1982
1983         * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers
1984         that are used in some Qt-specific source files.
1985
1986 2007-10-16  Darin Adler  <darin@apple.com>
1987
1988         Reviewed by Adele.
1989
1990         - fix http://bugs.webkit.org/show_bug.cgi?id=15525
1991           transpose (control-T) should do the last two characters on a line if at end of line
1992         - remove unused CommandByName class
1993         - move transpose command implementation here from Mac OS X WebKit
1994
1995         * editing/Editor.h:
1996         * editing/Editor.cpp:
1997         (WebCore::execTranspose): Added.
1998         (WebCore::Editor::transpose): Added. This has the transpose implementation from
1999         WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with
2000         a special case for the end of a paragraph.
2001
2002         * page/Frame.h: Removed unused command() function member.
2003         * page/FramePrivate.h: Removed unused m_command data member.
2004         * page/Frame.cpp: Ditto.
2005
2006         * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method.
2007         * page/mac/WebCoreFrameBridge.mm: Ditto.
2008
2009         * WebCore.pro: Removed CommandByName.h/cpp.
2010         * WebCore.vcproj/WebCore.vcproj: Ditto.
2011         * WebCore.xcodeproj/project.pbxproj: Ditto.
2012
2013         * editing/CommandByName.cpp: Removed.
2014         * editing/CommandByName.h: Removed.
2015
2016 2007-10-16  Darin Adler  <darin@apple.com>
2017
2018         Reviewed by Maciej and Geoff (and looked over by Eric).
2019
2020         - http://bugs.webkit.org/show_bug.cgi?id=15519
2021           eliminate use of <ctype.h> for processing ASCII
2022
2023         * ForwardingHeaders/wtf/ASCIICType.h: Added.
2024         * ForwardingHeaders/wtf/DisallowCType.h: Added.
2025
2026         * WebCorePrefix.h: Get rid of inclusion of <ctype.h>.
2027         * config.h: Include DisallowCType.h.
2028
2029         * css/CSSParser.cpp:
2030         (WebCore::ParseString::lower):
2031         * css/CSSPrimitiveValue.cpp:
2032         (WebCore::isCSSTokenizerIdentifier):
2033         * css/CSSStyleDeclaration.cpp:
2034         (WebCore::propertyID):
2035         * html/HTMLSelectElement.cpp:
2036         (WebCore::stripLeadingWhiteSpace):
2037         * html/HTMLTokenizer.cpp:
2038         (WebCore::tagMatch):
2039         * loader/FTPDirectoryParser.cpp:
2040         (WebCore::parseOneFTPLine):
2041         * loader/TextResourceDecoder.cpp:
2042         (WebCore::TextResourceDecoder::checkForHeadCharset):
2043         * platform/DeprecatedCString.cpp:
2044         (WebCore::DeprecatedCString::lower):
2045         (WebCore::DeprecatedCString::upper):
2046         (WebCore::DeprecatedCString::find):
2047         (WebCore::DeprecatedCString::contains):
2048         * platform/DeprecatedString.cpp:
2049         (WebCore::equalCaseInsensitive):
2050         (WebCore::isCharacterAllowedInBase):
2051         (WebCore::DeprecatedString::find):
2052         (WebCore::DeprecatedString::contains):
2053         (WebCore::toIntegralType):
2054         * platform/DeprecatedString.h:
2055         (WebCore::DeprecatedChar::isSpace):
2056         (WebCore::DeprecatedChar::lower):
2057         (WebCore::DeprecatedChar::upper):
2058         * platform/KURL.cpp:
2059         (WebCore::KURL::parse):
2060         * platform/StringImpl.cpp:
2061         (WebCore::isSpace):
2062         (WebCore::StringImpl::containsOnlyWhitespace):
2063         (WebCore::StringImpl::isLower):
2064         (WebCore::StringImpl::lower):
2065         (WebCore::StringImpl::find):
2066         (WebCore::StringImpl::reverseFind):
2067         (WebCore::equalIgnoringCase):
2068         * platform/TextEncodingRegistry.cpp:
2069         (WebCore::TextEncodingNameHash::equal):
2070         (WebCore::TextEncodingNameHash::hash):
2071         (WebCore::atomicCanonicalTextEncodingName):
2072         * platform/mac/KeyEventMac.mm:
2073         (WebCore::keyIdentifierForKeyEvent):
2074         * platform/win/KeyEventWin.cpp:
2075         (WebCore::keyIdentifierForWindowsKeyCode):
2076         * platform/win/PopupMenuWin.cpp:
2077         (WebCore::isASCIIPrintable):
2078         (WebCore::PopupWndProc):
2079         * plugins/win/PluginViewWin.cpp:
2080         (WebCore::capitalizeRFC822HeaderFieldName):
2081         * rendering/RenderText.cpp:
2082         (WebCore::RenderText::widthFromCache):
2083         Use ASCIICType.h functions instead of ctype.h ones.
2084
2085 2007-10-16  Mitz Pettel  <mitz@webkit.org>
2086
2087         Reviewed by Dave Hyatt.
2088
2089         - fix http://bugs.webkit.org/show_bug.cgi?id=15296
2090           REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue.
2091
2092         Test: fast/block/float/marquee-shrink-to-avoid-floats.html
2093
2094         * rendering/RenderObject.cpp:
2095         (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width.
2096
2097 2007-10-16  Beth Dakin  <bdakin@apple.com>
2098
2099         Reviewed by Darin.
2100
2101         Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders 
2102         Amazon seller page way too small
2103
2104         The font size at Amazon was way too small because the calls to 
2105         getComputedStyle and getPropertyValue did not cause the div to 
2106         attach because there was a pending stylesheet. The fix is to call 
2107         updateLayoutIgnorePendingStylesheets() instead of just 
2108         updateLayout().
2109
2110         * css/CSSComputedStyleDeclaration.cpp:
2111         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2112
2113 2007-10-16  David Hyatt  <hyatt@apple.com>
2114
2115         Get transform-origin(x/y) mapped into the front end RenderStyle.  Adds a new StyleTransformData struct that
2116         holds transform-origin (and that will also eventually hold the parsed transform operations as well).
2117
2118         Reviewed by Beth
2119
2120         * css/CSSStyleSelector.cpp:
2121         (WebCore::CSSStyleSelector::applyProperty):
2122         * rendering/RenderStyle.cpp:
2123         (WebCore::StyleTransformData::StyleTransformData):
2124         (WebCore::StyleTransformData::operator==):
2125         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2126         (WebCore::StyleRareNonInheritedData::operator==):
2127         (WebCore::RenderStyle::RenderStyle):
2128         (WebCore::RenderStyle::diff):
2129         * rendering/RenderStyle.h:
2130         (WebCore::StyleTransformData::operator!=):
2131         (WebCore::RenderStyle::transformOriginX):
2132         (WebCore::RenderStyle::transformOriginY):
2133         (WebCore::RenderStyle::setTransformOriginX):
2134         (WebCore::RenderStyle::setTransformOriginY):
2135         (WebCore::RenderStyle::initialTransformOriginX):
2136         (WebCore::RenderStyle::initialTransformOriginY):
2137
2138 2007-10-16  Adele Peterson  <adele@apple.com>
2139
2140         Reviewed by Alice.
2141
2142         Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch)
2143
2144         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute):  When switching between types of select elements, call setRecalcListItems
2145           since recalcListItems updates the default selection in different ways for the different controls. 
2146
2147 2007-10-16  Alice Liu  <alice.liu@apple.com>
2148
2149         rubber-stamped by Darin.
2150
2151         flipping my previous fix around so that mac is special-cased instead of win.
2152
2153         * dom/Document.cpp:
2154         (WebCore::Document::defaultEventHandler):
2155
2156 2007-10-16  David Hyatt  <hyatt@apple.com>
2157
2158         Clean up transform parsing.  Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more
2159         to simplify the code.
2160
2161         Reviewed by aroben
2162
2163         * css/CSSParser.cpp:
2164         (WebCore::CSSParser::parseValue):
2165         (WebCore::CSSParser::parseTransform):
2166         * css/CSSParser.h:
2167
2168 2007-10-16  Alice Liu  <alice.liu@apple.com>
2169
2170         Reviewed by Adele.
2171
2172         fixed <rdar://5085596> Accesskeys don't work
2173         
2174         * dom/Document.cpp:
2175         (WebCore::Document::defaultEventHandler):
2176         accesskey modifier is platform-depedent.
2177
2178 2007-10-15  Mark Rowe  <mrowe@apple.com>
2179
2180         Reviewed by John.
2181
2182         <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL
2183
2184         A race condition between icon database import and Safari asking for an icon for the empty URL
2185         was resulting in a PageURLRecord being created for a URL that can never be retained.  By enforcing
2186         that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing.
2187
2188         * loader/icon/IconDatabase.cpp:
2189         (WebCore::IconDatabase::iconForPageURL):
2190         (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty.
2191         (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty.
2192
2193 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2194
2195         Reviewed by Ollie.
2196
2197         Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
2198         over m_deliveryData instead of its data buffer
2199
2200         * plugins/win/PluginStreamWin.cpp:
2201         (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
2202         m_deliveryData
2203         (WebCore::PluginStreamWin::deliverData): Fix memmove() call
2204         (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
2205         * plugins/win/PluginStreamWin.h: Use OwnPtr
2206
2207 2007-10-15  Steve Falkenburg  <sfalken@apple.com>
2208
2209         Reviewed by Oliver.
2210
2211         Add missing null check.
2212
2213         * platform/network/cf/AuthenticationCF.cpp:
2214         (WebCore::core):
2215
2216 2007-10-15  Mark Rowe  <mrowe@apple.com>
2217
2218         Fix the no-SVG build again.  Add new transform CSS properties to the switch statements.
2219
2220         * css/CSSComputedStyleDeclaration.cpp:
2221         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2222         * css/CSSStyleSelector.cpp:
2223         (WebCore::CSSStyleSelector::applyProperty):
2224
2225 2007-10-15  Darin Adler  <darin@apple.com>
2226
2227         Reviewed by Mitz.
2228
2229         - http://bugs.webkit.org/show_bug.cgi?id=15518
2230           Remove the unused attemptFontSubstitution feature and do some
2231           cleanup of glyphDataForCharacter.
2232
2233         * platform/Font.h:
2234         * platform/Font.cpp:
2235         (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution
2236         and cluster parameters to the glyphDataForCharacter function.
2237         (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and
2238         attemptFontSubstitution parameter. Removed the isUpper check before calling
2239         toUpper in the small caps code path. Split up the inner loop into separate
2240         copies for non-small-caps and small caps. Broke out the system fallback
2241         page handling so it's not inside the loop. Changed system fallback so it uses
2242         the character and breaks it up into UTF-16 as needed, instead of using a
2243         passed-in "character cluster".
2244
2245         * platform/TextStyle.h:
2246         (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution.
2247         (WebCore::TextStyle::applyWordRounding): Ditto.
2248
2249 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2250
2251         Reviewed by Ollie.
2252
2253         Remove an operator precedence warning on Windows
2254
2255         * editing/markup.cpp:
2256         (WebCore::escapeContentText): Use (a) | (b)
2257         (WebCore::appendEscapedContent): Use (a) | (b)
2258
2259 2007-10-15  Kevin McCullough  <kmccullough@apple.com>
2260
2261         Reviewed by Darin.
2262
2263         - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen
2264         - Now we take the doc into account when resizing.
2265         - Also I found an issue where we would resize to outside the window, because
2266           the resize would be smaller than the window size but the location of the
2267           window would make the resize go off-screen. Now we move the window back into the screen.
2268
2269         * bindings/js/kjs_window.cpp:
2270         (KJS::adjustWindowRect):
2271         (KJS::WindowFunc::callAsFunction):
2272
2273 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2274
2275         Reviewed by Anders.
2276
2277         <rdar://5510700> Repro crash loading embedded Windows Media Player
2278         content
2279
2280         Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
2281         will crash if it receives its resource requests out of order, whereas we
2282         were immediately fulfilling untargeted, non-JavaScript requests and
2283         scheduling targeted or JavaScript resource requests. Implement his
2284         suggested fix, which is to schedule PluginRequests for all resource
2285         requests 
2286
2287         * plugins/win/PluginViewWin.cpp:
2288         (WebCore::getString):
2289         (WebCore::PluginViewWin::performRequest): If this non-JavaScript request
2290         has no target, create a stream for it
2291         (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
2292         requests
2293
2294 2007-10-15  Mark Rowe  <mrowe@apple.com>
2295
2296         Gtk and Qt build fix.  Add new .cpp file to project.
2297
2298         * WebCore.pro:
2299
2300 2007-10-15  John Sullivan  <sullivan@apple.com>
2301
2302         * platform/mac/FontDataMac.mm:
2303         D'oh! Added missing #import to fix build
2304
2305 2007-10-15  John Sullivan  <sullivan@apple.com>
2306
2307         Reviewed by Geoff
2308
2309         * platform/mac/FontDataMac.mm:
2310         (WebCore::FontData::smallCapsFontData):
2311         replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS
2312
2313 2007-10-15  David Hyatt  <hyatt@apple.com>
2314
2315         The CSS WG has been discussing the concept of rotation.  In the latest draft specification, two properties
2316         have been introduced: rotation and rotation-point.  I believe these properties should be generalized to
2317         allow for arbitrary transformations (e.g., translation, skew, rotate, scale).
2318
2319         This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin.
2320         They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow
2321         for arbitrary affine transforms rather than just rotation.
2322
2323         Reviewed by Beth Dakin
2324
2325         * WebCore.xcodeproj/project.pbxproj:
2326         * WebCore.vcproj/WebCore.vcproj:
2327         * css/CSSComputedStyleDeclaration.cpp:
2328         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2329         * css/CSSParser.cpp:
2330         (WebCore::CSSParser::parseValue):
2331         (WebCore::TransformParseContext:::m_list):
2332         (WebCore::TransformParseContext::list):
2333         (WebCore::TransformParseContext::failed):
2334         (WebCore::TransformParseContext::addValue):
2335         (WebCore::TransformOperationInfo::TransformOperationInfo):
2336         (WebCore::TransformOperationInfo::type):
2337         (WebCore::TransformOperationInfo::argCount):
2338         (WebCore::TransformOperationInfo::unit):
2339         (WebCore::TransformOperationInfo::unknown):
2340         (WebCore::TransformOperationInfo::hasCorrectArgCount):
2341         (WebCore::CSSParser::parseTransform):
2342         (WebCore::CSSParser::parseTransformOrigin):
2343         * css/CSSParser.h:
2344         * css/CSSPropertyNames.in:
2345         * css/CSSTransformValue.cpp: Added.
2346         (WebCore::CSSTransformValue::CSSTransformValue):
2347         (WebCore::CSSTransformValue::~CSSTransformValue):
2348         (WebCore::CSSTransformValue::addValue):
2349         (WebCore::CSSTransformValue::cssText):
2350         * css/CSSTransformValue.h: Added.
2351         (WebCore::CSSTransformValue::):
2352
2353 2007-10-15  Mark Rowe  <mrowe@apple.com>
2354
2355         Reviewed by Oliver.
2356
2357         Fix the no-SVG build.
2358
2359         * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h.
2360         * rendering/RenderObject.cpp:
2361         (WebCore::objectIsRelayoutBoundary):
2362
2363 2007-10-15  Darin Adler  <darin@apple.com>
2364
2365         Reviewed by Sam.
2366
2367         - fix http://bugs.webkit.org/show_bug.cgi?id=15520
2368           alert(undefined) should say "undefined" in the alert
2369
2370         Test: fast/dom/Window/alert-undefined.html
2371
2372         * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt.
2373         It turns out that the default behavior is what the other browsers do (browsers tested: IE 7,
2374         Firefox 2).
2375
2376 2007-10-15  Adele Peterson  <adele@apple.com>
2377
2378         Reviewed by Darin.
2379
2380         Fix for http://bugs.webkit.org/show_bug.cgi?id=15252
2381         <rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking
2382
2383         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0.  In general,
2384           we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled.
2385
2386 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2387
2388         Reviewed by Maciej.
2389
2390         Return a more appropriate error from NPN_RequestRange, which is
2391         currently unimplemented
2392
2393         * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE 
2394         (NPN_RequestRead):
2395
2396 2007-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
2397
2398         Reviewed by Maciej.
2399
2400         Add a missing function pointer to the m_browserFuncs structure
2401
2402         * plugins/win/PluginPackageWin.cpp:
2403         (WebCore::PluginPackageWin::load):
2404
2405 2007-10-15  Simon Hausmann  <hausmann@kde.org>
2406
2407         Reviewed by Lars.
2408
2409         Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules.
2410
2411         * WebCore.pro:
2412         * loader/CachedFont.cpp:
2413         * platform/qt/FontCacheQt.cpp: Removed.
2414         * platform/qt/FontCustomPlatformData.cpp: Removed.
2415         * platform/qt/FontCustomPlatformData.h: Removed.
2416         * platform/qt/FontDataQt.cpp: Removed.
2417         * platform/qt/FontPlatformData.h: Removed.
2418         * platform/qt/FontQt.cpp:
2419         * platform/qt/GlyphPageTreeNodeQt.cpp: Removed.
2420
2421 2007-10-15  Simon Hausmann  <hausmann@kde.org>
2422
2423         Reviewed by Lars.
2424
2425         Adapt to the latest API changes in the SVG API/Code.
2426
2427         * platform/graphics/svg/qt/RenderPathQt.cpp:
2428         (WebCore::RenderPath::strokeContains):
2429         (WebCore::getPathStroke):
2430         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
2431         (WebCore::SVGPaintServer::setPenProperties):
2432         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
2433
2434 2007-10-14  Nikolas Zimmermann  <zimmermann@kde.org>
2435
2436         Reviewed by Eric.
2437
2438         Fix bad abstraction in ImageBuffer class.
2439         While the class itself is platform-aware and thus it's location in platform/graphics
2440         is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject.
2441
2442         As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid
2443         implicit platform/ <-> rendering/ dependencies.
2444
2445         * WebCore.pro:
2446         * WebCore.vcproj/WebCore.vcproj:
2447         * WebCore.xcodeproj/project.pbxproj:
2448         * ksvg2/svg/SVGMaskElement.cpp:
2449         (WebCore::SVGMaskElement::drawMaskerContent):
2450         * ksvg2/svg/SVGPatternElement.cpp:
2451         (WebCore::SVGPatternElement::buildPattern):
2452         * platform/graphics/ImageBuffer.cpp: Removed.
2453         * platform/graphics/ImageBuffer.h:
2454         (WebCore::ImageBuffer::size):
2455         * platform/graphics/svg/SVGImage.cpp:
2456         (WebCore::SVGImage::nativeImageForCurrentFrame):
2457         * rendering/SVGRenderSupport.cpp:
2458         (WebCore::renderSubtreeToImage):
2459         * rendering/SVGRenderSupport.h:
2460
2461 2007-10-14  Peter Kasting  <zerodpx@gmail.com>
2462
2463         Reviewed by Maciej.
2464
2465         http://bugs.webkit.org/show_bug.cgi?id=15210
2466         Draw the image outline even for broken images.
2467
2468         * rendering/RenderImage.cpp:
2469         (WebCore::RenderImage::paint):
2470
2471 2007-10-14  Kevin Ollivier  <kevino@theolliviers.com>
2472
2473         Reviewed by Adam.
2474
2475         Add support for MSVC7, and fix cases where PLATFORM(WIN) should
2476         be PLATFORM(WIN_OS) for other ports building on Windows.
2477
2478         * dom/XMLTokenizer.cpp:
2479         * page/FrameTree.cpp:
2480         * platform/StaticConstructors.h:
2481         * platform/String.cpp:
2482
2483 2007-10-14  Maxime Britto  <mbritto@pleyo.com>
2484
2485         Reviewed by Mitz.
2486
2487         Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount.
2488         http://bugs.webkit.org/show_bug.cgi?id=15212
2489
2490         * loader/FrameLoader.cpp:
2491         (WebCore::FrameLoader::goBackOrForward):
2492
2493 2007-10-14  Mitz Pettel  <mitz@webkit.org>
2494
2495         Reviewed by Darin.
2496
2497         - fix http://bugs.webkit.org/show_bug.cgi?id=15181
2498           text-transform: uppercase not working in input (submit, reset, button) elements
2499           <rdar://problem/5474647>
2500
2501         Test: fast/forms/button-text-transform.html
2502
2503         Text transformations require access to the original text. The button's inner
2504         text was an anonymous RenderText, meaning it did not have a node to retrieve
2505         the original text from. The patch fixes this by changing the inner text into a
2506         RenderTextFragment, which stores its own original text.
2507
2508         * rendering/RenderButton.cpp:
2509         (WebCore::RenderButton::setText):
2510         * rendering/RenderButton.h:
2511
2512 2007-10-14  Eric Seidel  <eric@webkit.org>
2513
2514         Reviewed by Maciej.
2515
2516         REGRESSION: Javascript bug in getElementsByName
2517         http://bugs.webkit.org/show_bug.cgi?id=15274
2518
2519         Test: fast/dom/getelementbyname-invalidation.html
2520
2521         * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override
2522
2523 2007-10-14  Mitz Pettel  <mitz@webkit.org>
2524
2525         Reviewed by Maciej.
2526
2527         - http://bugs.webkit.org/show_bug.cgi?id=15303
2528           Remove now-redundant code to restore dialog arguments after clear
2529
2530         This patch reverts the kjs_window.* parts of r25576 because following
2531         r25783, window properties, including dialog arguments, are not cleared
2532         when the newly created modal dialog transitions to the document.
2533
2534         * bindings/js/kjs_window.cpp:
2535         (KJS::WindowPrivate::WindowPrivate):
2536         (KJS::createWindow):
2537         (KJS::showModalDialog):
2538         (KJS::Window::clear):
2539         (KJS::WindowFunc::callAsFunction):
2540         (KJS::Window::setReturnValueSlot):
2541         * bindings/js/kjs_window.h:
2542
2543 2007-10-14  Mitz Pettel  <mitz@webkit.org>
2544
2545         Reviewed by Dave Hyatt.
2546
2547         - fix http://bugs.webkit.org/show_bug.cgi?id=15309
2548           <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild
2549
2550         Test: fast/table/generated-caption.html
2551
2552         * rendering/RenderTable.cpp:
2553         (WebCore::RenderTable::addChild): Changed to make sure that the child is
2554         not added into generated after content. Also made adding a child before
2555         a table caption work correctly instead of adding the child after the caption.
2556
2557 2007-10-14  Peter Kasting  <zerodpx@gmail.com>
2558
2559         Reviewed by Maciej.
2560
2561         http://bugs.webkit.org/show_bug.cgi?id=15141
2562         Feed GIF reader data from the point in the stream it expects.  Also,
2563         mirror the reader's failure state up to the wrapping decoder.
2564
2565         * platform/image-decoders/gif/GIFImageReader.cpp:
2566         (GIFImageReader::read):
2567
2568 2007-10-14  Peter Kasting  <zerodpx@gmail.com>
2569
2570         Reviewed by Maciej.
2571
2572         http://bugs.webkit.org/show_bug.cgi?id=15142
2573         Return correct frame count in GIFImageDecoder::frameBufferAtIndex(),
2574         even if more data has arrived since the last decoding pass.
2575
2576         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2577         (WebCore::GIFImageDecoder::frameBufferAtIndex):
2578
2579 == Rolled over to ChangeLog-2007-10-14 ==