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