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