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