3db3e6cb426732e06a5ddf5c05aae3c7a652788b
[WebKit-https.git] / WebCore / ChangeLog
1 2007-11-17  Mark Rowe  <mrowe@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build
6              <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype
7              http://bugs.webkit.org/show_bug.cgi?id=16033
8
9         Update for changes in Interpreter method signatures.
10
11         * bindings/js/kjs_binding.cpp:
12         (KJS::ScriptInterpreter::ScriptInterpreter):
13         * bindings/js/kjs_window.cpp:
14         (KJS::Window::clear):
15
16 2007-11-17  Timothy Hatcher  <timothy@apple.com>
17
18         Reviewed by Mark Rowe.
19
20         Bug 13470: i18n: The Web Inspector is not localizable
21         http://bugs.webkit.org/show_bug.cgi?id=13470
22
23         Add support for localization to the Web Inspector. Clients need to
24         implement localizedStringsURL() to return the URL of the
25         InspectorLocalizedStrings.js that best matches the user's language.
26
27         * English.lproj: Added.
28         * English.lproj/InspectorLocalizedStrings.js: Added.
29         * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js.
30         * page/InspectorClient.h: Add localizedStringsURL.
31         * page/InspectorController.cpp: Add localizedStringsURL that calls
32           the client. Also added a version exposed to JavaScript.
33         * page/InspectorController.h: Add localizedStringsURL.
34         * page/inspector/ConsolePanel.js: Call WebInspector.UIString
35           for user visible strings.
36         * page/inspector/DatabasePanel.js: Ditto.
37         * page/inspector/DocumentPanel.js: Ditto.
38         * page/inspector/ImagePanel.js: Ditto.
39         * page/inspector/MetricsSidebarPane.js: Ditto.
40         * page/inspector/NetworkPanel.js: Ditto.
41         * page/inspector/Panel.js: Ditto.
42         * page/inspector/PropertiesSidebarPane.js: Ditto.
43         * page/inspector/Resource.js: Ditto.
44         * page/inspector/ResourceCategory.js: Ditto.
45         * page/inspector/SourcePanel.js: Ditto.
46         * page/inspector/StylesSidebarPane.js: Ditto.
47         * page/inspector/inspector.css: Use pre-wrap so database errors can use \n.
48         * page/inspector/inspector.html: Remove some user visible strings.
49         * page/inspector/inspector.js: Added WebInspector.UIString and call
50           WebInspector.UIString for user visible strings. Some code needed to be 
51           moved to WebInspector.loaded to use UIString after the localized strings
52           get loaded.
53         * platform/graphics/svg/SVGImageEmptyClients.h:
54         (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix.
55         (WebCore::SVGEmptyInspectorClient::createPage): Ditto.
56         (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub.
57         (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix.
58         (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto.
59
60 2007-11-17  Timothy Hatcher  <timothy@apple.com>
61
62         Reviewed by Adam.
63
64         Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added
65         String.vsprintf so it can be used later for the localization function.
66
67         This version only supports argument reordering, precision for floats, and these
68         format characters: d, f, s and @. Any unsupported format characters are logged
69         and substituted like strings.
70
71         * page/inspector/utilities.js:
72
73 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
74
75         Windows build fix.
76
77         * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it.
78
79 2007-11-17  Alexey Proskuryakov  <ap@webkit.org>
80
81         Reviewed by Darin.
82
83         http://bugs.webkit.org/show_bug.cgi?id=15969
84         Eliminate Editor::deleteRange()
85
86         No change in functionality.
87
88         * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed().
89
90         * editing/Editor.cpp:
91         (WebCore::Editor::deleteWithDirection):
92         (WebCore::Editor::cut):
93         (WebCore::Editor::performDelete):
94         * editing/Editor.h:
95         Moved relevant Editor::deleteRange() functionality to its callers.
96         Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful
97         in my opinion.
98
99         * editing/mac/EditorMac.mm:
100         (WebCore::initializeKillRingIfNeeded):
101         (WebCore::Editor::addToKillRing):
102         (WebCore::Editor::yank):
103         (WebCore::Editor::yankAndSelect):
104         (WebCore::Editor::setMark):
105         (WebCore::unionDOMRanges):
106         (WebCore::Editor::deleteToMark):
107         (WebCore::Editor::selectToMark):
108         (WebCore::Editor::swapWithMark):
109         Pushed kill ring handling down from WebCore.
110
111         * page/mac/WebCoreFrameBridge.h:
112         * page/mac/WebCoreFrameBridge.mm:
113         Removed setMarkDOMRange (the corresponding getter is still needed).
114
115         * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent().
116         Export the new kill ring functions.
117
118 2007-11-16  Ryan Leavengood  <leavengood@gmail.com>
119
120         Reviewed by David Kilzer.
121
122         Build fix: the needed headers for POSIX file functions were not
123         included.
124
125         * platform/posix/FileSystemPOSIX.cpp:
126
127 2007-11-16  Dan Bernstein  <mitz@apple.com>
128
129         Reviewed by Darin Adler.
130
131         - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994>
132           REGRESSION: Incomplete repaint of CSS image substitution
133
134         Test: fast/repaint/clip-with-layout-delta.html
135
136         * rendering/LayoutState.cpp:
137         (WebCore::LayoutState::LayoutState): Account for layout delta when
138         pushing additional clip.
139
140 2007-11-16  Antti Koivisto  <antti@apple.com>
141
142         Reviewed by Adele.
143         
144         Seeking related fixes, updates to match the latest specification
145         - rename loopCount of HTMLMediaElement to playCount
146         - add explicit seeking attribute to HTMLMediaElement to get semantics right
147         - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement 
148           instead of MoviePrivateQTKit 
149         - fix broken behavior when seeking past end of the media, add tests
150         - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too)
151         - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make
152           HTMLMediaElement not depend on synchronous callbacks
153         - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables
154
155         Tests: http/tests/media/video-seekable-stall.html
156                media/video-seeking.html
157                media/video-seek-past-end-paused.html
158                media/video-seek-past-end-playing.html
159
160         * html/HTMLAttributeNames.in: 
161         * html/HTMLMediaElement.cpp:
162         (WebCore::HTMLMediaElement::HTMLMediaElement):
163         (WebCore::HTMLMediaElement::load):
164         (WebCore::HTMLMediaElement::movieNetworkStateChanged):
165         (WebCore::HTMLMediaElement::setReadyState):
166         (WebCore::HTMLMediaElement::seek):
167         (WebCore::HTMLMediaElement::seeking):
168         (WebCore::HTMLMediaElement::currentTime):
169         (WebCore::HTMLMediaElement::ended):
170         (WebCore::HTMLMediaElement::play):
171         (WebCore::HTMLMediaElement::pause):
172         (WebCore::HTMLMediaElement::playCount):
173         (WebCore::HTMLMediaElement::setPlayCount):
174         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
175         (WebCore::HTMLMediaElement::movieTimeChanged):
176         (WebCore::HTMLMediaElement::endedPlayback):
177         (WebCore::HTMLMediaElement::updateMovie):
178         * html/HTMLMediaElement.h:
179         * html/HTMLMediaElement.idl:
180         * platform/graphics/Movie.cpp:
181         (WebCore::Movie::timeChanged):
182         * platform/graphics/Movie.h:
183         (WebCore::MovieClient::movieTimeChanged):
184         * platform/graphics/mac/MoviePrivateQTKit.h:
185         * platform/graphics/mac/MoviePrivateQTKit.mm:
186         (WebCore::MoviePrivate::MoviePrivate):
187         (WebCore::MoviePrivate::load):
188         (WebCore::MoviePrivate::play):
189         (WebCore::MoviePrivate::pause):
190         (WebCore::MoviePrivate::currentTime):
191         (WebCore::MoviePrivate::seek):
192         (WebCore::MoviePrivate::doSeek):
193         (WebCore::MoviePrivate::cancelSeek):
194         (WebCore::MoviePrivate::seekTimerFired):
195         (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
196         (WebCore::MoviePrivate::paused):
197         (WebCore::MoviePrivate::updateStates):
198         (WebCore::MoviePrivate::timeChanged):
199         (WebCore::MoviePrivate::didEnd):
200
201 2007-11-16  Anders Carlsson  <andersca@apple.com>
202
203         Reviewed by Adam.
204
205         <rdar://problem/5603832>
206         XMLHttpRequest readyState 3 & responseText buffer issues.
207
208         * platform/network/cf/ResourceHandleCFNet.cpp:
209         (WebCore::makeFinalRequest):
210         Add new parameter which controls whether content sniffing should be turned off.
211         
212         (WebCore::ResourceHandle::loadResourceSynchronously):
213         Always content sniff sync loads.
214         
215         * platform/network/cf/ResourceRequestCFNet.cpp:
216         (WebCore::ResourceRequest::doUpdatePlatformRequest):
217         If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves
218         any properties set on the CFURLRequest.
219
220 2007-11-16  Jon Honeycutt  <jhoneycutt@apple.com>
221
222         Reviewed by Ollie.
223
224         <rdar://problem/5605175> Crash closing or leaving window with ViewPoint 
225         Media player plugin
226
227         ViewPoint plugin requires that we pass a valid NPSavedData* to
228         NPP_Destroy.
229
230         * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to
231         NPP_Destroy. If the plugin allocates data, discard it
232
233 2007-11-16  Mark Rowe  <mrowe@apple.com>
234
235         Reviewed by Tim Hatcher.
236
237         Build WebCore as a sub-framework of WebKit in all configurations.
238
239         * Configurations/WebCore.xcconfig:
240         * WebCore.xcodeproj/project.pbxproj:
241
242 2007-11-16  Doug Turner  <dougt@meer.net>
243
244         Reviewed by Alp.
245
246         http://bugs.webkit.org/show_bug.cgi?id=16018
247         build bustage when building on debian 4.0
248
249         Fix build bustage on GTK+ with older versions of Pango.
250
251         Don't cache the return value since the docs say it can change.
252
253         * platform/gtk/Language.cpp:
254         (WebCore::defaultLanguage):
255
256 2007-11-16  Brady Eidson  <beidson@apple.com>
257
258         Build fix
259
260         * platform/SecurityOriginData.h:
261         (WebCore::operator!=): Whoops!
262
263 2007-11-16  Brady Eidson  <beidson@apple.com>
264
265         Reviewed by Sam
266
267         Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
268
269         * WebCore.base.exp:
270         * WebCore.xcodeproj/project.pbxproj:
271         * WebCore.vcproj/WebCore.vcproj
272         * WebCore.pro
273
274         * platform/SecurityOriginData.cpp: Added.
275         (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
276           since that form is what will be stored in the Databases.db on disk
277         (WebCore::SecurityOriginData::stringIdentifier):
278         * platform/SecurityOriginData.h:
279         (WebCore::SecurityOriginData::protocol):
280         (WebCore::SecurityOriginData::host):
281         (WebCore::SecurityOriginData::port):
282
283         * storage/DatabaseTracker.cpp:
284         (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for 
285           a SecurityOriginData object
286         (WebCore::SecurityOriginDataHash::equal):
287         (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
288         (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
289         (WebCore::DatabaseTracker::fullPathForDatabase):
290         (WebCore::DatabaseTracker::populateOrigins):
291         (WebCore::DatabaseTracker::origins):
292         (WebCore::DatabaseTracker::addDatabase):
293         * storage/DatabaseTracker.h:
294
295 2007-11-16  Alexey Proskuryakov  <ap@webkit.org>
296
297         Windows build fix.
298
299         * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
300
301 2007-11-16  Nikolas Zimmermann  <zimmermann@kde.org>
302
303         Reviewed by Eric.
304
305         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
306
307         Implement all SVGTextContentElement DOM methods.
308         This is the last missing SVG text feature. SVG fonts is next.
309
310         Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
311
312         * ksvg2/svg/SVGTextContentElement.cpp:
313         (WebCore::cummulatedCharacterRangeLength):
314         (WebCore::SVGInlineTextBoxQueryWalker::):
315         (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
316         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
317         (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
318         (WebCore::SVGInlineTextBoxQueryWalker::longResult):
319         (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
320         (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
321         (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
322         (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
323         (WebCore::findInlineTextBoxInTextChunks):
324         (WebCore::rootInlineBoxForTextContentElement):
325         (WebCore::executeTextQuery):
326         (WebCore::SVGTextContentElement::getNumberOfChars):
327         (WebCore::SVGTextContentElement::getComputedTextLength):
328         (WebCore::SVGTextContentElement::getSubStringLength):
329         (WebCore::SVGTextContentElement::getStartPositionOfChar):
330         (WebCore::SVGTextContentElement::getEndPositionOfChar):
331         (WebCore::SVGTextContentElement::getExtentOfChar):
332         (WebCore::SVGTextContentElement::getRotationOfChar):
333         (WebCore::SVGTextContentElement::getCharNumAtPosition):
334         (WebCore::SVGTextContentElement::selectSubString):
335         * ksvg2/svg/SVGTextContentElement.h:
336         * rendering/SVGInlineTextBox.h:
337
338 2007-11-15  Adele Peterson  <adele@apple.com>
339
340         Reviewed by Oliver.
341
342         Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
343
344         Test: fast/forms/menulist-no-renderer-onmousedown.html
345
346         * html/HTMLSelectElement.cpp:
347         (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here.  None of the default behavior makes sense if there's no renderer.
348         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
349
350 2007-11-15  Antti Koivisto  <antti@apple.com>
351
352         Reviewed by Adele.
353
354         Fix <rdar://problem/5601598>
355         The movie tag should do initialization on need and not during startup.
356         
357         Initialize Movie MIME type hash on demand
358
359         * platform/MIMETypeRegistry.cpp:
360         (WebCore::initialiseSupportedMovieMIMETypes):
361         (WebCore::initialiseMIMETypeRegistry):
362         (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
363         (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
364
365 2007-11-15  Mark Rowe  <mrowe@apple.com>
366
367         Build fix for Qt on Windows.
368
369         * xml/XPathStep.cpp:
370         (WebCore::XPath::Step::nodesInAxis):
371
372 2007-11-15  Timothy Hatcher  <timothy@apple.com>
373
374         Reviewed by Mark Rowe.
375
376         Bug 14761: Web Inspector leaks JS objects and DOM nodes
377         http://bugs.webkit.org/show_bug.cgi?id=14761
378
379         * page/InspectorController.cpp:
380         (WebCore::InspectorController::~InspectorController):
381         Change the tear down order so that inspectorDestroyed() is called before
382         InspectorController private data is set to Zero. The inspectorDestroyed()
383         call ends up closing the WebView and triggering InspectorController::close()
384         which unprotects m_scriptObject. This didn't happen when the private data
385         was cleared before calling inspectorDestroyed().
386
387 2007-11-15  Mark Rowe  <mrowe@apple.com>
388
389         Gtk build fix.
390
391         * WebCore.pro:
392
393 2007-11-15  Alexey Proskuryakov  <ap@webkit.org>
394
395         Reviewed by Darin.
396
397         http://bugs.webkit.org/show_bug.cgi?id=15989
398         XPath queries with predicates incorrectly retains the current node across unions
399
400         Test: fast/xpath/union-context-node.xhtml
401
402         * xml/XPathPath.cpp:
403         (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
404         * xml/XPathStep.cpp:
405         (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
406
407 2007-11-15  Alexey Proskuryakov  <ap@webkit.org>
408
409         Reviewed by Darin.
410
411         http://bugs.webkit.org/show_bug.cgi?id=15988
412         REGRESSION: XPath preceding-axis query misses nested elements
413
414         Test: fast/xpath/preceding-axis.xhtml
415
416         * xml/XPathStep.cpp:
417         (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
418
419 2007-11-15  Timothy Hatcher  <timothy@apple.com>
420
421         Reviewed by Mark Rowe and Sam.
422
423         This corrects a couple of issues in the Web Inspector where selected search results
424         would not have the right text color when the window is inactive or the results are focused.
425
426         * page/inspector/inspector.css:
427
428 2007-11-15  Timothy Hatcher  <timothy@apple.com>
429
430         Reviewed by Sam.
431
432         Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
433         http://bugs.webkit.org/show_bug.cgi?id=16007
434
435         Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
436         a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is 
437         20 pixels, and the default is 10 pixels.
438
439         * page/inspector/ResourceCategory.js:
440         * page/inspector/treeoutline.js:
441
442 2007-11-15  Anders Carlsson  <andersca@apple.com>
443
444         Reviewed by Brady.
445
446         Pass a VoidCallback to Database::transaction and Database::changeVersion.
447         This is not yet hooked up to the database machinery.
448         
449         * WebCore.vcproj/WebCore.vcproj:
450         * bindings/js/JSDatabaseCustom.cpp:
451         (WebCore::JSDatabase::changeVersion):
452         (WebCore::JSDatabase::transaction):
453         * storage/Database.cpp:
454         (WebCore::Database::changeVersion):
455         (WebCore::Database::transaction):
456         * storage/Database.h:
457
458 2007-11-15  Timothy Hatcher  <timothy@apple.com>
459
460         Reviewed by Adam.
461
462         Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
463         http://bugs.webkit.org/show_bug.cgi?id=16005
464
465         Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
466         crumb will expose as many hidden crumbs as possible to the user. Also crumbs
467         that have ID attributes will compact to the ID over the tag name.
468
469         * page/inspector/DocumentPanel.js:
470
471 2007-11-15  Anders Carlsson  <andersca@apple.com>
472
473         Reviewed by Sam.
474
475         Make the VoidCallback DOM interface behave more like our other DOM interfaces.
476         
477         * bindings/js/JSCustomVoidCallback.h: Added.
478         * bindings/js/JSCustomVoidCallback.cpp: Added.
479         (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
480         (WebCore::JSCustomVoidCallback::handleEvent):
481         VoidCallback implementation that wraps a JS object.
482         
483         (WebCore::toVoidCallback):
484         New method that creates a VoidCallback implementation given a JS object.
485         
486         * bindings/scripts/CodeGeneratorJS.pm:
487         Specify that VoidCallback can fail conversion and add a custom conversion function.
488         
489         * html/HTMLMediaElement.cpp:
490         (WebCore::HTMLMediaElement::movieCuePointReached):
491         Call handleEvent on the callback.
492         
493         (WebCore::HTMLMediaElement::removeCuePoint):
494         Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
495         on overriding VoidCallback equality.
496         
497         * html/VoidCallback.cpp: Removed.
498         
499         * html/VoidCallback.h:
500         (WebCore::VoidCallback::VoidCallback):
501         (WebCore::VoidCallback::~VoidCallback):
502         Make this an abstract class with a pure virtual handleEvent method.
503         
504 2007-11-15  Adam Roben  <aroben@apple.com>
505
506         Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
507
508         There were two things broken here:
509            - WebView now requires a WM_CHAR message to be sent before it will
510              create a keyboard event with a charCode, but we were only sending
511              a WM_KEYDOWN event.
512            - The popup menu was not updating its focused index when the
513              <select> element's selectedIndex changed.
514
515         Reviewed by Adele.
516
517         * platform/win/PopupMenuWin.cpp:
518         (WebCore::PopupMenu::updateFromElement): Update the focused index from
519         the client's selected index.
520         (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
521         printable character, manufacture a WM_KEYDOWN message for it and post
522         both that and the current WM_CHAR message to the WebView.
523
524 2007-11-15  Brady Eidson  <beidson@apple.com>
525
526         Build fix
527
528         * storage/DatabaseTracker.cpp:
529         (WebCore::DatabaseTracker::fullPathForDatabase):
530         (WebCore::DatabaseTracker::databaseNamesForOrigin):
531
532 2007-11-15  Brady Eidson  <beidson@apple.com>
533
534         Reviewed by John and Sam
535
536         Stubbing out everything required for a WebKit API for databases
537
538         Biggest change in WebCore is that we passed around SecurityOriginData as the representation
539         of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
540         that has a different purpose besides just hanging on to the data)
541
542         * WebCore.base.exp:
543         * WebCore.xcodeproj/project.pbxproj:
544
545         * platform/SecurityOrigin.cpp:
546         * platform/SecurityOrigin.h:
547         * platform/SecurityOriginData.h: Added.  Simple object to encapsulate the 3
548           pieces of data in the SecurityOrigin tuple
549         (WebCore::SecurityOriginData::SecurityOriginData):
550         (WebCore::SecurityOriginData::protocol):
551         (WebCore::SecurityOriginData::host):
552         (WebCore::SecurityOriginData::port):
553         (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
554           colon separated
555
556         * storage/Database.cpp:
557         (WebCore::Database::Database): Use SecurityOriginData instead
558
559         * storage/DatabaseTracker.cpp:
560         (WebCore::DatabaseTracker::fullPathForDatabase):
561         (WebCore::DatabaseTracker::databaseNamesForOrigin):
562         (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
563         (WebCore::DatabaseTracker::deleteDatabase):
564         * storage/DatabaseTracker.h:
565
566         * storage/DatabaseTrackerClient.h: Added.  For dispatching notifications up to WebKit
567         (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
568
569 2007-11-15  Jon Honeycutt  <jhoneycutt@apple.com>
570
571         Reviewed by Anders.
572
573         NP_ASFILEONLY streams should not buffer data in m_deliveryData.
574
575         * plugins/win/PluginStreamWin.cpp:
576         (WebCore::PluginStreamWin::didReceiveData):
577
578 2007-11-15  Justin Garcia  <justin.garcia@apple.com>
579
580         Reviewed by Adele Peterson.
581
582         <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
583         
584         A textarea that contained the selection was removed but the selection wasn't cleared,
585         and we'd crash in code that assumed a valid, in-document selection.
586
587         * editing/SelectionController.cpp:
588         (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
589         shadowAncestorNode of the node that contains the position, not just if the node being removed
590         contains that shadowAncestorNode.
591
592 2007-11-15  Nikolas Zimmermann  <zimmermann@kde.org>
593
594         Reviewed by Maciej.
595
596         Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
597
598         * rendering/SVGInlineTextBox.cpp:
599         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
600         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
601
602 2007-11-15  Anders Carlsson  <andersca@apple.com>
603
604         Reviewed by Brady.
605
606         <rdar://problem/5562470>
607         openDatabase does not work when the version string is empty
608
609         If the string is empty, pass a real empty string to sqlite3_bind_text16.
610         
611         * platform/sql/SQLiteStatement.cpp:
612         (WebCore::SQLiteStatement::bindText):
613
614 2007-11-15  Anders Carlsson  <andersca@apple.com>
615
616         Reviewed by Brady.
617
618         Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
619         Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
620
621         * loader/icon/IconDatabase.cpp:
622         (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
623         (WebCore::IconDatabase::removePageURLFromSQLDatabase):
624         (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
625         (WebCore::IconDatabase::addIconURLToSQLDatabase):
626         (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
627         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
628         * platform/sql/SQLiteStatement.cpp:
629         (WebCore::SQLiteStatement::prepare):
630         * platform/sql/SQLiteStatement.h:
631         * storage/Database.cpp:
632         (WebCore::setTextValueInDatabase):
633         * storage/DatabaseTracker.cpp:
634         (WebCore::DatabaseTracker::fullPathForDatabase):
635         (WebCore::DatabaseTracker::databaseNamesForOrigin):
636         (WebCore::DatabaseTracker::addDatabase):
637
638 2007-11-14  Brady Eidson <beidson@apple.com>
639
640         Rubberstamped by Sam
641
642         * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
643
644 2007-11-14  Alexey Proskuryakov  <ap@webkit.org>
645
646         Reviewed by Justin Garcia.
647
648         http://bugs.webkit.org/show_bug.cgi?id=15781
649         REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
650         a marked range that covers half of a composed character sequence)
651
652         Test: platform/mac/editing/input/devanagari-ligature.html
653
654         This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
655         However, this is not entirely new for them, as Roman accents are typed in a similar manner.
656
657         In the future, we probably want to make commands work with ranges (or Positions explicitly).
658
659         * editing/Editor.cpp:
660         (WebCore::Editor::selectComposition): Force selection to composition range.
661         * editing/InsertTextCommand.cpp:
662         (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
663
664 2007-11-14  Beth Dakin  <bdakin@apple.com>
665
666         Reviewed by Hyatt.
667
668         Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
669         side image map and <a> tag is not working properly (15522)
670
671         * html/HTMLMapElement.cpp:
672         (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block 
673         and inline children rather than just block children. This matches 
674         Firefox. 
675
676 2007-11-14  Justin Garcia  <justin.garcia@apple.com>
677
678         Reviewed by Alexey Proskuryakov.
679
680         <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
681
682         * editing/DeleteSelectionCommand.cpp:
683         (WebCore::DeleteSelectionCommand::handleGeneralDelete): 
684         Removed an irrelevant FIXME.
685         (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
686         hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
687         inside that block, which could lead to a crash.  If that happens, there's no content in the block to move,
688         so just remove the block and return.
689         Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
690         its own placeholder insertion when necessary.
691         (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
692         because it handles preserving m_needPlaceholder when it calls moveParagraphs.
693         
694 2007-11-14  Timothy Hatcher  <timothy@apple.com>
695
696         Reviewed by Adam.
697
698         Bug 14380: Long DOM ancestry breadcrumb lists get cut off
699         http://bugs.webkit.org/show_bug.cgi?id=14380
700
701         The breadcumbs will now be compacted and collapsed if there isn't enough room
702         to show everything. The collapsing algorithm always affects the crumbs that
703         are farthest away from the selected or hovered crumb first.
704
705         * page/inspector/DocumentPanel.js:
706         * page/inspector/inspector.css:
707
708 2007-11-14  Anders Carlsson  <andersca@apple.com>
709
710         Use the correct include path.
711         
712         * platform/Cursor.h:
713         * plugins/win/PluginPackageWin.h:
714         * plugins/win/PluginStreamWin.h:
715
716 2007-11-13  Brady Eidson  <beidson@apple.com>
717
718         Reviewed by Adam
719
720         http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
721
722         * storage/SQLTransaction.cpp:
723         (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the 
724           SQLTransactionCallback fails
725         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
726           and make the commit/rollback decision accordingly
727
728 2007-11-13  Oliver Hunt  <oliver@apple.com>
729
730         Reviewed by Anders.
731
732         <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
733
734         When drawing directly to PDF CG may delay the use of the gradient function until outside our
735         standard drawing path, which in turn could let us invalidate the caches before they were used.
736
737         To work around this we now store the cached stops in a RefCounted object, so that we can ensure
738         that cache exists as long as required.
739         
740         * platform/graphics/svg/SVGPaintServerGradient.cpp:
741         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
742         * platform/graphics/svg/SVGPaintServerGradient.h:
743         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
744         (WebCore::cgGradientCallback):
745         (WebCore::CGShadingRefForLinearGradient):
746         (WebCore::CGShadingRefForRadialGradient):
747         (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
748
749 2007-11-13  Anders Carlsson  <andersca@apple.com>
750
751         Fix Windows build.
752         
753         * platform/Cursor.h:
754         * plugins/win/PluginPackageWin.h:
755         * plugins/win/PluginStreamWin.h:
756
757 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
758
759         Reviewed by Anders Carlsson.
760
761         Renamed Shared to RefCounted.
762
763         * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
764         * ForwardingHeaders/wtf/Shared.h: Removed.
765         * bindings/js/JSSVGPODTypeWrapper.h:
766         * css/CSSFontFace.h:
767         * css/CSSRuleList.h:
768         * css/Counter.h:
769         * css/Pair.h:
770         * css/Rect.h:
771         * css/StyleBase.h:
772         * css/StyleSheetList.h:
773         * dom/Attribute.h:
774         * dom/Clipboard.h:
775         * dom/DOMImplementation.h:
776         * dom/Event.h:
777         * dom/EventListener.h:
778         * dom/NamedNodeMap.h:
779         * dom/NodeFilter.h:
780         * dom/NodeFilterCondition.h:
781         * dom/NodeList.h:
782         * dom/QualifiedName.h:
783         * dom/Range.h:
784         * dom/RangeException.h:
785         * dom/RegisteredEventListener.h:
786         * dom/Traversal.h:
787         * editing/EditCommand.h:
788         * history/BackForwardList.h:
789         * history/CachedPage.h:
790         * history/HistoryItem.cpp:
791         (WebCore::HistoryItem::HistoryItem):
792         * history/HistoryItem.h:
793         * html/CanvasGradient.h:
794         * html/CanvasPattern.h:
795         * html/CanvasRenderingContext2D.h:
796         * html/CanvasStyle.h:
797         * html/HTMLCollection.h:
798         * html/MediaError.h:
799         * html/TimeRanges.h:
800         * html/VoidCallback.h:
801         * ksvg2/css/SVGRenderStyle.cpp:
802         (WebCore::SVGRenderStyle::SVGRenderStyle):
803         * ksvg2/css/SVGRenderStyle.h:
804         * ksvg2/css/SVGRenderStyleDefs.cpp:
805         (StyleFillData::StyleFillData):
806         (StyleStrokeData::StyleStrokeData):
807         (StyleStopData::StyleStopData):
808         (StyleTextData::StyleTextData):
809         (StyleClipData::StyleClipData):
810         (StyleMaskData::StyleMaskData):
811         (StyleMarkerData::StyleMarkerData):
812         (StyleMiscData::StyleMiscData):
813         * ksvg2/css/SVGRenderStyleDefs.h:
814         * ksvg2/svg/SVGAngle.cpp:
815         (WebCore::SVGAngle::SVGAngle):
816         * ksvg2/svg/SVGAngle.h:
817         * ksvg2/svg/SVGAnimatedTemplate.h:
818         * ksvg2/svg/SVGElementInstanceList.h:
819         * ksvg2/svg/SVGException.h:
820         * ksvg2/svg/SVGList.h:
821         * ksvg2/svg/SVGPathSeg.h:
822         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
823         (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
824         * ksvg2/svg/SVGPreserveAspectRatio.h:
825         * ksvg2/svg/SVGRenderingIntent.h:
826         * ksvg2/svg/SVGTransform.h:
827         * ksvg2/svg/SVGUnitTypes.h:
828         * loader/DocumentLoader.h:
829         * loader/FormState.h:
830         * loader/ResourceLoader.h:
831         * loader/TextResourceDecoder.h:
832         * loader/icon/IconRecord.h:
833         * page/BarInfo.h:
834         * page/Console.h:
835         * page/DOMSelection.h:
836         * page/DOMWindow.h:
837         * page/Frame.h:
838         * page/History.h:
839         * page/InspectorController.cpp:
840         * page/Plugin.h:
841         * page/Screen.h:
842         * platform/ArrayImpl.h:
843         * platform/CString.h:
844         * platform/Cursor.h:
845         * platform/DeprecatedValueListImpl.cpp:
846         (WebCore::DeprecatedValueListImpl::Private::Private):
847         * platform/FileChooser.h:
848         * platform/FontFallbackList.h:
849         * platform/FontFamily.cpp:
850         (WebCore::FontFamily::FontFamily):
851         * platform/FontFamily.h:
852         * platform/FontSelector.h:
853         * platform/GlyphPageTreeNode.h:
854         * platform/PopupMenu.h:
855         * platform/RegularExpression.cpp:
856         * platform/ScrollBar.h:
857         * platform/SharedBuffer.h:
858         * platform/StringImpl.h:
859         * platform/graphics/Icon.h:
860         * platform/graphics/svg/SVGResource.h:
861         * platform/network/FormData.cpp:
862         (WebCore::FormData::FormData):
863         * platform/network/FormData.h:
864         * platform/network/ResourceHandle.h:
865         * platform/network/ResourceHandleClient.h:
866         * rendering/RenderStyle.cpp:
867         (WebCore::StyleSurroundData::StyleSurroundData):
868         (WebCore::StyleBoxData::StyleBoxData):
869         (WebCore::StyleVisualData::StyleVisualData):
870         (WebCore::StyleBackgroundData::StyleBackgroundData):
871         (WebCore::StyleMarqueeData::StyleMarqueeData):
872         (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
873         (WebCore::StyleMultiColData::StyleMultiColData):
874         (WebCore::StyleTransformData::StyleTransformData):
875         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
876         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
877         (WebCore::StyleInheritedData::StyleInheritedData):
878         * rendering/RenderStyle.h:
879         * rendering/SVGCharacterLayoutInfo.h:
880         (WebCore::SVGCharOnPath::SVGCharOnPath):
881         * storage/SQLResultSetRowList.h:
882         * xml/DOMParser.h:
883         * xml/XMLHttpRequest.h:
884         * xml/XMLSerializer.h:
885         * xml/XPathEvaluator.h:
886         * xml/XPathExpression.h:
887         * xml/XPathNSResolver.h:
888         * xml/XPathResult.h:
889         * xml/XPathValue.h:
890         * xml/XSLTProcessor.h:
891
892 2007-11-13  Brady Eidson  <beidson@apple.com>
893
894         Reviewed by Mark Rowe
895
896         Remove errantly added files, and fix the idl (for reference's sake)
897
898         * storage/JSCustomSQLStatementCallback.h: Removed.
899         * storage/JSCustomSQLStatementErrorCallback.h: Removed.
900         * storage/JSCustomSQLTransactionCallback.h: Removed.
901         * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
902         * storage/SQLStatementCallback.idl:
903
904 2007-11-13  Adam Roben  <aroben@apple.com>
905
906         Fix a bug and improve upon Brady's fix
907
908         Reviewed by Anders.
909
910         * bindings/js/JSSQLTransactionCustom.cpp:
911         (WebCore::JSSQLTransaction::executeSql): Made the code a little
912         clearer and more correct.
913         * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
914         of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
915         comparison it meant to.
916
917 2007-11-13  Sam Weinig  <sam@webkit.org>
918
919         Fix Qt and Gtk builds.
920
921         * WebCore.pro: Remove non-generated idl files.
922
923 2007-11-13  Mark Rowe  <mrowe@apple.com>
924
925         Remove removed file from the project.
926
927         * WebCore.pro:
928
929 2007-11-13  Brady Eidson  <beidson@apple.com>
930
931         Release build fix
932
933         * bindings/js/JSSQLTransactionCustom.cpp:
934         (WebCore::JSSQLTransaction::executeSql):
935
936 2007-11-13  Adam Roben  <aroben@apple.com>
937
938         Add WindowMessageBroadcaster
939
940         This class is used to listen in on messages sent to HWNDs. Multiple
941         WindowMessageListeners can be notified about messages sent to a single
942         HWND, and one WindowMessageListener can listen to messages from
943         multiple HWNDs.
944
945         Reviewed by Ada.
946
947         * WebCore.vcproj/WebCore.vcproj: Added new files to project.
948         * platform/win/WindowMessageBroadcaster.cpp: Added.
949         (WebCore::instancesMap): Static helper.
950         (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
951         for a particular HWND.
952         (WebCore::WindowMessageBroadcaster::removeListener): Removes a
953         listener for a particular HWND.
954         (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
955         (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
956         (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
957         from the instancesMap, removes all of its listeners, unsubclasses the
958         window, and deletes the broadcaster.
959         (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
960         the window (which means that SubclassedWndProc won't be called again
961         for this window).
962         (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
963         the listeners about every message sent to the HWND
964         * platform/win/WindowMessageBroadcaster.h: Added.
965         (WebCore::WindowMessageBroadcaster::listeners):
966         (WebCore::WindowMessageBroadcaster::originalWndProc):
967         * platform/win/WindowMessageListener.h: Added.
968
969 2007-11-13  Geoffrey Garen  <ggaren@apple.com>
970
971         Reviewed by Sam Weinig.
972
973         Moved Shared.h into wtf so it could be used in more places. Retained 
974         TreeShared, but moved it to its own file, TreeShared.h.
975
976         * ForwardingHeaders/wtf/Shared.h: Added.
977         * WebCore.xcodeproj/project.pbxproj:
978         * bindings/js/JSSVGPODTypeWrapper.h:
979         * css/CSSFontFace.h:
980         * css/CSSRuleList.h:
981         * css/Counter.h:
982         * css/Pair.h:
983         * css/Rect.h:
984         * css/StyleBase.h:
985         * css/StyleSheetList.h:
986         * dom/Clipboard.h:
987         * dom/DOMImplementation.h:
988         * dom/Event.h:
989         * dom/EventListener.h:
990         * dom/NamedNodeMap.h:
991         * dom/NodeFilterCondition.h:
992         * dom/NodeList.h:
993         * dom/Range.h:
994         * dom/RangeException.h:
995         * dom/RegisteredEventListener.h:
996         * dom/Traversal.h:
997         * history/BackForwardList.h:
998         * history/CachedPage.h:
999         * history/HistoryItem.h:
1000         * html/CanvasGradient.h:
1001         * html/CanvasPattern.h:
1002         * html/HTMLCollection.h:
1003         * html/MediaError.h:
1004         * html/TimeRanges.h:
1005         * html/VoidCallback.h:
1006         * ksvg2/css/SVGRenderStyleDefs.h:
1007         * ksvg2/svg/SVGAnimatedTemplate.h:
1008         * ksvg2/svg/SVGElementInstanceList.h:
1009         * ksvg2/svg/SVGList.h:
1010         * ksvg2/svg/SVGPathSeg.h:
1011         * ksvg2/svg/SVGPreserveAspectRatio.h:
1012         * ksvg2/svg/SVGRenderingIntent.h:
1013         * ksvg2/svg/SVGTransform.h:
1014         * ksvg2/svg/SVGUnitTypes.h:
1015         * loader/DocumentLoader.h:
1016         * loader/FormState.h:
1017         * loader/ResourceLoader.h:
1018         * loader/TextResourceDecoder.h:
1019         * loader/icon/IconRecord.h:
1020         * page/BarInfo.h:
1021         * page/Console.h:
1022         * page/DOMSelection.h:
1023         * page/DOMWindow.h:
1024         * page/History.h:
1025         * page/InspectorController.cpp:
1026         * page/Plugin.h:
1027         * page/Screen.h:
1028         * platform/ArrayImpl.h:
1029         * platform/CString.h:
1030         * platform/DeprecatedValueListImpl.cpp:
1031         * platform/FontFallbackList.h:
1032         * platform/FontFamily.h:
1033         * platform/FontSelector.h:
1034         * platform/GlyphPageTreeNode.h:
1035         * platform/PopupMenu.h:
1036         * platform/RegularExpression.cpp:
1037         * platform/ScrollBar.h:
1038         * platform/Shared.h: Removed.
1039         * platform/SharedBuffer.h:
1040         * platform/StringImpl.h:
1041         * platform/graphics/Icon.h:
1042         * platform/graphics/svg/SVGResource.h:
1043         * platform/network/FormData.h:
1044         * platform/network/ResourceHandleClient.h:
1045         * rendering/RenderStyle.h:
1046         * rendering/SVGCharacterLayoutInfo.h:
1047         * storage/SQLResultSetRowList.h:
1048         * xml/DOMParser.h:
1049         * xml/XMLSerializer.h:
1050         * xml/XPathEvaluator.h:
1051         * xml/XPathExpression.h:
1052         * xml/XPathNSResolver.h:
1053         * xml/XPathResult.h:
1054
1055 2007-11-13  Brady Eidson  <beidson@apple.com>
1056
1057         JS bindings by Anders, reviewed by Brady
1058         WebCore changes by Brady, reviewed by Anders and Tim
1059
1060         Adapt to the new iteration of the HTML5 client-side storage spec.
1061
1062         Based largely on implementation feedback we generated in landing our first version of this API and also
1063         on the input of others in the community, the database spec went through a large overhaul that addresses
1064         many concerns.  Amongst other changes/improvements:
1065         - SQLTransaction object is added and all transactions are explicit.  In addition, since the API manages
1066           transactions explicitly, transaction-related language in SQL statements is disallowed
1067         - executeSql() is now on a transaction object instead of the database object.
1068         - Database.changeVersion() now takes place within the context of a transaction.  Therefore the version 
1069           change can be atomic along with the statements that modify the DB schema
1070
1071         Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
1072         as a chain of events on the SQLTransaction object where processing is handed off between being processed 
1073         asynchronously and calling back up to javascript.  To accomplish this voodoo, SQLTransaction has a series of 
1074         methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
1075
1076         * DerivedSources.make:
1077         * WebCore.xcodeproj/project.pbxproj:
1078
1079         * bindings/js/JSDatabaseCustom.cpp:
1080         (WebCore::JSDatabase::changeVersion): Adapt to the new API
1081         (WebCore::JSDatabase::transaction): Added
1082
1083         * bindings/js/JSSQLTransactionCustom.cpp: Added.
1084         (WebCore::JSSQLTransaction::executeSql): Added
1085
1086         * page/DOMWindow.cpp:
1087         (WebCore::DOMWindow::openDatabase): Add the new arguments
1088         * page/DOMWindow.h:
1089         * page/DOMWindow.idl:
1090
1091         * page/inspector/DatabasePanel.js: Use the new API
1092
1093         * storage/ChangeVersionWrapper.cpp: Added.  Implementation of "SQLTransactionWrapper" that enforces
1094           changing the version of the database
1095         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
1096         (WebCore::ChangeVersionWrapper::performPreflight):
1097         (WebCore::ChangeVersionWrapper::performPostflight):
1098         * storage/ChangeVersionWrapper.h: Added.
1099         (WebCore::ChangeVersionWrapper::sqlError):
1100
1101         * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
1102           happen solely on the background thread - most of these changes result from that change
1103         (WebCore::Database::Database): Removed an obsolete FIXME
1104         (WebCore::Database::openAndVerifyVersion): 
1105         (WebCore::Database::getVersionFromDatabase):
1106         (WebCore::Database::setVersionInDatabase):
1107         (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
1108         (WebCore::Database::performOpenAndVerify):
1109         (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
1110         (WebCore::Database::changeVersion): Changed for the new API from JS
1111         (WebCore::Database::transaction): Added, for the new API from JS
1112         (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
1113         (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
1114         (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
1115         (WebCore::Database::performGetTableNames):
1116         (WebCore::Database::deliverAllPendingCallbacks):
1117         (WebCore::Database::deliverPendingCallback):
1118         (WebCore::Database::setExpectedVersion):
1119         * storage/Database.h: 
1120         * storage/Database.idl:
1121
1122         * storage/DatabaseTask.cpp:  Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
1123           to replace the m_synchronous flag
1124         (WebCore::DatabaseTask::performTask):
1125         (WebCore::DatabaseTask::lockForSynchronousScheduling):
1126         (WebCore::DatabaseTask::waitForSynchronousCompletion):
1127         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
1128         * storage/DatabaseTask.h:
1129
1130         * storage/SQLError.h: New API object
1131
1132         * storage/SQLResultSet.cpp:
1133         (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
1134         * storage/SQLResultSet.h:
1135         * storage/SQLResultSet.idl:
1136
1137         * storage/SQLStatement.cpp: Added.
1138         (WebCore::SQLStatement::SQLStatement):
1139         (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
1140         (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
1141           of an actual version vs. expected version mismatch
1142         (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
1143         * storage/SQLStatement.h: Added.
1144         (WebCore::SQLStatement::hasStatementCallback):
1145         (WebCore::SQLStatement::hasStatementErrorCallback):
1146         (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
1147
1148         * storage/SQLTransaction.cpp: Added.
1149         (WebCore::SQLTransaction::SQLTransaction):
1150         (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
1151         (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
1152         (WebCore::SQLTransaction::performNextStep): Call the method for the next step
1153         (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
1154         (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight 
1155           using the SQLTransactionWrapper, if any
1156         (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
1157         (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread 
1158           and make runStatements() the next step
1159         (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction 
1160         (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
1161         (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
1162         (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
1163         (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
1164         (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
1165         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
1166         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
1167           transaction after it error'ed out
1168         * storage/SQLTransaction.h:
1169         (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper): 
1170         (WebCore::SQLTransaction::database):
1171         * storage/SQLTransaction.idl:
1172
1173         The following were made obsolete by the new version of the API:
1174         * bindings/js/JSCustomSQLCallback.cpp: Removed.
1175         * bindings/js/JSCustomSQLCallback.h: Removed.
1176         * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
1177         * bindings/js/JSCustomVersionChangeCallback.h: Removed.
1178         * storage/DatabaseCallback.cpp: Removed.
1179         * storage/DatabaseCallback.h: Removed.
1180         * storage/SQLCallback.h: Removed.
1181         * storage/SQLCallback.idl: Removed.
1182         * storage/VersionChangeCallback.h: Removed.
1183         * storage/VersionChangeCallback.idl: Removed.
1184
1185 2007-11-13  Dan Bernstein  <mitz@apple.com>
1186
1187         Reviewed by Beth Dakin.
1188
1189         - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
1190
1191         * css/html4.css: Added a 'cursor: auto' rule for links.
1192         * manual-tests/link-cursor-auto.html: Added.
1193
1194 2007-11-13  Dan Bernstein  <mitz@apple.com>
1195
1196         Reviewed by Beth Dakin.
1197
1198         - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
1199
1200         The root cause for the crash is that when a non-HTML view enters the
1201         frame, the frame's document pointer keeps pointing at the last HTML-type
1202         document it contained. This patch does not address the root cause, but
1203         makes changes to account for that condition.
1204
1205         * loader/FrameLoader.cpp:
1206         (WebCore::FrameLoader::receivedMainResourceError): Do not change the
1207         frame's current document's page cache state here.
1208         (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
1209         current document is in fact the history item being invalidated, then
1210         set its page cache state here.
1211
1212 2007-11-12  Antti Koivisto  <antti@apple.com>
1213
1214         Reviewed by Adele.
1215
1216         Fix that 'timeupdate' and 'waiting' events were never dispatched.
1217         
1218         Add explicit m_paused attribute instead of trying to derive paused state from
1219         underlying media. Call updatePlayState() to start/stop media playback
1220         when any attribute that affects active playback state changes. This matches 
1221         specification text.
1222         
1223         Test: http/tests/media/video-play-stall.html
1224
1225         * html/HTMLMediaElement.cpp:
1226         (WebCore::HTMLMediaElement::HTMLMediaElement):
1227         (WebCore::HTMLMediaElement::setReadyState):
1228         (WebCore::HTMLMediaElement::paused):
1229         (WebCore::HTMLMediaElement::play):
1230         (WebCore::HTMLMediaElement::pause):
1231         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
1232         (WebCore::HTMLMediaElement::movieDidEnd):
1233         (WebCore::HTMLMediaElement::updatePlayState):
1234         * html/HTMLMediaElement.h:
1235
1236 2007-11-13  John Sullivan  <sullivan@apple.com>
1237
1238         Reviewed by Darin.
1239
1240         removed recently-added PreferredType concept; we found a better way to do what
1241         ths was accomplishing
1242
1243         * bridge/WindowFeatures.h:
1244         (WebCore::WindowFeatures::WindowFeatures):
1245         removed definition of PreferredType
1246                         
1247         * page/ContextMenuController.cpp:
1248         (WebCore::openNewWindow):
1249         removed use of PreferredType
1250
1251 2007-11-12  Alexey Proskuryakov  <ap@webkit.org>
1252
1253         Reviewed by Darin.
1254
1255         http://bugs.webkit.org/show_bug.cgi?id=15954
1256         Move DOM Selection operations out of SelectionController
1257
1258         No change in functionality.
1259
1260         * editing/SelectionController.cpp:
1261         (WebCore::SelectionController::setSelectedRange):
1262         * editing/SelectionController.h:
1263         * page/DOMSelection.cpp:
1264         (WebCore::DOMSelection::anchorNode):
1265         (WebCore::DOMSelection::baseNode):
1266         (WebCore::DOMSelection::anchorOffset):
1267         (WebCore::DOMSelection::baseOffset):
1268         (WebCore::DOMSelection::focusNode):
1269         (WebCore::DOMSelection::extentNode):
1270         (WebCore::DOMSelection::focusOffset):
1271         (WebCore::DOMSelection::extentOffset):
1272         (WebCore::DOMSelection::isCollapsed):
1273         (WebCore::DOMSelection::type):
1274         (WebCore::DOMSelection::rangeCount):
1275         (WebCore::DOMSelection::collapse):
1276         (WebCore::DOMSelection::collapseToEnd):
1277         (WebCore::DOMSelection::collapseToStart):
1278         (WebCore::DOMSelection::empty):
1279         (WebCore::DOMSelection::setBaseAndExtent):
1280         (WebCore::DOMSelection::setPosition):
1281         (WebCore::DOMSelection::modify):
1282         (WebCore::DOMSelection::extend):
1283         (WebCore::DOMSelection::getRangeAt):
1284         (WebCore::DOMSelection::removeAllRanges):
1285         (WebCore::DOMSelection::addRange):
1286         (WebCore::DOMSelection::deleteFromDocument):
1287         (WebCore::DOMSelection::containsNode):
1288         (WebCore::DOMSelection::selectAllChildren):
1289         (WebCore::DOMSelection::toString):
1290         * page/DOMSelection.h:
1291         Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
1292         to return its result directly instead of via an ExceptionCode that no caller wanted.
1293
1294         * editing/Editor.cpp:
1295         (WebCore::Editor::deleteRange):
1296         (WebCore::Editor::removeFormattingAndStyle):
1297         (WebCore::Editor::selectComposition):
1298         (WebCore::Editor::setComposition):
1299         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
1300         Adapted for SelectionController::setSelectedRange() now returning a bool.
1301         SelectionController::toString() is no longer avasilable, use plainText() explicitly.
1302
1303         * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
1304
1305 2007-11-12  Dan Bernstein  <mitz@apple.com>
1306
1307         Reviewed by Darin Adler.
1308
1309         - <http://bugs.webkit.org/show_bug.cgi?id=15890>
1310           Most of www.aol.com still redraws unnecessarily when headline/photo section changes
1311
1312         Test: fast/repaint/invisible-objects.html
1313
1314         Avoid repainting invisible blocks if they are enclosed in a layer that
1315         contains no visible objects.
1316
1317         * rendering/RenderBlock.cpp:
1318         (WebCore::RenderBlock::layoutBlock):
1319         * rendering/RenderBox.cpp:
1320         (WebCore::RenderBox::absoluteClippedOverflowRect):
1321
1322 2007-11-12  Timothy Hatcher  <timothy@apple.com>
1323
1324         Reviewed by Mark Rowe.
1325
1326         Prevent selecting a word in the breadcrumb or the styles section when double
1327         clicking on a DOM node in the outline tree.
1328
1329         * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
1330           with a detail of 2 or higher comes in. This prevents the selection.
1331         * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
1332
1333 2007-11-12  Oliver Hunt  <oliver@apple.com>
1334
1335         Reviewed by John S.
1336
1337         <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
1338         
1339         EventHandler needs to reset these fields when a drag terminates, otherwise
1340         EventHandler is left in an inconsistent state when a drag is initiated on a
1341         page with multiple frames.
1342
1343         * page/EventHandler.cpp:
1344         (WebCore::EventHandler::cancelDragAndDrop):
1345         (WebCore::EventHandler::performDragAndDrop):
1346         (WebCore::EventHandler::clearDragState):
1347         * page/EventHandler.h:
1348
1349 2007-11-12  Oliver Hunt  <oliver@apple.com>
1350
1351         Reviewed by Darin and Antti.
1352
1353         Return behaviour for 0 sized pattern back to what it was prior to r27704
1354
1355         This change in behaviour broke two layout tests in DRT, so correcting it
1356         corrects existing tests.
1357
1358         * platform/graphics/cg/ImageBufferCG.cpp:
1359
1360 2007-11-12  Timothy Hatcher  <timothy@apple.com>
1361
1362         Reviewed by John.
1363
1364         <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
1365
1366         * page/mac/WebCoreFrameBridge.mm:
1367         (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1368         If the SharedBuffer is null insert an empty NSData instead of nil.
1369
1370 2007-11-12  Darin Adler  <darin@apple.com>
1371
1372         Reviewed by Tim.
1373
1374         - http://bugs.webkit.org/show_bug.cgi?id=15947
1375           speed up page loading a bit by inlining
1376
1377         * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
1378         Factored out the slow case of isScheduledLocationChangePending into this.
1379
1380         * loader/FrameLoader.h:
1381         (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
1382         inline check of the far and away most common case, where m_scheduledRedirection
1383         is 0; the rest is in the isLocationChange function.
1384
1385 2007-11-12  George Staikos  <staikos@kde.org>
1386
1387         Reviewed by Tim.
1388
1389         Extract the text match marker highlight color into RenderTheme instead
1390         of the hardcoded yellow.
1391
1392         * rendering/InlineTextBox.cpp:
1393         (WebCore::InlineTextBox::paintTextMatchMarker):
1394         * rendering/RenderTheme.cpp:
1395         (WebCore::RenderTheme::platformTextSearchHighlightColor):
1396         * rendering/RenderTheme.h:
1397
1398 2007-11-12  Mark Rowe  <mrowe@apple.com>
1399
1400         Fix deadlock on launch on the Mac.
1401
1402         * loader/icon/IconDatabase.cpp:
1403         (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
1404
1405 2007-11-12  Justin Haygood  <jhaygood@reaktix.com>
1406
1407         Reviewed by Brady.
1408
1409         http://bugs.webkit.org/show_bug.cgi?id=15955
1410         Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
1411
1412         * loader/icon/IconDatabase.cpp:
1413         (WebCore::IconDatabase::open):
1414         (WebCore::IconDatabase::close):
1415         * loader/icon/IconDatabase.h:
1416         * platform/sql/SQLiteDatabase.cpp:
1417         (WebCore::SQLiteDatabase::SQLiteDatabase):
1418         (WebCore::SQLiteDatabase::open):
1419         (WebCore::SQLiteDatabase::close):
1420         * platform/sql/SQLiteDatabase.h:
1421
1422 2007-11-12  Adam Roben  <aroben@apple.com>
1423
1424         Windows build fix
1425
1426         * config.h: Touch because VS apparently can't figure out which files
1427         depend on ResourceResponse.h.
1428         * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
1429         project and remove old ResourceResponse files.
1430
1431 2007-11-12  Julien Chaffraix  <julien.chaffraix@gmail.com>
1432
1433         Reviewed by Darin.
1434
1435         http://bugs.webkit.org/show_bug.cgi?id=15334
1436         Split ResourceResponse into platform specific files
1437
1438         * WebCore.base.exp:
1439         * WebCore.pro:
1440         * WebCore.vcproj/WebCore.vcproj:
1441         * WebCore.xcodeproj/project.pbxproj:
1442         * platform/network/ResourceResponse.cpp: Removed.
1443         * platform/network/ResourceResponse.h: Removed.
1444         * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
1445         (WebCore::ResourceResponseBase::asResourceResponse):
1446         (WebCore::ResourceResponseBase::isHTTP):
1447         (WebCore::ResourceResponseBase::url):
1448         (WebCore::ResourceResponseBase::setUrl):
1449         (WebCore::ResourceResponseBase::mimeType):
1450         (WebCore::ResourceResponseBase::setMimeType):
1451         (WebCore::ResourceResponseBase::expectedContentLength):
1452         (WebCore::ResourceResponseBase::setExpectedContentLength):
1453         (WebCore::ResourceResponseBase::textEncodingName):
1454         (WebCore::ResourceResponseBase::setTextEncodingName):
1455         (WebCore::ResourceResponseBase::suggestedFilename):
1456         (WebCore::ResourceResponseBase::setSuggestedFilename):
1457         (WebCore::ResourceResponseBase::httpStatusCode):
1458         (WebCore::ResourceResponseBase::setHTTPStatusCode):
1459         (WebCore::ResourceResponseBase::httpStatusText):
1460         (WebCore::ResourceResponseBase::setHTTPStatusText):
1461         (WebCore::ResourceResponseBase::httpHeaderField):
1462         (WebCore::ResourceResponseBase::setHTTPHeaderField):
1463         (WebCore::ResourceResponseBase::httpHeaderFields):
1464         (WebCore::ResourceResponseBase::isAttachment):
1465         (WebCore::ResourceResponseBase::setExpirationDate):
1466         (WebCore::ResourceResponseBase::expirationDate):
1467         (WebCore::ResourceResponseBase::setLastModifiedDate):
1468         (WebCore::ResourceResponseBase::lastModifiedDate):
1469         (WebCore::ResourceResponseBase::updateResourceResponse):
1470         * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
1471         (WebCore::ResourceResponseBase::ResourceResponseBase):
1472         * platform/network/cf/ResourceResponse.h: Added.
1473         (WebCore::ResourceResponse::ResourceResponse):
1474         * platform/network/curl/ResourceResponse.h: Added.
1475         (WebCore::ResourceResponse::ResourceResponse):
1476         (WebCore::ResourceResponse::doUpdateResourceResponse):
1477         * platform/network/mac/ResourceResponse.h: Added.
1478         (WebCore::ResourceResponse::ResourceResponse):
1479         * platform/network/qt/ResourceResponse.h: Added.
1480         (WebCore::ResourceResponse::ResourceResponse):
1481         (WebCore::ResourceResponse::doUpdateResourceResponse):
1482
1483 2007-11-11  Justin Haygood  <jhaygood@reaktix.com>
1484
1485         Reviewed by Adam Roben.
1486
1487         http://bugs.webkit.org/show_bug.cgi?id=15939
1488         Adds a currentThread API for use by SQLiteDatabase, etc.
1489
1490         * platform/Threading.h:
1491         * platform/ThreadingNone.cpp:
1492         (WebCore::currentThread):
1493         * platform/gtk/ThreadingGtk.cpp:
1494         (WebCore::identifierByGthreadHandle):
1495         (WebCore::):
1496         * platform/pthreads/ThreadingPthreads.cpp:
1497         (WebCore::identifierByPthreadHandle):
1498         (WebCore::currentThread):
1499
1500 2007-11-11  Dan Bernstein  <mitz@apple.com>
1501
1502         Reviewed by Adam Roben.
1503
1504         - fix http://bugs.webkit.org/show_bug.cgi?id=15942
1505           REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
1506
1507         Test: editing/selection/cleared-by-relayout.html
1508
1509         * editing/Selection.cpp:
1510         (WebCore::Selection::toRange): Check if the selection has been cleared
1511         by updating layout.
1512
1513 2007-11-11  Darin Adler  <darin@apple.com>
1514
1515         Reviewed by Mark Rowe.
1516
1517         - fix line numbers that were off since my recent patch
1518
1519         * platform/SegmentedString.h:
1520         (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
1521         and rename it to m_doNotExcludeLineNumbers.
1522         (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
1523         (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
1524         (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
1525         (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
1526         the regression, but keep the speediness. I accidentally had removed a ! here.
1527
1528         * platform/SegmentedString.cpp:
1529         (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
1530
1531 2007-11-11  Oliver Hunt  <oliver@apple.com>
1532
1533         Reviewed by Darin.
1534
1535         Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
1536         malformed SVG file in WebCore::ImageBuffer::create. Add protection
1537         against a potential overflow.
1538
1539         * platform/graphics/cg/ImageBufferCG.cpp:
1540
1541 2007-11-11  Antti Koivisto  <antti@apple.com>
1542
1543         Reviewed by Darin.
1544
1545         Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
1546
1547         * bindings/js/kjs_binding.cpp:
1548         (KJS::setDOMException):
1549         * dom/Attr.cpp:
1550         (WebCore::Attr::setPrefix):
1551         * dom/Document.cpp:
1552         (WebCore::Document::createElement):
1553         * dom/Element.cpp:
1554         (WebCore::Element::setPrefix):
1555         * dom/Range.cpp:
1556         (WebCore::Range::setStart):
1557         (WebCore::Range::setEnd):
1558         (WebCore::Range::isPointInRange):
1559         (WebCore::Range::comparePoint):
1560         (WebCore::Range::compareBoundaryPoints):
1561         (WebCore::Range::deleteContents):
1562         (WebCore::Range::processContents):
1563         (WebCore::Range::extractContents):
1564         (WebCore::Range::insertNode):
1565         (WebCore::Range::setStartAfter):
1566         (WebCore::Range::setEndBefore):
1567         (WebCore::Range::setEndAfter):
1568         (WebCore::Range::selectNode):
1569         (WebCore::Range::surroundContents):
1570         (WebCore::Range::setStartBefore):
1571         * editing/TextIterator.cpp:
1572         (WebCore::TextIterator::TextIterator):
1573         * html/CanvasRenderingContext2D.cpp:
1574         (WebCore::CanvasRenderingContext2D::createPattern):
1575         * html/HTMLMediaElement.cpp:
1576         (WebCore::HTMLMediaElement::play):
1577         (WebCore::HTMLMediaElement::pause):
1578         * html/HTMLSelectElement.cpp:
1579         (WebCore::HTMLSelectElement::add):
1580         (WebCore::HTMLSelectElement::setOption):
1581         * xml/XPathEvaluator.cpp:
1582         (WebCore::XPathEvaluator::evaluate):
1583
1584 2007-11-11  Darin Adler  <darin@apple.com>
1585
1586         Reviewed by Mitz.
1587
1588         - http://bugs.webkit.org/show_bug.cgi?id=15945
1589           speed up GraphicsContextCG typical case by skipping roundToDevicePixels
1590
1591         * platform/graphics/cg/GraphicsContextCG.cpp:
1592         (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
1593         longer know if the transform is identity or not.
1594         (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
1595         CGContextSave/RestoreGState.
1596         (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
1597         longer know if the transform is identity or not.
1598         (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
1599         (WebCore::GraphicsContext::scale): Ditto.
1600         (WebCore::GraphicsContext::rotate): Ditto.
1601         (WebCore::GraphicsContext::translate): Ditto.
1602         (WebCore::GraphicsContext::concatCTM): Ditto.
1603         (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
1604         is known to be identity, and record that fact when we discover it otherwise.
1605
1606         * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
1607         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1608         Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
1609
1610 2007-11-11  Darin Adler  <darin@apple.com>
1611
1612         Reviewed by Mitz.
1613
1614         - http://bugs.webkit.org/show_bug.cgi?id=15944
1615           streamline SegmentedString to speed up parsing
1616
1617         I measured a speed-up of the page load test while developing this patch. I don't
1618         have a precise figure, though.
1619
1620         * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
1621         lineno to m_lineNumber.
1622         * html/HTMLTokenizer.cpp:
1623         (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
1624         since we don't want to update a line number.
1625         (WebCore::HTMLTokenizer::parseSpecial): Ditto.
1626         (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
1627         instead of lineNumberPtr() since the advance function now takes a reference.
1628         (WebCore::HTMLTokenizer::parseServer): Ditto.
1629         (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
1630         (WebCore::HTMLTokenizer::parseText): Ditto.
1631         (WebCore::HTMLTokenizer::parseEntity): Ditto.
1632         (WebCore::HTMLTokenizer::parseTag): Ditto.
1633         (WebCore::HTMLTokenizer::write): Ditto.
1634
1635         * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
1636         * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
1637         Don't pass 0 to the advance function.
1638
1639         * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
1640         the most common case, and pushed less common cases into a separate function
1641         that is not inlined. Also got rid of a branch by separating the case with a
1642         line number from the case without one.
1643
1644         * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
1645         Added. The aforementioned less common cases are here.
1646
1647 2007-11-11  Antti Koivisto  <antti@apple.com>
1648
1649         Forgot to do this review change (and test HTTP commit).
1650
1651         * html/HTMLMediaElement.cpp:
1652         (WebCore::HTMLMediaElement::play):
1653
1654 2007-11-11  Antti Koivisto  <antti@apple.com>
1655
1656         Reviewed by Darin.
1657         
1658         - Update play() and pause() to match current HTML5 draft
1659             - send events asynchronously
1660             - add timeupdate event to pause
1661             - rethrow load() exception, not others
1662         - Use list for async events to get ordering right
1663
1664         Tests: media/video-pause-empty-events.html
1665                media/video-play-empty-events.html
1666                media/video-play-pause-events.html
1667                media/video-play-pause-exception.html
1668
1669         * html/HTMLMediaElement.cpp:
1670         (WebCore::HTMLMediaElement::dispatchEventAsync): 
1671         (WebCore::HTMLMediaElement::asyncEventTimerFired):
1672         (WebCore::HTMLMediaElement::play):
1673         (WebCore::HTMLMediaElement::pause):
1674         * html/HTMLMediaElement.h:
1675
1676 2007-11-11  Nikolas Zimmermann  <zimmermann@kde.org>
1677
1678         Reviewed by Eric.
1679
1680         Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
1681
1682         Add (basic) support for dominant-baseline / alignment-baseline text properties.
1683         Note: there are no official testcases, and no-one implemented it before. Only ASV3
1684               supported dominant-baseline, but not correct it seems.
1685
1686         * rendering/SVGRootInlineBox.cpp:
1687         (WebCore::dominantBaselineToShift):
1688         (WebCore::alignmentBaselineToShift):
1689         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1690
1691 2007-11-11  Adam Roben  <aroben@apple.com>
1692
1693         Add wrappers around CoCreateInstance to COMPtr
1694
1695         I followed the example of the Query constructor and query method by
1696         adding a Create constructor and create method.
1697
1698         Reviewed by Darin.
1699
1700         * platform/win/COMPtr.h:
1701         (COMPtr::COMPtr): Added a new constructor that calls
1702         CoCreateInstance.
1703         (COMPtr::create): Added.
1704         (COMPtr::createInstance): Added.
1705
1706 2007-11-11  Alexey Proskuryakov  <ap@nypop.com>
1707
1708         Reviewed by Darin.
1709
1710         http://bugs.webkit.org/show_bug.cgi?id=15896
1711         More editing cleanup
1712
1713         No functionality changes.
1714
1715         * dom/Node.h: Moved several editing-related methods elsewhere.
1716         * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
1717         to highlight that it is a match to offsetInCharacters(), and much different from other
1718         offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
1719         offsetInCharacters() before calling this.
1720
1721         * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
1722         * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
1723         Updated for above renamings.
1724
1725         * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
1726
1727         * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
1728
1729         * dom/Position.h:
1730         * dom/Position.cpp:
1731         (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
1732         (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
1733         (WebCore::Position::previous): Adapted to the above move.
1734         (WebCore::Position::next): Ditto.
1735         (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
1736         and BR elements are covered by editingIgnoresContent().
1737         (WebCore::Position::downstream): Ditto.
1738         (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
1739         (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
1740
1741         * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
1742         * dom/PositionIterator.cpp:
1743         (WebCore::PositionIterator::increment): Updated for the above moves.
1744         (WebCore::PositionIterator::decrement): Ditto.
1745
1746         * dom/ProcessingInstruction.h:
1747         * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
1748         ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
1749         I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
1750
1751         * dom/Range.cpp:
1752         (WebCore::Range::selectNodeContents):
1753         * editing/ApplyStyleCommand.cpp:
1754         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1755         (WebCore::ApplyStyleCommand::applyInlineStyle):
1756         (WebCore::maxRangeOffset):
1757         (WebCore::ApplyStyleCommand::removeInlineStyle):
1758         (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
1759         (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
1760         (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
1761         (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
1762         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
1763         * editing/CompositeEditCommand.cpp:
1764         (WebCore::CompositeEditCommand::insertNodeAt):
1765         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
1766         * editing/DeleteSelectionCommand.cpp:
1767         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1768         * editing/InsertLineBreakCommand.cpp:
1769         (WebCore::InsertLineBreakCommand::doApply):
1770         * editing/InsertParagraphSeparatorCommand.cpp:
1771         (WebCore::InsertParagraphSeparatorCommand::doApply):
1772         * editing/InsertTextCommand.cpp:
1773         (WebCore::InsertTextCommand::insertTab):
1774         * editing/visible_units.cpp:
1775         (WebCore::previousLinePosition):
1776         (WebCore::nextLinePosition):
1777         Updated for the above moves.
1778
1779         * editing/Editor.cpp:
1780         (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
1781
1782         * editing/TextIterator.cpp:
1783         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
1784         match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
1785         (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
1786
1787         * editing/htmlediting.h:
1788         * editing/htmlediting.cpp:
1789         (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
1790         child nodes, other than via DOM manipulation, which is not specific to BRs.
1791         (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
1792         (WebCore::maxDeepOffset): Ditto.
1793         (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
1794         (WebCore::caretMaxOffset): Ditto.
1795
1796         * page/EventHandler.cpp:
1797         (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
1798         caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
1799         will take care of adjusting the offset.
1800
1801         * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
1802         * page/mac/WebCoreFrameBridge.mm:
1803         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
1804         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
1805         Changed some runtime checks that seemingly cannot fail into assertions.
1806
1807 2007-11-11  Darin Adler  <darin@apple.com>
1808
1809         Reviewed by Sam.
1810
1811         - updated for JSRegExp function changes
1812
1813         * platform/RegularExpression.cpp:
1814         (WebCore::RegularExpression::Private::compile):
1815         (WebCore::RegularExpression::match):
1816
1817 2007-11-10  Mark Rowe  <mrowe@apple.com>
1818
1819         Qt Linux build fix.
1820
1821         * platform/UnicodeRange.h:
1822
1823 2007-11-10  Mark Rowe  <mrowe@apple.com>
1824
1825         Qt Windows build fix.
1826
1827         * platform/UnicodeRange.h:
1828
1829 2007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>
1830
1831         Reviewed by Eric.
1832
1833         Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
1834         Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
1835
1836         Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
1837         Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
1838
1839         * WebCore.pro: Add platform/UnicodeRange.cpp to build
1840         * WebCore.xcodeproj/project.pbxproj: Dito.
1841         * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
1842         (WebCore::SVGChar::characterTransform):
1843         * rendering/SVGCharacterLayoutInfo.h: New variables.
1844         (WebCore::SVGCharOnPath::SVGCharOnPath):
1845         (WebCore::SVGChar::SVGChar):
1846         * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
1847         (WebCore::glyphOrientationToAngle):
1848         (WebCore::glyphOrientationIsMultiplyOf180Degrees):
1849         (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
1850         (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
1851         (WebCore::cummulatedWidthOrHeightOfTextChunk):
1852         (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1853
1854 2007-11-10  Timothy Hatcher  <timothy@apple.com>
1855
1856         Reviewed by Sam Weinig.
1857
1858         * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
1859           and switch over to use getUniqueProperties in another place.
1860
1861 2007-11-10  John Sullivan  <sullivan@apple.com>
1862
1863         Reviewed by Sam Weinig
1864
1865         Rest of fix for 5394877
1866
1867         * bindings/js/kjs_window.cpp:
1868         (KJS::Window::isSafeScript):
1869         Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
1870         private browsing mode either.
1871
1872 2007-11-10  Nikolas Zimmermann  <zimmermann@kde.org>
1873
1874         Reviewed by Oliver.
1875
1876         Fix function name difference - header said 'unicodeRangeForCharacter', actually
1877         implemented function is 'findCharUnicodeRange'. They are not compiled yet.
1878
1879         * platform/UnicodeRange.h:
1880
1881 2007-11-10  Dan Bernstein  <mitz@apple.com>
1882
1883         Reviewed by Darin Adler.
1884
1885         - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
1886
1887         No test because context menu events cannot be tested in DumpRenderTree.
1888
1889         * page/EventHandler.cpp:
1890         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
1891         If the click occurred in an active link, selects the entire link
1892         element. Otherwise selects the closest word.
1893         (WebCore::EventHandler::sendContextMenuEvent): Call
1894         selectClosestWordOrLinkFromMouseEvent().
1895         * page/EventHandler.h:
1896
1897 2007-11-10  John Sullivan  <sullivan@apple.com>
1898
1899         Reviewed by Tim Hatcher
1900
1901         - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when 
1902           in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
1903
1904         * bindings/js/kjs_window.cpp:
1905         (KJS::Window::isSafeScript):
1906         Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
1907
1908 2007-11-10  Alexey Proskuryakov  <ap@webkit.org>
1909
1910         Reviewed by Darin.
1911
1912         http://bugs.webkit.org/show_bug.cgi?id=15922
1913         Implement more of Mozilla Selection API
1914
1915         Tests: editing/selection/containsNode.html
1916                editing/selection/deleteFromDocument.html
1917                editing/selection/extend.html
1918                editing/selection/selectAllChildren.html
1919
1920         * editing/SelectionController.cpp:
1921         (WebCore::SelectionController::deleteFromDocument):
1922         (WebCore::SelectionController::containsNode):
1923         (WebCore::SelectionController::selectAllChildren):
1924         (WebCore::SelectionController::extend):
1925         * editing/SelectionController.h:
1926         Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
1927         which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
1928         Removed a comment mentioning removeRange(), as this method makes no sense without multiple
1929         selection range support.
1930
1931         * page/DOMSelection.cpp:
1932         (WebCore::DOMSelection::extend):
1933         (WebCore::DOMSelection::deleteFromDocument):
1934         (WebCore::DOMSelection::containsNode):
1935         (WebCore::DOMSelection::selectAllChildren):
1936         * page/DOMSelection.h:
1937         * page/DOMSelection.idl:
1938         Exposed the new methods.
1939
1940 2007-11-10  Alexey Proskuryakov  <ap@webkit.org>
1941
1942         Reviewed by Darin.
1943
1944         http://bugs.webkit.org/show_bug.cgi?id=15892
1945         DOM Range operations are not implemented for ProcessingInstruction nodes
1946
1947         Test: fast/dom/Range/range-processing-instructions.html
1948
1949         * dom/Range.cpp:
1950         (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
1951         (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
1952         to use ProcessingInstruction.data.
1953
1954 2007-11-09  Timothy Hatcher  <timothy@apple.com>
1955
1956         Reviewed by Mark Rowe.
1957
1958         Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
1959         http://bugs.webkit.org/show_bug.cgi?id=12054
1960
1961         - Add support code for routing copy events to the focused element.
1962         - Implement copying the currently selected DOM node. The node
1963           and it's subtree is copied to the clipboard. If the node has no
1964           outerHTML, the nodeValue is copied (text nodes, etc.)
1965         - Implement copy for the resource sidebar. The URL is copied for the
1966           currently selected resource.
1967
1968         * page/inspector/DocumentPanel.js:
1969         * page/inspector/inspector.js:
1970
1971 2007-11-09  Antti Koivisto  <antti@apple.com>
1972
1973         Reviewed by Adele.
1974
1975         Fix occasional blank video with poster attribute.
1976
1977         * ChangeLog:
1978         * html/HTMLMediaElement.cpp:
1979         (WebCore::HTMLMediaElement::load):
1980         (WebCore::HTMLMediaElement::didRestoreFromCache):
1981         Just calling updateFromElement() does the right thing for both poster image and video.
1982
1983 2007-11-04  Sam Weinig  <sam@webkit.org>
1984
1985         Reviewed by Adam Roben.
1986
1987         <rdar://problem/5435940>
1988         The COM bindings for the DOM should be autogenerated like the other DOM bindings
1989
1990         Initial commit of the autogeneration of the COM DOM Bindings.  No behavior change
1991         is being introduced in this patch and to insure that no conflicts arise, a temporary
1992         prefix of "GEN_" has been used for all the new classes.
1993
1994         The build architecture for these bindings differs slightly from the other autogenerated
1995         bindings.  Instead of building in WebCore and migrating the resuting code to WebKit (as
1996         is done for the Objective-C bindigs currently), the IDLs and generation scripts are
1997         migrated to WebKit and built there.  This is done with a series of scripts and Makefiles.
1998
1999         This commit includes:
2000             - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
2001               and ref-counting.
2002             - Generating all of the Core DOM and most of HTML and CSS
2003             - Generating Event, EventTarget, and EventListener
2004
2005         * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
2006         * WebCore.vcproj/WebCore.vcproj:
2007         * WebCore.vcproj/migrate-idls.sh: Added.
2008         * bindings/scripts/CodeGenerator.pm:
2009         * bindings/scripts/CodeGeneratorCOM.pm: Added.
2010         * dom/EventListener.h: Make the isWindowEvent parameter default to false
2011         to allow autogeneration based on the IDL.
2012
2013 2007-11-09  Tristan O'Tierney  <tristan@apple.com>
2014
2015         Reviewed by Timothy Hatcher.
2016         
2017         This patch is for the WebKit side of <rdar://problem/5591115>.
2018         We need a way to tell context menu navigations, such as "Open in New Window"
2019         to override any sort of browser preference for tab based navigation.
2020
2021         * bridge/WindowFeatures.h:
2022         (WebCore::WindowFeatures::WindowFeatures):
2023         Added a new struct member var, preferredType
2024         and an accompanying enum type PreferredType
2025         to send a window type recommendation up to the Chrome. 
2026         
2027         * page/ContextMenuController.cpp:
2028         (WebCore::openNewWindow):
2029         Set the window features to recommend a new Window for
2030         "Open in New Window" context menu action.
2031
2032 2007-11-08  Adam Roben  <aroben@apple.com>
2033
2034         Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
2035
2036         We now match the behavior of Firefox and IE, which is to always just
2037         send a click event to the focused button when the Enter key is pressed
2038         (previously we were submitting forms directly in some cases).
2039
2040         Reviewed by Adele.
2041
2042         Test: fast/forms/enter-clicks-buttons.html
2043
2044         * html/HTMLButtonElement.cpp:
2045         (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
2046         fancy when Enter is pressed on a <button type=button> -- just send a
2047         click event like we do for other button types.
2048         * html/HTMLInputElement.cpp:
2049         (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
2050         the same way we treat type=submit and type=reset: just send a click
2051         event when Enter is pressed.
2052
2053 2007-11-09  Dan Bernstein  <mitz@apple.com>
2054
2055         Reviewed by Antti Koivisto.
2056
2057         - fix a bug in invisible layer culling: dynamically changing a 
2058           descendant of an invisible layer to be visible did not work
2059
2060         Test: fast/layers/layer-content-visibility-change.html
2061
2062         * rendering/RenderLayer.cpp:
2063         (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
2064         make sure that our stacking context rebuilds its z-order lists to
2065         include us.
2066
2067 2007-11-09  David Hyatt  <hyatt@apple.com>
2068
2069         Clean up matrix() parsing.  Make sure the first four arguments can be lengths or numbers.  The last two
2070         args can be lengths or numbers or percents.
2071
2072         Reviewed by Beth
2073
2074         * WebCore.xcodeproj/project.pbxproj:
2075         * css/CSSParser.cpp:
2076         (WebCore::TransformOperationInfo::TransformOperationInfo):
2077         (WebCore::CSSParser::parseTransform):
2078         * rendering/RenderStyle.h:
2079         (WebCore::MatrixTransformOperation::apply):
2080
2081 2007-11-09  Beth Dakin  <bdakin@apple.com>
2082
2083         Reviewed by Oliver.
2084
2085         Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix 
2086         math leads to crazy problems
2087
2088         Transform matrices accept the first four parameters as CSS lengths. 
2089         CSS lengths get mapped into WebCore::Lengths as percents by 
2090         WebCore::convertToLength(). Percent lengths cannot call value(). It 
2091         does not yield a correct result and it asserts on Debug builds. 
2092
2093         * rendering/RenderStyle.h:
2094         (WebCore::MatrixTransformOperation::apply): Instead of calling 
2095         value() on the lengths, call calcValue. This fixes the assert and 
2096         the bad rendering. 
2097
2098 2007-11-09  Simon Hausmann  <hausmann@kde.org>
2099
2100         Reviewed by nobody, build/link fix for Qt/Windows.
2101
2102         userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
2103         define it twice.
2104
2105         * platform/qt/TemporaryLinkStubs.cpp:
2106
2107 2007-11-09  Simon Hausmann  <hausmann@kde.org>
2108
2109         Reviewed by Holger.
2110
2111         Fix ContextMenu allocation in the Qt port.
2112
2113         Store all items and submenus value based in ContextMenu and ContextMenuItem.
2114         That fixes the crashes when the context menu was populated with sub-menus because
2115         of the use of temporary ContextMenu objects like this:
2116
2117         ContextMenu subMenu(...);
2118         subMenu.appendItem(...);
2119         subMenu.appendItem(...);
2120
2121         subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
2122
2123         * platform/ContextMenu.h:
2124         * platform/ContextMenuItem.h:
2125         * platform/PlatformMenuDescription.h:
2126         * platform/qt/ContextMenuItemQt.cpp:
2127         (WebCore::ContextMenuItem::ContextMenuItem):
2128         (WebCore::ContextMenuItem::platformSubMenu):
2129         * platform/qt/ContextMenuQt.cpp:
2130         (WebCore::ContextMenu::ContextMenu):
2131         (WebCore::ContextMenu::~ContextMenu):
2132         (WebCore::ContextMenu::appendItem):
2133         (WebCore::ContextMenu::itemCount):
2134
2135 2007-11-09  Peter Kasting  <zerodpx@gmail.com>
2136
2137         Reviewed by Mark Rowe.
2138
2139         http://bugs.webkit.org/show_bug.cgi?id=15909
2140         Malformed GIFs should not result in memory corruption.
2141
2142         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2143         (WebCore::GIFImageDecoder::haveDecodedRow):
2144
2145 2007-11-08  Timothy Hatcher  <timothy@apple.com>
2146
2147         Reviewed by Sam Weinig.
2148
2149         Some Web Inspector CSS editing changes.
2150         - Only delete the property if all the text is delete or the new user input correctly parses.
2151           This prevents deleting the existing property if the new text is invalid.
2152         - Intercept the Escape key and cancel editing, not saving any changes.
2153
2154         * page/inspector/StylesSidebarPane.js:
2155
2156 2007-11-08  Kevin Ollivier  <kevino@theolliviers.com>
2157
2158         Bakefiles for building WebCore, needed by wx port.
2159
2160         Reviewed by Mark Rowe.
2161
2162         * WebCoreSources.bkl: Added.
2163         * webcore-base.bkl: Added.
2164         * webcore-wx.bkl: Added.
2165
2166 2007-11-08  Justin Haygood  <jhaygood@reaktix.com>
2167
2168         Reviewed by Mark Rowe.
2169
2170         http://bugs.webkit.org/show_bug.cgi?id=15905
2171
2172         Fix builds with HTML 5 Storage support disabled.
2173         ENABLE(DATABASE) needs to be added in a few places.
2174
2175         * page/InspectorController.cpp:
2176         * storage/Database.h:
2177
2178 2007-11-08  Steve Falkenburg  <sfalken@apple.com>
2179
2180         <rdar://problem/5524082> Allow images to be dragged out directly into other apps
2181         
2182         We weren't including CF_HDROP in our image drops.  This broke drag of
2183         images out of the browser window directly into other apps (examples
2184         include notepad, mspaint, msword).
2185         
2186         Reviewed by Oliver, Ada.
2187
2188         * platform/win/ClipboardWin.cpp:
2189         (WebCore::createGlobalImageFileContent): Removed unused variable.
2190         (WebCore::createGlobalHDropContent): Added
2191         (WebCore::writeFileToDataObject): Write HDROP data if available.
2192         (WebCore::writeImageToDataObject): Write HDROP for dragged images.
2193         (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
2194
2195 2007-11-08  Xan Lopez  <xan@gnome.org>
2196
2197         Reviewed by Alp.
2198
2199         http://bugs.webkit.org/show_bug.cgi?id=15908
2200         Use g_object_ref_sink when available
2201
2202         * platform/gtk/PopupMenuGtk.cpp:
2203         (WebCore::PopupMenu::show):
2204         * platform/gtk/ScrollViewGtk.cpp:
2205         (WebCore::ScrollView::setGtkAdjustments):
2206
2207 2007-11-08  Dan Bernstein  <mitz@apple.com>
2208
2209         Reviewed by Beth Dakin.
2210
2211         - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
2212
2213         Test: fast/dom/length-attribute-mapping.html
2214
2215         * dom/StyledElement.cpp:
2216         (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
2217         logic to stop after the first "%" or "*" in the string. This allows for
2218         "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
2219
2220 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
2221
2222         - Build fix.
2223
2224         * loader/FrameLoaderClient.h:
2225         * platform/graphics/svg/SVGImageEmptyClients.h:
2226         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2227
2228 2007-11-08  Kevin McCullough  <kmccullough@apple.com>
2229
2230         Reviewed by Sam.
2231
2232         - windowObjectCleared() is no longer const.  It needs to setup the
2233         script debugger and cannot be const to do so.
2234
2235         * loader/FrameLoaderClient.h:
2236         * platform/graphics/svg/SVGImageEmptyClients.h:
2237         (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
2238
2239 2007-11-08  Adam Roben  <aroben@apple.com>
2240
2241         Hopeful Windows build fix
2242
2243         * rendering/RenderObject.cpp: Touch this file to make it recompile.
2244
2245 2007-11-08  Sam Weinig  <sam@webkit.org>
2246
2247         Reviewed by Darin.
2248
2249         Convert JavaScript internal function objects to use one class per
2250         function.  This avoids a switch statement inside what used to be
2251         the shared function classes and will allow Shark to better analyze
2252         the code.
2253
2254         To make this switch, the value property of the HashEntry was changed
2255         to a union of an intptr_t (which is used to continue handle valueGetters)
2256         and function pointer which points to a static constructor for the
2257         individual new function objects.
2258
2259         SunSpider claims this is a 1.0% speedup.
2260
2261         - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
2262           new classes and hand updated the remain non-generated (groan) classes.
2263
2264         * bindings/js/JSDOMWindowCustom.cpp:
2265         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2266         * bindings/js/JSEventTargetNode.cpp:
2267         (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
2268         (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
2269         (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
2270         * bindings/js/JSEventTargetNode.h:
2271         * bindings/js/JSHTMLInputElementBase.cpp:
2272         (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
2273         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
2274         * bindings/js/JSHTMLInputElementBase.h:
2275         (WebCore::JSHTMLInputElementBase::):
2276         * bindings/js/JSXMLHttpRequest.cpp:
2277         (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
2278         (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
2279         (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
2280         (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
2281         (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
2282         (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
2283         (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
2284         (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
2285         (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
2286         (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
2287         * bindings/js/JSXMLHttpRequest.h:
2288         (KJS::JSXMLHttpRequest::impl):
2289         * bindings/js/JSXSLTProcessor.cpp:
2290         (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
2291         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
2292         (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
2293         (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
2294         (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
2295         (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
2296         (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
2297         (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
2298         * bindings/js/JSXSLTProcessor.h:
2299         * bindings/js/kjs_events.cpp:
2300         (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
2301         (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
2302         (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
2303         (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
2304         * bindings/js/kjs_events.h:
2305         * bindings/js/kjs_navigator.cpp:
2306         (KJS::Plugins::):
2307         (KJS::Navigator::getOwnPropertySlot):
2308         (KJS::Plugins::getOwnPropertySlot):
2309         (KJS::PluginsFunctionRefresh::callAsFunction):
2310         (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
2311         * bindings/js/kjs_navigator.h:
2312         (KJS::Navigator::):
2313         * bindings/js/kjs_window.cpp:
2314         (KJS::Window::getOwnPropertySlot):
2315         (KJS::Window::put):
2316         (KJS::WindowProtoFuncAToB::callAsFunction):
2317         (KJS::WindowProtoFuncBToA::callAsFunction):
2318         (KJS::WindowProtoFuncOpen::callAsFunction):
2319         (KJS::WindowProtoFuncScrollBy::callAsFunction):
2320         (KJS::WindowProtoFuncScrollTo::callAsFunction):
2321         (KJS::WindowProtoFuncMoveBy::callAsFunction):
2322         (KJS::WindowProtoFuncMoveTo::callAsFunction):
2323         (KJS::WindowProtoFuncResizeBy::callAsFunction):
2324         (KJS::WindowProtoFuncResizeTo::callAsFunction):
2325         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2326         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2327         (KJS::WindowProtoFuncSetInterval::callAsFunction):
2328         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2329         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2330         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2331         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2332         (KJS::Location::getOwnPropertySlot):
2333         (KJS::Location::put):
2334         (KJS::LocationProtoFuncReplace::callAsFunction):
2335         (KJS::LocationProtoFuncReload::callAsFunction):
2336         (KJS::LocationProtoFuncAssign::callAsFunction):
2337         (KJS::LocationProtoFuncToString::callAsFunction):
2338         * bindings/js/kjs_window.h:
2339         (KJS::Window::):
2340         * bindings/scripts/CodeGeneratorJS.pm:
2341
2342 2007-11-08  Mark Rowe  <mrowe@apple.com>
2343
2344         Fix the Gtk, Qt and Wx builds.
2345
2346         * platform/gtk/TemporaryLinkStubs.cpp:
2347         * platform/qt/TemporaryLinkStubs.cpp:
2348         * platform/wx/TemporaryLinkStubs.cpp:
2349
2350 2007-11-08  Mark Rowe  <mrowe@apple.com>
2351
2352         Not reviewed.  Fix two instances of includes using the wrong case in the filename.
2353
2354         * platform/graphics/mac/MoviePrivateQTKit.mm:
2355         * platform/wx/MimeTypeRegistryWx.cpp:
2356
2357 2007-11-08  Darin Adler  <darin@apple.com>
2358
2359         Reviewed by Adam.
2360
2361         - fix <rdar://problem/5552943> accesskey does not focus <button> elements
2362
2363         Test: fast/forms/access-key.html
2364
2365         * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
2366         Added a call to focus.
2367
2368 2007-11-07  Darin Adler  <darin@apple.com>
2369
2370         Reviewed by Steve.
2371
2372         - cut down on notImplemented() functions on Windows
2373
2374         * bridge/AXObjectCache.h: Put #if around the accessibility
2375         global.
2376
2377         * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
2378         Moved here from TemporaryLinkStubs.
2379
2380         * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
2381         using the ResourceResponse that's now available from the DocumentLoader.
2382
2383         * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
2384         the Editor instead of the obsolete one on the Frame.
2385
2386         * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
2387         * loader/FrameLoader.h: Removed overrideMediaType.
2388
2389         * loader/gtk/DocumentLoaderGtk.cpp: Removed.
2390         * loader/mac/DocumentLoaderMac.mm: Removed.
2391         * loader/qt/DocumentLoaderQt.cpp: Removed.
2392
2393         * page/Frame.cpp: Removed transpose.
2394         * page/Frame.h: Ditto.
2395         * page/FrameView.h: Removed updateBorder.
2396         * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
2397         * page/mac/FrameMac.mm: Ditto.
2398         * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
2399         overrideMediaType.
2400         * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
2401
2402         * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
2403         * platform/qt/TemporaryLinkStubs.cpp: Ditto.
2404         * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
2405         * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
2406         issueTransposeCommand, and overrideMediaType.
2407
2408         * platform/network/cf/ResourceHandleCFNet.cpp:
2409         (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
2410         (WebCore::ResourceHandle::willLoadFromCache): Ditto.
2411         * platform/win/GraphicsContextWin.cpp:
2412         (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
2413         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
2414         * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
2415         * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
2416
2417         * WebCore.pro: Updated for removed files.
2418         * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
2419
2420 2007-11-08  Mark Rowe  <mrowe@apple.com>
2421
2422        Build fix for case-sensitive file systems.  Fix case of file names
2423        in #include's.
2424
2425         * html/HTMLMediaElement.cpp:
2426         * platform/graphics/Movie.cpp:
2427
2428 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2429
2430         Reviewed by Lars Knoll <lars@trolltech.com>.
2431
2432         Remove some warnings about not implemented methods.
2433
2434         * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
2435         specific to the NS API and won't be implemented on Qt.
2436         * ResourceHandle::bufferedData can not be reached as we return false in
2437         ResourceHandle::supportsBufferedData.
2438
2439
2440         * platform/network/qt/ResourceHandleQt.cpp:
2441         (WebCore::ResourceHandle::supportsBufferedData):
2442
2443 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2444
2445         Reviewed by Lars Knoll <lars@trolltech.com>.
2446
2447         Cleanup checking for the request method.
2448
2449         * Check the request method only in QWebNetworkManager::add.
2450         * Currently HEAD, GET, POST are allowed and for everything else
2451         QWebNetworkManager::add returns false.
2452         * Returning false is compatible with ResourceHandle::start and it
2453         can be used in ResourceHandle::loadResourceSynchronously to generate
2454         a ResourceError
2455
2456
2457         * platform/network/qt/ResourceHandleQt.cpp:
2458         (WebCore::ResourceHandle::start):
2459         (WebCore::ResourceHandle::loadResourceSynchronously):
2460
2461 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2462
2463         Reviewed by Lars Knoll <lars@trolltech.com>.
2464
2465         Implement WebCore::callOnMainThread
2466
2467         Implemented using a global QObject, that is moved to the main thread
2468         and then sending a custom event to it.
2469         Picked a number below QEvent::User but above any other documented value.
2470
2471
2472         * platform/qt/ThreadingQt.cpp:
2473         (WebCore::PerformFunctionEvent::PerformFunctionEvent):
2474         (WebCore::MainThreadInvoker::MainThreadInvoker):
2475         (WebCore::MainThreadInvoker::event):
2476         (WebCore::callOnMainThread):
2477
2478 2007-11-08  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2479
2480         Reviewed by Lars Knoll <lars@trolltech.com>.
2481
2482         Avoid problems with calling QPainter::begin() on an already active paintdevice
2483
2484         * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
2485         crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
2486         * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
2487         used by the ScrollView on a layout triggered by QWebPage::paintEvent.
2488
2489
2490         * platform/qt/WidgetQt.cpp:
2491         (WebCore::Widget::invalidateRect):
2492
2493 2007-11-08  Eric Seidel  <eric@webkit.org>
2494
2495         No review.
2496
2497         * ksvg2/svg/SVGPathElement.h: remove old comment
2498
2499 2007-11-07  Antti Koivisto  <antti@apple.com>
2500
2501         Reviewed by Ollie.
2502
2503         Ensure video renderer has correct size if video has already been loaded
2504         when it is constructed.
2505
2506         * rendering/RenderVideo.cpp:
2507         (WebCore::RenderVideo::RenderVideo):
2508
2509 2007-11-07  Antti Koivisto  <antti@apple.com>
2510
2511         Reviewed by Ollie.
2512
2513         Ensure video is visible when it should be.
2514
2515         * rendering/RenderVideo.cpp:
2516         (WebCore::RenderVideo::updateMovie):
2517
2518 2007-11-07  Dan Bernstein  <mitz@apple.com>
2519
2520         Reviewed by Darin Adler.
2521
2522         - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
2523
2524         Layers and listboxes are two kinds of ScrollBarClient that can be
2525         removed while the scrollbar is tracking the mouse. The scrollbar is not
2526         destroyed until later, and meanwhile it can try to call the client,
2527         which results in a crash.
2528
2529         * manual-tests/stale-scrollbar-client-crash.html: Added.
2530         * platform/ScrollBar.h:
2531         (WebCore::Scrollbar::setClient): Added.
2532         * rendering/RenderLayer.cpp:
2533         (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
2534         * rendering/RenderListBox.cpp:
2535         (WebCore::RenderListBox::~RenderListBox): Ditto.
2536
2537 2007-11-07  Adam Roben  <aroben@apple.com>
2538
2539         Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
2540
2541         Reviewed by Sam.
2542
2543         No test possible.
2544
2545         * platform/win/SharedBufferWin.cpp:
2546         (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
2547         empty path, because _wfopen_s will crash if we pass it a null pointer.
2548
2549 2007-11-07  David Kilzer  <ddkilzer@apple.com>
2550
2551         WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
2552         <http://bugs.webkit.org/show_bug.cgi?id=14893>
2553         <rdar://problem/5380295>
2554
2555         Reviewed by Darin.
2556
2557         Tests: fast/css/device-aspect-ratio.html
2558                fast/css/max-device-aspect-ratio.html
2559                fast/css/min-device-aspect-ratio.html
2560
2561         * css/MediaQueryEvaluator.cpp:
2562         (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
2563         (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
2564         a/b to h/v.  Switched first two arguments of the call to cmpvalue() to fix
2565         the bug.
2566
2567 2007-11-07  Dan Bernstein  <mitz@apple.com>
2568
2569         Reviewed by Dave Hyatt.
2570
2571         - fix http://bugs.webkit.org/show_bug.cgi?id=15887
2572           REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
2573
2574         Test: fast/css/display-none-inline-style-change-crash.html
2575
2576         * dom/Element.cpp:
2577         (WebCore::Element::recalcStyle): Fixed the crash by null-checking
2578         the current style and removed other checks that are not strictly
2579         necessary.
2580
2581 2007-11-07  Brady Eidson  <beidson@apple.com>
2582
2583         Rubberstamped by Sam
2584
2585         Remove FrameLoaderClient methods from SVG that were pruned awhile ago
2586
2587         * platform/graphics/svg/SVGImageEmptyClients.h:
2588
2589 2007-11-07  Dan Bernstein  <mitz@apple.com>
2590
2591         Reviewed by Darin Adler.
2592
2593         - fix a bug where CSS rules with :hover in the ancestor chain stopped
2594           working after changing the inline style declaration of the ancestor
2595
2596         Test: fast/css/affected-by-hover-after-style-change.html
2597
2598         * dom/Element.cpp:
2599         (WebCore::Element::recalcStyle): If we are not forcing style
2600         recalculation for all descendants, preserve any "affected by
2601         {hover|active|drag} bits that we may have acquired from them.
2602         Also renamed _style to currentStyle.
2603
2604 2007-11-06  Timothy Hatcher  <timothy@apple.com>
2605
2606         Reviewed by Adam.
2607
2608         Bug 11920: Web Inspector should have Firebug-like CSS editing
2609         http://bugs.webkit.org/show_bug.cgi?id=11920
2610
2611         * css/CSSComputedStyleDeclaration.h:
2612           (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
2613           this was true, but computed style has no concept of implicit. So false makes more sense
2614           and makes the code simpler in the inspector. This function was added for the inspector,
2615           so this isn't a compatibility change.
2616         * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
2617         * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
2618           style editing.
2619         * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
2620         * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
2621           trying to call a function based on the element's id. Call focused and blurred on the focused
2622           element when currentFocusElement is changed. Use the new listItemElement getter instead of
2623           the private property.
2624         * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
2625           Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
2626           to allow generation of the title using the DOM element. Add listItemElement and
2627           childrenListElement getters.
2628         * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
2629         * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
2630           property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
2631         * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
2632           instead of the private properties.
2633
2634 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2635
2636         Reviewed by Alexey Proskuryakov.
2637
2638         Coding style fix, don't use inline explicitly.
2639
2640         * bridge/WindowFeatures.h:
2641
2642 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2643
2644         Reviewed by Maciej.
2645
2646         For safety provide a default constructor for WindowFeatures().
2647         ContextMenuController.cpp: createNewWindow as well as QWebPage need to
2648         create a default initialized WindowFeatures object on the fly.
2649
2650         * bridge/WindowFeatures.h:
2651         (WebCore::WindowFeatures::WindowFeatures):
2652
2653 2007-11-07  Simon Hausmann  <shausman@trolltech.com>
2654
2655         Reviewed by Lars.
2656
2657         Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.
2658
2659         * WebCore.pro:
2660
2661 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2662
2663         Reviewed by Lars.
2664
2665         Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
2666
2667         * platform/graphics/qt/ImageQt.cpp:
2668         (loadResourcePixmap):
2669
2670 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2671
2672         Reviewed by Lars.
2673
2674         Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
2675
2676         * platform/graphics/qt/ImageQt.cpp:
2677         (loadResourcePixmap):
2678
2679 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2680
2681         Reviewed by Lars.
2682
2683         Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
2684         QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
2685         in ContextMenu::populate().
2686         For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
2687         out of it. That menu is currently not functional anymore though.
2688
2689         * platform/ContextMenu.h:
2690         * platform/ContextMenuItem.h:
2691         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
2692         * platform/PlatformMenuDescription.h:
2693         * platform/qt/ContextMenuItemQt.cpp:
2694         (WebCore::ContextMenuItem::ContextMenuItem):
2695         (WebCore::ContextMenuItem::type):
2696         (WebCore::ContextMenuItem::setType):
2697         (WebCore::ContextMenuItem::action):
2698         (WebCore::ContextMenuItem::setAction):
2699         (WebCore::ContextMenuItem::title):
2700         (WebCore::ContextMenuItem::setTitle):
2701         (WebCore::ContextMenuItem::platformSubMenu):
2702         (WebCore::ContextMenuItem::setSubMenu):
2703         (WebCore::ContextMenuItem::setChecked):
2704         (WebCore::ContextMenuItem::setEnabled):
2705         * platform/qt/ContextMenuQt.cpp:
2706         (WebCore::ContextMenu::ContextMenu):
2707         (WebCore::ContextMenu::~ContextMenu):
2708         (WebCore::ContextMenu::appendItem):
2709         (WebCore::ContextMenu::itemCount):
2710         (WebCore::ContextMenu::insertItem):
2711         (WebCore::ContextMenu::setPlatformDescription):
2712         (WebCore::ContextMenu::platformDescription):
2713
2714 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2715
2716         Reviewed by Lars.
2717
2718         Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
2719         but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
2720         Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
2721         on it.
2722
2723         * platform/qt/ContextMenuQt.cpp:
2724
2725 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2726
2727         Reviewed by Lars.
2728
2729         Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
2730         Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
2731
2732         * platform/PlatformMouseEvent.h:
2733         * platform/qt/PlatformMouseEventQt.cpp:
2734         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2735
2736 2007-11-07  Lars Knoll  <lars@trolltech.com>
2737
2738         Reviewed by Simon.
2739
2740         don't put nbsp's into the plan text paste
2741         
2742         Fix both ClipboardQt and PasteboardQt to replace
2743         nbsp's with spaces before putting the text onto the
2744         native clipboard. This is consistent with Mac and Win
2745         and fixes at least editing/pasteboard/4076267-3.html
2746
2747         * platform/qt/ClipboardQt.cpp:
2748         (WebCore::ClipboardQt::writeRange):
2749         * platform/qt/PasteboardQt.cpp:
2750         (WebCore::Pasteboard::writeSelection):
2751
2752 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2753
2754         Reviewed by Lars Knoll <lars@trolltech.com>.
2755
2756         Implement Pasteboard::writeImage()
2757         
2758         * Pasteboard is now fully implemented. Copying of Images into the Clipboard
2759         is now supported.
2760         * As with URLs we only copy into the Clipboard (and not additionally to the
2761         Selection)
2762         
2763
2764         WARNING: NO TEST CASES ADDED OR CHANGED
2765
2766         * platform/qt/PasteboardQt.cpp:
2767         (WebCore::Pasteboard::writeImage):
2768
2769 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2770
2771         Reviewed by Lars Knoll <lars@trolltech.com>.
2772
2773         Apple CodingStyle fixes
2774         
2775
2776         WARNING: NO TEST CASES ADDED OR CHANGED
2777
2778         * platform/qt/PasteboardQt.cpp:
2779         (WebCore::Pasteboard::documentFragment):
2780
2781 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2782
2783         Reviewed by Lars Knoll <lars@trolltech.com>.
2784
2785         Implement Pasteboard::writeURL()
2786         * The URL currently gets written as text/plain and text/uri-list.
2787         The win and mac port have some more types which we currently do
2788         not support. When supporting them we can use the 'titleString'
2789         as well.
2790         * As with writeSelection we only copy into the Clipboard. We could
2791         consider copying into the Selection as well.
2792         
2793
2794         WARNING: NO TEST CASES ADDED OR CHANGED
2795
2796         * platform/qt/PasteboardQt.cpp:
2797         (WebCore::Pasteboard::writeURL):
2798
2799 2007-11-07  Holger Hans Peter Freyther  <holger.freyther@trolltech.com>
2800
2801         Reviewed by Lars Knoll <lars@trolltech.com>.
2802
2803         Kill whitespace
2804         
2805
2806         WARNING: NO TEST CASES ADDED OR CHANGED
2807
2808         * platform/qt/PasteboardQt.cpp:
2809         (WebCore::Pasteboard::documentFragment):
2810
2811 2007-11-07  Lars Knoll  <lars@trolltech.com>
2812
2813         Reviewed by Simon.
2814
2815         Use the correct function calls to convert a selection to
2816         HTML or plain text.
2817
2818         WARNING: NO TEST CASES ADDED OR CHANGED
2819
2820         * platform/qt/ClipboardQt.cpp:
2821         (WebCore::ClipboardQt::setData):
2822         (WebCore::ClipboardQt::writeRange):
2823         * platform/qt/PasteboardQt.cpp:
2824         (WebCore::Pasteboard::writeSelection):
2825
2826 2007-11-07  Lars Knoll  <lars@trolltech.com>
2827
2828         Reviewed by Simon.
2829
2830         Some more clipboard fixes.
2831         
2832         We have to set things immediately on the QClipBoard if the
2833         Clipboard object is not for dragging.
2834         
2835         This is due to the fact that the Clipboard object might be
2836         rather long lived if accessed through javascript (it'll only
2837         get deleted by JS garbage collection). We have to transfer
2838         the data over to the QClipboard before that to make things work.
2839         
2840         Fixes editing/execCommand/copy-without-selection.html
2841
2842         * platform/qt/ClipboardQt.cpp:
2843         (WebCore::ClipboardQt::ClipboardQt):
2844         (WebCore::ClipboardQt::~ClipboardQt):
2845         (WebCore::ClipboardQt::clearData):
2846         (WebCore::ClipboardQt::clearAllData):
2847         (WebCore::ClipboardQt::getData):
2848         (WebCore::ClipboardQt::setData):
2849         (WebCore::ClipboardQt::declareAndWriteDragImage):
2850         (WebCore::ClipboardQt::writeURL):
2851         (WebCore::ClipboardQt::writeRange):
2852
2853 2007-11-07  Simon Hausmann  <hausmann@kde.org>
2854
2855         Reviewed by Mark.
2856
2857         Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
2858         not supported due to implicit forks, use IPC::Open2 instead.
2859
2860         * bindings/scripts/IDLParser.pm:
2861
2862 2007-11-07  Dan Bernstein  <mitz@apple.com>
2863
2864         Reviewed by Brady Eidson.
2865
2866         - fix http://bugs.webkit.org/show_bug.cgi?id=15877
2867           REGRESSION: r27486 caused a layout regression at my bank's website
2868
2869         Test: fast/block/float/overhanging-after-height-decrease-offsets.html
2870
2871         * rendering/RenderBlock.cpp:
2872         (WebCore::RenderBlock::layoutBlock):
2873
2874 2007-11-06  Beth Dakin  <bdakin@apple.com>
2875
2876         Reviewed by Sam.
2877
2878         <rdar://problem/5575812> REGRESSION:When using absolute positioning 
2879         with overflow:auto div, WebKit seems to add an additional 15px
2880
2881         * rendering/RenderBox.cpp:
2882         (WebCore::RenderBox::containingBlockWidthForPositioned): We need to 
2883         subtract off the vertical scrollbar width too.
2884
2885 2007-11-06  Justin Garcia  <justin.garcia@apple.com>
2886
2887         Reviewed by Dan Bernstein.
2888         
2889         <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
2890         <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
2891
2892         * editing/markup.cpp:
2893         (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
2894         that encloses the input context, unless that block is the body, which shouldn't
2895         be cloned.  In that case, use regular divs, as we did before r27369.
2896
2897 2007-11-06  Christian Dywan  <christian@twotoasts.de>
2898
2899         Reviewed by Darin.
2900
2901         Fix http://bugs.webkit.org/show_bug.cgi?id=15828
2902         Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
2903
2904         * WebCore.pro: Use sane default install paths for the gtk port.
2905
2906 2007-11-06  Justin Garcia  <justin.garcia@apple.com>
2907
2908         Reviewed by Darin Adler.
2909         
2910         <rdar://problem/5576619> 
2911         REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
2912
2913         * editing/TypingCommand.cpp:
2914         (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
2915         both of the other deletion commands, call typingAddedToOpenCommand(), which takes 
2916         the command's endingSelection and sets it as selection.
2917
2918 2007-11-06  Dan Bernstein  <mitz@apple.com>
2919
2920         Reviewed by Antti Koivisto and Dave Hyatt.
2921
2922         - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
2923
2924         Test: fast/block/float/overhanging-after-height-decrease.html
2925
2926         * rendering/RenderBlock.cpp:
2927         (WebCore::RenderBlock::layoutBlock): If after calculating the height
2928         it turns out that there are overhanging floats that were not overhanging
2929         before, rescan children with overhanging floats and add them. 
2930         (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
2931         returns the lowest float bottom of any of the children.
2932         (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
2933         lowest float bottom.
2934         * rendering/RenderBlock.h:
2935
2936 2007-11-06  Adele Peterson  <adele@apple.com>
2937
2938         Reviewed by Darin.
2939
2940         Switched all uses of HTMLImageLoader to use OwnPtrs.
2941
2942         * html/HTMLInputElement.h:
2943         * html/HTMLInputElement.cpp:
2944         (WebCore::HTMLInputElement::init):
2945         (WebCore::HTMLInputElement::~HTMLInputElement):
2946         (WebCore::HTMLInputElement::setInputType):
2947         (WebCore::HTMLInputElement::parseMappedAttribute):
2948         (WebCore::HTMLInputElement::attach):
2949         * html/HTMLObjectElement.h:
2950         * html/HTMLObjectElement.cpp:
2951         (WebCore::HTMLObjectElement::HTMLObjectElement):
2952         (WebCore::HTMLObjectElement::~HTMLObjectElement):
2953         (WebCore::HTMLObjectElement::parseMappedAttribute):
2954         (WebCore::HTMLObjectElement::attach):
2955         * html/HTMLVideoElement.h:
2956         * html/HTMLVideoElement.cpp:
2957         (WebCore::HTMLVideoElement::HTMLVideoElement):
2958         (WebCore::HTMLVideoElement::attach):
2959         (WebCore::HTMLVideoElement::detach):
2960         (WebCore::HTMLVideoElement::parseMappedAttribute):
2961
2962 2007-11-06  Antti Koivisto  <antti@apple.com>
2963
2964         Reviewed by Darin.
2965         
2966         Trigger media load on on src attribute changes as specified in new HTML5 draft.
2967
2968         Tests: media/video-src-change.html
2969                media/video-src-remove.html
2970                media/video-src-set.html
2971
2972         * html/HTMLMediaElement.cpp:
2973         (WebCore::HTMLMediaElement::attributeChanged):
2974         * html/HTMLMediaElement.h:
2975
2976 2007-11-06  Dan Bernstein  <mitz@apple.com>
2977
2978         Reviewed by Darin Adler.
2979
2980         - fix http://bugs.webkit.org/show_bug.cgi?id=15838
2981           Incomplete repaint toggling "How you know this person" on Facebook
2982
2983         Test: fast/repaint/make-children-non-inline.html
2984
2985         * rendering/RenderBlock.cpp:
2986         (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
2987         is needed because the inline children may be repositioned as they move
2988         into new anonymous blocks, but those blocks have no knowledge of where
2989         their children used to be, so they cannot invalidate those areas.
2990
2991 2007-11-06  Alexey Proskuryakov  <ap@webkit.org>
2992
2993         Reviewed by Darin.
2994
2995         http://bugs.webkit.org/show_bug.cgi?id=15847
2996         Some editing cleanup
2997
2998         No change in functionality.
2999
3000         * editing/TextIterator.cpp:
3001         (WebCore::plainText):
3002         * editing/TextIterator.h:
3003         Made WebCore::plainText() return String instead of DeprecatedString.
3004
3005         * bridge/mac/WebCoreAXObject.mm:
3006         (-[WebCoreAXObject textUnderElement]):
3007         (-[WebCoreAXObject value]):
3008         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
3009         (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
3010         (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
3011         Updated for the above change. There is no need to explicitly convert to NSString now.
3012
3013         * editing/EditCommand.cpp:
3014         (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
3015         initialized in constructor body, so the work done in initializer list was wasted.
3016
3017         (WebCore::EditCommand::apply): Moved some stars.
3018         (WebCore::EditCommand::unapply): Ditto.
3019         (WebCore::EditCommand::reapply): Ditto.
3020         (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
3021         removed one of the checks.
3022
3023         * editing/SelectionController.cpp:
3024         (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
3025
3026         * page/mac/WebCoreFrameBridge.h:
3027         * page/mac/WebCoreFrameBridge.mm:
3028         Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
3029         -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
3030
3031 2007-11-05  Mark Rowe  <mrowe@apple.com>
3032
3033         Mac build fix.
3034
3035         * bindings/js/JSHTMLDocumentCustom.cpp:
3036         (WebCore::writeHelper):
3037
3038 2007-11-05  Adam Roben  <aroben@apple.com>
3039
3040         Don't crash if SafariTheme can't be loaded
3041
3042         PlatformScrollBarSafari and RenderThemeSafari were not checking
3043         whether SafariTheme was successfully loaded. All other uses of
3044         SafariTheme already check this.
3045
3046         Reviewed by Steve.
3047
3048         * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
3049         couldn't be loaded.
3050         (WebCore::PlatformScrollbar::paintButton):
3051         (WebCore::PlatformScrollbar::paintTrack):
3052         (WebCore::PlatformScrollbar::paintThumb):
3053         * rendering/RenderThemeSafari.cpp:
3054         (WebCore::RenderThemeSafari::isControlStyled): Always return true if
3055         we couldn't load SafariTheme. This way we should never try to paint
3056         themed controls (and we assert as such in the paint functions).
3057         (WebCore::RenderThemeSafari::paintCheckbox):
3058         (WebCore::RenderThemeSafari::paintRadio):
3059         (WebCore::RenderThemeSafari::paintButton):
3060         (WebCore::RenderThemeSafari::paintTextField):
3061         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3062         (WebCore::RenderThemeSafari::paintTextArea):
3063         (WebCore::RenderThemeSafari::paintMenuList):
3064         (WebCore::RenderThemeSafari::paintSliderThumb):
3065         (WebCore::RenderThemeSafari::paintSearchField):
3066         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
3067         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
3068         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
3069
3070 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
3071
3072         Adding the rest of wx port's graphics impl. 
3073
3074         Rubber-stamped by Maciej Stachowiak.
3075
3076         * platform/graphics/wx/AffineTransformWx.cpp: Added.
3077         * platform/graphics/wx/GraphicsContextWx.cpp: Added.
3078         * platform/graphics/wx/ImageBufferWx.cpp: Added.
3079         * platform/graphics/wx/ImageSourceWx.cpp: Added.
3080         * platform/graphics/wx/ImageWx.cpp: Added.
3081         * platform/graphics/wx/PathWx.cpp: Added.
3082
3083 2007-11-05  Kevin Ollivier  <kevino@theolliviers.com>
3084
3085         wx port bug fixes and new files to get platform/wx building on trunk.
3086
3087         Rubber-stamped by Maciej Stachowiak.
3088
3089         * platform/wx/CursorWx.cpp:
3090         * platform/wx/FileSystemWx.cpp: Added.
3091         * platform/wx/FontCacheWx.cpp:
3092         * platform/wx/FontPlatformDataWx.cpp:
3093         * platform/wx/FontWx.cpp:
3094         * platform/wx/KeyboardEventWx.cpp:
3095         * platform/wx/LocalizedStringsWx.cpp: Added.
3096         * platform/wx/LoggingWx.cpp: Added.
3097         * platform/wx/RenderThemeWx.cpp:
3098         * platform/wx/ScrollViewWx.cpp:
3099         * platform/wx/SharedTimerWx.cpp:
3100         * platform/wx/StringWx.cpp:
3101         * platform/wx/ThreadingWx.cpp: Added.
3102         * platform/wx/WidgetWx.cpp:
3103
3104 2007-11-05  Adele Peterson  <adele@apple.com>
3105
3106         Reviewed by Maciej.
3107
3108         Fix for <rdar://problem/5579999> Add poster attribute for video element
3109
3110         * html/HTMLAttributeNames.in: Added poster attribute.
3111
3112         * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
3113           Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. 
3114         * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
3115         * dom/Element.h:
3116         * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
3117         * html/HTMLObjectElement.h:
3118
3119         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
3120           Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
3121         * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline.  HTMLVideoElement now also implements this.
3122
3123         * html/HTMLVideoElement.idl: Added case for poster attribute.
3124         * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
3125         * html/HTMLVideoElement.cpp:
3126         (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
3127         (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
3128         (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
3129         (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
3130         (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
3131         (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
3132         (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
3133         (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
3134         (WebCore::HTMLVideoElement::isURLAttribute): Added.
3135         (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
3136         (WebCore::HTMLVideoElement::updatePosterImage): Added.  Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
3137
3138 2007-11-05  Adam Roben  <aroben@apple.com>
3139
3140         Fix <rdar://5563572> SVG image support is turned off
3141
3142         Turned on SVG images for all platforms.
3143
3144         Reviewed by Eric.
3145
3146         * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
3147         * loader/CachedImage.cpp:
3148         (WebCore::CachedImage::createImage): Removed platform checks for
3149         SVGImage.
3150
3151 2007-11-05  Antti Koivisto  <antti@apple.com>
3152
3153         Reviewed by Darin.
3154
3155         QTMovieView can generate callbacks during paint. This can lead to crashes.
3156         
3157         Delay callbacks so they get handled after painting is completed. No test case,
3158         I don't know how to reliably reproduce this.
3159
3160         * platform/graphics/mac/MoviePrivateQTKit.mm:
3161         (WebCore::MoviePrivate::MoviePrivate):
3162         (WebCore::MoviePrivate::~MoviePrivate):
3163         (WebCore::MoviePrivate::paint):
3164         (-[WebCoreMovieObserver initWithCallback:WebCore::]):
3165         (-[WebCoreMovieObserver disconnect]):
3166         (-[WebCoreMovieObserver loadStateChanged:]):
3167         (-[WebCoreMovieObserver rateChanged:]):
3168         (-[WebCoreMovieObserver sizeChanged:]):
3169         (-[WebCoreMovieObserver timeChanged:]):
3170         (-[WebCoreMovieObserver volumeChanged:]):
3171         (-[WebCoreMovieObserver didEnd:]):
3172         (-[WebCoreMovieObserver setDelayCallbacks:]):
3173
3174 2007-11-05  Antti Koivisto  <antti@apple.com>
3175
3176         Reviewed by Adam.
3177
3178         Add some missing WebCore* prefixes to ObjC classes
3179
3180         * platform/mac/FileChooserMac.mm:
3181         (WebCore::FileChooser::FileChooser):
3182         * platform/mac/SharedBufferMac.mm:
3183         (WebCore::SharedBuffer::createNSData):
3184         (WebCore::SharedBuffer::createCFData):
3185         * platform/mac/SharedTimerMac.cpp:
3186         (WebCore::setSharedTimerFireTime):
3187
3188 2007-11-05  Ada Chan  <adachan@apple.com>
3189
3190         <rdar://problem/5579772> Regression: AltGr does not work
3191         We now store the system key event info in PlatforkKeyboardEvent().
3192
3193         Reviewed by Oliver.
3194
3195         * platform/PlatformKeyboardEvent.h:
3196         (WebCore::PlatformKeyboardEvent::isSystemKey):
3197         * platform/win/KeyEventWin.cpp:
3198         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3199
3200 2007-11-02  Tristan O'Tierney  <tristan@apple.com>
3201
3202         Reviewed by Darin Adler.
3203
3204         * WebCore.xcodeproj/project.pbxproj:
3205         Set WindowFeatures.h as a Private header.
3206         
3207         * loader/FrameLoader.cpp:
3208         (WebCore::FrameLoader::createWindow):
3209         Revised to use a single createWindow function instead of
3210         two createWindow functions and one createModalDialog function.
3211         The logic for this is now addressed in WebKit in an effort
3212         to make this easier to follow.
3213         
3214         * page/Chrome.cpp:
3215         (WebCore::Chrome::createWindow):
3216         * page/Chrome.h:
3217         * page/ChromeClient.h:
3218         * page/ContextMenuController.cpp:
3219         (WebCore::openNewWindow):
3220         * platform/graphics/svg/SVGImageEmptyClients.h:
3221         (WebCore::SVGEmptyChromeClient::createWindow):
3222         Revised to take new additional windowFeatures parameter.
3223
3224 2007-11-04  Geoffrey Garen  <ggaren@apple.com>
3225
3226         Reviewed by Darin Adler.
3227         
3228         http://bugs.webkit.org/show_bug.cgi?id=15835
3229
3230         Small adaptations to new KJS::List class.
3231
3232         * bindings/js/kjs_window.cpp:
3233         (KJS::WindowFunc::callAsFunction):
3234         (KJS::ScheduledAction::ScheduledAction):
3235
3236 2007-11-05  Adam Roben  <aroben@apple.com>
3237
3238         Allow passing a base class pointer to COMPtr::copyRefTo
3239
3240         Reviewed by Sam.
3241
3242         * platform/win/COMPtr.h:
3243
3244 2007-11-05  Dan Bernstein  <mitz@apple.com>
3245
3246         Reviewed by Oliver Hunt.
3247
3248         - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
3249
3250         Test: fast/dom/class-all-whitespace.html
3251
3252         * dom/StyledElement.cpp:
3253         (WebCore::StyledElement::parseMappedAttribute): Check if there is any
3254         non-whitespace character in the class attribute.
3255
3256 2007-11-05  Brady Eidson  <beidson@apple.com>
3257
3258         Reviewed by Sam
3259
3260         Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
3261         of the sql storage API
3262
3263         * storage/DatabaseAuthorizer.cpp:
3264         (WebCore::DatabaseAuthorizer::allowTransaction):
3265         * storage/DatabaseAuthorizer.h:
3266
3267 2007-11-05  Mark Rowe  <mrowe@apple.com>
3268
3269         Reviewed by Alp Toker.
3270
3271         Have getMIMETypeForExtension return a null string when no MIME type is known
3272         for the extension rather than returning "text/plain".  This prevents plugin data
3273         being dumped into object elements when plugins are disabled.
3274
3275         * platform/gtk/MIMETypeRegistryGtk.cpp:
3276         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3277
3278 2007-11-04  Sam Weinig  <sam@webkit.org>
3279
3280         Rubber-stamped by Adam Roben.
3281
3282         Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to 
3283         clear up ambiguity.
3284
3285         * bindings/js/kjs_window.cpp:
3286         (KJS::Window::isSafeScript):
3287         * platform/SecurityOrigin.cpp:
3288         (WebCore::SecurityOrigin::canAccess):
3289         * platform/SecurityOrigin.h:
3290
3291 2007-11-04  Timothy Hatcher  <timothy@apple.com>
3292
3293         Reviewed by Adam.
3294
3295         Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
3296         http://bugs.webkit.org/show_bug.cgi?id=15834
3297
3298         - Broke up DocumentPanel and added three SidebarPane sub-classes.
3299         - Fixed many Style pane bugs, including:
3300           * Poor handling of duplicate properties in the same rule. Some of this can't be
3301             fixed since we can't only get the "winning" value for duplicate properties.
3302             So we should only show one entry per unique property name.
3303           * Computed style does not show font shorthand sub-properties if 'font' was used.
3304           * Property priority was broken, the wrong properties were crossed out.
3305           * The 'border' shorthand shows null for the shorthand value.
3306           * Shorthands didn't show their priority (e.g. !important).
3307           * HSL and HTML hex colors didn't have preview swatch blocks.
3308           * Code refactoring, making it easier to reuse for console.log later.
3309
3310         * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
3311           classes in new files.
3312         * page/inspector/MetricsSidebarPane.js: Added.
3313         * page/inspector/Panel.js: Remove an InspectorController.log() call.
3314         * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
3315           So TreeElements can access properties on their section.
3316         * page/inspector/PropertiesSidebarPane.js: Added.
3317         * page/inspector/SidebarPane.js: Remove the explicit asignment of the
3318           onexpand and oncollapse to null. These were hiding prototypes.
3319         * page/inspector/StylesSidebarPane.js: Added.
3320         * page/inspector/inspector.html: Include the new script files.
3321         * page/inspector/treeoutline.js: If a null representedObject is passed
3322           in just use a empty object.
3323
3324 2007-11-04  David D. Kilzer  <ddkilzer@webkit.org>
3325
3326         Fix build when spaces appear in the WebKit source path.
3327
3328         Reviewed by Mark Rowe.
3329
3330         * bindings/scripts/IDLParser.pm: Use safer open() method which lists
3331         arguments individually and prevents the need to work around spaces
3332         in the path.
3333
3334 2007-11-04  Alp Toker  <alp@atoker.com>
3335
3336         Reviewed by Alexey Proskuryakov.
3337
3338         Fix a crash when no clipboard text is available
3339
3340         * platform/gtk/PasteboardGtk.cpp:
3341         (WebCore::Pasteboard::plainText):
3342
3343 2007-11-03  Darin Adler  <darin@apple.com>
3344
3345         Reviewed by Maciej.
3346
3347         - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
3348           remove unused PCRE features for speed
3349
3350         * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
3351         * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
3352         Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
3353         Use "\d" instead.
3354
3355         * platform/RegularExpression.h: Remove the unused cap function. We can
3356         add it back later if we find we need it.
3357         * platform/RegularExpression.cpp:
3358         (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
3359         regular expression entry point changes.
3360         (WebCore::RegularExpression::Private::~Private): Ditto.
3361         (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
3362         This means that regular expressions with metacharactesr like ^ in them
3363         won't work any more with non-whole-string searches, but we don't use
3364         any regular expressions like that.
3365
3366 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
3367
3368         Update the link stubs to match the current build,
3369         and fix coding style issues.
3370
3371         Reviewed by Mark Rowe.
3372
3373         * platform/wx/TemporaryLinkStubs.cpp:
3374         (loadResourceIntoArray):
3375         (findNextSentenceFromIndex):
3376         (findSentenceBoundary):
3377         (Frame::dashboardRegionsChanged):
3378         (WebCore::historyContains):
3379         (CachedPage::close):
3380         (Editor::showStylesPanel):
3381         (EventHandler::passSubframeEventToSubframe):
3382         (EventHandler::passWheelEventToWidget):
3383         (WebCore::currentTextBreakLocaleID):
3384
3385 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
3386
3387         wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
3388
3389         Reviewed by Mark Rowe.
3390
3391         * platform/graphics/wx/FloatRectWx.cpp: Added.
3392         * platform/graphics/wx/IntPointWx.cpp: Added.
3393         * platform/graphics/wx/IntRectWx.cpp: Added.
3394
3395 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
3396
3397         wx <-> WebKit data type conversions for Pen and Color.
3398
3399         Reviewed by Darin Adler.
3400
3401         * platform/graphics/wx: Added.
3402         * platform/graphics/wx/ColorWx.cpp: Added.
3403         * platform/graphics/wx/PenWx.cpp: Added.
3404
3405 2007-11-03  Sam Weinig  <sam@webkit.org>
3406
3407         Reviewed by Oliver.
3408
3409         Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
3410         The variable had been kept around for binary compatibility, but since nothing
3411         else is there is no point in continuing to keep it around.
3412
3413         * bindings/js/JSDOMExceptionConstructor.cpp:
3414         (WebCore::):
3415         * bindings/js/JSHTMLInputElementBase.cpp:
3416         (WebCore::):
3417         * bindings/js/JSNamedNodesCollection.cpp:
3418         (WebCore::):
3419         * bindings/js/JSXMLHttpRequest.cpp:
3420         (KJS::):
3421         * bindings/js/JSXSLTProcessor.cpp:
3422         (KJS::):
3423         * bindings/js/kjs_css.cpp:
3424         (WebCore::):
3425         * bindings/js/kjs_events.cpp:
3426         (WebCore::):
3427         * bindings/js/kjs_navigator.cpp:
3428         (KJS::):
3429         * bindings/js/kjs_window.cpp:
3430         (KJS::):
3431         * bindings/scripts/CodeGeneratorJS.pm:
3432
3433 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
3434
3435         Build fixes to get wx impls. building on trunk.
3436
3437         Reviewed by Mark Rowe.
3438
3439         * platform/wx/DragDataWx.cpp:
3440         (WebCore::DragData::containsFiles):
3441         (WebCore::DragData::asFilenames):
3442         * platform/wx/DragImageWx.cpp:
3443         (WebCore::scaleDragImage):
3444         * platform/wx/MimeTypeRegistryWx.cpp:
3445         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3446         * platform/wx/MouseEventWx.cpp:
3447         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3448         * platform/wx/MouseWheelEventWx.cpp:
3449         * platform/wx/PasteboardWx.cpp:
3450         (WebCore::Pasteboard::writeImage):
3451         * platform/wx/WidgetWx.cpp:
3452         (WebCore::Widget::setCursor):
3453
3454 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
3455
3456         Sort files(...); sections of Xcode project files.
3457
3458         Rubber-stamped by Darin.
3459
3460         * WebCore.xcodeproj/project.pbxproj:
3461         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
3462
3463 2007-11-03  Kevin Ollivier  <kevino@theolliviers.com>
3464
3465         Coding style fixes for platform/wx files.
3466
3467         Reviewed by Mark Rowe.
3468
3469         * platform/wx/ClipboardWx.cpp:
3470         * platform/wx/GlyphMapWx.cpp:
3471         * platform/wx/ScreenWx.cpp:
3472
3473 2007-11-03  Alp Toker  <alp@atoker.com>
3474
3475         Reviewed by Mark Rowe.
3476
3477         Implement platform scrollbar static width/height getters
3478
3479         * platform/gtk/PlatformScrollBar.h:
3480         * platform/gtk/PlatformScrollBarGtk.cpp:
3481         (scrollbarSize):
3482         (PlatformScrollbar::horizontalScrollbarHeight):
3483
3484 2007-11-03  Alp Toker  <alp@atoker.com>
3485
3486         Reviewed by Mark Rowe.
3487
3488         Cast function pointers to gpointer.
3489
3490         * platform/gtk/PlatformScrollBarGtk.cpp:
3491         (PlatformScrollbar::~PlatformScrollbar):
3492
3493 2007-11-03  Alp Toker  <alp@atoker.com>
3494
3495         Reviewed by Adam Roben.
3496
3497         RenderThemeGtk implementation based on Mozilla's GTK+ style code
3498
3499         There is still work needed to complete this feature.
3500
3501         * WebCore.pro:
3502         * platform/gtk/RenderThemeGtk.cpp:
3503         (WebCore::theme):
3504         (WebCore::RenderThemeGtk::RenderThemeGtk):
3505         (WebCore::supportsFocus):
3506         (WebCore::RenderThemeGtk::supportsFocusRing):
3507         (WebCore::RenderThemeGtk::controlSupportsTints):
3508         (WebCore::RenderThemeGtk::baselinePosition):
3509         (WebCore::adjustMozStyle):
3510         (WebCore::setMozState):
3511         (WebCore::paintMozWidget):
3512         (WebCore::setButtonPadding):
3513         (WebCore::setToggleSize):
3514         (WebCore::RenderThemeGtk::setCheckboxSize):
3515         (WebCore::RenderThemeGtk::paintCheckbox):
3516         (WebCore::RenderThemeGtk::setRadioSize):
3517         (WebCore::RenderThemeGtk::paintRadio):
3518         (WebCore::RenderThemeGtk::adjustButtonStyle):
3519         (WebCore::RenderThemeGtk::paintButton):
3520         (WebCore::RenderThemeGtk::adjustMenuListStyle):
3521         (WebCore::RenderThemeGtk::paintMenuList):
3522         (WebCore::RenderThemeGtk::adjustTextFieldStyle):
3523         (WebCore::RenderThemeGtk::paintTextField):
3524         (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
3525         (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
3526         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
3527         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
3528         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
3529         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
3530         (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
3531         (WebCore::RenderThemeGtk::paintSearchField):
3532         (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
3533         (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
3534         (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
3535         (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
3536         (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
3537         (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
3538         (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
3539         (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
3540         (WebCore::RenderThemeGtk::caretBlinkFrequency):
3541         (WebCore::RenderThemeGtk::systemFont):
3542         (WebCore::gtkStyleSetCallback):
3543         (WebCore::RenderThemeGtk::gtkContainer):
3544         (WebCore::RenderThemeGtk::gtkEntry):
3545         (WebCore::RenderThemeGtk::gtkTreeView):
3546         * platform/gtk/RenderThemeGtk.h:
3547         * platform/gtk/gtk2drawing.c: Added.
3548         (moz_gtk_enable_style_props):
3549         (ensure_window_widget):
3550         (setup_widget_prototype):
3551         (ensure_button_widget):
3552         (ensure_checkbox_widget):
3553         (ensure_radiobutton_widget):
3554         (ensure_scrollbar_widget):
3555         (ensure_spin_widget):
3556         (ensure_scale_widget):
3557         (ensure_entry_widget):
3558         (ensure_option_menu_widget):
3559         (ensure_arrow_widget):
3560         (ensure_handlebox_widget):
3561         (ensure_toolbar_widget):
3562         (ensure_tooltip_widget):
3563         (ensure_tab_widget):
3564         (ensure_progress_widget):
3565         (ensure_frame_widget):
3566         (ensure_menu_bar_widget):
3567         (ensure_menu_bar_item_widget):
3568         (ensure_menu_popup_widget):
3569         (ensure_menu_item_widget):
3570         (ensure_check_menu_item_widget):
3571         (ConvertGtkState):
3572         (TSOffsetStyleGCArray):
3573         (TSOffsetStyleGCs):
3574         (moz_gtk_button_paint):
3575         (moz_gtk_init):
3576         (moz_gtk_checkbox_get_metrics):
3577         (moz_gtk_radio_get_metrics):
3578         (moz_gtk_checkbox_get_focus):
3579         (moz_gtk_radio_get_focus):
3580         (moz_gtk_button_get_focus):
3581         (moz_gtk_option_menu_get_metrics):
3582         (moz_gtk_toggle_paint):
3583         (calculate_arrow_dimensions):
3584         (moz_gtk_scrollbar_button_paint):
3585         (moz_gtk_scrollbar_trough_paint):
3586         (moz_gtk_scrollbar_thumb_paint):
3587         (moz_gtk_spin_paint):
3588         (moz_gtk_scale_paint):
3589         (moz_gtk_scale_thumb_paint):
3590         (moz_gtk_gripper_paint):
3591         (moz_gtk_entry_paint):
3592         (moz_gtk_option_menu_paint):
3593         (moz_gtk_dropdown_arrow_paint):
3594         (moz_gtk_container_paint):
3595         (moz_gtk_toggle_label_paint):
3596         (moz_gtk_toolbar_paint):
3597         (moz_gtk_tooltip_paint):
3598         (moz_gtk_frame_paint):
3599         (moz_gtk_progressbar_paint):
3600         (moz_gtk_progress_chunk_paint):
3601         (moz_gtk_tab_paint):
3602         (moz_gtk_tabpanels_paint):
3603         (moz_gtk_menu_bar_paint):
3604         (moz_gtk_menu_popup_paint):
3605         (moz_gtk_menu_item_paint):
3606         (moz_gtk_check_menu_item_paint):
3607         (moz_gtk_window_paint):
3608         (moz_gtk_get_widget_border):
3609         (moz_gtk_get_dropdown_arrow_size):
3610         (moz_gtk_get_scalethumb_metrics):
3611         (moz_gtk_get_scrollbar_metrics):
3612         (moz_gtk_widget_paint):
3613         (moz_gtk_get_scrollbar_widget):
3614         (moz_gtk_shutdown):
3615         * platform/gtk/gtkdrawing.h: Added.
3616
3617 2007-11-03  Alp Toker  <alp@atoker.com>
3618
3619         Reviewed by Mark Rowe.
3620
3621         Do not allow scrollbars to handle wheel events
3622         
3623         We bubble the wheel event up so the parent can handle it instead.
3624
3625         * platform/gtk/PlatformScrollBarGtk.cpp:
3626         (gtkScrollEventCallback):
3627         (PlatformScrollbar::PlatformScrollbar):
3628         (PlatformScrollbar::~PlatformScrollbar):
3629
3630 2007-11-03  Alp Toker  <alp@atoker.com>
3631
3632         Reviewed by Mark Rowe.
3633
3634         Frame scrolling and invalidation fixes
3635
3636         Make upward scroll events have a positive delta to match other ports.
3637
3638         Fix the invalidation rect offset for frames so that scrolling works properly.
3639
3640         Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
3641
3642         Allow tabbing to all widgets and links.
3643
3644         Fix event returns, improving the focus situation and correcting scroll wheel
3645         behavior.
3646
3647         * page/gtk/EventHandlerGtk.cpp:
3648         (WebCore::EventHandler::tabsToAllControls):
3649         (WebCore::EventHandler::passWheelEventToWidget):
3650         * platform/gtk/ScrollViewGtk.cpp:
3651         (WebCore::ScrollViewScrollbar::geometryChanged):
3652         (WebCore::ScrollView::updateContents):
3653         (WebCore::ScrollView::update):
3654         (WebCore::ScrollView::wheelEvent):
3655         (WebCore::ScrollView::updateScrollbars):
3656         * platform/gtk/WheelEventGtk.cpp:
3657         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3658
3659 2007-11-03  David D. Kilzer  <ddkilzer@webkit.org>
3660
3661         LGPL'ed files contain incorrect FSF address
3662         <http://bugs.webkit.org/show_bug.cgi?id=14885>
3663
3664         Reviewed by NOBODY (follow-up fix).
3665
3666         * bindings/js/JSSVGTransformListCustom.cpp:
3667         * ksvg2/svg/SVGException.idl:
3668         * ksvg2/svg/SVGTextPathElement.cpp:
3669         * ksvg2/svg/SVGTextPathElement.h:
3670         * ksvg2/svg/SVGViewSpec.cpp:
3671         * ksvg2/svg/SVGViewSpec.h:
3672         * platform/mac/FontCustomPlatformData.cpp:
3673         * platform/mac/FontCustomPlatformData.h:
3674         * platform/mac/FontPlatformDataMac.mm:
3675         * platform/win/FontCustomPlatformData.cpp:
3676         * platform/win/FontCustomPlatformData.h:
3677         * rendering/RenderSVGRoot.cpp:
3678         * rendering/RenderSVGRoot.h:
3679         * rendering/RenderSVGTextPath.cpp:
3680         * rendering/RenderSVGTextPath.h:
3681         * rendering/RenderSVGTransformableContainer.h:
3682         * rendering/RenderSVGViewportContainer.cpp:
3683         * rendering/RenderSVGViewportContainer.h:
3684         * rendering/SVGCharacterLayoutInfo.cpp:
3685         * rendering/SVGCharacterLayoutInfo.h:
3686         * rendering/SVGRenderSupport.cpp:
3687         * rendering/SVGRenderSupport.h:
3688
3689 2007-11-02  Antti Koivisto  <antti@apple.com>
3690
3691         Reviewed by Adam.
3692         
3693         Add video width/height DOM and content attributes from latest HTML5 draft.
3694
3695         Test: media/video-width-height.html
3696
3697         * html/HTMLVideoElement.cpp:
3698         (WebCore::HTMLVideoElement::parseMappedAttribute):
3699         (WebCore::HTMLVideoElement::width):
3700         (WebCore::HTMLVideoElement::setWidth):
3701         (WebCore::HTMLVideoElement::height):
3702         (WebCore::HTMLVideoElement::setHeight):
3703         * html/HTMLVideoElement.h:
3704         * html/HTMLVideoElement.idl:
3705
3706 2007-11-02  Darin Adler  <darin@apple.com>
3707
3708         Reviewed by Maciej.
3709
3710         * DerivedSources.make: Remove a few explicit filenames from some rules by using
3711         make variables a little more.
3712         * WebCore.LP64.exp: Fix typo, grammar.
3713
3714 2007-11-02  Darin Adler  <darin@apple.com>
3715
3716         Reviewed by Maciej.
3717
3718         - use the new HashMap::take function where appropriate
3719
3720         * bindings/js/kjs_binding.cpp:
3721         (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
3722         (KJS::removeWrapper): Ditto.
3723         (KJS::removeWrappers): Ditto.
3724         (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
3725         (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
3726         of remove -- in theory ever so slightly less efficient, but I think it's fine.
3727         (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
3728         (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
3729         (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
3730         (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
3731
3732         * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
3733         * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
3734         * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
3735         * rendering/RenderBlock.cpp:
3736         (WebCore::RenderBlock::~RenderBlock): Ditto.
3737         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
3738         * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
3739
3740 2007-11-02  Antti Koivisto  <antti@apple.com>
3741
3742         Reviewed by Darin.
3743
3744         Enable video composition.
3745
3746         * WebCore.base.exp:
3747         * platform/graphics/mac/MoviePrivateQTKit.mm:
3748         (WebCore::MoviePrivate::createQTMovieView):
3749         * platform/mac/WebCoreSystemInterface.h:
3750         * platform/mac/WebCoreSystemInterface.mm:
3751
3752 2007-11-02  Darin Adler  <darin@apple.com>
3753
3754         Reviewed by Mitz.
3755
3756         - fix http://bugs.webkit.org/show_bug.cgi?id=15806
3757           <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
3758
3759         Test: fast/forms/remove-radio-button-assert.html
3760
3761         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
3762         Added protected function to be used by derived classes that need to do the same sort
3763         of removal from form that's automatically done by the base class in certain circumstances.
3764         * html/HTMLGenericFormElement.h: Added removeFromForm.
3765
3766         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
3767         Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
3768         part of this object. By the time we get to the base class's destructor it's too late.
3769         The problem is specific to radio buttons so we don't have to worry about other classes
3770         derived from HTMLGenericFormElement.
3771
3772 2007-11-02  Darin Adler  <darin@apple.com>
3773
3774         Reviewed by Mitz.
3775
3776         - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
3777           <rdar://problem/5510779> crashes in isLoadingMultipartContent
3778
3779         * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
3780         Instead of asserting the frame loader is non-0, return false if it is 0.
3781
3782 2007-11-02  Darin Adler  <darin@apple.com>
3783
3784         Reviewed by Mitz.
3785
3786         - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
3787           URL and MIME type is omitted
3788
3789         Already covered by existing tests (that had incorrect results).
3790
3791         * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
3792         failure when both URL and MIME type are empty. The old code would not attempt a load, but
3793         it would indicate success.
3794
3795         * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
3796         non-helpful early exit for the case where there is no URL and no type. Returning early
3797         prevents the fallback code from running.
3798
3799 2007-11-02  Alp Toker  <alp@atoker.com>
3800
3801         Reviewed by Darin.
3802
3803         Include Cairo headers properly
3804
3805         * platform/graphics/AffineTransform.h:
3806         * platform/graphics/ImageBuffer.h:
3807         * platform/graphics/cairo/AffineTransformCairo.cpp:
3808         * platform/gtk/FontPlatformDataGtk.cpp:
3809
3810 2007-11-01  Oliver Hunt  <oliver@apple.com>
3811
3812         Reviewed by Alexey.
3813
3814         Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key        
3815
3816         * platform/win/KeyEventWin.cpp:
3817         (WebCore::keyIdentifierForWindowsKeyCode):
3818         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3819
3820 2007-11-01  Geoffrey Garen  <ggaren@apple.com>
3821
3822         Reviewed by Maciej Stachowiak.
3823         
3824         In preparation for making List a simple stack-allocated Vector:
3825
3826         Removed all instances of List copying, assignment, and/or storage.
3827         
3828         Layout tests and JS tests pass.
3829
3830         * bindings/js/kjs_window.cpp:
3831         (KJS::WindowFunc::callAsFunction): Stores a Vector of protected 
3832         JSValue*'s instead of a List now. Converts to List on the fly when 
3833         calling the timer function. This is slightly less efficient, but the 
3834         common case is 0-2 arguments, so it's no biggie.
3835
3836         (HTML iBench shows no regression. PLT does not use JS timers.)
3837         
3838         (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
3839         List::slice now.
3840         (KJS::ScheduledAction::ScheduledAction): ditto
3841
3842         * bindings/objc/WebScriptObject.mm:
3843         (getListFromNSArray): Takes a List out parameter now, to avoid copying.
3844
3845 2007-11-01  Oliver Hunt  <oliver@apple.com>
3846
3847         Reviewed by Geoff.
3848
3849         Correct event behaviour on certain control keys
3850
3851         Make sure we send the correct keyDown and keyUp events for the
3852         control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
3853         uses Windows key codes for the event keyCode.
3854
3855         * WebCore.base.exp:
3856         * page/EventHandler.cpp:
3857         (WebCore::EventHandler::keyEvent):
3858         * platform/PlatformKeyboardEvent.h:
3859         * platform/gtk/KeyEventGtk.cpp:
3860         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3861         * platform/mac/KeyEventMac.mm:
3862         (WebCore::keyIdentifierForKeyEvent):
3863         (WebCore::WindowsKeyCodeForKeyEvent):
3864         (WebCore::isKeyUpEvent):
3865         (WebCore::textFromEvent):
3866         (WebCore::unmodifiedTextFromEvent):
3867         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3868         * platform/win/KeyEventWin.cpp:
3869         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3870         * platform/wx/KeyEventWin.cpp:
3871         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3872
3873 2007-11-01  Timothy Hatcher  <timothy@apple.com>
3874
3875         Reviewed by Sam.
3876
3877         * page/inspector/inspector.css: Use the white disclosure triangles
3878           when a parent DOM element is sepected.
3879
3880 2007-11-01  Justin Garcia  <justin.garcia@apple.com>
3881
3882         Reviewed by Oliver Hunt.
3883
3884         <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
3885
3886         * editing/ReplaceSelectionCommand.cpp:
3887         (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
3888         into a plaintext-only region, since when we build the fragment to insert from
3889         plain text, we don't put any style information on it, so it will automatically
3890         match style with no intervention.
3891         * editing/markup.cpp:
3892         (WebCore::createFragmentFromText): Place paragraphs into clones of the
3893         block being inserted into, instead of default paragraph elements,
3894         so that when inserted content will match the surrounding paragraph style.
3895         This was broken before, but I haven't added a layout test yet because
3896         there currently isn't a way to get only plain text onto the pasteboard
3897         in a layout test.
3898
3899 2007-11-01  Sam Weinig  <sam@webkit.org>
3900
3901         Reviewed by Adam Roben. 
3902
3903         Add a releaseRef method to COMPtr which matches the behavior
3904         of the method by the same name in PassRefPtr.  This is in
3905         preparation of adding autogenerated COM DOM bindings.
3906
3907         * platform/win/COMPtr.h:
3908         (COMPtr::releaseRef):
3909
3910 2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
3911
3912         wx impl. for DragController and EventHandler interfaces.
3913
3914         Reviewed by Adam Roben.
3915
3916         * page/wx: Added.
3917         * page/wx/DragControllerWx.cpp: Added.
3918         (WebCore::DragController::isCopyKeyDown):
3919         (WebCore::DragController::dragOperation):
3920         (WebCore::DragController::maxDragImageSize):
3921         * page/wx/EventHandlerWx.cpp: Added.
3922         (WebCore::EventHandler::passMousePressEventToSubframe):
3923         (WebCore::EventHandler::passMouseMoveEventToSubframe):
3924         (WebCore::EventHandler::passMouseReleaseEventToSubframe):
3925         (WebCore::EventHandler::passMousePressEventToScrollbar):
3926         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
3927         (WebCore::EventHandler::focusDocumentView):
3928         (WebCore::EventHandler::eventActivatedView):
3929         (WebCore::EventHandler::createDraggingClipboard):
3930
3931 2007-11-01  Kevin Ollivier  <kevino@theolliviers.com>
3932
3933         Adding files for wx impl. of editing interfaces.
3934
3935         Reviewed by Adam Roben.
3936
3937         * editing/wx: Added.
3938         * editing/wx/EditorWx.cpp: Added.
3939         (WebCore::Editor::newGeneralClipboard):
3940
3941 2007-11-01  Sam Weinig  <sam@webkit.org>
3942
3943         Reviewed by Adam Roben.
3944
3945         Make implicit conversions from LPCSTRs and BSTRs to WebCore string
3946         types possible in preparation of adding autogenerated COM DOM bindings.
3947
3948         * platform/AtomicString.cpp: 
3949         (WebCore::AtomicString::add):
3950         * platform/AtomicString.h:
3951         (WebCore::AtomicString::AtomicString):
3952         * platform/PlatformString.h:
3953         * platform/win/BString.cpp:
3954         (WebCore::BString::BString):
3955         * platform/win/BString.h:
3956
3957 2007-11-01  Brady Eidson  <beidson@apple.com>
3958
3959         Reviewed by Anders
3960
3961         Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
3962
3963         * platform/sql/SQLiteTransaction.cpp:
3964         (WebCore::SQLiteTransaction::SQLiteTransaction):
3965         (WebCore::SQLiteTransaction::~SQLiteTransaction):
3966         (WebCore::SQLiteTransaction::begin):
3967         (WebCore::SQLiteTransaction::commit):
3968         (WebCore::SQLiteTransaction::rollback):
3969         * platform/sql/SQLiteTransaction.h:
3970         (WebCore::SQLiteTransaction::inProgress):
3971
3972 2007-11-01  Adam Roben  <aroben@apple.com>
3973
3974         Remove all duplicate xcopy commands from WebCore's post-build step
3975
3976         Also add the /d option to the copy of platform/sql.
3977
3978         Rubberstamped by Sam.
3979
3980         * WebCore.vcproj/WebCore.vcproj:
3981
3982 2007-11-01  Adele Peterson  <adele@apple.com>
3983
3984         Reviewed by Maciej.
3985
3986         Add support for the animation of the -webkit-border-raduis properties.
3987
3988         * page/AnimationController.cpp:
3989         (WebCore::blendFunc): Added for IntSize.
3990         (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
3991
3992 2007-11-01  Alp Toker  <alp@atoker.com>
3993
3994         Reviewed by Mitz Pettel.
3995
3996         Fix an unbalanced save/restore.
3997
3998         * platform/graphics/cg/ImageCG.cpp:
3999         (WebCore::BitmapImage::draw):
4000
4001 2007-11-01  David Hyatt  <hyatt@apple.com>
4002
4003         Add support for the animation of the visibility property.
4004
4005         Reviewed by oliver, aroben
4006
4007         * page/AnimationController.cpp:
4008         (WebCore::blendFunc):
4009         (WebCore::ImplicitAnimation::animate):
4010
4011 2007-11-01  Kevin McCullough  <kmccullough@apple.com>
4012
4013         Reviewed by Adam.
4014
4015         - Made COMPtr be able to be used by certain other templates,
4016         specifically HashSet.
4017
4018         * platform/win/COMPtr.h:
4019         (WTF::):
4020
4021 2007-11-01  Dan Bernstein  <mitz@apple.com>
4022
4023         Reviewed by Dave Hyatt.
4024
4025         - fix http://bugs.webkit.org/show_bug.cgi?id=15015
4026           <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
4027
4028         Test: fast/repaint/overflow-clip-subtree-layout.html
4029
4030         This patch does not address the bigger issue of doing a full relayout
4031         of inline flows containing floats, but it addresses the problem on
4032         aol.com, where the changes that trigger layout are confined to an
4033         overflow area inside the float.
4034
4035         * page/FrameView.cpp:
4036         (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
4037         layout roots are different but one descends from the other, make (or
4038         keep) the ancestor as the layout root.
4039         * rendering/RenderObject.cpp:
4040         (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
4041         clipping and non-auto width and height relayout boundaries.
4042
4043 2007-11-01  Alexey Proskuryakov  <ap@webkit.org>
4044
4045         Reviewed by Mark Rowe.
4046
4047         Fixed line endings that got confused in this file somehow.
4048
4049         * platform/network/ResourceResponse.cpp:
4050         (WebCore::ResourceResponse::isAttachment):
4051
4052 2007-11-01  Peter Kasting  <zerodpx@gmail.com>
4053
4054         Reviewed by Dave Hyatt.
4055
4056         http://bugs.webkit.org/show_bug.cgi?id=15778
4057         Malformed GIFs should not result in memory corruption.
4058
4059         * platform/image-decoders/gif/GIFImageDecoder.cpp:
4060         (WebCore::GIFImageDecoder::haveDecodedRow):
4061         * platform/image-decoders/gif/GIFImageReader.cpp:
4062         (GIFImageReader::output_row):
4063         (GIFImageReader::read):
4064
4065 2007-10-31  Adam Roben  <aroben@apple.com>
4066
4067         Fix a crash when parsing a cubic-bezier function
4068
4069         Reviewed by Hyatt.
4070
4071         Test: fast/css/parse-timing-function-crash.html
4072
4073         * WebCore.vcproj/WebCore.vcproj:
4074         * css/CSSParser.cpp:
4075         (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
4076         of the ValueList.
4077
4078 2007-10-31  David Hyatt  <hyatt@apple.com>
4079
4080         Fix a merge error from when I applied my patch to ToT.  A couple of lines should be part of an if.
4081
4082         * rendering/RenderStyle.cpp:
4083         (WebCore::RenderStyle::adjustTransitions):
4084
4085 2007-10-31  Anders Carlsson  <andersca@apple.com>
4086
4087         Reviewed by Sam.
4088
4089         Add new SQL callback interfaces and JS implementations of them.
4090         
4091         * DerivedSources.make:
4092         * WebCore.xcodeproj/project.pbxproj:
4093         * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
4094         (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
4095         (WebCore::JSCustomSQLStatementCallback::handleEvent):
4096         * bindings/js/JSCustomSQLStatementCallback.h: Added.
4097         * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
4098         (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
4099         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
4100         * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
4101         * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
4102         (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
4103         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
4104         * bindings/js/JSCustomSQLTransactionCallback.h: Added.
4105         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
4106         (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
4107         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
4108         * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
4109         * storage/JSCustomSQLStatementCallback.h: Added.
4110         * storage/JSCustomSQLStatementErrorCallback.h: Added.
4111         * storage/JSCustomSQLTransactionCallback.h: Added.
4112         * storage/JSCustomSQLTransactionErrorCallback.h: Added.
4113         * storage/SQLStatementCallback.h: Added.
4114         (WebCore::SQLStatementCallback::~SQLStatementCallback):
4115         * storage/SQLStatementCallback.idl: Added.
4116         * storage/SQLStatementErrorCallback.h: Added.
4117         (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
4118         * storage/SQLStatementErrorCallback.idl: Added.
4119         * storage/SQLTransaction.h: Added.
4120         * storage/SQLTransaction.idl: Added.
4121         * storage/SQLTransactionCallback.h: Added.
4122         (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
4123         * storage/SQLTransactionCallback.idl: Added.
4124         * storage/SQLTransactionErrorCallback.h: Added.
4125         (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
4126         * storage/SQLTransactionErrorCallback.idl: Added.
4127
4128 2007-10-31  Justin Garcia  <justin.garcia@apple.com>
4129
4130         Reviewed by Dave Harrison.
4131
4132         <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
4133
4134         * editing/htmlediting.cpp:
4135         (WebCore::enclosingEmptyListItem): A single list item can contain multiple 
4136         paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a 
4137         list item, that list item isn't necessarily empty.
4138
4139 2007-10-31  David Hyatt  <hyatt@apple.com>
4140
4141         Disable style sharing for animating styles.
4142
4143         Reviewed by mitzpettel
4144
4145         * css/CSSStyleSelector.cpp:
4146         (WebCore::CSSStyleSelector::canShareStyleWithElement):
4147
4148 2007-10-31  Dan Bernstein  <mitz@apple.com>
4149
4150         Reviewed by Darin Adler.
4151
4152         - fix intermediate length calculation
4153
4154         * rendering/Length.h:
4155         (WebCore::Length::blend):
4156
4157 2007-10-31  Anders Carlsson  <andersca@apple.com>
4158
4159         Reviewed by Darin.
4160
4161         Add new SQLError implementation.
4162         
4163         * DerivedSources.make:
4164         * WebCore.vcproj/WebCore.vcproj:
4165         * WebCore.xcodeproj/project.pbxproj:
4166         * storage/SQLError.h: Added.
4167         (WebCore::SQLError::SQLError):
4168         (WebCore::SQLError::code):
4169         (WebCore::SQLError::message):
4170         * storage/SQLError.idl: Added.
4171
4172 2007-10-31  David Hyatt  <hyatt@apple.com>
4173
4174         Change the initial value of transition-property to all.  Change the initial value of
4175         transition-duration to 0.
4176
4177         Reviewed by antti
4178
4179         * rendering/RenderStyle.h:
4180         (WebCore::RenderStyle::initialTransitionDuration):
4181         (WebCore::RenderStyle::initialTransitionProperty):
4182
4183 2007-10-31  Alp Toker  <alp@atoker.com>
4184
4185         Reviewed by Mark Rowe.
4186
4187         The new Color must be marked valid.
4188
4189         * platform/graphics/gtk/ColorGtk.cpp:
4190
4191 2007-10-31  Simon Hausmann  <hausmann@kde.org>
4192
4193         Reviewed by Maciej;
4194
4195         Build fix for non-Qt builds.
4196
4197         * dom/XMLTokenizer.cpp:
4198         (WebCore::XMLTokenizer::XMLTokenizer):
4199
4200 2007-10-31  Simon Hausmann  <hausmann@kde.org>
4201
4202         Reviewed by Lars.
4203
4204         Fix dependency path to header files of the public API of the Qt port.
4205
4206         * WebCore.pro:
4207
4208 2007-10-31  Holger Freyther  <zecke@selfish.org>
4209
4210         Reviewed by Simon.
4211
4212         * QXmlStreamNamespaceDeclaration doesn't have the constructor we
4213         want to use for Qt4.3. Reenable the old code path which is likely
4214         to be dead as I have not checked if m_prefixToNamespaceMap is actually
4215         used.
4216         * Guard the entity resolver with the QT_VERSION as well.
4217         * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
4218         d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
4219
4220         * dom/XMLTokenizer.cpp:
4221         (WebCore::XMLTokenizer::XMLTokenizer):
4222         * dom/XMLTokenizer.h:
4223
4224 2007-10-31  Holger Freyther  <zecke@selfish.org>
4225
4226         Reviewed by Lars Knoll <lars@trolltech.com>.
4227
4228         * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3 
4229         * Provide a bad fallback implementation to filter the format list.
4230
4231         * platform/qt/ClipboardQt.cpp:
4232         (WebCore::ClipboardQt::clearData):
4233
4234 2007-10-31  Lars Knoll  <lars@trolltech.com>
4235
4236         Reviewed by Simon.
4237
4238         add an entitiy resolver to QXmlStream.
4239         Fixes fast/parser/entities-in-attributes.xhtml.
4240
4241         * dom/XMLTokenizer.cpp:
4242         (WebCore::EntityResolver::resolveUndeclaredEntity):