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