1 2007-11-16 Doug Turner <dougt@meer.net>
5 http://bugs.webkit.org/show_bug.cgi?id=16018
6 build bustage when building on debian 4.0
8 Fix build bustage on GTK+ with older versions of Pango.
10 Don't cache the return value since the docs say it can change.
12 * platform/gtk/Language.cpp:
13 (WebCore::defaultLanguage):
15 2007-11-16 Brady Eidson <beidson@apple.com>
19 * platform/SecurityOriginData.h:
20 (WebCore::operator!=): Whoops!
22 2007-11-16 Brady Eidson <beidson@apple.com>
26 Further purify DatabaseTracker to use SecurityOriginData instead of "a String"
29 * WebCore.xcodeproj/project.pbxproj:
30 * WebCore.vcproj/WebCore.vcproj
33 * platform/SecurityOriginData.cpp: Added.
34 (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string,
35 since that form is what will be stored in the Databases.db on disk
36 (WebCore::SecurityOriginData::stringIdentifier):
37 * platform/SecurityOriginData.h:
38 (WebCore::SecurityOriginData::protocol):
39 (WebCore::SecurityOriginData::host):
40 (WebCore::SecurityOriginData::port):
42 * storage/DatabaseTracker.cpp:
43 (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for
44 a SecurityOriginData object
45 (WebCore::SecurityOriginDataHash::equal):
46 (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation
47 (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation
48 (WebCore::DatabaseTracker::fullPathForDatabase):
49 (WebCore::DatabaseTracker::populateOrigins):
50 (WebCore::DatabaseTracker::origins):
51 (WebCore::DatabaseTracker::addDatabase):
52 * storage/DatabaseTracker.h:
54 2007-11-16 Alexey Proskuryakov <ap@webkit.org>
58 * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}.
60 2007-11-16 Nikolas Zimmermann <zimmermann@kde.org>
64 Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290
66 Implement all SVGTextContentElement DOM methods.
67 This is the last missing SVG text feature. SVG fonts is next.
69 Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods)
71 * ksvg2/svg/SVGTextContentElement.cpp:
72 (WebCore::cummulatedCharacterRangeLength):
73 (WebCore::SVGInlineTextBoxQueryWalker::):
74 (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker):
75 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
76 (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters):
77 (WebCore::SVGInlineTextBoxQueryWalker::longResult):
78 (WebCore::SVGInlineTextBoxQueryWalker::floatResult):
79 (WebCore::SVGInlineTextBoxQueryWalker::pointResult):
80 (WebCore::SVGInlineTextBoxQueryWalker::rectResult):
81 (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing):
82 (WebCore::findInlineTextBoxInTextChunks):
83 (WebCore::rootInlineBoxForTextContentElement):
84 (WebCore::executeTextQuery):
85 (WebCore::SVGTextContentElement::getNumberOfChars):
86 (WebCore::SVGTextContentElement::getComputedTextLength):
87 (WebCore::SVGTextContentElement::getSubStringLength):
88 (WebCore::SVGTextContentElement::getStartPositionOfChar):
89 (WebCore::SVGTextContentElement::getEndPositionOfChar):
90 (WebCore::SVGTextContentElement::getExtentOfChar):
91 (WebCore::SVGTextContentElement::getRotationOfChar):
92 (WebCore::SVGTextContentElement::getCharNumAtPosition):
93 (WebCore::SVGTextContentElement::selectSubString):
94 * ksvg2/svg/SVGTextContentElement.h:
95 * rendering/SVGInlineTextBox.h:
97 2007-11-15 Adele Peterson <adele@apple.com>
101 Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com)
103 Test: fast/forms/menulist-no-renderer-onmousedown.html
105 * html/HTMLSelectElement.cpp:
106 (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer.
107 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler.
109 2007-11-15 Antti Koivisto <antti@apple.com>
113 Fix <rdar://problem/5601598>
114 The movie tag should do initialization on need and not during startup.
116 Initialize Movie MIME type hash on demand
118 * platform/MIMETypeRegistry.cpp:
119 (WebCore::initialiseSupportedMovieMIMETypes):
120 (WebCore::initialiseMIMETypeRegistry):
121 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
122 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
124 2007-11-15 Mark Rowe <mrowe@apple.com>
126 Build fix for Qt on Windows.
129 (WebCore::XPath::Step::nodesInAxis):
131 2007-11-15 Timothy Hatcher <timothy@apple.com>
133 Reviewed by Mark Rowe.
135 Bug 14761: Web Inspector leaks JS objects and DOM nodes
136 http://bugs.webkit.org/show_bug.cgi?id=14761
138 * page/InspectorController.cpp:
139 (WebCore::InspectorController::~InspectorController):
140 Change the tear down order so that inspectorDestroyed() is called before
141 InspectorController private data is set to Zero. The inspectorDestroyed()
142 call ends up closing the WebView and triggering InspectorController::close()
143 which unprotects m_scriptObject. This didn't happen when the private data
144 was cleared before calling inspectorDestroyed().
146 2007-11-15 Mark Rowe <mrowe@apple.com>
152 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
156 http://bugs.webkit.org/show_bug.cgi?id=15989
157 XPath queries with predicates incorrectly retains the current node across unions
159 Test: fast/xpath/union-context-node.xhtml
162 (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation.
164 (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it.
166 2007-11-15 Alexey Proskuryakov <ap@webkit.org>
170 http://bugs.webkit.org/show_bug.cgi?id=15988
171 REGRESSION: XPath preceding-axis query misses nested elements
173 Test: fast/xpath/preceding-axis.xhtml
176 (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time.
178 2007-11-15 Timothy Hatcher <timothy@apple.com>
180 Reviewed by Mark Rowe and Sam.
182 This corrects a couple of issues in the Web Inspector where selected search results
183 would not have the right text color when the window is inactive or the results are focused.
185 * page/inspector/inspector.css:
187 2007-11-15 Timothy Hatcher <timothy@apple.com>
191 Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels
192 http://bugs.webkit.org/show_bug.cgi?id=16007
194 Makes the click width an option on TreeElement and make ResourceCategoryTreeElement
195 a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is
196 20 pixels, and the default is 10 pixels.
198 * page/inspector/ResourceCategory.js:
199 * page/inspector/treeoutline.js:
201 2007-11-15 Anders Carlsson <andersca@apple.com>
205 Pass a VoidCallback to Database::transaction and Database::changeVersion.
206 This is not yet hooked up to the database machinery.
208 * WebCore.vcproj/WebCore.vcproj:
209 * bindings/js/JSDatabaseCustom.cpp:
210 (WebCore::JSDatabase::changeVersion):
211 (WebCore::JSDatabase::transaction):
212 * storage/Database.cpp:
213 (WebCore::Database::changeVersion):
214 (WebCore::Database::transaction):
215 * storage/Database.h:
217 2007-11-15 Timothy Hatcher <timothy@apple.com>
221 Bug 16005: Hovering in the breadcrumbs causes jumpy behavior
222 http://bugs.webkit.org/show_bug.cgi?id=16005
224 Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed
225 crumb will expose as many hidden crumbs as possible to the user. Also crumbs
226 that have ID attributes will compact to the ID over the tag name.
228 * page/inspector/DocumentPanel.js:
230 2007-11-15 Anders Carlsson <andersca@apple.com>
234 Make the VoidCallback DOM interface behave more like our other DOM interfaces.
236 * bindings/js/JSCustomVoidCallback.h: Added.
237 * bindings/js/JSCustomVoidCallback.cpp: Added.
238 (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
239 (WebCore::JSCustomVoidCallback::handleEvent):
240 VoidCallback implementation that wraps a JS object.
242 (WebCore::toVoidCallback):
243 New method that creates a VoidCallback implementation given a JS object.
245 * bindings/scripts/CodeGeneratorJS.pm:
246 Specify that VoidCallback can fail conversion and add a custom conversion function.
248 * html/HTMLMediaElement.cpp:
249 (WebCore::HTMLMediaElement::movieCuePointReached):
250 Call handleEvent on the callback.
252 (WebCore::HTMLMediaElement::removeCuePoint):
253 Comment out parts of this method, it has already been removed in the HTML5 spec and it relies
254 on overriding VoidCallback equality.
256 * html/VoidCallback.cpp: Removed.
258 * html/VoidCallback.h:
259 (WebCore::VoidCallback::VoidCallback):
260 (WebCore::VoidCallback::~VoidCallback):
261 Make this an abstract class with a pure virtual handleEvent method.
263 2007-11-15 Adam Roben <aroben@apple.com>
265 Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work
267 There were two things broken here:
268 - WebView now requires a WM_CHAR message to be sent before it will
269 create a keyboard event with a charCode, but we were only sending
271 - The popup menu was not updating its focused index when the
272 <select> element's selectedIndex changed.
276 * platform/win/PopupMenuWin.cpp:
277 (WebCore::PopupMenu::updateFromElement): Update the focused index from
278 the client's selected index.
279 (WebCore::PopupWndProc): When we receive a WM_CHAR message for a
280 printable character, manufacture a WM_KEYDOWN message for it and post
281 both that and the current WM_CHAR message to the WebView.
283 2007-11-15 Brady Eidson <beidson@apple.com>
287 * storage/DatabaseTracker.cpp:
288 (WebCore::DatabaseTracker::fullPathForDatabase):
289 (WebCore::DatabaseTracker::databaseNamesForOrigin):
291 2007-11-15 Brady Eidson <beidson@apple.com>
293 Reviewed by John and Sam
295 Stubbing out everything required for a WebKit API for databases
297 Biggest change in WebCore is that we passed around SecurityOriginData as the representation
298 of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object
299 that has a different purpose besides just hanging on to the data)
302 * WebCore.xcodeproj/project.pbxproj:
304 * platform/SecurityOrigin.cpp:
305 * platform/SecurityOrigin.h:
306 * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3
307 pieces of data in the SecurityOrigin tuple
308 (WebCore::SecurityOriginData::SecurityOriginData):
309 (WebCore::SecurityOriginData::protocol):
310 (WebCore::SecurityOriginData::host):
311 (WebCore::SecurityOriginData::port):
312 (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components,
315 * storage/Database.cpp:
316 (WebCore::Database::Database): Use SecurityOriginData instead
318 * storage/DatabaseTracker.cpp:
319 (WebCore::DatabaseTracker::fullPathForDatabase):
320 (WebCore::DatabaseTracker::databaseNamesForOrigin):
321 (WebCore::DatabaseTracker::deleteDatabasesWithOrigin):
322 (WebCore::DatabaseTracker::deleteDatabase):
323 * storage/DatabaseTracker.h:
325 * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit
326 (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
328 2007-11-15 Jon Honeycutt <jhoneycutt@apple.com>
332 NP_ASFILEONLY streams should not buffer data in m_deliveryData.
334 * plugins/win/PluginStreamWin.cpp:
335 (WebCore::PluginStreamWin::didReceiveData):
337 2007-11-15 Justin Garcia <justin.garcia@apple.com>
339 Reviewed by Adele Peterson.
341 <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode
343 A textarea that contained the selection was removed but the selection wasn't cleared,
344 and we'd crash in code that assumed a valid, in-document selection.
346 * editing/SelectionController.cpp:
347 (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the
348 shadowAncestorNode of the node that contains the position, not just if the node being removed
349 contains that shadowAncestorNode.
351 2007-11-15 Nikolas Zimmermann <zimmermann@kde.org>
355 Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before.
357 * rendering/SVGInlineTextBox.cpp:
358 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
359 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
361 2007-11-15 Anders Carlsson <andersca@apple.com>
365 <rdar://problem/5562470>
366 openDatabase does not work when the version string is empty
368 If the string is empty, pass a real empty string to sqlite3_bind_text16.
370 * platform/sql/SQLiteStatement.cpp:
371 (WebCore::SQLiteStatement::bindText):
373 2007-11-15 Anders Carlsson <andersca@apple.com>
377 Get rid of SQLiteStatement::bindText and rename bindText16 to bindText.
378 Remove the copy parameter from bindText and bindBlob and always copy passed in data instead.
380 * loader/icon/IconDatabase.cpp:
381 (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
382 (WebCore::IconDatabase::removePageURLFromSQLDatabase):
383 (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase):
384 (WebCore::IconDatabase::addIconURLToSQLDatabase):
385 (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase):
386 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase):
387 * platform/sql/SQLiteStatement.cpp:
388 (WebCore::SQLiteStatement::prepare):
389 * platform/sql/SQLiteStatement.h:
390 * storage/Database.cpp:
391 (WebCore::setTextValueInDatabase):
392 * storage/DatabaseTracker.cpp:
393 (WebCore::DatabaseTracker::fullPathForDatabase):
394 (WebCore::DatabaseTracker::databaseNamesForOrigin):
395 (WebCore::DatabaseTracker::addDatabase):
397 2007-11-14 Brady Eidson <beidson@apple.com>
401 * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports?
403 2007-11-14 Alexey Proskuryakov <ap@webkit.org>
405 Reviewed by Justin Garcia.
407 http://bugs.webkit.org/show_bug.cgi?id=15781
408 REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle
409 a marked range that covers half of a composed character sequence)
411 Test: platform/mac/editing/input/devanagari-ligature.html
413 This fix is somewhat of a hack, as it asks editing commands to work with invalid selections.
414 However, this is not entirely new for them, as Roman accents are typed in a similar manner.
416 In the future, we probably want to make commands work with ranges (or Positions explicitly).
418 * editing/Editor.cpp:
419 (WebCore::Editor::selectComposition): Force selection to composition range.
420 * editing/InsertTextCommand.cpp:
421 (WebCore::InsertTextCommand::input): Force ending selection to inserted text range.
423 2007-11-14 Beth Dakin <bdakin@apple.com>
427 Fix for <rdar://problem/5540855> REGRESSION: Combination of client-
428 side image map and <a> tag is not working properly (15522)
430 * html/HTMLMapElement.cpp:
431 (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block
432 and inline children rather than just block children. This matches
435 2007-11-14 Justin Garcia <justin.garcia@apple.com>
437 Reviewed by Alexey Proskuryakov.
439 <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs
441 * editing/DeleteSelectionCommand.cpp:
442 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
443 Removed an irrelevant FIXME.
444 (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection
445 hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition
446 inside that block, which could lead to a crash. If that happens, there's no content in the block to move,
447 so just remove the block and return.
448 Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does
449 its own placeholder insertion when necessary.
450 (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs,
451 because it handles preserving m_needPlaceholder when it calls moveParagraphs.
453 2007-11-14 Timothy Hatcher <timothy@apple.com>
457 Bug 14380: Long DOM ancestry breadcrumb lists get cut off
458 http://bugs.webkit.org/show_bug.cgi?id=14380
460 The breadcumbs will now be compacted and collapsed if there isn't enough room
461 to show everything. The collapsing algorithm always affects the crumbs that
462 are farthest away from the selected or hovered crumb first.
464 * page/inspector/DocumentPanel.js:
465 * page/inspector/inspector.css:
467 2007-11-14 Anders Carlsson <andersca@apple.com>
469 Use the correct include path.
472 * plugins/win/PluginPackageWin.h:
473 * plugins/win/PluginStreamWin.h:
475 2007-11-13 Brady Eidson <beidson@apple.com>
479 http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception
481 * storage/SQLTransaction.cpp:
482 (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the
483 SQLTransactionCallback fails
484 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it
485 and make the commit/rollback decision accordingly
487 2007-11-13 Oliver Hunt <oliver@apple.com>
491 <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780)
493 When drawing directly to PDF CG may delay the use of the gradient function until outside our
494 standard drawing path, which in turn could let us invalidate the caches before they were used.
496 To work around this we now store the cached stops in a RefCounted object, so that we can ensure
497 that cache exists as long as required.
499 * platform/graphics/svg/SVGPaintServerGradient.cpp:
500 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
501 * platform/graphics/svg/SVGPaintServerGradient.h:
502 * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
503 (WebCore::cgGradientCallback):
504 (WebCore::CGShadingRefForLinearGradient):
505 (WebCore::CGShadingRefForRadialGradient):
506 (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache):
508 2007-11-13 Anders Carlsson <andersca@apple.com>
513 * plugins/win/PluginPackageWin.h:
514 * plugins/win/PluginStreamWin.h:
516 2007-11-13 Geoffrey Garen <ggaren@apple.com>
518 Reviewed by Anders Carlsson.
520 Renamed Shared to RefCounted.
522 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h.
523 * ForwardingHeaders/wtf/Shared.h: Removed.
524 * bindings/js/JSSVGPODTypeWrapper.h:
531 * css/StyleSheetList.h:
534 * dom/DOMImplementation.h:
536 * dom/EventListener.h:
537 * dom/NamedNodeMap.h:
539 * dom/NodeFilterCondition.h:
541 * dom/QualifiedName.h:
543 * dom/RangeException.h:
544 * dom/RegisteredEventListener.h:
546 * editing/EditCommand.h:
547 * history/BackForwardList.h:
548 * history/CachedPage.h:
549 * history/HistoryItem.cpp:
550 (WebCore::HistoryItem::HistoryItem):
551 * history/HistoryItem.h:
552 * html/CanvasGradient.h:
553 * html/CanvasPattern.h:
554 * html/CanvasRenderingContext2D.h:
555 * html/CanvasStyle.h:
556 * html/HTMLCollection.h:
559 * html/VoidCallback.h:
560 * ksvg2/css/SVGRenderStyle.cpp:
561 (WebCore::SVGRenderStyle::SVGRenderStyle):
562 * ksvg2/css/SVGRenderStyle.h:
563 * ksvg2/css/SVGRenderStyleDefs.cpp:
564 (StyleFillData::StyleFillData):
565 (StyleStrokeData::StyleStrokeData):
566 (StyleStopData::StyleStopData):
567 (StyleTextData::StyleTextData):
568 (StyleClipData::StyleClipData):
569 (StyleMaskData::StyleMaskData):
570 (StyleMarkerData::StyleMarkerData):
571 (StyleMiscData::StyleMiscData):
572 * ksvg2/css/SVGRenderStyleDefs.h:
573 * ksvg2/svg/SVGAngle.cpp:
574 (WebCore::SVGAngle::SVGAngle):
575 * ksvg2/svg/SVGAngle.h:
576 * ksvg2/svg/SVGAnimatedTemplate.h:
577 * ksvg2/svg/SVGElementInstanceList.h:
578 * ksvg2/svg/SVGException.h:
579 * ksvg2/svg/SVGList.h:
580 * ksvg2/svg/SVGPathSeg.h:
581 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
582 (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio):
583 * ksvg2/svg/SVGPreserveAspectRatio.h:
584 * ksvg2/svg/SVGRenderingIntent.h:
585 * ksvg2/svg/SVGTransform.h:
586 * ksvg2/svg/SVGUnitTypes.h:
587 * loader/DocumentLoader.h:
588 * loader/FormState.h:
589 * loader/ResourceLoader.h:
590 * loader/TextResourceDecoder.h:
591 * loader/icon/IconRecord.h:
594 * page/DOMSelection.h:
598 * page/InspectorController.cpp:
601 * platform/ArrayImpl.h:
602 * platform/CString.h:
604 * platform/DeprecatedValueListImpl.cpp:
605 (WebCore::DeprecatedValueListImpl::Private::Private):
606 * platform/FileChooser.h:
607 * platform/FontFallbackList.h:
608 * platform/FontFamily.cpp:
609 (WebCore::FontFamily::FontFamily):
610 * platform/FontFamily.h:
611 * platform/FontSelector.h:
612 * platform/GlyphPageTreeNode.h:
613 * platform/PopupMenu.h:
614 * platform/RegularExpression.cpp:
615 * platform/ScrollBar.h:
616 * platform/SharedBuffer.h:
617 * platform/StringImpl.h:
618 * platform/graphics/Icon.h:
619 * platform/graphics/svg/SVGResource.h:
620 * platform/network/FormData.cpp:
621 (WebCore::FormData::FormData):
622 * platform/network/FormData.h:
623 * platform/network/ResourceHandle.h:
624 * platform/network/ResourceHandleClient.h:
625 * rendering/RenderStyle.cpp:
626 (WebCore::StyleSurroundData::StyleSurroundData):
627 (WebCore::StyleBoxData::StyleBoxData):
628 (WebCore::StyleVisualData::StyleVisualData):
629 (WebCore::StyleBackgroundData::StyleBackgroundData):
630 (WebCore::StyleMarqueeData::StyleMarqueeData):
631 (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
632 (WebCore::StyleMultiColData::StyleMultiColData):
633 (WebCore::StyleTransformData::StyleTransformData):
634 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
635 (WebCore::StyleRareInheritedData::StyleRareInheritedData):
636 (WebCore::StyleInheritedData::StyleInheritedData):
637 * rendering/RenderStyle.h:
638 * rendering/SVGCharacterLayoutInfo.h:
639 (WebCore::SVGCharOnPath::SVGCharOnPath):
640 * storage/SQLResultSetRowList.h:
642 * xml/XMLHttpRequest.h:
643 * xml/XMLSerializer.h:
644 * xml/XPathEvaluator.h:
645 * xml/XPathExpression.h:
646 * xml/XPathNSResolver.h:
649 * xml/XSLTProcessor.h:
651 2007-11-13 Brady Eidson <beidson@apple.com>
653 Reviewed by Mark Rowe
655 Remove errantly added files, and fix the idl (for reference's sake)
657 * storage/JSCustomSQLStatementCallback.h: Removed.
658 * storage/JSCustomSQLStatementErrorCallback.h: Removed.
659 * storage/JSCustomSQLTransactionCallback.h: Removed.
660 * storage/JSCustomSQLTransactionErrorCallback.h: Removed.
661 * storage/SQLStatementCallback.idl:
663 2007-11-13 Adam Roben <aroben@apple.com>
665 Fix a bug and improve upon Brady's fix
669 * bindings/js/JSSQLTransactionCustom.cpp:
670 (WebCore::JSSQLTransaction::executeSql): Made the code a little
671 clearer and more correct.
672 * loader/icon/IconDatabase.cpp: Put parentheses around the expansion
673 of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the
674 comparison it meant to.
676 2007-11-13 Sam Weinig <sam@webkit.org>
678 Fix Qt and Gtk builds.
680 * WebCore.pro: Remove non-generated idl files.
682 2007-11-13 Mark Rowe <mrowe@apple.com>
684 Remove removed file from the project.
688 2007-11-13 Brady Eidson <beidson@apple.com>
692 * bindings/js/JSSQLTransactionCustom.cpp:
693 (WebCore::JSSQLTransaction::executeSql):
695 2007-11-13 Adam Roben <aroben@apple.com>
697 Add WindowMessageBroadcaster
699 This class is used to listen in on messages sent to HWNDs. Multiple
700 WindowMessageListeners can be notified about messages sent to a single
701 HWND, and one WindowMessageListener can listen to messages from
706 * WebCore.vcproj/WebCore.vcproj: Added new files to project.
707 * platform/win/WindowMessageBroadcaster.cpp: Added.
708 (WebCore::instancesMap): Static helper.
709 (WebCore::WindowMessageBroadcaster::addListener): Registers a listener
710 for a particular HWND.
711 (WebCore::WindowMessageBroadcaster::removeListener): Removes a
712 listener for a particular HWND.
713 (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster):
714 (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster):
715 (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster
716 from the instancesMap, removes all of its listeners, unsubclasses the
717 window, and deletes the broadcaster.
718 (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses
719 the window (which means that SubclassedWndProc won't be called again
721 (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all
722 the listeners about every message sent to the HWND
723 * platform/win/WindowMessageBroadcaster.h: Added.
724 (WebCore::WindowMessageBroadcaster::listeners):
725 (WebCore::WindowMessageBroadcaster::originalWndProc):
726 * platform/win/WindowMessageListener.h: Added.
728 2007-11-13 Geoffrey Garen <ggaren@apple.com>
730 Reviewed by Sam Weinig.
732 Moved Shared.h into wtf so it could be used in more places. Retained
733 TreeShared, but moved it to its own file, TreeShared.h.
735 * ForwardingHeaders/wtf/Shared.h: Added.
736 * WebCore.xcodeproj/project.pbxproj:
737 * bindings/js/JSSVGPODTypeWrapper.h:
744 * css/StyleSheetList.h:
746 * dom/DOMImplementation.h:
748 * dom/EventListener.h:
749 * dom/NamedNodeMap.h:
750 * dom/NodeFilterCondition.h:
753 * dom/RangeException.h:
754 * dom/RegisteredEventListener.h:
756 * history/BackForwardList.h:
757 * history/CachedPage.h:
758 * history/HistoryItem.h:
759 * html/CanvasGradient.h:
760 * html/CanvasPattern.h:
761 * html/HTMLCollection.h:
764 * html/VoidCallback.h:
765 * ksvg2/css/SVGRenderStyleDefs.h:
766 * ksvg2/svg/SVGAnimatedTemplate.h:
767 * ksvg2/svg/SVGElementInstanceList.h:
768 * ksvg2/svg/SVGList.h:
769 * ksvg2/svg/SVGPathSeg.h:
770 * ksvg2/svg/SVGPreserveAspectRatio.h:
771 * ksvg2/svg/SVGRenderingIntent.h:
772 * ksvg2/svg/SVGTransform.h:
773 * ksvg2/svg/SVGUnitTypes.h:
774 * loader/DocumentLoader.h:
775 * loader/FormState.h:
776 * loader/ResourceLoader.h:
777 * loader/TextResourceDecoder.h:
778 * loader/icon/IconRecord.h:
781 * page/DOMSelection.h:
784 * page/InspectorController.cpp:
787 * platform/ArrayImpl.h:
788 * platform/CString.h:
789 * platform/DeprecatedValueListImpl.cpp:
790 * platform/FontFallbackList.h:
791 * platform/FontFamily.h:
792 * platform/FontSelector.h:
793 * platform/GlyphPageTreeNode.h:
794 * platform/PopupMenu.h:
795 * platform/RegularExpression.cpp:
796 * platform/ScrollBar.h:
797 * platform/Shared.h: Removed.
798 * platform/SharedBuffer.h:
799 * platform/StringImpl.h:
800 * platform/graphics/Icon.h:
801 * platform/graphics/svg/SVGResource.h:
802 * platform/network/FormData.h:
803 * platform/network/ResourceHandleClient.h:
804 * rendering/RenderStyle.h:
805 * rendering/SVGCharacterLayoutInfo.h:
806 * storage/SQLResultSetRowList.h:
808 * xml/XMLSerializer.h:
809 * xml/XPathEvaluator.h:
810 * xml/XPathExpression.h:
811 * xml/XPathNSResolver.h:
814 2007-11-13 Brady Eidson <beidson@apple.com>
816 JS bindings by Anders, reviewed by Brady
817 WebCore changes by Brady, reviewed by Anders and Tim
819 Adapt to the new iteration of the HTML5 client-side storage spec.
821 Based largely on implementation feedback we generated in landing our first version of this API and also
822 on the input of others in the community, the database spec went through a large overhaul that addresses
823 many concerns. Amongst other changes/improvements:
824 - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages
825 transactions explicitly, transaction-related language in SQL statements is disallowed
826 - executeSql() is now on a transaction object instead of the database object.
827 - Database.changeVersion() now takes place within the context of a transaction. Therefore the version
828 change can be atomic along with the statements that modify the DB schema
830 Most of the logic now takes place during the "transaction steps," which the specification clearly lays out
831 as a chain of events on the SQLTransaction object where processing is handed off between being processed
832 asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of
833 methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step.
835 * DerivedSources.make:
836 * WebCore.xcodeproj/project.pbxproj:
838 * bindings/js/JSDatabaseCustom.cpp:
839 (WebCore::JSDatabase::changeVersion): Adapt to the new API
840 (WebCore::JSDatabase::transaction): Added
842 * bindings/js/JSSQLTransactionCustom.cpp: Added.
843 (WebCore::JSSQLTransaction::executeSql): Added
845 * page/DOMWindow.cpp:
846 (WebCore::DOMWindow::openDatabase): Add the new arguments
848 * page/DOMWindow.idl:
850 * page/inspector/DatabasePanel.js: Use the new API
852 * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces
853 changing the version of the database
854 (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
855 (WebCore::ChangeVersionWrapper::performPreflight):
856 (WebCore::ChangeVersionWrapper::performPostflight):
857 * storage/ChangeVersionWrapper.h: Added.
858 (WebCore::ChangeVersionWrapper::sqlError):
860 * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now
861 happen solely on the background thread - most of these changes result from that change
862 (WebCore::Database::Database): Removed an obsolete FIXME
863 (WebCore::Database::openAndVerifyVersion):
864 (WebCore::Database::getVersionFromDatabase):
865 (WebCore::Database::setVersionInDatabase):
866 (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same
867 (WebCore::Database::performOpenAndVerify):
868 (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread
869 (WebCore::Database::changeVersion): Changed for the new API from JS
870 (WebCore::Database::transaction): Added, for the new API from JS
871 (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue
872 (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread
873 (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread
874 (WebCore::Database::performGetTableNames):
875 (WebCore::Database::deliverAllPendingCallbacks):
876 (WebCore::Database::deliverPendingCallback):
877 (WebCore::Database::setExpectedVersion):
878 * storage/Database.h:
879 * storage/Database.idl:
881 * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex
882 to replace the m_synchronous flag
883 (WebCore::DatabaseTask::performTask):
884 (WebCore::DatabaseTask::lockForSynchronousScheduling):
885 (WebCore::DatabaseTask::waitForSynchronousCompletion):
886 (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
887 * storage/DatabaseTask.h:
889 * storage/SQLError.h: New API object
891 * storage/SQLResultSet.cpp:
892 (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object
893 * storage/SQLResultSet.h:
894 * storage/SQLResultSet.idl:
896 * storage/SQLStatement.cpp: Added.
897 (WebCore::SQLStatement::SQLStatement):
898 (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid
899 (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case
900 of an actual version vs. expected version mismatch
901 (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement
902 * storage/SQLStatement.h: Added.
903 (WebCore::SQLStatement::hasStatementCallback):
904 (WebCore::SQLStatement::hasStatementErrorCallback):
905 (WebCore::SQLStatement::sqlError): Get the error for this statement, if any
907 * storage/SQLTransaction.cpp: Added.
908 (WebCore::SQLTransaction::SQLTransaction):
909 (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS
910 (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue
911 (WebCore::SQLTransaction::performNextStep): Call the method for the next step
912 (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback
913 (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight
914 using the SQLTransactionWrapper, if any
915 (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread
916 (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread
917 and make runStatements() the next step
918 (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction
919 (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue
920 (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement
921 (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement
922 (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it
923 (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction
924 (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback
925 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the
926 transaction after it error'ed out
927 * storage/SQLTransaction.h:
928 (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper):
929 (WebCore::SQLTransaction::database):
930 * storage/SQLTransaction.idl:
932 The following were made obsolete by the new version of the API:
933 * bindings/js/JSCustomSQLCallback.cpp: Removed.
934 * bindings/js/JSCustomSQLCallback.h: Removed.
935 * bindings/js/JSCustomVersionChangeCallback.cpp: Removed.
936 * bindings/js/JSCustomVersionChangeCallback.h: Removed.
937 * storage/DatabaseCallback.cpp: Removed.
938 * storage/DatabaseCallback.h: Removed.
939 * storage/SQLCallback.h: Removed.
940 * storage/SQLCallback.idl: Removed.
941 * storage/VersionChangeCallback.h: Removed.
942 * storage/VersionChangeCallback.idl: Removed.
944 2007-11-13 Dan Bernstein <mitz@apple.com>
946 Reviewed by Beth Dakin.
948 - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click
950 * css/html4.css: Added a 'cursor: auto' rule for links.
951 * manual-tests/link-cursor-auto.html: Added.
953 2007-11-13 Dan Bernstein <mitz@apple.com>
955 Reviewed by Beth Dakin.
957 - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view)
959 The root cause for the crash is that when a non-HTML view enters the
960 frame, the frame's document pointer keeps pointing at the last HTML-type
961 document it contained. This patch does not address the root cause, but
962 makes changes to account for that condition.
964 * loader/FrameLoader.cpp:
965 (WebCore::FrameLoader::receivedMainResourceError): Do not change the
966 frame's current document's page cache state here.
967 (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's
968 current document is in fact the history item being invalidated, then
969 set its page cache state here.
971 2007-11-12 Antti Koivisto <antti@apple.com>
975 Fix that 'timeupdate' and 'waiting' events were never dispatched.
977 Add explicit m_paused attribute instead of trying to derive paused state from
978 underlying media. Call updatePlayState() to start/stop media playback
979 when any attribute that affects active playback state changes. This matches
982 Test: http/tests/media/video-play-stall.html
984 * html/HTMLMediaElement.cpp:
985 (WebCore::HTMLMediaElement::HTMLMediaElement):
986 (WebCore::HTMLMediaElement::setReadyState):
987 (WebCore::HTMLMediaElement::paused):
988 (WebCore::HTMLMediaElement::play):
989 (WebCore::HTMLMediaElement::pause):
990 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
991 (WebCore::HTMLMediaElement::movieDidEnd):
992 (WebCore::HTMLMediaElement::updatePlayState):
993 * html/HTMLMediaElement.h:
995 2007-11-13 John Sullivan <sullivan@apple.com>
999 removed recently-added PreferredType concept; we found a better way to do what
1000 ths was accomplishing
1002 * bridge/WindowFeatures.h:
1003 (WebCore::WindowFeatures::WindowFeatures):
1004 removed definition of PreferredType
1006 * page/ContextMenuController.cpp:
1007 (WebCore::openNewWindow):
1008 removed use of PreferredType
1010 2007-11-12 Alexey Proskuryakov <ap@webkit.org>
1014 http://bugs.webkit.org/show_bug.cgi?id=15954
1015 Move DOM Selection operations out of SelectionController
1017 No change in functionality.
1019 * editing/SelectionController.cpp:
1020 (WebCore::SelectionController::setSelectedRange):
1021 * editing/SelectionController.h:
1022 * page/DOMSelection.cpp:
1023 (WebCore::DOMSelection::anchorNode):
1024 (WebCore::DOMSelection::baseNode):
1025 (WebCore::DOMSelection::anchorOffset):
1026 (WebCore::DOMSelection::baseOffset):
1027 (WebCore::DOMSelection::focusNode):
1028 (WebCore::DOMSelection::extentNode):
1029 (WebCore::DOMSelection::focusOffset):
1030 (WebCore::DOMSelection::extentOffset):
1031 (WebCore::DOMSelection::isCollapsed):
1032 (WebCore::DOMSelection::type):
1033 (WebCore::DOMSelection::rangeCount):
1034 (WebCore::DOMSelection::collapse):
1035 (WebCore::DOMSelection::collapseToEnd):
1036 (WebCore::DOMSelection::collapseToStart):
1037 (WebCore::DOMSelection::empty):
1038 (WebCore::DOMSelection::setBaseAndExtent):
1039 (WebCore::DOMSelection::setPosition):
1040 (WebCore::DOMSelection::modify):
1041 (WebCore::DOMSelection::extend):
1042 (WebCore::DOMSelection::getRangeAt):
1043 (WebCore::DOMSelection::removeAllRanges):
1044 (WebCore::DOMSelection::addRange):
1045 (WebCore::DOMSelection::deleteFromDocument):
1046 (WebCore::DOMSelection::containsNode):
1047 (WebCore::DOMSelection::selectAllChildren):
1048 (WebCore::DOMSelection::toString):
1049 * page/DOMSelection.h:
1050 Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange()
1051 to return its result directly instead of via an ExceptionCode that no caller wanted.
1053 * editing/Editor.cpp:
1054 (WebCore::Editor::deleteRange):
1055 (WebCore::Editor::removeFormattingAndStyle):
1056 (WebCore::Editor::selectComposition):
1057 (WebCore::Editor::setComposition):
1058 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
1059 Adapted for SelectionController::setSelectedRange() now returning a bool.
1060 SelectionController::toString() is no longer avasilable, use plainText() explicitly.
1062 * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature.
1064 2007-11-12 Dan Bernstein <mitz@apple.com>
1066 Reviewed by Darin Adler.
1068 - <http://bugs.webkit.org/show_bug.cgi?id=15890>
1069 Most of www.aol.com still redraws unnecessarily when headline/photo section changes
1071 Test: fast/repaint/invisible-objects.html
1073 Avoid repainting invisible blocks if they are enclosed in a layer that
1074 contains no visible objects.
1076 * rendering/RenderBlock.cpp:
1077 (WebCore::RenderBlock::layoutBlock):
1078 * rendering/RenderBox.cpp:
1079 (WebCore::RenderBox::absoluteClippedOverflowRect):
1081 2007-11-12 Timothy Hatcher <timothy@apple.com>
1083 Reviewed by Mark Rowe.
1085 Prevent selecting a word in the breadcrumb or the styles section when double
1086 clicking on a DOM node in the outline tree.
1088 * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event
1089 with a detail of 2 or higher comes in. This prevents the selection.
1090 * page/inspector/inspector.css: Mark the breadcrumb as user-select: none.
1092 2007-11-12 Oliver Hunt <oliver@apple.com>
1096 <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460)
1098 EventHandler needs to reset these fields when a drag terminates, otherwise
1099 EventHandler is left in an inconsistent state when a drag is initiated on a
1100 page with multiple frames.
1102 * page/EventHandler.cpp:
1103 (WebCore::EventHandler::cancelDragAndDrop):
1104 (WebCore::EventHandler::performDragAndDrop):
1105 (WebCore::EventHandler::clearDragState):
1106 * page/EventHandler.h:
1108 2007-11-12 Oliver Hunt <oliver@apple.com>
1110 Reviewed by Darin and Antti.
1112 Return behaviour for 0 sized pattern back to what it was prior to r27704
1114 This change in behaviour broke two layout tests in DRT, so correcting it
1115 corrects existing tests.
1117 * platform/graphics/cg/ImageBufferCG.cpp:
1119 2007-11-12 Timothy Hatcher <timothy@apple.com>
1123 <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources]
1125 * page/mac/WebCoreFrameBridge.mm:
1126 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
1127 If the SharedBuffer is null insert an empty NSData instead of nil.
1129 2007-11-12 Darin Adler <darin@apple.com>
1133 - http://bugs.webkit.org/show_bug.cgi?id=15947
1134 speed up page loading a bit by inlining
1136 * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange):
1137 Factored out the slow case of isScheduledLocationChangePending into this.
1139 * loader/FrameLoader.h:
1140 (WebCore::FrameLoader::isScheduledLocationChangePending): Added an
1141 inline check of the far and away most common case, where m_scheduledRedirection
1142 is 0; the rest is in the isLocationChange function.
1144 2007-11-12 George Staikos <staikos@kde.org>
1148 Extract the text match marker highlight color into RenderTheme instead
1149 of the hardcoded yellow.
1151 * rendering/InlineTextBox.cpp:
1152 (WebCore::InlineTextBox::paintTextMatchMarker):
1153 * rendering/RenderTheme.cpp:
1154 (WebCore::RenderTheme::platformTextSearchHighlightColor):
1155 * rendering/RenderTheme.h:
1157 2007-11-12 Mark Rowe <mrowe@apple.com>
1159 Fix deadlock on launch on the Mac.
1161 * loader/icon/IconDatabase.cpp:
1162 (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717.
1164 2007-11-12 Justin Haygood <jhaygood@reaktix.com>
1168 http://bugs.webkit.org/show_bug.cgi?id=15955
1169 Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
1171 * loader/icon/IconDatabase.cpp:
1172 (WebCore::IconDatabase::open):
1173 (WebCore::IconDatabase::close):
1174 * loader/icon/IconDatabase.h:
1175 * platform/sql/SQLiteDatabase.cpp:
1176 (WebCore::SQLiteDatabase::SQLiteDatabase):
1177 (WebCore::SQLiteDatabase::open):
1178 (WebCore::SQLiteDatabase::close):
1179 * platform/sql/SQLiteDatabase.h:
1181 2007-11-12 Adam Roben <aroben@apple.com>
1185 * config.h: Touch because VS apparently can't figure out which files
1186 depend on ResourceResponse.h.
1187 * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
1188 project and remove old ResourceResponse files.
1190 2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
1194 http://bugs.webkit.org/show_bug.cgi?id=15334
1195 Split ResourceResponse into platform specific files
1199 * WebCore.vcproj/WebCore.vcproj:
1200 * WebCore.xcodeproj/project.pbxproj:
1201 * platform/network/ResourceResponse.cpp: Removed.
1202 * platform/network/ResourceResponse.h: Removed.
1203 * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
1204 (WebCore::ResourceResponseBase::asResourceResponse):
1205 (WebCore::ResourceResponseBase::isHTTP):
1206 (WebCore::ResourceResponseBase::url):
1207 (WebCore::ResourceResponseBase::setUrl):
1208 (WebCore::ResourceResponseBase::mimeType):
1209 (WebCore::ResourceResponseBase::setMimeType):
1210 (WebCore::ResourceResponseBase::expectedContentLength):
1211 (WebCore::ResourceResponseBase::setExpectedContentLength):
1212 (WebCore::ResourceResponseBase::textEncodingName):
1213 (WebCore::ResourceResponseBase::setTextEncodingName):
1214 (WebCore::ResourceResponseBase::suggestedFilename):
1215 (WebCore::ResourceResponseBase::setSuggestedFilename):
1216 (WebCore::ResourceResponseBase::httpStatusCode):
1217 (WebCore::ResourceResponseBase::setHTTPStatusCode):
1218 (WebCore::ResourceResponseBase::httpStatusText):
1219 (WebCore::ResourceResponseBase::setHTTPStatusText):
1220 (WebCore::ResourceResponseBase::httpHeaderField):
1221 (WebCore::ResourceResponseBase::setHTTPHeaderField):
1222 (WebCore::ResourceResponseBase::httpHeaderFields):
1223 (WebCore::ResourceResponseBase::isAttachment):
1224 (WebCore::ResourceResponseBase::setExpirationDate):
1225 (WebCore::ResourceResponseBase::expirationDate):
1226 (WebCore::ResourceResponseBase::setLastModifiedDate):
1227 (WebCore::ResourceResponseBase::lastModifiedDate):
1228 (WebCore::ResourceResponseBase::updateResourceResponse):
1229 * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
1230 (WebCore::ResourceResponseBase::ResourceResponseBase):
1231 * platform/network/cf/ResourceResponse.h: Added.
1232 (WebCore::ResourceResponse::ResourceResponse):
1233 * platform/network/curl/ResourceResponse.h: Added.
1234 (WebCore::ResourceResponse::ResourceResponse):
1235 (WebCore::ResourceResponse::doUpdateResourceResponse):
1236 * platform/network/mac/ResourceResponse.h: Added.
1237 (WebCore::ResourceResponse::ResourceResponse):
1238 * platform/network/qt/ResourceResponse.h: Added.
1239 (WebCore::ResourceResponse::ResourceResponse):
1240 (WebCore::ResourceResponse::doUpdateResourceResponse):
1242 2007-11-11 Justin Haygood <jhaygood@reaktix.com>
1244 Reviewed by Adam Roben.
1246 http://bugs.webkit.org/show_bug.cgi?id=15939
1247 Adds a currentThread API for use by SQLiteDatabase, etc.
1249 * platform/Threading.h:
1250 * platform/ThreadingNone.cpp:
1251 (WebCore::currentThread):
1252 * platform/gtk/ThreadingGtk.cpp:
1253 (WebCore::identifierByGthreadHandle):
1255 * platform/pthreads/ThreadingPthreads.cpp:
1256 (WebCore::identifierByPthreadHandle):
1257 (WebCore::currentThread):
1259 2007-11-11 Dan Bernstein <mitz@apple.com>
1261 Reviewed by Adam Roben.
1263 - fix http://bugs.webkit.org/show_bug.cgi?id=15942
1264 REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
1266 Test: editing/selection/cleared-by-relayout.html
1268 * editing/Selection.cpp:
1269 (WebCore::Selection::toRange): Check if the selection has been cleared
1272 2007-11-11 Darin Adler <darin@apple.com>
1274 Reviewed by Mark Rowe.
1276 - fix line numbers that were off since my recent patch
1278 * platform/SegmentedString.h:
1279 (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
1280 and rename it to m_doNotExcludeLineNumbers.
1281 (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
1282 (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
1283 (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
1284 (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
1285 the regression, but keep the speediness. I accidentally had removed a ! here.
1287 * platform/SegmentedString.cpp:
1288 (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
1290 2007-11-11 Oliver Hunt <oliver@apple.com>
1294 Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
1295 malformed SVG file in WebCore::ImageBuffer::create. Add protection
1296 against a potential overflow.
1298 * platform/graphics/cg/ImageBufferCG.cpp:
1300 2007-11-11 Antti Koivisto <antti@apple.com>
1304 Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
1306 * bindings/js/kjs_binding.cpp:
1307 (KJS::setDOMException):
1309 (WebCore::Attr::setPrefix):
1311 (WebCore::Document::createElement):
1313 (WebCore::Element::setPrefix):
1315 (WebCore::Range::setStart):
1316 (WebCore::Range::setEnd):
1317 (WebCore::Range::isPointInRange):
1318 (WebCore::Range::comparePoint):
1319 (WebCore::Range::compareBoundaryPoints):
1320 (WebCore::Range::deleteContents):
1321 (WebCore::Range::processContents):
1322 (WebCore::Range::extractContents):
1323 (WebCore::Range::insertNode):
1324 (WebCore::Range::setStartAfter):
1325 (WebCore::Range::setEndBefore):
1326 (WebCore::Range::setEndAfter):
1327 (WebCore::Range::selectNode):
1328 (WebCore::Range::surroundContents):
1329 (WebCore::Range::setStartBefore):
1330 * editing/TextIterator.cpp:
1331 (WebCore::TextIterator::TextIterator):
1332 * html/CanvasRenderingContext2D.cpp:
1333 (WebCore::CanvasRenderingContext2D::createPattern):
1334 * html/HTMLMediaElement.cpp:
1335 (WebCore::HTMLMediaElement::play):
1336 (WebCore::HTMLMediaElement::pause):
1337 * html/HTMLSelectElement.cpp:
1338 (WebCore::HTMLSelectElement::add):
1339 (WebCore::HTMLSelectElement::setOption):
1340 * xml/XPathEvaluator.cpp:
1341 (WebCore::XPathEvaluator::evaluate):
1343 2007-11-11 Darin Adler <darin@apple.com>
1347 - http://bugs.webkit.org/show_bug.cgi?id=15945
1348 speed up GraphicsContextCG typical case by skipping roundToDevicePixels
1350 * platform/graphics/cg/GraphicsContextCG.cpp:
1351 (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
1352 longer know if the transform is identity or not.
1353 (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
1354 CGContextSave/RestoreGState.
1355 (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
1356 longer know if the transform is identity or not.
1357 (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
1358 (WebCore::GraphicsContext::scale): Ditto.
1359 (WebCore::GraphicsContext::rotate): Ditto.
1360 (WebCore::GraphicsContext::translate): Ditto.
1361 (WebCore::GraphicsContext::concatCTM): Ditto.
1362 (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
1363 is known to be identity, and record that fact when we discover it otherwise.
1365 * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
1366 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1367 Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
1369 2007-11-11 Darin Adler <darin@apple.com>
1373 - http://bugs.webkit.org/show_bug.cgi?id=15944
1374 streamline SegmentedString to speed up parsing
1376 I measured a speed-up of the page load test while developing this patch. I don't
1377 have a precise figure, though.
1379 * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
1380 lineno to m_lineNumber.
1381 * html/HTMLTokenizer.cpp:
1382 (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
1383 since we don't want to update a line number.
1384 (WebCore::HTMLTokenizer::parseSpecial): Ditto.
1385 (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
1386 instead of lineNumberPtr() since the advance function now takes a reference.
1387 (WebCore::HTMLTokenizer::parseServer): Ditto.
1388 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
1389 (WebCore::HTMLTokenizer::parseText): Ditto.
1390 (WebCore::HTMLTokenizer::parseEntity): Ditto.
1391 (WebCore::HTMLTokenizer::parseTag): Ditto.
1392 (WebCore::HTMLTokenizer::write): Ditto.
1394 * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
1395 * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
1396 Don't pass 0 to the advance function.
1398 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
1399 the most common case, and pushed less common cases into a separate function
1400 that is not inlined. Also got rid of a branch by separating the case with a
1401 line number from the case without one.
1403 * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
1404 Added. The aforementioned less common cases are here.
1406 2007-11-11 Antti Koivisto <antti@apple.com>
1408 Forgot to do this review change (and test HTTP commit).
1410 * html/HTMLMediaElement.cpp:
1411 (WebCore::HTMLMediaElement::play):
1413 2007-11-11 Antti Koivisto <antti@apple.com>
1417 - Update play() and pause() to match current HTML5 draft
1418 - send events asynchronously
1419 - add timeupdate event to pause
1420 - rethrow load() exception, not others
1421 - Use list for async events to get ordering right
1423 Tests: media/video-pause-empty-events.html
1424 media/video-play-empty-events.html
1425 media/video-play-pause-events.html
1426 media/video-play-pause-exception.html
1428 * html/HTMLMediaElement.cpp:
1429 (WebCore::HTMLMediaElement::dispatchEventAsync):
1430 (WebCore::HTMLMediaElement::asyncEventTimerFired):
1431 (WebCore::HTMLMediaElement::play):
1432 (WebCore::HTMLMediaElement::pause):
1433 * html/HTMLMediaElement.h:
1435 2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
1439 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
1441 Add (basic) support for dominant-baseline / alignment-baseline text properties.
1442 Note: there are no official testcases, and no-one implemented it before. Only ASV3
1443 supported dominant-baseline, but not correct it seems.
1445 * rendering/SVGRootInlineBox.cpp:
1446 (WebCore::dominantBaselineToShift):
1447 (WebCore::alignmentBaselineToShift):
1448 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1450 2007-11-11 Adam Roben <aroben@apple.com>
1452 Add wrappers around CoCreateInstance to COMPtr
1454 I followed the example of the Query constructor and query method by
1455 adding a Create constructor and create method.
1459 * platform/win/COMPtr.h:
1460 (COMPtr::COMPtr): Added a new constructor that calls
1462 (COMPtr::create): Added.
1463 (COMPtr::createInstance): Added.
1465 2007-11-11 Alexey Proskuryakov <ap@nypop.com>
1469 http://bugs.webkit.org/show_bug.cgi?id=15896
1470 More editing cleanup
1472 No functionality changes.
1474 * dom/Node.h: Moved several editing-related methods elsewhere.
1475 * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
1476 to highlight that it is a match to offsetInCharacters(), and much different from other
1477 offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
1478 offsetInCharacters() before calling this.
1480 * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
1481 * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
1482 Updated for above renamings.
1484 * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
1486 * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
1490 (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
1491 (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
1492 (WebCore::Position::previous): Adapted to the above move.
1493 (WebCore::Position::next): Ditto.
1494 (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
1495 and BR elements are covered by editingIgnoresContent().
1496 (WebCore::Position::downstream): Ditto.
1497 (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
1498 (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
1500 * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
1501 * dom/PositionIterator.cpp:
1502 (WebCore::PositionIterator::increment): Updated for the above moves.
1503 (WebCore::PositionIterator::decrement): Ditto.
1505 * dom/ProcessingInstruction.h:
1506 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
1507 ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
1508 I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
1511 (WebCore::Range::selectNodeContents):
1512 * editing/ApplyStyleCommand.cpp:
1513 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1514 (WebCore::ApplyStyleCommand::applyInlineStyle):
1515 (WebCore::maxRangeOffset):
1516 (WebCore::ApplyStyleCommand::removeInlineStyle):
1517 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
1518 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
1519 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
1520 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
1521 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
1522 * editing/CompositeEditCommand.cpp:
1523 (WebCore::CompositeEditCommand::insertNodeAt):
1524 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
1525 * editing/DeleteSelectionCommand.cpp:
1526 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1527 * editing/InsertLineBreakCommand.cpp:
1528 (WebCore::InsertLineBreakCommand::doApply):
1529 * editing/InsertParagraphSeparatorCommand.cpp:
1530 (WebCore::InsertParagraphSeparatorCommand::doApply):
1531 * editing/InsertTextCommand.cpp:
1532 (WebCore::InsertTextCommand::insertTab):
1533 * editing/visible_units.cpp:
1534 (WebCore::previousLinePosition):
1535 (WebCore::nextLinePosition):
1536 Updated for the above moves.
1538 * editing/Editor.cpp:
1539 (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
1541 * editing/TextIterator.cpp:
1542 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
1543 match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
1544 (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
1546 * editing/htmlediting.h:
1547 * editing/htmlediting.cpp:
1548 (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
1549 child nodes, other than via DOM manipulation, which is not specific to BRs.
1550 (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
1551 (WebCore::maxDeepOffset): Ditto.
1552 (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
1553 (WebCore::caretMaxOffset): Ditto.
1555 * page/EventHandler.cpp:
1556 (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
1557 caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
1558 will take care of adjusting the offset.
1560 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
1561 * page/mac/WebCoreFrameBridge.mm:
1562 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
1563 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
1564 Changed some runtime checks that seemingly cannot fail into assertions.
1566 2007-11-11 Darin Adler <darin@apple.com>
1570 - updated for JSRegExp function changes
1572 * platform/RegularExpression.cpp:
1573 (WebCore::RegularExpression::Private::compile):
1574 (WebCore::RegularExpression::match):
1576 2007-11-10 Mark Rowe <mrowe@apple.com>
1580 * platform/UnicodeRange.h:
1582 2007-11-10 Mark Rowe <mrowe@apple.com>
1584 Qt Windows build fix.
1586 * platform/UnicodeRange.h:
1588 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
1592 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
1593 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
1595 Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
1596 Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
1598 * WebCore.pro: Add platform/UnicodeRange.cpp to build
1599 * WebCore.xcodeproj/project.pbxproj: Dito.
1600 * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
1601 (WebCore::SVGChar::characterTransform):
1602 * rendering/SVGCharacterLayoutInfo.h: New variables.
1603 (WebCore::SVGCharOnPath::SVGCharOnPath):
1604 (WebCore::SVGChar::SVGChar):
1605 * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
1606 (WebCore::glyphOrientationToAngle):
1607 (WebCore::glyphOrientationIsMultiplyOf180Degrees):
1608 (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
1609 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
1610 (WebCore::cummulatedWidthOrHeightOfTextChunk):
1611 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
1613 2007-11-10 Timothy Hatcher <timothy@apple.com>
1615 Reviewed by Sam Weinig.
1617 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
1618 and switch over to use getUniqueProperties in another place.
1620 2007-11-10 John Sullivan <sullivan@apple.com>
1622 Reviewed by Sam Weinig
1624 Rest of fix for 5394877
1626 * bindings/js/kjs_window.cpp:
1627 (KJS::Window::isSafeScript):
1628 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
1629 private browsing mode either.
1631 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
1635 Fix function name difference - header said 'unicodeRangeForCharacter', actually
1636 implemented function is 'findCharUnicodeRange'. They are not compiled yet.
1638 * platform/UnicodeRange.h:
1640 2007-11-10 Dan Bernstein <mitz@apple.com>
1642 Reviewed by Darin Adler.
1644 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
1646 No test because context menu events cannot be tested in DumpRenderTree.
1648 * page/EventHandler.cpp:
1649 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
1650 If the click occurred in an active link, selects the entire link
1651 element. Otherwise selects the closest word.
1652 (WebCore::EventHandler::sendContextMenuEvent): Call
1653 selectClosestWordOrLinkFromMouseEvent().
1654 * page/EventHandler.h:
1656 2007-11-10 John Sullivan <sullivan@apple.com>
1658 Reviewed by Tim Hatcher
1660 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
1661 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
1663 * bindings/js/kjs_window.cpp:
1664 (KJS::Window::isSafeScript):
1665 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
1667 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
1671 http://bugs.webkit.org/show_bug.cgi?id=15922
1672 Implement more of Mozilla Selection API
1674 Tests: editing/selection/containsNode.html
1675 editing/selection/deleteFromDocument.html
1676 editing/selection/extend.html
1677 editing/selection/selectAllChildren.html
1679 * editing/SelectionController.cpp:
1680 (WebCore::SelectionController::deleteFromDocument):
1681 (WebCore::SelectionController::containsNode):
1682 (WebCore::SelectionController::selectAllChildren):
1683 (WebCore::SelectionController::extend):
1684 * editing/SelectionController.h:
1685 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
1686 which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
1687 Removed a comment mentioning removeRange(), as this method makes no sense without multiple
1688 selection range support.
1690 * page/DOMSelection.cpp:
1691 (WebCore::DOMSelection::extend):
1692 (WebCore::DOMSelection::deleteFromDocument):
1693 (WebCore::DOMSelection::containsNode):
1694 (WebCore::DOMSelection::selectAllChildren):
1695 * page/DOMSelection.h:
1696 * page/DOMSelection.idl:
1697 Exposed the new methods.
1699 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
1703 http://bugs.webkit.org/show_bug.cgi?id=15892
1704 DOM Range operations are not implemented for ProcessingInstruction nodes
1706 Test: fast/dom/Range/range-processing-instructions.html
1709 (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
1710 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
1711 to use ProcessingInstruction.data.
1713 2007-11-09 Timothy Hatcher <timothy@apple.com>
1715 Reviewed by Mark Rowe.
1717 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
1718 http://bugs.webkit.org/show_bug.cgi?id=12054
1720 - Add support code for routing copy events to the focused element.
1721 - Implement copying the currently selected DOM node. The node
1722 and it's subtree is copied to the clipboard. If the node has no
1723 outerHTML, the nodeValue is copied (text nodes, etc.)
1724 - Implement copy for the resource sidebar. The URL is copied for the
1725 currently selected resource.
1727 * page/inspector/DocumentPanel.js:
1728 * page/inspector/inspector.js:
1730 2007-11-09 Antti Koivisto <antti@apple.com>
1734 Fix occasional blank video with poster attribute.
1737 * html/HTMLMediaElement.cpp:
1738 (WebCore::HTMLMediaElement::load):
1739 (WebCore::HTMLMediaElement::didRestoreFromCache):
1740 Just calling updateFromElement() does the right thing for both poster image and video.
1742 2007-11-04 Sam Weinig <sam@webkit.org>
1744 Reviewed by Adam Roben.
1746 <rdar://problem/5435940>
1747 The COM bindings for the DOM should be autogenerated like the other DOM bindings
1749 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
1750 is being introduced in this patch and to insure that no conflicts arise, a temporary
1751 prefix of "GEN_" has been used for all the new classes.
1753 The build architecture for these bindings differs slightly from the other autogenerated
1754 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
1755 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
1756 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
1758 This commit includes:
1759 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
1761 - Generating all of the Core DOM and most of HTML and CSS
1762 - Generating Event, EventTarget, and EventListener
1764 * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
1765 * WebCore.vcproj/WebCore.vcproj:
1766 * WebCore.vcproj/migrate-idls.sh: Added.
1767 * bindings/scripts/CodeGenerator.pm:
1768 * bindings/scripts/CodeGeneratorCOM.pm: Added.
1769 * dom/EventListener.h: Make the isWindowEvent parameter default to false
1770 to allow autogeneration based on the IDL.
1772 2007-11-09 Tristan O'Tierney <tristan@apple.com>
1774 Reviewed by Timothy Hatcher.
1776 This patch is for the WebKit side of <rdar://problem/5591115>.
1777 We need a way to tell context menu navigations, such as "Open in New Window"
1778 to override any sort of browser preference for tab based navigation.
1780 * bridge/WindowFeatures.h:
1781 (WebCore::WindowFeatures::WindowFeatures):
1782 Added a new struct member var, preferredType
1783 and an accompanying enum type PreferredType
1784 to send a window type recommendation up to the Chrome.
1786 * page/ContextMenuController.cpp:
1787 (WebCore::openNewWindow):
1788 Set the window features to recommend a new Window for
1789 "Open in New Window" context menu action.
1791 2007-11-08 Adam Roben <aroben@apple.com>
1793 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
1795 We now match the behavior of Firefox and IE, which is to always just
1796 send a click event to the focused button when the Enter key is pressed
1797 (previously we were submitting forms directly in some cases).
1801 Test: fast/forms/enter-clicks-buttons.html
1803 * html/HTMLButtonElement.cpp:
1804 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
1805 fancy when Enter is pressed on a <button type=button> -- just send a
1806 click event like we do for other button types.
1807 * html/HTMLInputElement.cpp:
1808 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
1809 the same way we treat type=submit and type=reset: just send a click
1810 event when Enter is pressed.
1812 2007-11-09 Dan Bernstein <mitz@apple.com>
1814 Reviewed by Antti Koivisto.
1816 - fix a bug in invisible layer culling: dynamically changing a
1817 descendant of an invisible layer to be visible did not work
1819 Test: fast/layers/layer-content-visibility-change.html
1821 * rendering/RenderLayer.cpp:
1822 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
1823 make sure that our stacking context rebuilds its z-order lists to
1826 2007-11-09 David Hyatt <hyatt@apple.com>
1828 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
1829 args can be lengths or numbers or percents.
1833 * WebCore.xcodeproj/project.pbxproj:
1834 * css/CSSParser.cpp:
1835 (WebCore::TransformOperationInfo::TransformOperationInfo):
1836 (WebCore::CSSParser::parseTransform):
1837 * rendering/RenderStyle.h:
1838 (WebCore::MatrixTransformOperation::apply):
1840 2007-11-09 Beth Dakin <bdakin@apple.com>
1844 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
1845 math leads to crazy problems
1847 Transform matrices accept the first four parameters as CSS lengths.
1848 CSS lengths get mapped into WebCore::Lengths as percents by
1849 WebCore::convertToLength(). Percent lengths cannot call value(). It
1850 does not yield a correct result and it asserts on Debug builds.
1852 * rendering/RenderStyle.h:
1853 (WebCore::MatrixTransformOperation::apply): Instead of calling
1854 value() on the lengths, call calcValue. This fixes the assert and
1857 2007-11-09 Simon Hausmann <hausmann@kde.org>
1859 Reviewed by nobody, build/link fix for Qt/Windows.
1861 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
1864 * platform/qt/TemporaryLinkStubs.cpp:
1866 2007-11-09 Simon Hausmann <hausmann@kde.org>
1870 Fix ContextMenu allocation in the Qt port.
1872 Store all items and submenus value based in ContextMenu and ContextMenuItem.
1873 That fixes the crashes when the context menu was populated with sub-menus because
1874 of the use of temporary ContextMenu objects like this:
1876 ContextMenu subMenu(...);
1877 subMenu.appendItem(...);
1878 subMenu.appendItem(...);
1880 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
1882 * platform/ContextMenu.h:
1883 * platform/ContextMenuItem.h:
1884 * platform/PlatformMenuDescription.h:
1885 * platform/qt/ContextMenuItemQt.cpp:
1886 (WebCore::ContextMenuItem::ContextMenuItem):
1887 (WebCore::ContextMenuItem::platformSubMenu):
1888 * platform/qt/ContextMenuQt.cpp:
1889 (WebCore::ContextMenu::ContextMenu):
1890 (WebCore::ContextMenu::~ContextMenu):
1891 (WebCore::ContextMenu::appendItem):
1892 (WebCore::ContextMenu::itemCount):
1894 2007-11-09 Peter Kasting <zerodpx@gmail.com>
1896 Reviewed by Mark Rowe.
1898 http://bugs.webkit.org/show_bug.cgi?id=15909
1899 Malformed GIFs should not result in memory corruption.
1901 * platform/image-decoders/gif/GIFImageDecoder.cpp:
1902 (WebCore::GIFImageDecoder::haveDecodedRow):
1904 2007-11-08 Timothy Hatcher <timothy@apple.com>
1906 Reviewed by Sam Weinig.
1908 Some Web Inspector CSS editing changes.
1909 - Only delete the property if all the text is delete or the new user input correctly parses.
1910 This prevents deleting the existing property if the new text is invalid.
1911 - Intercept the Escape key and cancel editing, not saving any changes.
1913 * page/inspector/StylesSidebarPane.js:
1915 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
1917 Bakefiles for building WebCore, needed by wx port.
1919 Reviewed by Mark Rowe.
1921 * WebCoreSources.bkl: Added.
1922 * webcore-base.bkl: Added.
1923 * webcore-wx.bkl: Added.
1925 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
1927 Reviewed by Mark Rowe.
1929 http://bugs.webkit.org/show_bug.cgi?id=15905
1931 Fix builds with HTML 5 Storage support disabled.
1932 ENABLE(DATABASE) needs to be added in a few places.
1934 * page/InspectorController.cpp:
1935 * storage/Database.h:
1937 2007-11-08 Steve Falkenburg <sfalken@apple.com>
1939 <rdar://problem/5524082> Allow images to be dragged out directly into other apps
1941 We weren't including CF_HDROP in our image drops. This broke drag of
1942 images out of the browser window directly into other apps (examples
1943 include notepad, mspaint, msword).
1945 Reviewed by Oliver, Ada.
1947 * platform/win/ClipboardWin.cpp:
1948 (WebCore::createGlobalImageFileContent): Removed unused variable.
1949 (WebCore::createGlobalHDropContent): Added
1950 (WebCore::writeFileToDataObject): Write HDROP data if available.
1951 (WebCore::writeImageToDataObject): Write HDROP for dragged images.
1952 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
1954 2007-11-08 Xan Lopez <xan@gnome.org>
1958 http://bugs.webkit.org/show_bug.cgi?id=15908
1959 Use g_object_ref_sink when available
1961 * platform/gtk/PopupMenuGtk.cpp:
1962 (WebCore::PopupMenu::show):
1963 * platform/gtk/ScrollViewGtk.cpp:
1964 (WebCore::ScrollView::setGtkAdjustments):
1966 2007-11-08 Dan Bernstein <mitz@apple.com>
1968 Reviewed by Beth Dakin.
1970 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
1972 Test: fast/dom/length-attribute-mapping.html
1974 * dom/StyledElement.cpp:
1975 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
1976 logic to stop after the first "%" or "*" in the string. This allows for
1977 "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
1979 2007-11-08 Kevin McCullough <kmccullough@apple.com>
1983 * loader/FrameLoaderClient.h:
1984 * platform/graphics/svg/SVGImageEmptyClients.h:
1985 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
1987 2007-11-08 Kevin McCullough <kmccullough@apple.com>
1991 - windowObjectCleared() is no longer const. It needs to setup the
1992 script debugger and cannot be const to do so.
1994 * loader/FrameLoaderClient.h:
1995 * platform/graphics/svg/SVGImageEmptyClients.h:
1996 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
1998 2007-11-08 Adam Roben <aroben@apple.com>
2000 Hopeful Windows build fix
2002 * rendering/RenderObject.cpp: Touch this file to make it recompile.
2004 2007-11-08 Sam Weinig <sam@webkit.org>
2008 Convert JavaScript internal function objects to use one class per
2009 function. This avoids a switch statement inside what used to be
2010 the shared function classes and will allow Shark to better analyze
2013 To make this switch, the value property of the HashEntry was changed
2014 to a union of an intptr_t (which is used to continue handle valueGetters)
2015 and function pointer which points to a static constructor for the
2016 individual new function objects.
2018 SunSpider claims this is a 1.0% speedup.
2020 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
2021 new classes and hand updated the remain non-generated (groan) classes.
2023 * bindings/js/JSDOMWindowCustom.cpp:
2024 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2025 * bindings/js/JSEventTargetNode.cpp:
2026 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
2027 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
2028 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
2029 * bindings/js/JSEventTargetNode.h:
2030 * bindings/js/JSHTMLInputElementBase.cpp:
2031 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
2032 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
2033 * bindings/js/JSHTMLInputElementBase.h:
2034 (WebCore::JSHTMLInputElementBase::):
2035 * bindings/js/JSXMLHttpRequest.cpp:
2036 (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
2037 (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
2038 (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
2039 (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
2040 (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
2041 (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
2042 (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
2043 (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
2044 (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
2045 (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
2046 * bindings/js/JSXMLHttpRequest.h:
2047 (KJS::JSXMLHttpRequest::impl):
2048 * bindings/js/JSXSLTProcessor.cpp:
2049 (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
2050 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
2051 (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
2052 (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
2053 (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
2054 (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
2055 (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
2056 (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
2057 * bindings/js/JSXSLTProcessor.h:
2058 * bindings/js/kjs_events.cpp:
2059 (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
2060 (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
2061 (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
2062 (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
2063 * bindings/js/kjs_events.h:
2064 * bindings/js/kjs_navigator.cpp:
2066 (KJS::Navigator::getOwnPropertySlot):
2067 (KJS::Plugins::getOwnPropertySlot):
2068 (KJS::PluginsFunctionRefresh::callAsFunction):
2069 (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
2070 * bindings/js/kjs_navigator.h:
2072 * bindings/js/kjs_window.cpp:
2073 (KJS::Window::getOwnPropertySlot):
2075 (KJS::WindowProtoFuncAToB::callAsFunction):
2076 (KJS::WindowProtoFuncBToA::callAsFunction):
2077 (KJS::WindowProtoFuncOpen::callAsFunction):
2078 (KJS::WindowProtoFuncScrollBy::callAsFunction):
2079 (KJS::WindowProtoFuncScrollTo::callAsFunction):
2080 (KJS::WindowProtoFuncMoveBy::callAsFunction):
2081 (KJS::WindowProtoFuncMoveTo::callAsFunction):
2082 (KJS::WindowProtoFuncResizeBy::callAsFunction):
2083 (KJS::WindowProtoFuncResizeTo::callAsFunction):
2084 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2085 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2086 (KJS::WindowProtoFuncSetInterval::callAsFunction):
2087 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2088 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2089 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2090 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2091 (KJS::Location::getOwnPropertySlot):
2092 (KJS::Location::put):
2093 (KJS::LocationProtoFuncReplace::callAsFunction):
2094 (KJS::LocationProtoFuncReload::callAsFunction):
2095 (KJS::LocationProtoFuncAssign::callAsFunction):
2096 (KJS::LocationProtoFuncToString::callAsFunction):
2097 * bindings/js/kjs_window.h:
2099 * bindings/scripts/CodeGeneratorJS.pm:
2101 2007-11-08 Mark Rowe <mrowe@apple.com>
2103 Fix the Gtk, Qt and Wx builds.
2105 * platform/gtk/TemporaryLinkStubs.cpp:
2106 * platform/qt/TemporaryLinkStubs.cpp:
2107 * platform/wx/TemporaryLinkStubs.cpp:
2109 2007-11-08 Mark Rowe <mrowe@apple.com>
2111 Not reviewed. Fix two instances of includes using the wrong case in the filename.
2113 * platform/graphics/mac/MoviePrivateQTKit.mm:
2114 * platform/wx/MimeTypeRegistryWx.cpp:
2116 2007-11-08 Darin Adler <darin@apple.com>
2120 - fix <rdar://problem/5552943> accesskey does not focus <button> elements
2122 Test: fast/forms/access-key.html
2124 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
2125 Added a call to focus.
2127 2007-11-07 Darin Adler <darin@apple.com>
2131 - cut down on notImplemented() functions on Windows
2133 * bridge/AXObjectCache.h: Put #if around the accessibility
2136 * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
2137 Moved here from TemporaryLinkStubs.
2139 * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
2140 using the ResourceResponse that's now available from the DocumentLoader.
2142 * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
2143 the Editor instead of the obsolete one on the Frame.
2145 * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
2146 * loader/FrameLoader.h: Removed overrideMediaType.
2148 * loader/gtk/DocumentLoaderGtk.cpp: Removed.
2149 * loader/mac/DocumentLoaderMac.mm: Removed.
2150 * loader/qt/DocumentLoaderQt.cpp: Removed.
2152 * page/Frame.cpp: Removed transpose.
2153 * page/Frame.h: Ditto.
2154 * page/FrameView.h: Removed updateBorder.
2155 * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
2156 * page/mac/FrameMac.mm: Ditto.
2157 * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
2159 * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
2161 * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
2162 * platform/qt/TemporaryLinkStubs.cpp: Ditto.
2163 * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
2164 * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
2165 issueTransposeCommand, and overrideMediaType.
2167 * platform/network/cf/ResourceHandleCFNet.cpp:
2168 (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
2169 (WebCore::ResourceHandle::willLoadFromCache): Ditto.
2170 * platform/win/GraphicsContextWin.cpp:
2171 (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
2172 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
2173 * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
2174 * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
2176 * WebCore.pro: Updated for removed files.
2177 * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
2179 2007-11-08 Mark Rowe <mrowe@apple.com>
2181 Build fix for case-sensitive file systems. Fix case of file names
2184 * html/HTMLMediaElement.cpp:
2185 * platform/graphics/Movie.cpp:
2187 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2189 Reviewed by Lars Knoll <lars@trolltech.com>.
2191 Remove some warnings about not implemented methods.
2193 * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
2194 specific to the NS API and won't be implemented on Qt.
2195 * ResourceHandle::bufferedData can not be reached as we return false in
2196 ResourceHandle::supportsBufferedData.
2199 * platform/network/qt/ResourceHandleQt.cpp:
2200 (WebCore::ResourceHandle::supportsBufferedData):
2202 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2204 Reviewed by Lars Knoll <lars@trolltech.com>.
2206 Cleanup checking for the request method.
2208 * Check the request method only in QWebNetworkManager::add.
2209 * Currently HEAD, GET, POST are allowed and for everything else
2210 QWebNetworkManager::add returns false.
2211 * Returning false is compatible with ResourceHandle::start and it
2212 can be used in ResourceHandle::loadResourceSynchronously to generate
2216 * platform/network/qt/ResourceHandleQt.cpp:
2217 (WebCore::ResourceHandle::start):
2218 (WebCore::ResourceHandle::loadResourceSynchronously):
2220 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2222 Reviewed by Lars Knoll <lars@trolltech.com>.
2224 Implement WebCore::callOnMainThread
2226 Implemented using a global QObject, that is moved to the main thread
2227 and then sending a custom event to it.
2228 Picked a number below QEvent::User but above any other documented value.
2231 * platform/qt/ThreadingQt.cpp:
2232 (WebCore::PerformFunctionEvent::PerformFunctionEvent):
2233 (WebCore::MainThreadInvoker::MainThreadInvoker):
2234 (WebCore::MainThreadInvoker::event):
2235 (WebCore::callOnMainThread):
2237 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2239 Reviewed by Lars Knoll <lars@trolltech.com>.
2241 Avoid problems with calling QPainter::begin() on an already active paintdevice
2243 * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
2244 crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
2245 * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
2246 used by the ScrollView on a layout triggered by QWebPage::paintEvent.
2249 * platform/qt/WidgetQt.cpp:
2250 (WebCore::Widget::invalidateRect):
2252 2007-11-08 Eric Seidel <eric@webkit.org>
2256 * ksvg2/svg/SVGPathElement.h: remove old comment
2258 2007-11-07 Antti Koivisto <antti@apple.com>
2262 Ensure video renderer has correct size if video has already been loaded
2263 when it is constructed.
2265 * rendering/RenderVideo.cpp:
2266 (WebCore::RenderVideo::RenderVideo):
2268 2007-11-07 Antti Koivisto <antti@apple.com>
2272 Ensure video is visible when it should be.
2274 * rendering/RenderVideo.cpp:
2275 (WebCore::RenderVideo::updateMovie):
2277 2007-11-07 Dan Bernstein <mitz@apple.com>
2279 Reviewed by Darin Adler.
2281 - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
2283 Layers and listboxes are two kinds of ScrollBarClient that can be
2284 removed while the scrollbar is tracking the mouse. The scrollbar is not
2285 destroyed until later, and meanwhile it can try to call the client,
2286 which results in a crash.
2288 * manual-tests/stale-scrollbar-client-crash.html: Added.
2289 * platform/ScrollBar.h:
2290 (WebCore::Scrollbar::setClient): Added.
2291 * rendering/RenderLayer.cpp:
2292 (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
2293 * rendering/RenderListBox.cpp:
2294 (WebCore::RenderListBox::~RenderListBox): Ditto.
2296 2007-11-07 Adam Roben <aroben@apple.com>
2298 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
2304 * platform/win/SharedBufferWin.cpp:
2305 (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
2306 empty path, because _wfopen_s will crash if we pass it a null pointer.
2308 2007-11-07 David Kilzer <ddkilzer@apple.com>
2310 WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
2311 <http://bugs.webkit.org/show_bug.cgi?id=14893>
2312 <rdar://problem/5380295>
2316 Tests: fast/css/device-aspect-ratio.html
2317 fast/css/max-device-aspect-ratio.html
2318 fast/css/min-device-aspect-ratio.html
2320 * css/MediaQueryEvaluator.cpp:
2321 (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
2322 (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
2323 a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
2326 2007-11-07 Dan Bernstein <mitz@apple.com>
2328 Reviewed by Dave Hyatt.
2330 - fix http://bugs.webkit.org/show_bug.cgi?id=15887
2331 REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
2333 Test: fast/css/display-none-inline-style-change-crash.html
2336 (WebCore::Element::recalcStyle): Fixed the crash by null-checking
2337 the current style and removed other checks that are not strictly
2340 2007-11-07 Brady Eidson <beidson@apple.com>
2342 Rubberstamped by Sam
2344 Remove FrameLoaderClient methods from SVG that were pruned awhile ago
2346 * platform/graphics/svg/SVGImageEmptyClients.h:
2348 2007-11-07 Dan Bernstein <mitz@apple.com>
2350 Reviewed by Darin Adler.
2352 - fix a bug where CSS rules with :hover in the ancestor chain stopped
2353 working after changing the inline style declaration of the ancestor
2355 Test: fast/css/affected-by-hover-after-style-change.html
2358 (WebCore::Element::recalcStyle): If we are not forcing style
2359 recalculation for all descendants, preserve any "affected by
2360 {hover|active|drag} bits that we may have acquired from them.
2361 Also renamed _style to currentStyle.
2363 2007-11-06 Timothy Hatcher <timothy@apple.com>
2367 Bug 11920: Web Inspector should have Firebug-like CSS editing
2368 http://bugs.webkit.org/show_bug.cgi?id=11920
2370 * css/CSSComputedStyleDeclaration.h:
2371 (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
2372 this was true, but computed style has no concept of implicit. So false makes more sense
2373 and makes the code simpler in the inspector. This function was added for the inspector,
2374 so this isn't a compatibility change.
2375 * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
2376 * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
2378 * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
2379 * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
2380 trying to call a function based on the element's id. Call focused and blurred on the focused
2381 element when currentFocusElement is changed. Use the new listItemElement getter instead of
2382 the private property.
2383 * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
2384 Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
2385 to allow generation of the title using the DOM element. Add listItemElement and
2386 childrenListElement getters.
2387 * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
2388 * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
2389 property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
2390 * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
2391 instead of the private properties.
2393 2007-11-07 Simon Hausmann <hausmann@kde.org>
2395 Reviewed by Alexey Proskuryakov.
2397 Coding style fix, don't use inline explicitly.
2399 * bridge/WindowFeatures.h:
2401 2007-11-07 Simon Hausmann <hausmann@kde.org>
2405 For safety provide a default constructor for WindowFeatures().
2406 ContextMenuController.cpp: createNewWindow as well as QWebPage need to
2407 create a default initialized WindowFeatures object on the fly.
2409 * bridge/WindowFeatures.h:
2410 (WebCore::WindowFeatures::WindowFeatures):
2412 2007-11-07 Simon Hausmann <shausman@trolltech.com>
2416 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.
2420 2007-11-07 Simon Hausmann <hausmann@kde.org>
2424 Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
2426 * platform/graphics/qt/ImageQt.cpp:
2427 (loadResourcePixmap):
2429 2007-11-07 Simon Hausmann <hausmann@kde.org>
2433 Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
2435 * platform/graphics/qt/ImageQt.cpp:
2436 (loadResourcePixmap):
2438 2007-11-07 Simon Hausmann <hausmann@kde.org>
2442 Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
2443 QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
2444 in ContextMenu::populate().
2445 For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
2446 out of it. That menu is currently not functional anymore though.
2448 * platform/ContextMenu.h:
2449 * platform/ContextMenuItem.h:
2450 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
2451 * platform/PlatformMenuDescription.h:
2452 * platform/qt/ContextMenuItemQt.cpp:
2453 (WebCore::ContextMenuItem::ContextMenuItem):
2454 (WebCore::ContextMenuItem::type):
2455 (WebCore::ContextMenuItem::setType):
2456 (WebCore::ContextMenuItem::action):
2457 (WebCore::ContextMenuItem::setAction):
2458 (WebCore::ContextMenuItem::title):
2459 (WebCore::ContextMenuItem::setTitle):
2460 (WebCore::ContextMenuItem::platformSubMenu):
2461 (WebCore::ContextMenuItem::setSubMenu):
2462 (WebCore::ContextMenuItem::setChecked):
2463 (WebCore::ContextMenuItem::setEnabled):
2464 * platform/qt/ContextMenuQt.cpp:
2465 (WebCore::ContextMenu::ContextMenu):
2466 (WebCore::ContextMenu::~ContextMenu):
2467 (WebCore::ContextMenu::appendItem):
2468 (WebCore::ContextMenu::itemCount):
2469 (WebCore::ContextMenu::insertItem):
2470 (WebCore::ContextMenu::setPlatformDescription):
2471 (WebCore::ContextMenu::platformDescription):
2473 2007-11-07 Simon Hausmann <hausmann@kde.org>
2477 Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
2478 but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
2479 Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
2482 * platform/qt/ContextMenuQt.cpp:
2484 2007-11-07 Simon Hausmann <hausmann@kde.org>
2488 Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
2489 Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
2491 * platform/PlatformMouseEvent.h:
2492 * platform/qt/PlatformMouseEventQt.cpp:
2493 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2495 2007-11-07 Lars Knoll <lars@trolltech.com>
2499 don't put nbsp's into the plan text paste
2501 Fix both ClipboardQt and PasteboardQt to replace
2502 nbsp's with spaces before putting the text onto the
2503 native clipboard. This is consistent with Mac and Win
2504 and fixes at least editing/pasteboard/4076267-3.html
2506 * platform/qt/ClipboardQt.cpp:
2507 (WebCore::ClipboardQt::writeRange):
2508 * platform/qt/PasteboardQt.cpp:
2509 (WebCore::Pasteboard::writeSelection):
2511 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2513 Reviewed by Lars Knoll <lars@trolltech.com>.
2515 Implement Pasteboard::writeImage()
2517 * Pasteboard is now fully implemented. Copying of Images into the Clipboard
2519 * As with URLs we only copy into the Clipboard (and not additionally to the
2523 WARNING: NO TEST CASES ADDED OR CHANGED
2525 * platform/qt/PasteboardQt.cpp:
2526 (WebCore::Pasteboard::writeImage):
2528 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2530 Reviewed by Lars Knoll <lars@trolltech.com>.
2532 Apple CodingStyle fixes
2535 WARNING: NO TEST CASES ADDED OR CHANGED
2537 * platform/qt/PasteboardQt.cpp:
2538 (WebCore::Pasteboard::documentFragment):
2540 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2542 Reviewed by Lars Knoll <lars@trolltech.com>.
2544 Implement Pasteboard::writeURL()
2545 * The URL currently gets written as text/plain and text/uri-list.
2546 The win and mac port have some more types which we currently do
2547 not support. When supporting them we can use the 'titleString'
2549 * As with writeSelection we only copy into the Clipboard. We could
2550 consider copying into the Selection as well.
2553 WARNING: NO TEST CASES ADDED OR CHANGED
2555 * platform/qt/PasteboardQt.cpp:
2556 (WebCore::Pasteboard::writeURL):
2558 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
2560 Reviewed by Lars Knoll <lars@trolltech.com>.
2565 WARNING: NO TEST CASES ADDED OR CHANGED
2567 * platform/qt/PasteboardQt.cpp:
2568 (WebCore::Pasteboard::documentFragment):
2570 2007-11-07 Lars Knoll <lars@trolltech.com>
2574 Use the correct function calls to convert a selection to
2577 WARNING: NO TEST CASES ADDED OR CHANGED
2579 * platform/qt/ClipboardQt.cpp:
2580 (WebCore::ClipboardQt::setData):
2581 (WebCore::ClipboardQt::writeRange):
2582 * platform/qt/PasteboardQt.cpp:
2583 (WebCore::Pasteboard::writeSelection):
2585 2007-11-07 Lars Knoll <lars@trolltech.com>
2589 Some more clipboard fixes.
2591 We have to set things immediately on the QClipBoard if the
2592 Clipboard object is not for dragging.
2594 This is due to the fact that the Clipboard object might be
2595 rather long lived if accessed through javascript (it'll only
2596 get deleted by JS garbage collection). We have to transfer
2597 the data over to the QClipboard before that to make things work.
2599 Fixes editing/execCommand/copy-without-selection.html
2601 * platform/qt/ClipboardQt.cpp:
2602 (WebCore::ClipboardQt::ClipboardQt):
2603 (WebCore::ClipboardQt::~ClipboardQt):
2604 (WebCore::ClipboardQt::clearData):
2605 (WebCore::ClipboardQt::clearAllData):
2606 (WebCore::ClipboardQt::getData):
2607 (WebCore::ClipboardQt::setData):
2608 (WebCore::ClipboardQt::declareAndWriteDragImage):
2609 (WebCore::ClipboardQt::writeURL):
2610 (WebCore::ClipboardQt::writeRange):
2612 2007-11-07 Simon Hausmann <hausmann@kde.org>
2616 Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
2617 not supported due to implicit forks, use IPC::Open2 instead.
2619 * bindings/scripts/IDLParser.pm:
2621 2007-11-07 Dan Bernstein <mitz@apple.com>
2623 Reviewed by Brady Eidson.
2625 - fix http://bugs.webkit.org/show_bug.cgi?id=15877
2626 REGRESSION: r27486 caused a layout regression at my bank's website
2628 Test: fast/block/float/overhanging-after-height-decrease-offsets.html
2630 * rendering/RenderBlock.cpp:
2631 (WebCore::RenderBlock::layoutBlock):
2633 2007-11-06 Beth Dakin <bdakin@apple.com>
2637 <rdar://problem/5575812> REGRESSION:When using absolute positioning
2638 with overflow:auto div, WebKit seems to add an additional 15px
2640 * rendering/RenderBox.cpp:
2641 (WebCore::RenderBox::containingBlockWidthForPositioned): We need to
2642 subtract off the vertical scrollbar width too.
2644 2007-11-06 Justin Garcia <justin.garcia@apple.com>
2646 Reviewed by Dan Bernstein.
2648 <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
2649 <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
2651 * editing/markup.cpp:
2652 (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
2653 that encloses the input context, unless that block is the body, which shouldn't
2654 be cloned. In that case, use regular divs, as we did before r27369.
2656 2007-11-06 Christian Dywan <christian@twotoasts.de>
2660 Fix http://bugs.webkit.org/show_bug.cgi?id=15828
2661 Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
2663 * WebCore.pro: Use sane default install paths for the gtk port.
2665 2007-11-06 Justin Garcia <justin.garcia@apple.com>
2667 Reviewed by Darin Adler.
2669 <rdar://problem/5576619>
2670 REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
2672 * editing/TypingCommand.cpp:
2673 (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
2674 both of the other deletion commands, call typingAddedToOpenCommand(), which takes
2675 the command's endingSelection and sets it as selection.
2677 2007-11-06 Dan Bernstein <mitz@apple.com>
2679 Reviewed by Antti Koivisto and Dave Hyatt.
2681 - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
2683 Test: fast/block/float/overhanging-after-height-decrease.html
2685 * rendering/RenderBlock.cpp:
2686 (WebCore::RenderBlock::layoutBlock): If after calculating the height
2687 it turns out that there are overhanging floats that were not overhanging
2688 before, rescan children with overhanging floats and add them.
2689 (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
2690 returns the lowest float bottom of any of the children.
2691 (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
2692 lowest float bottom.
2693 * rendering/RenderBlock.h:
2695 2007-11-06 Adele Peterson <adele@apple.com>
2699 Switched all uses of HTMLImageLoader to use OwnPtrs.
2701 * html/HTMLInputElement.h:
2702 * html/HTMLInputElement.cpp:
2703 (WebCore::HTMLInputElement::init):
2704 (WebCore::HTMLInputElement::~HTMLInputElement):
2705 (WebCore::HTMLInputElement::setInputType):
2706 (WebCore::HTMLInputElement::parseMappedAttribute):
2707 (WebCore::HTMLInputElement::attach):
2708 * html/HTMLObjectElement.h:
2709 * html/HTMLObjectElement.cpp:
2710 (WebCore::HTMLObjectElement::HTMLObjectElement):
2711 (WebCore::HTMLObjectElement::~HTMLObjectElement):
2712 (WebCore::HTMLObjectElement::parseMappedAttribute):
2713 (WebCore::HTMLObjectElement::attach):
2714 * html/HTMLVideoElement.h:
2715 * html/HTMLVideoElement.cpp:
2716 (WebCore::HTMLVideoElement::HTMLVideoElement):
2717 (WebCore::HTMLVideoElement::attach):
2718 (WebCore::HTMLVideoElement::detach):
2719 (WebCore::HTMLVideoElement::parseMappedAttribute):
2721 2007-11-06 Antti Koivisto <antti@apple.com>
2725 Trigger media load on on src attribute changes as specified in new HTML5 draft.
2727 Tests: media/video-src-change.html
2728 media/video-src-remove.html
2729 media/video-src-set.html
2731 * html/HTMLMediaElement.cpp:
2732 (WebCore::HTMLMediaElement::attributeChanged):
2733 * html/HTMLMediaElement.h:
2735 2007-11-06 Dan Bernstein <mitz@apple.com>
2737 Reviewed by Darin Adler.
2739 - fix http://bugs.webkit.org/show_bug.cgi?id=15838
2740 Incomplete repaint toggling "How you know this person" on Facebook
2742 Test: fast/repaint/make-children-non-inline.html
2744 * rendering/RenderBlock.cpp:
2745 (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
2746 is needed because the inline children may be repositioned as they move
2747 into new anonymous blocks, but those blocks have no knowledge of where
2748 their children used to be, so they cannot invalidate those areas.
2750 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
2754 http://bugs.webkit.org/show_bug.cgi?id=15847
2755 Some editing cleanup
2757 No change in functionality.
2759 * editing/TextIterator.cpp:
2760 (WebCore::plainText):
2761 * editing/TextIterator.h:
2762 Made WebCore::plainText() return String instead of DeprecatedString.
2764 * bridge/mac/WebCoreAXObject.mm:
2765 (-[WebCoreAXObject textUnderElement]):
2766 (-[WebCoreAXObject value]):
2767 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
2768 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
2769 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
2770 Updated for the above change. There is no need to explicitly convert to NSString now.
2772 * editing/EditCommand.cpp:
2773 (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
2774 initialized in constructor body, so the work done in initializer list was wasted.
2776 (WebCore::EditCommand::apply): Moved some stars.
2777 (WebCore::EditCommand::unapply): Ditto.
2778 (WebCore::EditCommand::reapply): Ditto.
2779 (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
2780 removed one of the checks.
2782 * editing/SelectionController.cpp:
2783 (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
2785 * page/mac/WebCoreFrameBridge.h:
2786 * page/mac/WebCoreFrameBridge.mm:
2787 Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
2788 -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
2790 2007-11-05 Mark Rowe <mrowe@apple.com>
2794 * bindings/js/JSHTMLDocumentCustom.cpp:
2795 (WebCore::writeHelper):
2797 2007-11-05 Adam Roben <aroben@apple.com>
2799 Don't crash if SafariTheme can't be loaded
2801 PlatformScrollBarSafari and RenderThemeSafari were not checking
2802 whether SafariTheme was successfully loaded. All other uses of
2803 SafariTheme already check this.
2807 * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
2809 (WebCore::PlatformScrollbar::paintButton):
2810 (WebCore::PlatformScrollbar::paintTrack):
2811 (WebCore::PlatformScrollbar::paintThumb):
2812 * rendering/RenderThemeSafari.cpp:
2813 (WebCore::RenderThemeSafari::isControlStyled): Always return true if
2814 we couldn't load SafariTheme. This way we should never try to paint
2815 themed controls (and we assert as such in the paint functions).
2816 (WebCore::RenderThemeSafari::paintCheckbox):
2817 (WebCore::RenderThemeSafari::paintRadio):
2818 (WebCore::RenderThemeSafari::paintButton):
2819 (WebCore::RenderThemeSafari::paintTextField):
2820 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
2821 (WebCore::RenderThemeSafari::paintTextArea):
2822 (WebCore::RenderThemeSafari::paintMenuList):
2823 (WebCore::RenderThemeSafari::paintSliderThumb):
2824 (WebCore::RenderThemeSafari::paintSearchField):
2825 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
2826 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
2827 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
2829 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
2831 Adding the rest of wx port's graphics impl.
2833 Rubber-stamped by Maciej Stachowiak.
2835 * platform/graphics/wx/AffineTransformWx.cpp: Added.
2836 * platform/graphics/wx/GraphicsContextWx.cpp: Added.
2837 * platform/graphics/wx/ImageBufferWx.cpp: Added.
2838 * platform/graphics/wx/ImageSourceWx.cpp: Added.
2839 * platform/graphics/wx/ImageWx.cpp: Added.
2840 * platform/graphics/wx/PathWx.cpp: Added.
2842 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
2844 wx port bug fixes and new files to get platform/wx building on trunk.
2846 Rubber-stamped by Maciej Stachowiak.
2848 * platform/wx/CursorWx.cpp:
2849 * platform/wx/FileSystemWx.cpp: Added.
2850 * platform/wx/FontCacheWx.cpp:
2851 * platform/wx/FontPlatformDataWx.cpp:
2852 * platform/wx/FontWx.cpp:
2853 * platform/wx/KeyboardEventWx.cpp:
2854 * platform/wx/LocalizedStringsWx.cpp: Added.
2855 * platform/wx/LoggingWx.cpp: Added.
2856 * platform/wx/RenderThemeWx.cpp:
2857 * platform/wx/ScrollViewWx.cpp:
2858 * platform/wx/SharedTimerWx.cpp:
2859 * platform/wx/StringWx.cpp:
2860 * platform/wx/ThreadingWx.cpp: Added.
2861 * platform/wx/WidgetWx.cpp:
2863 2007-11-05 Adele Peterson <adele@apple.com>
2867 Fix for <rdar://problem/5579999> Add poster attribute for video element
2869 * html/HTMLAttributeNames.in: Added poster attribute.
2871 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
2872 Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
2873 * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
2875 * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
2876 * html/HTMLObjectElement.h:
2878 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
2879 Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
2880 * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
2882 * html/HTMLVideoElement.idl: Added case for poster attribute.
2883 * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
2884 * html/HTMLVideoElement.cpp:
2885 (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
2886 (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
2887 (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
2888 (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
2889 (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
2890 (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
2891 (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
2892 (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
2893 (WebCore::HTMLVideoElement::isURLAttribute): Added.
2894 (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
2895 (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
2897 2007-11-05 Adam Roben <aroben@apple.com>
2899 Fix <rdar://5563572> SVG image support is turned off
2901 Turned on SVG images for all platforms.
2905 * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
2906 * loader/CachedImage.cpp:
2907 (WebCore::CachedImage::createImage): Removed platform checks for
2910 2007-11-05 Antti Koivisto <antti@apple.com>
2914 QTMovieView can generate callbacks during paint. This can lead to crashes.
2916 Delay callbacks so they get handled after painting is completed. No test case,
2917 I don't know how to reliably reproduce this.
2919 * platform/graphics/mac/MoviePrivateQTKit.mm:
2920 (WebCore::MoviePrivate::MoviePrivate):
2921 (WebCore::MoviePrivate::~MoviePrivate):
2922 (WebCore::MoviePrivate::paint):
2923 (-[WebCoreMovieObserver initWithCallback:WebCore::]):
2924 (-[WebCoreMovieObserver disconnect]):
2925 (-[WebCoreMovieObserver loadStateChanged:]):
2926 (-[WebCoreMovieObserver rateChanged:]):
2927 (-[WebCoreMovieObserver sizeChanged:]):
2928 (-[WebCoreMovieObserver timeChanged:]):
2929 (-[WebCoreMovieObserver volumeChanged:]):
2930 (-[WebCoreMovieObserver didEnd:]):
2931 (-[WebCoreMovieObserver setDelayCallbacks:]):
2933 2007-11-05 Antti Koivisto <antti@apple.com>
2937 Add some missing WebCore* prefixes to ObjC classes
2939 * platform/mac/FileChooserMac.mm:
2940 (WebCore::FileChooser::FileChooser):
2941 * platform/mac/SharedBufferMac.mm:
2942 (WebCore::SharedBuffer::createNSData):
2943 (WebCore::SharedBuffer::createCFData):
2944 * platform/mac/SharedTimerMac.cpp:
2945 (WebCore::setSharedTimerFireTime):
2947 2007-11-05 Ada Chan <adachan@apple.com>
2949 <rdar://problem/5579772> Regression: AltGr does not work
2950 We now store the system key event info in PlatforkKeyboardEvent().
2954 * platform/PlatformKeyboardEvent.h:
2955 (WebCore::PlatformKeyboardEvent::isSystemKey):
2956 * platform/win/KeyEventWin.cpp:
2957 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2959 2007-11-02 Tristan O'Tierney <tristan@apple.com>
2961 Reviewed by Darin Adler.
2963 * WebCore.xcodeproj/project.pbxproj:
2964 Set WindowFeatures.h as a Private header.
2966 * loader/FrameLoader.cpp:
2967 (WebCore::FrameLoader::createWindow):
2968 Revised to use a single createWindow function instead of
2969 two createWindow functions and one createModalDialog function.
2970 The logic for this is now addressed in WebKit in an effort
2971 to make this easier to follow.
2974 (WebCore::Chrome::createWindow):
2976 * page/ChromeClient.h:
2977 * page/ContextMenuController.cpp:
2978 (WebCore::openNewWindow):
2979 * platform/graphics/svg/SVGImageEmptyClients.h:
2980 (WebCore::SVGEmptyChromeClient::createWindow):
2981 Revised to take new additional windowFeatures parameter.
2983 2007-11-04 Geoffrey Garen <ggaren@apple.com>
2985 Reviewed by Darin Adler.
2987 http://bugs.webkit.org/show_bug.cgi?id=15835
2989 Small adaptations to new KJS::List class.
2991 * bindings/js/kjs_window.cpp:
2992 (KJS::WindowFunc::callAsFunction):
2993 (KJS::ScheduledAction::ScheduledAction):
2995 2007-11-05 Adam Roben <aroben@apple.com>
2997 Allow passing a base class pointer to COMPtr::copyRefTo
3001 * platform/win/COMPtr.h:
3003 2007-11-05 Dan Bernstein <mitz@apple.com>
3005 Reviewed by Oliver Hunt.
3007 - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
3009 Test: fast/dom/class-all-whitespace.html
3011 * dom/StyledElement.cpp:
3012 (WebCore::StyledElement::parseMappedAttribute): Check if there is any
3013 non-whitespace character in the class attribute.
3015 2007-11-05 Brady Eidson <beidson@apple.com>
3019 Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
3020 of the sql storage API
3022 * storage/DatabaseAuthorizer.cpp:
3023 (WebCore::DatabaseAuthorizer::allowTransaction):
3024 * storage/DatabaseAuthorizer.h:
3026 2007-11-05 Mark Rowe <mrowe@apple.com>
3028 Reviewed by Alp Toker.
3030 Have getMIMETypeForExtension return a null string when no MIME type is known
3031 for the extension rather than returning "text/plain". This prevents plugin data
3032 being dumped into object elements when plugins are disabled.
3034 * platform/gtk/MIMETypeRegistryGtk.cpp:
3035 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3037 2007-11-04 Sam Weinig <sam@webkit.org>
3039 Rubber-stamped by Adam Roben.
3041 Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
3044 * bindings/js/kjs_window.cpp:
3045 (KJS::Window::isSafeScript):
3046 * platform/SecurityOrigin.cpp:
3047 (WebCore::SecurityOrigin::canAccess):
3048 * platform/SecurityOrigin.h:
3050 2007-11-04 Timothy Hatcher <timothy@apple.com>
3054 Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
3055 http://bugs.webkit.org/show_bug.cgi?id=15834
3057 - Broke up DocumentPanel and added three SidebarPane sub-classes.
3058 - Fixed many Style pane bugs, including:
3059 * Poor handling of duplicate properties in the same rule. Some of this can't be
3060 fixed since we can't only get the "winning" value for duplicate properties.
3061 So we should only show one entry per unique property name.
3062 * Computed style does not show font shorthand sub-properties if 'font' was used.
3063 * Property priority was broken, the wrong properties were crossed out.
3064 * The 'border' shorthand shows null for the shorthand value.
3065 * Shorthands didn't show their priority (e.g. !important).
3066 * HSL and HTML hex colors didn't have preview swatch blocks.
3067 * Code refactoring, making it easier to reuse for console.log later.
3069 * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
3070 classes in new files.
3071 * page/inspector/MetricsSidebarPane.js: Added.
3072 * page/inspector/Panel.js: Remove an InspectorController.log() call.
3073 * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
3074 So TreeElements can access properties on their section.
3075 * page/inspector/PropertiesSidebarPane.js: Added.
3076 * page/inspector/SidebarPane.js: Remove the explicit asignment of the
3077 onexpand and oncollapse to null. These were hiding prototypes.
3078 * page/inspector/StylesSidebarPane.js: Added.
3079 * page/inspector/inspector.html: Include the new script files.
3080 * page/inspector/treeoutline.js: If a null representedObject is passed
3081 in just use a empty object.
3083 2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
3085 Fix build when spaces appear in the WebKit source path.
3087 Reviewed by Mark Rowe.
3089 * bindings/scripts/IDLParser.pm: Use safer open() method which lists
3090 arguments individually and prevents the need to work around spaces
3093 2007-11-04 Alp Toker <alp@atoker.com>
3095 Reviewed by Alexey Proskuryakov.
3097 Fix a crash when no clipboard text is available
3099 * platform/gtk/PasteboardGtk.cpp:
3100 (WebCore::Pasteboard::plainText):
3102 2007-11-03 Darin Adler <darin@apple.com>
3106 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
3107 remove unused PCRE features for speed
3109 * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
3110 * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
3111 Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
3114 * platform/RegularExpression.h: Remove the unused cap function. We can
3115 add it back later if we find we need it.
3116 * platform/RegularExpression.cpp:
3117 (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
3118 regular expression entry point changes.
3119 (WebCore::RegularExpression::Private::~Private): Ditto.
3120 (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
3121 This means that regular expressions with metacharactesr like ^ in them
3122 won't work any more with non-whole-string searches, but we don't use
3123 any regular expressions like that.
3125 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3127 Update the link stubs to match the current build,
3128 and fix coding style issues.
3130 Reviewed by Mark Rowe.
3132 * platform/wx/TemporaryLinkStubs.cpp:
3133 (loadResourceIntoArray):
3134 (findNextSentenceFromIndex):
3135 (findSentenceBoundary):
3136 (Frame::dashboardRegionsChanged):
3137 (WebCore::historyContains):
3138 (CachedPage::close):
3139 (Editor::showStylesPanel):
3140 (EventHandler::passSubframeEventToSubframe):
3141 (EventHandler::passWheelEventToWidget):
3142 (WebCore::currentTextBreakLocaleID):
3144 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3146 wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
3148 Reviewed by Mark Rowe.
3150 * platform/graphics/wx/FloatRectWx.cpp: Added.
3151 * platform/graphics/wx/IntPointWx.cpp: Added.
3152 * platform/graphics/wx/IntRectWx.cpp: Added.
3154 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3156 wx <-> WebKit data type conversions for Pen and Color.
3158 Reviewed by Darin Adler.
3160 * platform/graphics/wx: Added.
3161 * platform/graphics/wx/ColorWx.cpp: Added.
3162 * platform/graphics/wx/PenWx.cpp: Added.
3164 2007-11-03 Sam Weinig <sam@webkit.org>
3168 Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
3169 The variable had been kept around for binary compatibility, but since nothing
3170 else is there is no point in continuing to keep it around.
3172 * bindings/js/JSDOMExceptionConstructor.cpp:
3174 * bindings/js/JSHTMLInputElementBase.cpp:
3176 * bindings/js/JSNamedNodesCollection.cpp:
3178 * bindings/js/JSXMLHttpRequest.cpp:
3180 * bindings/js/JSXSLTProcessor.cpp:
3182 * bindings/js/kjs_css.cpp:
3184 * bindings/js/kjs_events.cpp:
3186 * bindings/js/kjs_navigator.cpp:
3188 * bindings/js/kjs_window.cpp:
3190 * bindings/scripts/CodeGeneratorJS.pm:
3192 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3194 Build fixes to get wx impls. building on trunk.
3196 Reviewed by Mark Rowe.
3198 * platform/wx/DragDataWx.cpp:
3199 (WebCore::DragData::containsFiles):
3200 (WebCore::DragData::asFilenames):
3201 * platform/wx/DragImageWx.cpp:
3202 (WebCore::scaleDragImage):
3203 * platform/wx/MimeTypeRegistryWx.cpp:
3204 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3205 * platform/wx/MouseEventWx.cpp:
3206 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3207 * platform/wx/MouseWheelEventWx.cpp:
3208 * platform/wx/PasteboardWx.cpp:
3209 (WebCore::Pasteboard::writeImage):
3210 * platform/wx/WidgetWx.cpp:
3211 (WebCore::Widget::setCursor):
3213 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
3215 Sort files(...); sections of Xcode project files.
3217 Rubber-stamped by Darin.
3219 * WebCore.xcodeproj/project.pbxproj:
3220 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
3222 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
3224 Coding style fixes for platform/wx files.
3226 Reviewed by Mark Rowe.
3228 * platform/wx/ClipboardWx.cpp:
3229 * platform/wx/GlyphMapWx.cpp:
3230 * platform/wx/ScreenWx.cpp:
3232 2007-11-03 Alp Toker <alp@atoker.com>
3234 Reviewed by Mark Rowe.
3236 Implement platform scrollbar static width/height getters
3238 * platform/gtk/PlatformScrollBar.h:
3239 * platform/gtk/PlatformScrollBarGtk.cpp:
3241 (PlatformScrollbar::horizontalScrollbarHeight):
3243 2007-11-03 Alp Toker <alp@atoker.com>
3245 Reviewed by Mark Rowe.
3247 Cast function pointers to gpointer.
3249 * platform/gtk/PlatformScrollBarGtk.cpp:
3250 (PlatformScrollbar::~PlatformScrollbar):
3252 2007-11-03 Alp Toker <alp@atoker.com>
3254 Reviewed by Adam Roben.
3256 RenderThemeGtk implementation based on Mozilla's GTK+ style code
3258 There is still work needed to complete this feature.
3261 * platform/gtk/RenderThemeGtk.cpp:
3263 (WebCore::RenderThemeGtk::RenderThemeGtk):
3264 (WebCore::supportsFocus):
3265 (WebCore::RenderThemeGtk::supportsFocusRing):
3266 (WebCore::RenderThemeGtk::controlSupportsTints):
3267 (WebCore::RenderThemeGtk::baselinePosition):
3268 (WebCore::adjustMozStyle):
3269 (WebCore::setMozState):
3270 (WebCore::paintMozWidget):
3271 (WebCore::setButtonPadding):
3272 (WebCore::setToggleSize):
3273 (WebCore::RenderThemeGtk::setCheckboxSize):
3274 (WebCore::RenderThemeGtk::paintCheckbox):
3275 (WebCore::RenderThemeGtk::setRadioSize):
3276 (WebCore::RenderThemeGtk::paintRadio):
3277 (WebCore::RenderThemeGtk::adjustButtonStyle):
3278 (WebCore::RenderThemeGtk::paintButton):
3279 (WebCore::RenderThemeGtk::adjustMenuListStyle):
3280 (WebCore::RenderThemeGtk::paintMenuList):
3281 (WebCore::RenderThemeGtk::adjustTextFieldStyle):
3282 (WebCore::RenderThemeGtk::paintTextField):
3283 (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
3284 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
3285 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
3286 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
3287 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
3288 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
3289 (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
3290 (WebCore::RenderThemeGtk::paintSearchField):
3291 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
3292 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
3293 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
3294 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
3295 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
3296 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
3297 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
3298 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
3299 (WebCore::RenderThemeGtk::caretBlinkFrequency):
3300 (WebCore::RenderThemeGtk::systemFont):
3301 (WebCore::gtkStyleSetCallback):
3302 (WebCore::RenderThemeGtk::gtkContainer):
3303 (WebCore::RenderThemeGtk::gtkEntry):
3304 (WebCore::RenderThemeGtk::gtkTreeView):
3305 * platform/gtk/RenderThemeGtk.h:
3306 * platform/gtk/gtk2drawing.c: Added.
3307 (moz_gtk_enable_style_props):
3308 (ensure_window_widget):
3309 (setup_widget_prototype):
3310 (ensure_button_widget):
3311 (ensure_checkbox_widget):
3312 (ensure_radiobutton_widget):
3313 (ensure_scrollbar_widget):
3314 (ensure_spin_widget):
3315 (ensure_scale_widget):
3316 (ensure_entry_widget):
3317 (ensure_option_menu_widget):
3318 (ensure_arrow_widget):
3319 (ensure_handlebox_widget):
3320 (ensure_toolbar_widget):
3321 (ensure_tooltip_widget):
3322 (ensure_tab_widget):
3323 (ensure_progress_widget):
3324 (ensure_frame_widget):
3325 (ensure_menu_bar_widget):
3326 (ensure_menu_bar_item_widget):
3327 (ensure_menu_popup_widget):
3328 (ensure_menu_item_widget):
3329 (ensure_check_menu_item_widget):
3331 (TSOffsetStyleGCArray):
3333 (moz_gtk_button_paint):
3335 (moz_gtk_checkbox_get_metrics):
3336 (moz_gtk_radio_get_metrics):
3337 (moz_gtk_checkbox_get_focus):
3338 (moz_gtk_radio_get_focus):
3339 (moz_gtk_button_get_focus):
3340 (moz_gtk_option_menu_get_metrics):
3341 (moz_gtk_toggle_paint):
3342 (calculate_arrow_dimensions):
3343 (moz_gtk_scrollbar_button_paint):
3344 (moz_gtk_scrollbar_trough_paint):
3345 (moz_gtk_scrollbar_thumb_paint):
3346 (moz_gtk_spin_paint):
3347 (moz_gtk_scale_paint):
3348 (moz_gtk_scale_thumb_paint):
3349 (moz_gtk_gripper_paint):
3350 (moz_gtk_entry_paint):
3351 (moz_gtk_option_menu_paint):
3352 (moz_gtk_dropdown_arrow_paint):
3353 (moz_gtk_container_paint):
3354 (moz_gtk_toggle_label_paint):
3355 (moz_gtk_toolbar_paint):
3356 (moz_gtk_tooltip_paint):
3357 (moz_gtk_frame_paint):
3358 (moz_gtk_progressbar_paint):
3359 (moz_gtk_progress_chunk_paint):
3360 (moz_gtk_tab_paint):
3361 (moz_gtk_tabpanels_paint):
3362 (moz_gtk_menu_bar_paint):
3363 (moz_gtk_menu_popup_paint):
3364 (moz_gtk_menu_item_paint):
3365 (moz_gtk_check_menu_item_paint):
3366 (moz_gtk_window_paint):
3367 (moz_gtk_get_widget_border):
3368 (moz_gtk_get_dropdown_arrow_size):
3369 (moz_gtk_get_scalethumb_metrics):
3370 (moz_gtk_get_scrollbar_metrics):
3371 (moz_gtk_widget_paint):
3372 (moz_gtk_get_scrollbar_widget):
3374 * platform/gtk/gtkdrawing.h: Added.
3376 2007-11-03 Alp Toker <alp@atoker.com>
3378 Reviewed by Mark Rowe.
3380 Do not allow scrollbars to handle wheel events
3382 We bubble the wheel event up so the parent can handle it instead.
3384 * platform/gtk/PlatformScrollBarGtk.cpp:
3385 (gtkScrollEventCallback):
3386 (PlatformScrollbar::PlatformScrollbar):
3387 (PlatformScrollbar::~PlatformScrollbar):
3389 2007-11-03 Alp Toker <alp@atoker.com>
3391 Reviewed by Mark Rowe.
3393 Frame scrolling and invalidation fixes
3395 Make upward scroll events have a positive delta to match other ports.
3397 Fix the invalidation rect offset for frames so that scrolling works properly.
3399 Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
3401 Allow tabbing to all widgets and links.
3403 Fix event returns, improving the focus situation and correcting scroll wheel
3406 * page/gtk/EventHandlerGtk.cpp:
3407 (WebCore::EventHandler::tabsToAllControls):
3408 (WebCore::EventHandler::passWheelEventToWidget):
3409 * platform/gtk/ScrollViewGtk.cpp:
3410 (WebCore::ScrollViewScrollbar::geometryChanged):
3411 (WebCore::ScrollView::updateContents):
3412 (WebCore::ScrollView::update):
3413 (WebCore::ScrollView::wheelEvent):
3414 (WebCore::ScrollView::updateScrollbars):
3415 * platform/gtk/WheelEventGtk.cpp:
3416 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
3418 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
3420 LGPL'ed files contain incorrect FSF address
3421 <http://bugs.webkit.org/show_bug.cgi?id=14885>
3423 Reviewed by NOBODY (follow-up fix).
3425 * bindings/js/JSSVGTransformListCustom.cpp:
3426 * ksvg2/svg/SVGException.idl:
3427 * ksvg2/svg/SVGTextPathElement.cpp:
3428 * ksvg2/svg/SVGTextPathElement.h:
3429 * ksvg2/svg/SVGViewSpec.cpp:
3430 * ksvg2/svg/SVGViewSpec.h:
3431 * platform/mac/FontCustomPlatformData.cpp:
3432 * platform/mac/FontCustomPlatformData.h:
3433 * platform/mac/FontPlatformDataMac.mm:
3434 * platform/win/FontCustomPlatformData.cpp:
3435 * platform/win/FontCustomPlatformData.h:
3436 * rendering/RenderSVGRoot.cpp:
3437 * rendering/RenderSVGRoot.h:
3438 * rendering/RenderSVGTextPath.cpp:
3439 * rendering/RenderSVGTextPath.h:
3440 * rendering/RenderSVGTransformableContainer.h:
3441 * rendering/RenderSVGViewportContainer.cpp:
3442 * rendering/RenderSVGViewportContainer.h:
3443 * rendering/SVGCharacterLayoutInfo.cpp:
3444 * rendering/SVGCharacterLayoutInfo.h:
3445 * rendering/SVGRenderSupport.cpp:
3446 * rendering/SVGRenderSupport.h:
3448 2007-11-02 Antti Koivisto <antti@apple.com>
3452 Add video width/height DOM and content attributes from latest HTML5 draft.
3454 Test: media/video-width-height.html
3456 * html/HTMLVideoElement.cpp:
3457 (WebCore::HTMLVideoElement::parseMappedAttribute):
3458 (WebCore::HTMLVideoElement::width):
3459 (WebCore::HTMLVideoElement::setWidth):
3460 (WebCore::HTMLVideoElement::height):
3461 (WebCore::HTMLVideoElement::setHeight):
3462 * html/HTMLVideoElement.h:
3463 * html/HTMLVideoElement.idl:
3465 2007-11-02 Darin Adler <darin@apple.com>
3469 * DerivedSources.make: Remove a few explicit filenames from some rules by using
3470 make variables a little more.
3471 * WebCore.LP64.exp: Fix typo, grammar.
3473 2007-11-02 Darin Adler <darin@apple.com>
3477 - use the new HashMap::take function where appropriate
3479 * bindings/js/kjs_binding.cpp:
3480 (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
3481 (KJS::removeWrapper): Ditto.
3482 (KJS::removeWrappers): Ditto.
3483 (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
3484 (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
3485 of remove -- in theory ever so slightly less efficient, but I think it's fine.
3486 (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
3487 (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
3488 (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
3489 (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
3491 * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
3492 * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
3493 * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
3494 * rendering/RenderBlock.cpp:
3495 (WebCore::RenderBlock::~RenderBlock): Ditto.
3496 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
3497 * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
3499 2007-11-02 Antti Koivisto <antti@apple.com>
3503 Enable video composition.
3506 * platform/graphics/mac/MoviePrivateQTKit.mm:
3507 (WebCore::MoviePrivate::createQTMovieView):
3508 * platform/mac/WebCoreSystemInterface.h:
3509 * platform/mac/WebCoreSystemInterface.mm:
3511 2007-11-02 Darin Adler <darin@apple.com>
3515 - fix http://bugs.webkit.org/show_bug.cgi?id=15806
3516 <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
3518 Test: fast/forms/remove-radio-button-assert.html
3520 * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
3521 Added protected function to be used by derived classes that need to do the same sort
3522 of removal from form that's automatically done by the base class in certain circumstances.
3523 * html/HTMLGenericFormElement.h: Added removeFromForm.
3525 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
3526 Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
3527 part of this object. By the time we get to the base class's destructor it's too late.
3528 The problem is specific to radio buttons so we don't have to worry about other classes
3529 derived from HTMLGenericFormElement.
3531 2007-11-02 Darin Adler <darin@apple.com>
3535 - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
3536 <rdar://problem/5510779> crashes in isLoadingMultipartContent
3538 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
3539 Instead of asserting the frame loader is non-0, return false if it is 0.
3541 2007-11-02 Darin Adler <darin@apple.com>
3545 - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
3546 URL and MIME type is omitted
3548 Already covered by existing tests (that had incorrect results).
3550 * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
3551 failure when both URL and MIME type are empty. The old code would not attempt a load, but
3552 it would indicate success.
3554 * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
3555 non-helpful early exit for the case where there is no URL and no type. Returning early
3556 prevents the fallback code from running.
3558 2007-11-02 Alp Toker <alp@atoker.com>
3562 Include Cairo headers properly
3564 * platform/graphics/AffineTransform.h:
3565 * platform/graphics/ImageBuffer.h:
3566 * platform/graphics/cairo/AffineTransformCairo.cpp:
3567 * platform/gtk/FontPlatformDataGtk.cpp:
3569 2007-11-01 Oliver Hunt <oliver@apple.com>
3573 Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key
3575 * platform/win/KeyEventWin.cpp:
3576 (WebCore::keyIdentifierForWindowsKeyCode):
3577 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
3579 2007-11-01 Geoffrey Garen <ggaren@apple.com>
3581 Reviewed by Maciej Stachowiak.
3583 In preparation for making List a simple stack-allocated Vector:
3585 Removed all instances of List copying, assignment, and/or storage.
3587 Layout tests and JS tests pass.