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