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