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