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