1 2007-11-11 Darin Adler <darin@apple.com>
5 - http://bugs.webkit.org/show_bug.cgi?id=15944
6 streamline SegmentedString to speed up parsing
8 I measured a speed-up of the page load test while developing this patch. I don't
9 have a precise figure, though.
11 * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
12 lineno to m_lineNumber.
13 * html/HTMLTokenizer.cpp:
14 (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
15 since we don't want to update a line number.
16 (WebCore::HTMLTokenizer::parseSpecial): Ditto.
17 (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
18 instead of lineNumberPtr() since the advance function now takes a reference.
19 (WebCore::HTMLTokenizer::parseServer): Ditto.
20 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
21 (WebCore::HTMLTokenizer::parseText): Ditto.
22 (WebCore::HTMLTokenizer::parseEntity): Ditto.
23 (WebCore::HTMLTokenizer::parseTag): Ditto.
24 (WebCore::HTMLTokenizer::write): Ditto.
26 * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
27 * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
28 Don't pass 0 to the advance function.
30 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
31 the most common case, and pushed less common cases into a separate function
32 that is not inlined. Also got rid of a branch by separating the case with a
33 line number from the case without one.
35 * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
36 Added. The aforementioned less common cases are here.
38 2007-11-11 Antti Koivisto <antti@apple.com>
40 Forgot to do this review change (and test HTTP commit).
42 * html/HTMLMediaElement.cpp:
43 (WebCore::HTMLMediaElement::play):
45 2007-11-11 Antti Koivisto <antti@apple.com>
49 - Update play() and pause() to match current HTML5 draft
50 - send events asynchronously
51 - add timeupdate event to pause
52 - rethrow load() exception, not others
53 - Use list for async events to get ordering right
55 Tests: media/video-pause-empty-events.html
56 media/video-play-empty-events.html
57 media/video-play-pause-events.html
58 media/video-play-pause-exception.html
60 * html/HTMLMediaElement.cpp:
61 (WebCore::HTMLMediaElement::dispatchEventAsync):
62 (WebCore::HTMLMediaElement::asyncEventTimerFired):
63 (WebCore::HTMLMediaElement::play):
64 (WebCore::HTMLMediaElement::pause):
65 * html/HTMLMediaElement.h:
67 2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
71 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
73 Add (basic) support for dominant-baseline / alignment-baseline text properties.
74 Note: there are no official testcases, and no-one implemented it before. Only ASV3
75 supported dominant-baseline, but not correct it seems.
77 * rendering/SVGRootInlineBox.cpp:
78 (WebCore::dominantBaselineToShift):
79 (WebCore::alignmentBaselineToShift):
80 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
82 2007-11-11 Adam Roben <aroben@apple.com>
84 Add wrappers around CoCreateInstance to COMPtr
86 I followed the example of the Query constructor and query method by
87 adding a Create constructor and create method.
91 * platform/win/COMPtr.h:
92 (COMPtr::COMPtr): Added a new constructor that calls
94 (COMPtr::create): Added.
95 (COMPtr::createInstance): Added.
97 2007-11-11 Alexey Proskuryakov <ap@nypop.com>
101 http://bugs.webkit.org/show_bug.cgi?id=15896
104 No functionality changes.
106 * dom/Node.h: Moved several editing-related methods elsewhere.
107 * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
108 to highlight that it is a match to offsetInCharacters(), and much different from other
109 offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
110 offsetInCharacters() before calling this.
112 * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
113 * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
114 Updated for above renamings.
116 * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
118 * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
122 (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
123 (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
124 (WebCore::Position::previous): Adapted to the above move.
125 (WebCore::Position::next): Ditto.
126 (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
127 and BR elements are covered by editingIgnoresContent().
128 (WebCore::Position::downstream): Ditto.
129 (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
130 (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
132 * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
133 * dom/PositionIterator.cpp:
134 (WebCore::PositionIterator::increment): Updated for the above moves.
135 (WebCore::PositionIterator::decrement): Ditto.
137 * dom/ProcessingInstruction.h:
138 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
139 ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
140 I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
143 (WebCore::Range::selectNodeContents):
144 * editing/ApplyStyleCommand.cpp:
145 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
146 (WebCore::ApplyStyleCommand::applyInlineStyle):
147 (WebCore::maxRangeOffset):
148 (WebCore::ApplyStyleCommand::removeInlineStyle):
149 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
150 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
151 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
152 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
153 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
154 * editing/CompositeEditCommand.cpp:
155 (WebCore::CompositeEditCommand::insertNodeAt):
156 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
157 * editing/DeleteSelectionCommand.cpp:
158 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
159 * editing/InsertLineBreakCommand.cpp:
160 (WebCore::InsertLineBreakCommand::doApply):
161 * editing/InsertParagraphSeparatorCommand.cpp:
162 (WebCore::InsertParagraphSeparatorCommand::doApply):
163 * editing/InsertTextCommand.cpp:
164 (WebCore::InsertTextCommand::insertTab):
165 * editing/visible_units.cpp:
166 (WebCore::previousLinePosition):
167 (WebCore::nextLinePosition):
168 Updated for the above moves.
170 * editing/Editor.cpp:
171 (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
173 * editing/TextIterator.cpp:
174 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
175 match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
176 (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
178 * editing/htmlediting.h:
179 * editing/htmlediting.cpp:
180 (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
181 child nodes, other than via DOM manipulation, which is not specific to BRs.
182 (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
183 (WebCore::maxDeepOffset): Ditto.
184 (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
185 (WebCore::caretMaxOffset): Ditto.
187 * page/EventHandler.cpp:
188 (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
189 caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
190 will take care of adjusting the offset.
192 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
193 * page/mac/WebCoreFrameBridge.mm:
194 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
195 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
196 Changed some runtime checks that seemingly cannot fail into assertions.
198 2007-11-11 Darin Adler <darin@apple.com>
202 - updated for JSRegExp function changes
204 * platform/RegularExpression.cpp:
205 (WebCore::RegularExpression::Private::compile):
206 (WebCore::RegularExpression::match):
208 2007-11-10 Mark Rowe <mrowe@apple.com>
212 * platform/UnicodeRange.h:
214 2007-11-10 Mark Rowe <mrowe@apple.com>
216 Qt Windows build fix.
218 * platform/UnicodeRange.h:
220 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
224 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
225 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
227 Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
228 Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
230 * WebCore.pro: Add platform/UnicodeRange.cpp to build
231 * WebCore.xcodeproj/project.pbxproj: Dito.
232 * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
233 (WebCore::SVGChar::characterTransform):
234 * rendering/SVGCharacterLayoutInfo.h: New variables.
235 (WebCore::SVGCharOnPath::SVGCharOnPath):
236 (WebCore::SVGChar::SVGChar):
237 * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
238 (WebCore::glyphOrientationToAngle):
239 (WebCore::glyphOrientationIsMultiplyOf180Degrees):
240 (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
241 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
242 (WebCore::cummulatedWidthOrHeightOfTextChunk):
243 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
245 2007-11-10 Timothy Hatcher <timothy@apple.com>
247 Reviewed by Sam Weinig.
249 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
250 and switch over to use getUniqueProperties in another place.
252 2007-11-10 John Sullivan <sullivan@apple.com>
254 Reviewed by Sam Weinig
256 Rest of fix for 5394877
258 * bindings/js/kjs_window.cpp:
259 (KJS::Window::isSafeScript):
260 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
261 private browsing mode either.
263 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
267 Fix function name difference - header said 'unicodeRangeForCharacter', actually
268 implemented function is 'findCharUnicodeRange'. They are not compiled yet.
270 * platform/UnicodeRange.h:
272 2007-11-10 Dan Bernstein <mitz@apple.com>
274 Reviewed by Darin Adler.
276 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
278 No test because context menu events cannot be tested in DumpRenderTree.
280 * page/EventHandler.cpp:
281 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
282 If the click occurred in an active link, selects the entire link
283 element. Otherwise selects the closest word.
284 (WebCore::EventHandler::sendContextMenuEvent): Call
285 selectClosestWordOrLinkFromMouseEvent().
286 * page/EventHandler.h:
288 2007-11-10 John Sullivan <sullivan@apple.com>
290 Reviewed by Tim Hatcher
292 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
293 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
295 * bindings/js/kjs_window.cpp:
296 (KJS::Window::isSafeScript):
297 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
299 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
303 http://bugs.webkit.org/show_bug.cgi?id=15922
304 Implement more of Mozilla Selection API
306 Tests: editing/selection/containsNode.html
307 editing/selection/deleteFromDocument.html
308 editing/selection/extend.html
309 editing/selection/selectAllChildren.html
311 * editing/SelectionController.cpp:
312 (WebCore::SelectionController::deleteFromDocument):
313 (WebCore::SelectionController::containsNode):
314 (WebCore::SelectionController::selectAllChildren):
315 (WebCore::SelectionController::extend):
316 * editing/SelectionController.h:
317 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
318 which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
319 Removed a comment mentioning removeRange(), as this method makes no sense without multiple
320 selection range support.
322 * page/DOMSelection.cpp:
323 (WebCore::DOMSelection::extend):
324 (WebCore::DOMSelection::deleteFromDocument):
325 (WebCore::DOMSelection::containsNode):
326 (WebCore::DOMSelection::selectAllChildren):
327 * page/DOMSelection.h:
328 * page/DOMSelection.idl:
329 Exposed the new methods.
331 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
335 http://bugs.webkit.org/show_bug.cgi?id=15892
336 DOM Range operations are not implemented for ProcessingInstruction nodes
338 Test: fast/dom/Range/range-processing-instructions.html
341 (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
342 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
343 to use ProcessingInstruction.data.
345 2007-11-09 Timothy Hatcher <timothy@apple.com>
347 Reviewed by Mark Rowe.
349 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
350 http://bugs.webkit.org/show_bug.cgi?id=12054
352 - Add support code for routing copy events to the focused element.
353 - Implement copying the currently selected DOM node. The node
354 and it's subtree is copied to the clipboard. If the node has no
355 outerHTML, the nodeValue is copied (text nodes, etc.)
356 - Implement copy for the resource sidebar. The URL is copied for the
357 currently selected resource.
359 * page/inspector/DocumentPanel.js:
360 * page/inspector/inspector.js:
362 2007-11-09 Antti Koivisto <antti@apple.com>
366 Fix occasional blank video with poster attribute.
369 * html/HTMLMediaElement.cpp:
370 (WebCore::HTMLMediaElement::load):
371 (WebCore::HTMLMediaElement::didRestoreFromCache):
372 Just calling updateFromElement() does the right thing for both poster image and video.
374 2007-11-04 Sam Weinig <sam@webkit.org>
376 Reviewed by Adam Roben.
378 <rdar://problem/5435940>
379 The COM bindings for the DOM should be autogenerated like the other DOM bindings
381 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
382 is being introduced in this patch and to insure that no conflicts arise, a temporary
383 prefix of "GEN_" has been used for all the new classes.
385 The build architecture for these bindings differs slightly from the other autogenerated
386 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
387 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
388 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
390 This commit includes:
391 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
393 - Generating all of the Core DOM and most of HTML and CSS
394 - Generating Event, EventTarget, and EventListener
396 * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
397 * WebCore.vcproj/WebCore.vcproj:
398 * WebCore.vcproj/migrate-idls.sh: Added.
399 * bindings/scripts/CodeGenerator.pm:
400 * bindings/scripts/CodeGeneratorCOM.pm: Added.
401 * dom/EventListener.h: Make the isWindowEvent parameter default to false
402 to allow autogeneration based on the IDL.
404 2007-11-09 Tristan O'Tierney <tristan@apple.com>
406 Reviewed by Timothy Hatcher.
408 This patch is for the WebKit side of <rdar://problem/5591115>.
409 We need a way to tell context menu navigations, such as "Open in New Window"
410 to override any sort of browser preference for tab based navigation.
412 * bridge/WindowFeatures.h:
413 (WebCore::WindowFeatures::WindowFeatures):
414 Added a new struct member var, preferredType
415 and an accompanying enum type PreferredType
416 to send a window type recommendation up to the Chrome.
418 * page/ContextMenuController.cpp:
419 (WebCore::openNewWindow):
420 Set the window features to recommend a new Window for
421 "Open in New Window" context menu action.
423 2007-11-08 Adam Roben <aroben@apple.com>
425 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
427 We now match the behavior of Firefox and IE, which is to always just
428 send a click event to the focused button when the Enter key is pressed
429 (previously we were submitting forms directly in some cases).
433 Test: fast/forms/enter-clicks-buttons.html
435 * html/HTMLButtonElement.cpp:
436 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
437 fancy when Enter is pressed on a <button type=button> -- just send a
438 click event like we do for other button types.
439 * html/HTMLInputElement.cpp:
440 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
441 the same way we treat type=submit and type=reset: just send a click
442 event when Enter is pressed.
444 2007-11-09 Dan Bernstein <mitz@apple.com>
446 Reviewed by Antti Koivisto.
448 - fix a bug in invisible layer culling: dynamically changing a
449 descendant of an invisible layer to be visible did not work
451 Test: fast/layers/layer-content-visibility-change.html
453 * rendering/RenderLayer.cpp:
454 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
455 make sure that our stacking context rebuilds its z-order lists to
458 2007-11-09 David Hyatt <hyatt@apple.com>
460 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
461 args can be lengths or numbers or percents.
465 * WebCore.xcodeproj/project.pbxproj:
467 (WebCore::TransformOperationInfo::TransformOperationInfo):
468 (WebCore::CSSParser::parseTransform):
469 * rendering/RenderStyle.h:
470 (WebCore::MatrixTransformOperation::apply):
472 2007-11-09 Beth Dakin <bdakin@apple.com>
476 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
477 math leads to crazy problems
479 Transform matrices accept the first four parameters as CSS lengths.
480 CSS lengths get mapped into WebCore::Lengths as percents by
481 WebCore::convertToLength(). Percent lengths cannot call value(). It
482 does not yield a correct result and it asserts on Debug builds.
484 * rendering/RenderStyle.h:
485 (WebCore::MatrixTransformOperation::apply): Instead of calling
486 value() on the lengths, call calcValue. This fixes the assert and
489 2007-11-09 Simon Hausmann <hausmann@kde.org>
491 Reviewed by nobody, build/link fix for Qt/Windows.
493 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
496 * platform/qt/TemporaryLinkStubs.cpp:
498 2007-11-09 Simon Hausmann <hausmann@kde.org>
502 Fix ContextMenu allocation in the Qt port.
504 Store all items and submenus value based in ContextMenu and ContextMenuItem.
505 That fixes the crashes when the context menu was populated with sub-menus because
506 of the use of temporary ContextMenu objects like this:
508 ContextMenu subMenu(...);
509 subMenu.appendItem(...);
510 subMenu.appendItem(...);
512 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
514 * platform/ContextMenu.h:
515 * platform/ContextMenuItem.h:
516 * platform/PlatformMenuDescription.h:
517 * platform/qt/ContextMenuItemQt.cpp:
518 (WebCore::ContextMenuItem::ContextMenuItem):
519 (WebCore::ContextMenuItem::platformSubMenu):
520 * platform/qt/ContextMenuQt.cpp:
521 (WebCore::ContextMenu::ContextMenu):
522 (WebCore::ContextMenu::~ContextMenu):
523 (WebCore::ContextMenu::appendItem):
524 (WebCore::ContextMenu::itemCount):
526 2007-11-09 Peter Kasting <zerodpx@gmail.com>
528 Reviewed by Mark Rowe.
530 http://bugs.webkit.org/show_bug.cgi?id=15909
531 Malformed GIFs should not result in memory corruption.
533 * platform/image-decoders/gif/GIFImageDecoder.cpp:
534 (WebCore::GIFImageDecoder::haveDecodedRow):
536 2007-11-08 Timothy Hatcher <timothy@apple.com>
538 Reviewed by Sam Weinig.
540 Some Web Inspector CSS editing changes.
541 - Only delete the property if all the text is delete or the new user input correctly parses.
542 This prevents deleting the existing property if the new text is invalid.
543 - Intercept the Escape key and cancel editing, not saving any changes.
545 * page/inspector/StylesSidebarPane.js:
547 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
549 Bakefiles for building WebCore, needed by wx port.
551 Reviewed by Mark Rowe.
553 * WebCoreSources.bkl: Added.
554 * webcore-base.bkl: Added.
555 * webcore-wx.bkl: Added.
557 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
559 Reviewed by Mark Rowe.
561 http://bugs.webkit.org/show_bug.cgi?id=15905
563 Fix builds with HTML 5 Storage support disabled.
564 ENABLE(DATABASE) needs to be added in a few places.
566 * page/InspectorController.cpp:
567 * storage/Database.h:
569 2007-11-08 Steve Falkenburg <sfalken@apple.com>
571 <rdar://problem/5524082> Allow images to be dragged out directly into other apps
573 We weren't including CF_HDROP in our image drops. This broke drag of
574 images out of the browser window directly into other apps (examples
575 include notepad, mspaint, msword).
577 Reviewed by Oliver, Ada.
579 * platform/win/ClipboardWin.cpp:
580 (WebCore::createGlobalImageFileContent): Removed unused variable.
581 (WebCore::createGlobalHDropContent): Added
582 (WebCore::writeFileToDataObject): Write HDROP data if available.
583 (WebCore::writeImageToDataObject): Write HDROP for dragged images.
584 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
586 2007-11-08 Xan Lopez <xan@gnome.org>
590 http://bugs.webkit.org/show_bug.cgi?id=15908
591 Use g_object_ref_sink when available
593 * platform/gtk/PopupMenuGtk.cpp:
594 (WebCore::PopupMenu::show):
595 * platform/gtk/ScrollViewGtk.cpp:
596 (WebCore::ScrollView::setGtkAdjustments):
598 2007-11-08 Dan Bernstein <mitz@apple.com>
600 Reviewed by Beth Dakin.
602 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
604 Test: fast/dom/length-attribute-mapping.html
606 * dom/StyledElement.cpp:
607 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
608 logic to stop after the first "%" or "*" in the string. This allows for
609 "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
611 2007-11-08 Kevin McCullough <kmccullough@apple.com>
615 * loader/FrameLoaderClient.h:
616 * platform/graphics/svg/SVGImageEmptyClients.h:
617 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
619 2007-11-08 Kevin McCullough <kmccullough@apple.com>
623 - windowObjectCleared() is no longer const. It needs to setup the
624 script debugger and cannot be const to do so.
626 * loader/FrameLoaderClient.h:
627 * platform/graphics/svg/SVGImageEmptyClients.h:
628 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
630 2007-11-08 Adam Roben <aroben@apple.com>
632 Hopeful Windows build fix
634 * rendering/RenderObject.cpp: Touch this file to make it recompile.
636 2007-11-08 Sam Weinig <sam@webkit.org>
640 Convert JavaScript internal function objects to use one class per
641 function. This avoids a switch statement inside what used to be
642 the shared function classes and will allow Shark to better analyze
645 To make this switch, the value property of the HashEntry was changed
646 to a union of an intptr_t (which is used to continue handle valueGetters)
647 and function pointer which points to a static constructor for the
648 individual new function objects.
650 SunSpider claims this is a 1.0% speedup.
652 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
653 new classes and hand updated the remain non-generated (groan) classes.
655 * bindings/js/JSDOMWindowCustom.cpp:
656 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
657 * bindings/js/JSEventTargetNode.cpp:
658 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
659 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
660 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
661 * bindings/js/JSEventTargetNode.h:
662 * bindings/js/JSHTMLInputElementBase.cpp:
663 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
664 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
665 * bindings/js/JSHTMLInputElementBase.h:
666 (WebCore::JSHTMLInputElementBase::):
667 * bindings/js/JSXMLHttpRequest.cpp:
668 (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
669 (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
670 (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
671 (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
672 (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
673 (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
674 (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
675 (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
676 (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
677 (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
678 * bindings/js/JSXMLHttpRequest.h:
679 (KJS::JSXMLHttpRequest::impl):
680 * bindings/js/JSXSLTProcessor.cpp:
681 (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
682 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
683 (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
684 (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
685 (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
686 (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
687 (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
688 (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
689 * bindings/js/JSXSLTProcessor.h:
690 * bindings/js/kjs_events.cpp:
691 (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
692 (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
693 (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
694 (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
695 * bindings/js/kjs_events.h:
696 * bindings/js/kjs_navigator.cpp:
698 (KJS::Navigator::getOwnPropertySlot):
699 (KJS::Plugins::getOwnPropertySlot):
700 (KJS::PluginsFunctionRefresh::callAsFunction):
701 (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
702 * bindings/js/kjs_navigator.h:
704 * bindings/js/kjs_window.cpp:
705 (KJS::Window::getOwnPropertySlot):
707 (KJS::WindowProtoFuncAToB::callAsFunction):
708 (KJS::WindowProtoFuncBToA::callAsFunction):
709 (KJS::WindowProtoFuncOpen::callAsFunction):
710 (KJS::WindowProtoFuncScrollBy::callAsFunction):
711 (KJS::WindowProtoFuncScrollTo::callAsFunction):
712 (KJS::WindowProtoFuncMoveBy::callAsFunction):
713 (KJS::WindowProtoFuncMoveTo::callAsFunction):
714 (KJS::WindowProtoFuncResizeBy::callAsFunction):
715 (KJS::WindowProtoFuncResizeTo::callAsFunction):
716 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
717 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
718 (KJS::WindowProtoFuncSetInterval::callAsFunction):
719 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
720 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
721 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
722 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
723 (KJS::Location::getOwnPropertySlot):
724 (KJS::Location::put):
725 (KJS::LocationProtoFuncReplace::callAsFunction):
726 (KJS::LocationProtoFuncReload::callAsFunction):
727 (KJS::LocationProtoFuncAssign::callAsFunction):
728 (KJS::LocationProtoFuncToString::callAsFunction):
729 * bindings/js/kjs_window.h:
731 * bindings/scripts/CodeGeneratorJS.pm:
733 2007-11-08 Mark Rowe <mrowe@apple.com>
735 Fix the Gtk, Qt and Wx builds.
737 * platform/gtk/TemporaryLinkStubs.cpp:
738 * platform/qt/TemporaryLinkStubs.cpp:
739 * platform/wx/TemporaryLinkStubs.cpp:
741 2007-11-08 Mark Rowe <mrowe@apple.com>
743 Not reviewed. Fix two instances of includes using the wrong case in the filename.
745 * platform/graphics/mac/MoviePrivateQTKit.mm:
746 * platform/wx/MimeTypeRegistryWx.cpp:
748 2007-11-08 Darin Adler <darin@apple.com>
752 - fix <rdar://problem/5552943> accesskey does not focus <button> elements
754 Test: fast/forms/access-key.html
756 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
757 Added a call to focus.
759 2007-11-07 Darin Adler <darin@apple.com>
763 - cut down on notImplemented() functions on Windows
765 * bridge/AXObjectCache.h: Put #if around the accessibility
768 * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
769 Moved here from TemporaryLinkStubs.
771 * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
772 using the ResourceResponse that's now available from the DocumentLoader.
774 * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
775 the Editor instead of the obsolete one on the Frame.
777 * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
778 * loader/FrameLoader.h: Removed overrideMediaType.
780 * loader/gtk/DocumentLoaderGtk.cpp: Removed.
781 * loader/mac/DocumentLoaderMac.mm: Removed.
782 * loader/qt/DocumentLoaderQt.cpp: Removed.
784 * page/Frame.cpp: Removed transpose.
785 * page/Frame.h: Ditto.
786 * page/FrameView.h: Removed updateBorder.
787 * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
788 * page/mac/FrameMac.mm: Ditto.
789 * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
791 * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
793 * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
794 * platform/qt/TemporaryLinkStubs.cpp: Ditto.
795 * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
796 * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
797 issueTransposeCommand, and overrideMediaType.
799 * platform/network/cf/ResourceHandleCFNet.cpp:
800 (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
801 (WebCore::ResourceHandle::willLoadFromCache): Ditto.
802 * platform/win/GraphicsContextWin.cpp:
803 (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
804 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
805 * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
806 * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
808 * WebCore.pro: Updated for removed files.
809 * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
811 2007-11-08 Mark Rowe <mrowe@apple.com>
813 Build fix for case-sensitive file systems. Fix case of file names
816 * html/HTMLMediaElement.cpp:
817 * platform/graphics/Movie.cpp:
819 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
821 Reviewed by Lars Knoll <lars@trolltech.com>.
823 Remove some warnings about not implemented methods.
825 * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
826 specific to the NS API and won't be implemented on Qt.
827 * ResourceHandle::bufferedData can not be reached as we return false in
828 ResourceHandle::supportsBufferedData.
831 * platform/network/qt/ResourceHandleQt.cpp:
832 (WebCore::ResourceHandle::supportsBufferedData):
834 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
836 Reviewed by Lars Knoll <lars@trolltech.com>.
838 Cleanup checking for the request method.
840 * Check the request method only in QWebNetworkManager::add.
841 * Currently HEAD, GET, POST are allowed and for everything else
842 QWebNetworkManager::add returns false.
843 * Returning false is compatible with ResourceHandle::start and it
844 can be used in ResourceHandle::loadResourceSynchronously to generate
848 * platform/network/qt/ResourceHandleQt.cpp:
849 (WebCore::ResourceHandle::start):
850 (WebCore::ResourceHandle::loadResourceSynchronously):
852 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
854 Reviewed by Lars Knoll <lars@trolltech.com>.
856 Implement WebCore::callOnMainThread
858 Implemented using a global QObject, that is moved to the main thread
859 and then sending a custom event to it.
860 Picked a number below QEvent::User but above any other documented value.
863 * platform/qt/ThreadingQt.cpp:
864 (WebCore::PerformFunctionEvent::PerformFunctionEvent):
865 (WebCore::MainThreadInvoker::MainThreadInvoker):
866 (WebCore::MainThreadInvoker::event):
867 (WebCore::callOnMainThread):
869 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
871 Reviewed by Lars Knoll <lars@trolltech.com>.
873 Avoid problems with calling QPainter::begin() on an already active paintdevice
875 * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
876 crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
877 * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
878 used by the ScrollView on a layout triggered by QWebPage::paintEvent.
881 * platform/qt/WidgetQt.cpp:
882 (WebCore::Widget::invalidateRect):
884 2007-11-08 Eric Seidel <eric@webkit.org>
888 * ksvg2/svg/SVGPathElement.h: remove old comment
890 2007-11-07 Antti Koivisto <antti@apple.com>
894 Ensure video renderer has correct size if video has already been loaded
895 when it is constructed.
897 * rendering/RenderVideo.cpp:
898 (WebCore::RenderVideo::RenderVideo):
900 2007-11-07 Antti Koivisto <antti@apple.com>
904 Ensure video is visible when it should be.
906 * rendering/RenderVideo.cpp:
907 (WebCore::RenderVideo::updateMovie):
909 2007-11-07 Dan Bernstein <mitz@apple.com>
911 Reviewed by Darin Adler.
913 - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
915 Layers and listboxes are two kinds of ScrollBarClient that can be
916 removed while the scrollbar is tracking the mouse. The scrollbar is not
917 destroyed until later, and meanwhile it can try to call the client,
918 which results in a crash.
920 * manual-tests/stale-scrollbar-client-crash.html: Added.
921 * platform/ScrollBar.h:
922 (WebCore::Scrollbar::setClient): Added.
923 * rendering/RenderLayer.cpp:
924 (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
925 * rendering/RenderListBox.cpp:
926 (WebCore::RenderListBox::~RenderListBox): Ditto.
928 2007-11-07 Adam Roben <aroben@apple.com>
930 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
936 * platform/win/SharedBufferWin.cpp:
937 (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
938 empty path, because _wfopen_s will crash if we pass it a null pointer.
940 2007-11-07 David Kilzer <ddkilzer@apple.com>
942 WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
943 <http://bugs.webkit.org/show_bug.cgi?id=14893>
944 <rdar://problem/5380295>
948 Tests: fast/css/device-aspect-ratio.html
949 fast/css/max-device-aspect-ratio.html
950 fast/css/min-device-aspect-ratio.html
952 * css/MediaQueryEvaluator.cpp:
953 (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
954 (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
955 a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
958 2007-11-07 Dan Bernstein <mitz@apple.com>
960 Reviewed by Dave Hyatt.
962 - fix http://bugs.webkit.org/show_bug.cgi?id=15887
963 REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
965 Test: fast/css/display-none-inline-style-change-crash.html
968 (WebCore::Element::recalcStyle): Fixed the crash by null-checking
969 the current style and removed other checks that are not strictly
972 2007-11-07 Brady Eidson <beidson@apple.com>
976 Remove FrameLoaderClient methods from SVG that were pruned awhile ago
978 * platform/graphics/svg/SVGImageEmptyClients.h:
980 2007-11-07 Dan Bernstein <mitz@apple.com>
982 Reviewed by Darin Adler.
984 - fix a bug where CSS rules with :hover in the ancestor chain stopped
985 working after changing the inline style declaration of the ancestor
987 Test: fast/css/affected-by-hover-after-style-change.html
990 (WebCore::Element::recalcStyle): If we are not forcing style
991 recalculation for all descendants, preserve any "affected by
992 {hover|active|drag} bits that we may have acquired from them.
993 Also renamed _style to currentStyle.
995 2007-11-06 Timothy Hatcher <timothy@apple.com>
999 Bug 11920: Web Inspector should have Firebug-like CSS editing
1000 http://bugs.webkit.org/show_bug.cgi?id=11920
1002 * css/CSSComputedStyleDeclaration.h:
1003 (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
1004 this was true, but computed style has no concept of implicit. So false makes more sense
1005 and makes the code simpler in the inspector. This function was added for the inspector,
1006 so this isn't a compatibility change.
1007 * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
1008 * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
1010 * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
1011 * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
1012 trying to call a function based on the element's id. Call focused and blurred on the focused
1013 element when currentFocusElement is changed. Use the new listItemElement getter instead of
1014 the private property.
1015 * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
1016 Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
1017 to allow generation of the title using the DOM element. Add listItemElement and
1018 childrenListElement getters.
1019 * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
1020 * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
1021 property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
1022 * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
1023 instead of the private properties.
1025 2007-11-07 Simon Hausmann <hausmann@kde.org>
1027 Reviewed by Alexey Proskuryakov.
1029 Coding style fix, don't use inline explicitly.
1031 * bridge/WindowFeatures.h:
1033 2007-11-07 Simon Hausmann <hausmann@kde.org>
1037 For safety provide a default constructor for WindowFeatures().
1038 ContextMenuController.cpp: createNewWindow as well as QWebPage need to
1039 create a default initialized WindowFeatures object on the fly.
1041 * bridge/WindowFeatures.h:
1042 (WebCore::WindowFeatures::WindowFeatures):
1044 2007-11-07 Simon Hausmann <shausman@trolltech.com>
1048 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.
1052 2007-11-07 Simon Hausmann <hausmann@kde.org>
1056 Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
1058 * platform/graphics/qt/ImageQt.cpp:
1059 (loadResourcePixmap):
1061 2007-11-07 Simon Hausmann <hausmann@kde.org>
1065 Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
1067 * platform/graphics/qt/ImageQt.cpp:
1068 (loadResourcePixmap):
1070 2007-11-07 Simon Hausmann <hausmann@kde.org>
1074 Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
1075 QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
1076 in ContextMenu::populate().
1077 For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
1078 out of it. That menu is currently not functional anymore though.
1080 * platform/ContextMenu.h:
1081 * platform/ContextMenuItem.h:
1082 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
1083 * platform/PlatformMenuDescription.h:
1084 * platform/qt/ContextMenuItemQt.cpp:
1085 (WebCore::ContextMenuItem::ContextMenuItem):
1086 (WebCore::ContextMenuItem::type):
1087 (WebCore::ContextMenuItem::setType):
1088 (WebCore::ContextMenuItem::action):
1089 (WebCore::ContextMenuItem::setAction):
1090 (WebCore::ContextMenuItem::title):
1091 (WebCore::ContextMenuItem::setTitle):
1092 (WebCore::ContextMenuItem::platformSubMenu):
1093 (WebCore::ContextMenuItem::setSubMenu):
1094 (WebCore::ContextMenuItem::setChecked):
1095 (WebCore::ContextMenuItem::setEnabled):
1096 * platform/qt/ContextMenuQt.cpp:
1097 (WebCore::ContextMenu::ContextMenu):
1098 (WebCore::ContextMenu::~ContextMenu):
1099 (WebCore::ContextMenu::appendItem):
1100 (WebCore::ContextMenu::itemCount):
1101 (WebCore::ContextMenu::insertItem):
1102 (WebCore::ContextMenu::setPlatformDescription):
1103 (WebCore::ContextMenu::platformDescription):
1105 2007-11-07 Simon Hausmann <hausmann@kde.org>
1109 Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
1110 but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
1111 Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
1114 * platform/qt/ContextMenuQt.cpp:
1116 2007-11-07 Simon Hausmann <hausmann@kde.org>
1120 Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
1121 Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
1123 * platform/PlatformMouseEvent.h:
1124 * platform/qt/PlatformMouseEventQt.cpp:
1125 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1127 2007-11-07 Lars Knoll <lars@trolltech.com>
1131 don't put nbsp's into the plan text paste
1133 Fix both ClipboardQt and PasteboardQt to replace
1134 nbsp's with spaces before putting the text onto the
1135 native clipboard. This is consistent with Mac and Win
1136 and fixes at least editing/pasteboard/4076267-3.html
1138 * platform/qt/ClipboardQt.cpp:
1139 (WebCore::ClipboardQt::writeRange):
1140 * platform/qt/PasteboardQt.cpp:
1141 (WebCore::Pasteboard::writeSelection):
1143 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1145 Reviewed by Lars Knoll <lars@trolltech.com>.
1147 Implement Pasteboard::writeImage()
1149 * Pasteboard is now fully implemented. Copying of Images into the Clipboard
1151 * As with URLs we only copy into the Clipboard (and not additionally to the
1155 WARNING: NO TEST CASES ADDED OR CHANGED
1157 * platform/qt/PasteboardQt.cpp:
1158 (WebCore::Pasteboard::writeImage):
1160 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1162 Reviewed by Lars Knoll <lars@trolltech.com>.
1164 Apple CodingStyle fixes
1167 WARNING: NO TEST CASES ADDED OR CHANGED
1169 * platform/qt/PasteboardQt.cpp:
1170 (WebCore::Pasteboard::documentFragment):
1172 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1174 Reviewed by Lars Knoll <lars@trolltech.com>.
1176 Implement Pasteboard::writeURL()
1177 * The URL currently gets written as text/plain and text/uri-list.
1178 The win and mac port have some more types which we currently do
1179 not support. When supporting them we can use the 'titleString'
1181 * As with writeSelection we only copy into the Clipboard. We could
1182 consider copying into the Selection as well.
1185 WARNING: NO TEST CASES ADDED OR CHANGED
1187 * platform/qt/PasteboardQt.cpp:
1188 (WebCore::Pasteboard::writeURL):
1190 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1192 Reviewed by Lars Knoll <lars@trolltech.com>.
1197 WARNING: NO TEST CASES ADDED OR CHANGED
1199 * platform/qt/PasteboardQt.cpp:
1200 (WebCore::Pasteboard::documentFragment):
1202 2007-11-07 Lars Knoll <lars@trolltech.com>
1206 Use the correct function calls to convert a selection to
1209 WARNING: NO TEST CASES ADDED OR CHANGED
1211 * platform/qt/ClipboardQt.cpp:
1212 (WebCore::ClipboardQt::setData):
1213 (WebCore::ClipboardQt::writeRange):
1214 * platform/qt/PasteboardQt.cpp:
1215 (WebCore::Pasteboard::writeSelection):
1217 2007-11-07 Lars Knoll <lars@trolltech.com>
1221 Some more clipboard fixes.
1223 We have to set things immediately on the QClipBoard if the
1224 Clipboard object is not for dragging.
1226 This is due to the fact that the Clipboard object might be
1227 rather long lived if accessed through javascript (it'll only
1228 get deleted by JS garbage collection). We have to transfer
1229 the data over to the QClipboard before that to make things work.
1231 Fixes editing/execCommand/copy-without-selection.html
1233 * platform/qt/ClipboardQt.cpp:
1234 (WebCore::ClipboardQt::ClipboardQt):
1235 (WebCore::ClipboardQt::~ClipboardQt):
1236 (WebCore::ClipboardQt::clearData):
1237 (WebCore::ClipboardQt::clearAllData):
1238 (WebCore::ClipboardQt::getData):
1239 (WebCore::ClipboardQt::setData):
1240 (WebCore::ClipboardQt::declareAndWriteDragImage):
1241 (WebCore::ClipboardQt::writeURL):
1242 (WebCore::ClipboardQt::writeRange):
1244 2007-11-07 Simon Hausmann <hausmann@kde.org>
1248 Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
1249 not supported due to implicit forks, use IPC::Open2 instead.
1251 * bindings/scripts/IDLParser.pm:
1253 2007-11-07 Dan Bernstein <mitz@apple.com>
1255 Reviewed by Brady Eidson.
1257 - fix http://bugs.webkit.org/show_bug.cgi?id=15877
1258 REGRESSION: r27486 caused a layout regression at my bank's website
1260 Test: fast/block/float/overhanging-after-height-decrease-offsets.html
1262 * rendering/RenderBlock.cpp:
1263 (WebCore::RenderBlock::layoutBlock):
1265 2007-11-06 Beth Dakin <bdakin@apple.com>
1269 <rdar://problem/5575812> REGRESSION:When using absolute positioning
1270 with overflow:auto div, WebKit seems to add an additional 15px
1272 * rendering/RenderBox.cpp:
1273 (WebCore::RenderBox::containingBlockWidthForPositioned): We need to
1274 subtract off the vertical scrollbar width too.
1276 2007-11-06 Justin Garcia <justin.garcia@apple.com>
1278 Reviewed by Dan Bernstein.
1280 <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
1281 <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
1283 * editing/markup.cpp:
1284 (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
1285 that encloses the input context, unless that block is the body, which shouldn't
1286 be cloned. In that case, use regular divs, as we did before r27369.
1288 2007-11-06 Christian Dywan <christian@twotoasts.de>
1292 Fix http://bugs.webkit.org/show_bug.cgi?id=15828
1293 Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
1295 * WebCore.pro: Use sane default install paths for the gtk port.
1297 2007-11-06 Justin Garcia <justin.garcia@apple.com>
1299 Reviewed by Darin Adler.
1301 <rdar://problem/5576619>
1302 REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
1304 * editing/TypingCommand.cpp:
1305 (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
1306 both of the other deletion commands, call typingAddedToOpenCommand(), which takes
1307 the command's endingSelection and sets it as selection.
1309 2007-11-06 Dan Bernstein <mitz@apple.com>
1311 Reviewed by Antti Koivisto and Dave Hyatt.
1313 - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
1315 Test: fast/block/float/overhanging-after-height-decrease.html
1317 * rendering/RenderBlock.cpp:
1318 (WebCore::RenderBlock::layoutBlock): If after calculating the height
1319 it turns out that there are overhanging floats that were not overhanging
1320 before, rescan children with overhanging floats and add them.
1321 (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
1322 returns the lowest float bottom of any of the children.
1323 (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
1324 lowest float bottom.
1325 * rendering/RenderBlock.h:
1327 2007-11-06 Adele Peterson <adele@apple.com>
1331 Switched all uses of HTMLImageLoader to use OwnPtrs.
1333 * html/HTMLInputElement.h:
1334 * html/HTMLInputElement.cpp:
1335 (WebCore::HTMLInputElement::init):
1336 (WebCore::HTMLInputElement::~HTMLInputElement):
1337 (WebCore::HTMLInputElement::setInputType):
1338 (WebCore::HTMLInputElement::parseMappedAttribute):
1339 (WebCore::HTMLInputElement::attach):
1340 * html/HTMLObjectElement.h:
1341 * html/HTMLObjectElement.cpp:
1342 (WebCore::HTMLObjectElement::HTMLObjectElement):
1343 (WebCore::HTMLObjectElement::~HTMLObjectElement):
1344 (WebCore::HTMLObjectElement::parseMappedAttribute):
1345 (WebCore::HTMLObjectElement::attach):
1346 * html/HTMLVideoElement.h:
1347 * html/HTMLVideoElement.cpp:
1348 (WebCore::HTMLVideoElement::HTMLVideoElement):
1349 (WebCore::HTMLVideoElement::attach):
1350 (WebCore::HTMLVideoElement::detach):
1351 (WebCore::HTMLVideoElement::parseMappedAttribute):
1353 2007-11-06 Antti Koivisto <antti@apple.com>
1357 Trigger media load on on src attribute changes as specified in new HTML5 draft.
1359 Tests: media/video-src-change.html
1360 media/video-src-remove.html
1361 media/video-src-set.html
1363 * html/HTMLMediaElement.cpp:
1364 (WebCore::HTMLMediaElement::attributeChanged):
1365 * html/HTMLMediaElement.h:
1367 2007-11-06 Dan Bernstein <mitz@apple.com>
1369 Reviewed by Darin Adler.
1371 - fix http://bugs.webkit.org/show_bug.cgi?id=15838
1372 Incomplete repaint toggling "How you know this person" on Facebook
1374 Test: fast/repaint/make-children-non-inline.html
1376 * rendering/RenderBlock.cpp:
1377 (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
1378 is needed because the inline children may be repositioned as they move
1379 into new anonymous blocks, but those blocks have no knowledge of where
1380 their children used to be, so they cannot invalidate those areas.
1382 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
1386 http://bugs.webkit.org/show_bug.cgi?id=15847
1387 Some editing cleanup
1389 No change in functionality.
1391 * editing/TextIterator.cpp:
1392 (WebCore::plainText):
1393 * editing/TextIterator.h:
1394 Made WebCore::plainText() return String instead of DeprecatedString.
1396 * bridge/mac/WebCoreAXObject.mm:
1397 (-[WebCoreAXObject textUnderElement]):
1398 (-[WebCoreAXObject value]):
1399 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
1400 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
1401 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
1402 Updated for the above change. There is no need to explicitly convert to NSString now.
1404 * editing/EditCommand.cpp:
1405 (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
1406 initialized in constructor body, so the work done in initializer list was wasted.
1408 (WebCore::EditCommand::apply): Moved some stars.
1409 (WebCore::EditCommand::unapply): Ditto.
1410 (WebCore::EditCommand::reapply): Ditto.
1411 (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
1412 removed one of the checks.
1414 * editing/SelectionController.cpp:
1415 (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
1417 * page/mac/WebCoreFrameBridge.h:
1418 * page/mac/WebCoreFrameBridge.mm:
1419 Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
1420 -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
1422 2007-11-05 Mark Rowe <mrowe@apple.com>
1426 * bindings/js/JSHTMLDocumentCustom.cpp:
1427 (WebCore::writeHelper):
1429 2007-11-05 Adam Roben <aroben@apple.com>
1431 Don't crash if SafariTheme can't be loaded
1433 PlatformScrollBarSafari and RenderThemeSafari were not checking
1434 whether SafariTheme was successfully loaded. All other uses of
1435 SafariTheme already check this.
1439 * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
1441 (WebCore::PlatformScrollbar::paintButton):
1442 (WebCore::PlatformScrollbar::paintTrack):
1443 (WebCore::PlatformScrollbar::paintThumb):
1444 * rendering/RenderThemeSafari.cpp:
1445 (WebCore::RenderThemeSafari::isControlStyled): Always return true if
1446 we couldn't load SafariTheme. This way we should never try to paint
1447 themed controls (and we assert as such in the paint functions).
1448 (WebCore::RenderThemeSafari::paintCheckbox):
1449 (WebCore::RenderThemeSafari::paintRadio):
1450 (WebCore::RenderThemeSafari::paintButton):
1451 (WebCore::RenderThemeSafari::paintTextField):
1452 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
1453 (WebCore::RenderThemeSafari::paintTextArea):
1454 (WebCore::RenderThemeSafari::paintMenuList):
1455 (WebCore::RenderThemeSafari::paintSliderThumb):
1456 (WebCore::RenderThemeSafari::paintSearchField):
1457 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
1458 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
1459 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
1461 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
1463 Adding the rest of wx port's graphics impl.
1465 Rubber-stamped by Maciej Stachowiak.
1467 * platform/graphics/wx/AffineTransformWx.cpp: Added.
1468 * platform/graphics/wx/GraphicsContextWx.cpp: Added.
1469 * platform/graphics/wx/ImageBufferWx.cpp: Added.
1470 * platform/graphics/wx/ImageSourceWx.cpp: Added.
1471 * platform/graphics/wx/ImageWx.cpp: Added.
1472 * platform/graphics/wx/PathWx.cpp: Added.
1474 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
1476 wx port bug fixes and new files to get platform/wx building on trunk.
1478 Rubber-stamped by Maciej Stachowiak.
1480 * platform/wx/CursorWx.cpp:
1481 * platform/wx/FileSystemWx.cpp: Added.
1482 * platform/wx/FontCacheWx.cpp:
1483 * platform/wx/FontPlatformDataWx.cpp:
1484 * platform/wx/FontWx.cpp:
1485 * platform/wx/KeyboardEventWx.cpp:
1486 * platform/wx/LocalizedStringsWx.cpp: Added.
1487 * platform/wx/LoggingWx.cpp: Added.
1488 * platform/wx/RenderThemeWx.cpp:
1489 * platform/wx/ScrollViewWx.cpp:
1490 * platform/wx/SharedTimerWx.cpp:
1491 * platform/wx/StringWx.cpp:
1492 * platform/wx/ThreadingWx.cpp: Added.
1493 * platform/wx/WidgetWx.cpp:
1495 2007-11-05 Adele Peterson <adele@apple.com>
1499 Fix for <rdar://problem/5579999> Add poster attribute for video element
1501 * html/HTMLAttributeNames.in: Added poster attribute.
1503 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
1504 Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
1505 * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
1507 * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
1508 * html/HTMLObjectElement.h:
1510 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
1511 Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
1512 * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
1514 * html/HTMLVideoElement.idl: Added case for poster attribute.
1515 * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
1516 * html/HTMLVideoElement.cpp:
1517 (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
1518 (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
1519 (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
1520 (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
1521 (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
1522 (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
1523 (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
1524 (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
1525 (WebCore::HTMLVideoElement::isURLAttribute): Added.
1526 (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
1527 (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
1529 2007-11-05 Adam Roben <aroben@apple.com>
1531 Fix <rdar://5563572> SVG image support is turned off
1533 Turned on SVG images for all platforms.
1537 * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
1538 * loader/CachedImage.cpp:
1539 (WebCore::CachedImage::createImage): Removed platform checks for
1542 2007-11-05 Antti Koivisto <antti@apple.com>
1546 QTMovieView can generate callbacks during paint. This can lead to crashes.
1548 Delay callbacks so they get handled after painting is completed. No test case,
1549 I don't know how to reliably reproduce this.
1551 * platform/graphics/mac/MoviePrivateQTKit.mm:
1552 (WebCore::MoviePrivate::MoviePrivate):
1553 (WebCore::MoviePrivate::~MoviePrivate):
1554 (WebCore::MoviePrivate::paint):
1555 (-[WebCoreMovieObserver initWithCallback:WebCore::]):
1556 (-[WebCoreMovieObserver disconnect]):
1557 (-[WebCoreMovieObserver loadStateChanged:]):
1558 (-[WebCoreMovieObserver rateChanged:]):
1559 (-[WebCoreMovieObserver sizeChanged:]):
1560 (-[WebCoreMovieObserver timeChanged:]):
1561 (-[WebCoreMovieObserver volumeChanged:]):
1562 (-[WebCoreMovieObserver didEnd:]):
1563 (-[WebCoreMovieObserver setDelayCallbacks:]):
1565 2007-11-05 Antti Koivisto <antti@apple.com>
1569 Add some missing WebCore* prefixes to ObjC classes
1571 * platform/mac/FileChooserMac.mm:
1572 (WebCore::FileChooser::FileChooser):
1573 * platform/mac/SharedBufferMac.mm:
1574 (WebCore::SharedBuffer::createNSData):
1575 (WebCore::SharedBuffer::createCFData):
1576 * platform/mac/SharedTimerMac.cpp:
1577 (WebCore::setSharedTimerFireTime):
1579 2007-11-05 Ada Chan <adachan@apple.com>
1581 <rdar://problem/5579772> Regression: AltGr does not work
1582 We now store the system key event info in PlatforkKeyboardEvent().
1586 * platform/PlatformKeyboardEvent.h:
1587 (WebCore::PlatformKeyboardEvent::isSystemKey):
1588 * platform/win/KeyEventWin.cpp:
1589 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1591 2007-11-02 Tristan O'Tierney <tristan@apple.com>
1593 Reviewed by Darin Adler.
1595 * WebCore.xcodeproj/project.pbxproj:
1596 Set WindowFeatures.h as a Private header.
1598 * loader/FrameLoader.cpp:
1599 (WebCore::FrameLoader::createWindow):
1600 Revised to use a single createWindow function instead of
1601 two createWindow functions and one createModalDialog function.
1602 The logic for this is now addressed in WebKit in an effort
1603 to make this easier to follow.
1606 (WebCore::Chrome::createWindow):
1608 * page/ChromeClient.h:
1609 * page/ContextMenuController.cpp:
1610 (WebCore::openNewWindow):
1611 * platform/graphics/svg/SVGImageEmptyClients.h:
1612 (WebCore::SVGEmptyChromeClient::createWindow):
1613 Revised to take new additional windowFeatures parameter.
1615 2007-11-04 Geoffrey Garen <ggaren@apple.com>
1617 Reviewed by Darin Adler.
1619 http://bugs.webkit.org/show_bug.cgi?id=15835
1621 Small adaptations to new KJS::List class.
1623 * bindings/js/kjs_window.cpp:
1624 (KJS::WindowFunc::callAsFunction):
1625 (KJS::ScheduledAction::ScheduledAction):
1627 2007-11-05 Adam Roben <aroben@apple.com>
1629 Allow passing a base class pointer to COMPtr::copyRefTo
1633 * platform/win/COMPtr.h:
1635 2007-11-05 Dan Bernstein <mitz@apple.com>
1637 Reviewed by Oliver Hunt.
1639 - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
1641 Test: fast/dom/class-all-whitespace.html
1643 * dom/StyledElement.cpp:
1644 (WebCore::StyledElement::parseMappedAttribute): Check if there is any
1645 non-whitespace character in the class attribute.
1647 2007-11-05 Brady Eidson <beidson@apple.com>
1651 Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
1652 of the sql storage API
1654 * storage/DatabaseAuthorizer.cpp:
1655 (WebCore::DatabaseAuthorizer::allowTransaction):
1656 * storage/DatabaseAuthorizer.h:
1658 2007-11-05 Mark Rowe <mrowe@apple.com>
1660 Reviewed by Alp Toker.
1662 Have getMIMETypeForExtension return a null string when no MIME type is known
1663 for the extension rather than returning "text/plain". This prevents plugin data
1664 being dumped into object elements when plugins are disabled.
1666 * platform/gtk/MIMETypeRegistryGtk.cpp:
1667 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1669 2007-11-04 Sam Weinig <sam@webkit.org>
1671 Rubber-stamped by Adam Roben.
1673 Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
1676 * bindings/js/kjs_window.cpp:
1677 (KJS::Window::isSafeScript):
1678 * platform/SecurityOrigin.cpp:
1679 (WebCore::SecurityOrigin::canAccess):
1680 * platform/SecurityOrigin.h:
1682 2007-11-04 Timothy Hatcher <timothy@apple.com>
1686 Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
1687 http://bugs.webkit.org/show_bug.cgi?id=15834
1689 - Broke up DocumentPanel and added three SidebarPane sub-classes.
1690 - Fixed many Style pane bugs, including:
1691 * Poor handling of duplicate properties in the same rule. Some of this can't be
1692 fixed since we can't only get the "winning" value for duplicate properties.
1693 So we should only show one entry per unique property name.
1694 * Computed style does not show font shorthand sub-properties if 'font' was used.
1695 * Property priority was broken, the wrong properties were crossed out.
1696 * The 'border' shorthand shows null for the shorthand value.
1697 * Shorthands didn't show their priority (e.g. !important).
1698 * HSL and HTML hex colors didn't have preview swatch blocks.
1699 * Code refactoring, making it easier to reuse for console.log later.
1701 * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
1702 classes in new files.
1703 * page/inspector/MetricsSidebarPane.js: Added.
1704 * page/inspector/Panel.js: Remove an InspectorController.log() call.
1705 * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
1706 So TreeElements can access properties on their section.
1707 * page/inspector/PropertiesSidebarPane.js: Added.
1708 * page/inspector/SidebarPane.js: Remove the explicit asignment of the
1709 onexpand and oncollapse to null. These were hiding prototypes.
1710 * page/inspector/StylesSidebarPane.js: Added.
1711 * page/inspector/inspector.html: Include the new script files.
1712 * page/inspector/treeoutline.js: If a null representedObject is passed
1713 in just use a empty object.
1715 2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
1717 Fix build when spaces appear in the WebKit source path.
1719 Reviewed by Mark Rowe.
1721 * bindings/scripts/IDLParser.pm: Use safer open() method which lists
1722 arguments individually and prevents the need to work around spaces
1725 2007-11-04 Alp Toker <alp@atoker.com>
1727 Reviewed by Alexey Proskuryakov.
1729 Fix a crash when no clipboard text is available
1731 * platform/gtk/PasteboardGtk.cpp:
1732 (WebCore::Pasteboard::plainText):
1734 2007-11-03 Darin Adler <darin@apple.com>
1738 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
1739 remove unused PCRE features for speed
1741 * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
1742 * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
1743 Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
1746 * platform/RegularExpression.h: Remove the unused cap function. We can
1747 add it back later if we find we need it.
1748 * platform/RegularExpression.cpp:
1749 (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
1750 regular expression entry point changes.
1751 (WebCore::RegularExpression::Private::~Private): Ditto.
1752 (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
1753 This means that regular expressions with metacharactesr like ^ in them
1754 won't work any more with non-whole-string searches, but we don't use
1755 any regular expressions like that.
1757 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1759 Update the link stubs to match the current build,
1760 and fix coding style issues.
1762 Reviewed by Mark Rowe.
1764 * platform/wx/TemporaryLinkStubs.cpp:
1765 (loadResourceIntoArray):
1766 (findNextSentenceFromIndex):
1767 (findSentenceBoundary):
1768 (Frame::dashboardRegionsChanged):
1769 (WebCore::historyContains):
1770 (CachedPage::close):
1771 (Editor::showStylesPanel):
1772 (EventHandler::passSubframeEventToSubframe):
1773 (EventHandler::passWheelEventToWidget):
1774 (WebCore::currentTextBreakLocaleID):
1776 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1778 wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
1780 Reviewed by Mark Rowe.
1782 * platform/graphics/wx/FloatRectWx.cpp: Added.
1783 * platform/graphics/wx/IntPointWx.cpp: Added.
1784 * platform/graphics/wx/IntRectWx.cpp: Added.
1786 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1788 wx <-> WebKit data type conversions for Pen and Color.
1790 Reviewed by Darin Adler.
1792 * platform/graphics/wx: Added.
1793 * platform/graphics/wx/ColorWx.cpp: Added.
1794 * platform/graphics/wx/PenWx.cpp: Added.
1796 2007-11-03 Sam Weinig <sam@webkit.org>
1800 Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
1801 The variable had been kept around for binary compatibility, but since nothing
1802 else is there is no point in continuing to keep it around.
1804 * bindings/js/JSDOMExceptionConstructor.cpp:
1806 * bindings/js/JSHTMLInputElementBase.cpp:
1808 * bindings/js/JSNamedNodesCollection.cpp:
1810 * bindings/js/JSXMLHttpRequest.cpp:
1812 * bindings/js/JSXSLTProcessor.cpp:
1814 * bindings/js/kjs_css.cpp:
1816 * bindings/js/kjs_events.cpp:
1818 * bindings/js/kjs_navigator.cpp:
1820 * bindings/js/kjs_window.cpp:
1822 * bindings/scripts/CodeGeneratorJS.pm:
1824 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1826 Build fixes to get wx impls. building on trunk.
1828 Reviewed by Mark Rowe.
1830 * platform/wx/DragDataWx.cpp:
1831 (WebCore::DragData::containsFiles):
1832 (WebCore::DragData::asFilenames):
1833 * platform/wx/DragImageWx.cpp:
1834 (WebCore::scaleDragImage):
1835 * platform/wx/MimeTypeRegistryWx.cpp:
1836 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1837 * platform/wx/MouseEventWx.cpp:
1838 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1839 * platform/wx/MouseWheelEventWx.cpp:
1840 * platform/wx/PasteboardWx.cpp:
1841 (WebCore::Pasteboard::writeImage):
1842 * platform/wx/WidgetWx.cpp:
1843 (WebCore::Widget::setCursor):
1845 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
1847 Sort files(...); sections of Xcode project files.
1849 Rubber-stamped by Darin.
1851 * WebCore.xcodeproj/project.pbxproj:
1852 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
1854 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1856 Coding style fixes for platform/wx files.
1858 Reviewed by Mark Rowe.
1860 * platform/wx/ClipboardWx.cpp:
1861 * platform/wx/GlyphMapWx.cpp:
1862 * platform/wx/ScreenWx.cpp:
1864 2007-11-03 Alp Toker <alp@atoker.com>
1866 Reviewed by Mark Rowe.
1868 Implement platform scrollbar static width/height getters
1870 * platform/gtk/PlatformScrollBar.h:
1871 * platform/gtk/PlatformScrollBarGtk.cpp:
1873 (PlatformScrollbar::horizontalScrollbarHeight):
1875 2007-11-03 Alp Toker <alp@atoker.com>
1877 Reviewed by Mark Rowe.
1879 Cast function pointers to gpointer.
1881 * platform/gtk/PlatformScrollBarGtk.cpp:
1882 (PlatformScrollbar::~PlatformScrollbar):
1884 2007-11-03 Alp Toker <alp@atoker.com>
1886 Reviewed by Adam Roben.
1888 RenderThemeGtk implementation based on Mozilla's GTK+ style code
1890 There is still work needed to complete this feature.
1893 * platform/gtk/RenderThemeGtk.cpp:
1895 (WebCore::RenderThemeGtk::RenderThemeGtk):
1896 (WebCore::supportsFocus):
1897 (WebCore::RenderThemeGtk::supportsFocusRing):
1898 (WebCore::RenderThemeGtk::controlSupportsTints):
1899 (WebCore::RenderThemeGtk::baselinePosition):
1900 (WebCore::adjustMozStyle):
1901 (WebCore::setMozState):
1902 (WebCore::paintMozWidget):
1903 (WebCore::setButtonPadding):
1904 (WebCore::setToggleSize):
1905 (WebCore::RenderThemeGtk::setCheckboxSize):
1906 (WebCore::RenderThemeGtk::paintCheckbox):
1907 (WebCore::RenderThemeGtk::setRadioSize):
1908 (WebCore::RenderThemeGtk::paintRadio):
1909 (WebCore::RenderThemeGtk::adjustButtonStyle):
1910 (WebCore::RenderThemeGtk::paintButton):
1911 (WebCore::RenderThemeGtk::adjustMenuListStyle):
1912 (WebCore::RenderThemeGtk::paintMenuList):
1913 (WebCore::RenderThemeGtk::adjustTextFieldStyle):
1914 (WebCore::RenderThemeGtk::paintTextField):
1915 (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
1916 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
1917 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
1918 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
1919 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
1920 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
1921 (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
1922 (WebCore::RenderThemeGtk::paintSearchField):
1923 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
1924 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
1925 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
1926 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
1927 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
1928 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
1929 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
1930 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
1931 (WebCore::RenderThemeGtk::caretBlinkFrequency):
1932 (WebCore::RenderThemeGtk::systemFont):
1933 (WebCore::gtkStyleSetCallback):
1934 (WebCore::RenderThemeGtk::gtkContainer):
1935 (WebCore::RenderThemeGtk::gtkEntry):
1936 (WebCore::RenderThemeGtk::gtkTreeView):
1937 * platform/gtk/RenderThemeGtk.h:
1938 * platform/gtk/gtk2drawing.c: Added.
1939 (moz_gtk_enable_style_props):
1940 (ensure_window_widget):
1941 (setup_widget_prototype):
1942 (ensure_button_widget):
1943 (ensure_checkbox_widget):
1944 (ensure_radiobutton_widget):
1945 (ensure_scrollbar_widget):
1946 (ensure_spin_widget):
1947 (ensure_scale_widget):
1948 (ensure_entry_widget):
1949 (ensure_option_menu_widget):
1950 (ensure_arrow_widget):
1951 (ensure_handlebox_widget):
1952 (ensure_toolbar_widget):
1953 (ensure_tooltip_widget):
1954 (ensure_tab_widget):
1955 (ensure_progress_widget):
1956 (ensure_frame_widget):
1957 (ensure_menu_bar_widget):
1958 (ensure_menu_bar_item_widget):
1959 (ensure_menu_popup_widget):
1960 (ensure_menu_item_widget):
1961 (ensure_check_menu_item_widget):
1963 (TSOffsetStyleGCArray):
1965 (moz_gtk_button_paint):
1967 (moz_gtk_checkbox_get_metrics):
1968 (moz_gtk_radio_get_metrics):
1969 (moz_gtk_checkbox_get_focus):
1970 (moz_gtk_radio_get_focus):
1971 (moz_gtk_button_get_focus):
1972 (moz_gtk_option_menu_get_metrics):
1973 (moz_gtk_toggle_paint):
1974 (calculate_arrow_dimensions):
1975 (moz_gtk_scrollbar_button_paint):
1976 (moz_gtk_scrollbar_trough_paint):
1977 (moz_gtk_scrollbar_thumb_paint):
1978 (moz_gtk_spin_paint):
1979 (moz_gtk_scale_paint):
1980 (moz_gtk_scale_thumb_paint):
1981 (moz_gtk_gripper_paint):
1982 (moz_gtk_entry_paint):
1983 (moz_gtk_option_menu_paint):
1984 (moz_gtk_dropdown_arrow_paint):
1985 (moz_gtk_container_paint):
1986 (moz_gtk_toggle_label_paint):
1987 (moz_gtk_toolbar_paint):
1988 (moz_gtk_tooltip_paint):
1989 (moz_gtk_frame_paint):
1990 (moz_gtk_progressbar_paint):
1991 (moz_gtk_progress_chunk_paint):
1992 (moz_gtk_tab_paint):
1993 (moz_gtk_tabpanels_paint):
1994 (moz_gtk_menu_bar_paint):
1995 (moz_gtk_menu_popup_paint):
1996 (moz_gtk_menu_item_paint):
1997 (moz_gtk_check_menu_item_paint):
1998 (moz_gtk_window_paint):
1999 (moz_gtk_get_widget_border):
2000 (moz_gtk_get_dropdown_arrow_size):
2001 (moz_gtk_get_scalethumb_metrics):
2002 (moz_gtk_get_scrollbar_metrics):
2003 (moz_gtk_widget_paint):
2004 (moz_gtk_get_scrollbar_widget):
2006 * platform/gtk/gtkdrawing.h: Added.
2008 2007-11-03 Alp Toker <alp@atoker.com>
2010 Reviewed by Mark Rowe.
2012 Do not allow scrollbars to handle wheel events
2014 We bubble the wheel event up so the parent can handle it instead.
2016 * platform/gtk/PlatformScrollBarGtk.cpp:
2017 (gtkScrollEventCallback):
2018 (PlatformScrollbar::PlatformScrollbar):
2019 (PlatformScrollbar::~PlatformScrollbar):
2021 2007-11-03 Alp Toker <alp@atoker.com>
2023 Reviewed by Mark Rowe.
2025 Frame scrolling and invalidation fixes
2027 Make upward scroll events have a positive delta to match other ports.
2029 Fix the invalidation rect offset for frames so that scrolling works properly.
2031 Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
2033 Allow tabbing to all widgets and links.
2035 Fix event returns, improving the focus situation and correcting scroll wheel
2038 * page/gtk/EventHandlerGtk.cpp:
2039 (WebCore::EventHandler::tabsToAllControls):
2040 (WebCore::EventHandler::passWheelEventToWidget):
2041 * platform/gtk/ScrollViewGtk.cpp:
2042 (WebCore::ScrollViewScrollbar::geometryChanged):
2043 (WebCore::ScrollView::updateContents):
2044 (WebCore::ScrollView::update):
2045 (WebCore::ScrollView::wheelEvent):
2046 (WebCore::ScrollView::updateScrollbars):
2047 * platform/gtk/WheelEventGtk.cpp:
2048 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2050 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
2052 LGPL'ed files contain incorrect FSF address
2053 <http://bugs.webkit.org/show_bug.cgi?id=14885>
2055 Reviewed by NOBODY (follow-up fix).
2057 * bindings/js/JSSVGTransformListCustom.cpp:
2058 * ksvg2/svg/SVGException.idl:
2059 * ksvg2/svg/SVGTextPathElement.cpp:
2060 * ksvg2/svg/SVGTextPathElement.h:
2061 * ksvg2/svg/SVGViewSpec.cpp:
2062 * ksvg2/svg/SVGViewSpec.h:
2063 * platform/mac/FontCustomPlatformData.cpp:
2064 * platform/mac/FontCustomPlatformData.h:
2065 * platform/mac/FontPlatformDataMac.mm:
2066 * platform/win/FontCustomPlatformData.cpp:
2067 * platform/win/FontCustomPlatformData.h:
2068 * rendering/RenderSVGRoot.cpp:
2069 * rendering/RenderSVGRoot.h:
2070 * rendering/RenderSVGTextPath.cpp:
2071 * rendering/RenderSVGTextPath.h:
2072 * rendering/RenderSVGTransformableContainer.h:
2073 * rendering/RenderSVGViewportContainer.cpp:
2074 * rendering/RenderSVGViewportContainer.h:
2075 * rendering/SVGCharacterLayoutInfo.cpp:
2076 * rendering/SVGCharacterLayoutInfo.h:
2077 * rendering/SVGRenderSupport.cpp:
2078 * rendering/SVGRenderSupport.h:
2080 2007-11-02 Antti Koivisto <antti@apple.com>
2084 Add video width/height DOM and content attributes from latest HTML5 draft.
2086 Test: media/video-width-height.html
2088 * html/HTMLVideoElement.cpp:
2089 (WebCore::HTMLVideoElement::parseMappedAttribute):
2090 (WebCore::HTMLVideoElement::width):
2091 (WebCore::HTMLVideoElement::setWidth):
2092 (WebCore::HTMLVideoElement::height):
2093 (WebCore::HTMLVideoElement::setHeight):
2094 * html/HTMLVideoElement.h:
2095 * html/HTMLVideoElement.idl:
2097 2007-11-02 Darin Adler <darin@apple.com>
2101 * DerivedSources.make: Remove a few explicit filenames from some rules by using
2102 make variables a little more.
2103 * WebCore.LP64.exp: Fix typo, grammar.
2105 2007-11-02 Darin Adler <darin@apple.com>
2109 - use the new HashMap::take function where appropriate
2111 * bindings/js/kjs_binding.cpp:
2112 (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
2113 (KJS::removeWrapper): Ditto.
2114 (KJS::removeWrappers): Ditto.
2115 (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
2116 (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
2117 of remove -- in theory ever so slightly less efficient, but I think it's fine.
2118 (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
2119 (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
2120 (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
2121 (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
2123 * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
2124 * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
2125 * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
2126 * rendering/RenderBlock.cpp:
2127 (WebCore::RenderBlock::~RenderBlock): Ditto.
2128 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
2129 * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
2131 2007-11-02 Antti Koivisto <antti@apple.com>
2135 Enable video composition.
2138 * platform/graphics/mac/MoviePrivateQTKit.mm:
2139 (WebCore::MoviePrivate::createQTMovieView):
2140 * platform/mac/WebCoreSystemInterface.h:
2141 * platform/mac/WebCoreSystemInterface.mm:
2143 2007-11-02 Darin Adler <darin@apple.com>
2147 - fix http://bugs.webkit.org/show_bug.cgi?id=15806
2148 <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
2150 Test: fast/forms/remove-radio-button-assert.html
2152 * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
2153 Added protected function to be used by derived classes that need to do the same sort
2154 of removal from form that's automatically done by the base class in certain circumstances.
2155 * html/HTMLGenericFormElement.h: Added removeFromForm.
2157 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
2158 Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
2159 part of this object. By the time we get to the base class's destructor it's too late.
2160 The problem is specific to radio buttons so we don't have to worry about other classes
2161 derived from HTMLGenericFormElement.
2163 2007-11-02 Darin Adler <darin@apple.com>
2167 - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
2168 <rdar://problem/5510779> crashes in isLoadingMultipartContent
2170 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
2171 Instead of asserting the frame loader is non-0, return false if it is 0.
2173 2007-11-02 Darin Adler <darin@apple.com>
2177 - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
2178 URL and MIME type is omitted
2180 Already covered by existing tests (that had incorrect results).
2182 * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
2183 failure when both URL and MIME type are empty. The old code would not attempt a load, but
2184 it would indicate success.
2186 * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
2187 non-helpful early exit for the case where there is no URL and no type. Returning early
2188 prevents the fallback code from running.
2190 2007-11-02 Alp Toker <alp@atoker.com>
2194 Include Cairo headers properly
2196 * platform/graphics/AffineTransform.h:
2197 * platform/graphics/ImageBuffer.h:
2198 * platform/graphics/cairo/AffineTransformCairo.cpp:
2199 * platform/gtk/FontPlatformDataGtk.cpp:
2201 2007-11-01 Oliver Hunt <oliver@apple.com>
2205 Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key
2207 * platform/win/KeyEventWin.cpp:
2208 (WebCore::keyIdentifierForWindowsKeyCode):
2209 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2211 2007-11-01 Geoffrey Garen <ggaren@apple.com>
2213 Reviewed by Maciej Stachowiak.
2215 In preparation for making List a simple stack-allocated Vector:
2217 Removed all instances of List copying, assignment, and/or storage.
2219 Layout tests and JS tests pass.
2221 * bindings/js/kjs_window.cpp:
2222 (KJS::WindowFunc::callAsFunction): Stores a Vector of protected
2223 JSValue*'s instead of a List now. Converts to List on the fly when
2224 calling the timer function. This is slightly less efficient, but the
2225 common case is 0-2 arguments, so it's no biggie.
2227 (HTML iBench shows no regression. PLT does not use JS timers.)
2229 (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
2231 (KJS::ScheduledAction::ScheduledAction): ditto
2233 * bindings/objc/WebScriptObject.mm:
2234 (getListFromNSArray): Takes a List out parameter now, to avoid copying.
2236 2007-11-01 Oliver Hunt <oliver@apple.com>
2240 Correct event behaviour on certain control keys
2242 Make sure we send the correct keyDown and keyUp events for the
2243 control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
2244 uses Windows key codes for the event keyCode.
2247 * page/EventHandler.cpp:
2248 (WebCore::EventHandler::keyEvent):
2249 * platform/PlatformKeyboardEvent.h:
2250 * platform/gtk/KeyEventGtk.cpp:
2251 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2252 * platform/mac/KeyEventMac.mm:
2253 (WebCore::keyIdentifierForKeyEvent):
2254 (WebCore::WindowsKeyCodeForKeyEvent):
2255 (WebCore::isKeyUpEvent):
2256 (WebCore::textFromEvent):
2257 (WebCore::unmodifiedTextFromEvent):
2258 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2259 * platform/win/KeyEventWin.cpp:
2260 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2261 * platform/wx/KeyEventWin.cpp:
2262 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2264 2007-11-01 Timothy Hatcher <timothy@apple.com>
2268 * page/inspector/inspector.css: Use the white disclosure triangles
2269 when a parent DOM element is sepected.
2271 2007-11-01 Justin Garcia <justin.garcia@apple.com>
2273 Reviewed by Oliver Hunt.
2275 <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
2277 * editing/ReplaceSelectionCommand.cpp:
2278 (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
2279 into a plaintext-only region, since when we build the fragment to insert from
2280 plain text, we don't put any style information on it, so it will automatically
2281 match style with no intervention.
2282 * editing/markup.cpp:
2283 (WebCore::createFragmentFromText): Place paragraphs into clones of the
2284 block being inserted into, instead of default paragraph elements,
2285 so that when inserted content will match the surrounding paragraph style.
2286 This was broken before, but I haven't added a layout test yet because
2287 there currently isn't a way to get only plain text onto the pasteboard
2290 2007-11-01 Sam Weinig <sam@webkit.org>
2292 Reviewed by Adam Roben.
2294 Add a releaseRef method to COMPtr which matches the behavior
2295 of the method by the same name in PassRefPtr. This is in
2296 preparation of adding autogenerated COM DOM bindings.
2298 * platform/win/COMPtr.h:
2299 (COMPtr::releaseRef):
2301 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
2303 wx impl. for DragController and EventHandler interfaces.
2305 Reviewed by Adam Roben.
2308 * page/wx/DragControllerWx.cpp: Added.
2309 (WebCore::DragController::isCopyKeyDown):
2310 (WebCore::DragController::dragOperation):
2311 (WebCore::DragController::maxDragImageSize):
2312 * page/wx/EventHandlerWx.cpp: Added.
2313 (WebCore::EventHandler::passMousePressEventToSubframe):
2314 (WebCore::EventHandler::passMouseMoveEventToSubframe):
2315 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2316 (WebCore::EventHandler::passMousePressEventToScrollbar):
2317 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2318 (WebCore::EventHandler::focusDocumentView):
2319 (WebCore::EventHandler::eventActivatedView):
2320 (WebCore::EventHandler::createDraggingClipboard):
2322 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
2324 Adding files for wx impl. of editing interfaces.
2326 Reviewed by Adam Roben.
2328 * editing/wx: Added.
2329 * editing/wx/EditorWx.cpp: Added.
2330 (WebCore::Editor::newGeneralClipboard):
2332 2007-11-01 Sam Weinig <sam@webkit.org>
2334 Reviewed by Adam Roben.
2336 Make implicit conversions from LPCSTRs and BSTRs to WebCore string
2337 types possible in preparation of adding autogenerated COM DOM bindings.
2339 * platform/AtomicString.cpp:
2340 (WebCore::AtomicString::add):
2341 * platform/AtomicString.h:
2342 (WebCore::AtomicString::AtomicString):
2343 * platform/PlatformString.h:
2344 * platform/win/BString.cpp:
2345 (WebCore::BString::BString):
2346 * platform/win/BString.h:
2348 2007-11-01 Brady Eidson <beidson@apple.com>
2352 Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
2354 * platform/sql/SQLiteTransaction.cpp:
2355 (WebCore::SQLiteTransaction::SQLiteTransaction):
2356 (WebCore::SQLiteTransaction::~SQLiteTransaction):
2357 (WebCore::SQLiteTransaction::begin):
2358 (WebCore::SQLiteTransaction::commit):
2359 (WebCore::SQLiteTransaction::rollback):
2360 * platform/sql/SQLiteTransaction.h:
2361 (WebCore::SQLiteTransaction::inProgress):
2363 2007-11-01 Adam Roben <aroben@apple.com>
2365 Remove all duplicate xcopy commands from WebCore's post-build step
2367 Also add the /d option to the copy of platform/sql.
2369 Rubberstamped by Sam.
2371 * WebCore.vcproj/WebCore.vcproj:
2373 2007-11-01 Adele Peterson <adele@apple.com>
2377 Add support for the animation of the -webkit-border-raduis properties.
2379 * page/AnimationController.cpp:
2380 (WebCore::blendFunc): Added for IntSize.
2381 (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
2383 2007-11-01 Alp Toker <alp@atoker.com>
2385 Reviewed by Mitz Pettel.
2387 Fix an unbalanced save/restore.
2389 * platform/graphics/cg/ImageCG.cpp:
2390 (WebCore::BitmapImage::draw):
2392 2007-11-01 David Hyatt <hyatt@apple.com>
2394 Add support for the animation of the visibility property.
2396 Reviewed by oliver, aroben
2398 * page/AnimationController.cpp:
2399 (WebCore::blendFunc):
2400 (WebCore::ImplicitAnimation::animate):
2402 2007-11-01 Kevin McCullough <kmccullough@apple.com>
2406 - Made COMPtr be able to be used by certain other templates,
2407 specifically HashSet.
2409 * platform/win/COMPtr.h:
2412 2007-11-01 Dan Bernstein <mitz@apple.com>
2414 Reviewed by Dave Hyatt.
2416 - fix http://bugs.webkit.org/show_bug.cgi?id=15015
2417 <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
2419 Test: fast/repaint/overflow-clip-subtree-layout.html
2421 This patch does not address the bigger issue of doing a full relayout
2422 of inline flows containing floats, but it addresses the problem on
2423 aol.com, where the changes that trigger layout are confined to an
2424 overflow area inside the float.
2426 * page/FrameView.cpp:
2427 (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
2428 layout roots are different but one descends from the other, make (or
2429 keep) the ancestor as the layout root.
2430 * rendering/RenderObject.cpp:
2431 (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
2432 clipping and non-auto width and height relayout boundaries.
2434 2007-11-01 Alexey Proskuryakov <ap@webkit.org>
2436 Reviewed by Mark Rowe.
2438 Fixed line endings that got confused in this file somehow.
2440 * platform/network/ResourceResponse.cpp:
2441 (WebCore::ResourceResponse::isAttachment):
2443 2007-11-01 Peter Kasting <zerodpx@gmail.com>
2445 Reviewed by Dave Hyatt.
2447 http://bugs.webkit.org/show_bug.cgi?id=15778
2448 Malformed GIFs should not result in memory corruption.
2450 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2451 (WebCore::GIFImageDecoder::haveDecodedRow):
2452 * platform/image-decoders/gif/GIFImageReader.cpp:
2453 (GIFImageReader::output_row):
2454 (GIFImageReader::read):
2456 2007-10-31 Adam Roben <aroben@apple.com>
2458 Fix a crash when parsing a cubic-bezier function
2462 Test: fast/css/parse-timing-function-crash.html
2464 * WebCore.vcproj/WebCore.vcproj:
2465 * css/CSSParser.cpp:
2466 (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
2469 2007-10-31 David Hyatt <hyatt@apple.com>
2471 Fix a merge error from when I applied my patch to ToT. A couple of lines should be part of an if.
2473 * rendering/RenderStyle.cpp:
2474 (WebCore::RenderStyle::adjustTransitions):
2476 2007-10-31 Anders Carlsson <andersca@apple.com>
2480 Add new SQL callback interfaces and JS implementations of them.
2482 * DerivedSources.make:
2483 * WebCore.xcodeproj/project.pbxproj:
2484 * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
2485 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
2486 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2487 * bindings/js/JSCustomSQLStatementCallback.h: Added.
2488 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
2489 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
2490 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2491 * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
2492 * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
2493 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2494 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2495 * bindings/js/JSCustomSQLTransactionCallback.h: Added.
2496 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
2497 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
2498 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2499 * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
2500 * storage/JSCustomSQLStatementCallback.h: Added.
2501 * storage/JSCustomSQLStatementErrorCallback.h: Added.
2502 * storage/JSCustomSQLTransactionCallback.h: Added.
2503 * storage/JSCustomSQLTransactionErrorCallback.h: Added.
2504 * storage/SQLStatementCallback.h: Added.
2505 (WebCore::SQLStatementCallback::~SQLStatementCallback):
2506 * storage/SQLStatementCallback.idl: Added.
2507 * storage/SQLStatementErrorCallback.h: Added.
2508 (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
2509 * storage/SQLStatementErrorCallback.idl: Added.
2510 * storage/SQLTransaction.h: Added.
2511 * storage/SQLTransaction.idl: Added.
2512 * storage/SQLTransactionCallback.h: Added.
2513 (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
2514 * storage/SQLTransactionCallback.idl: Added.
2515 * storage/SQLTransactionErrorCallback.h: Added.
2516 (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
2517 * storage/SQLTransactionErrorCallback.idl: Added.
2519 2007-10-31 Justin Garcia <justin.garcia@apple.com>
2521 Reviewed by Dave Harrison.
2523 <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
2525 * editing/htmlediting.cpp:
2526 (WebCore::enclosingEmptyListItem): A single list item can contain multiple
2527 paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a
2528 list item, that list item isn't necessarily empty.
2530 2007-10-31 David Hyatt <hyatt@apple.com>
2532 Disable style sharing for animating styles.
2534 Reviewed by mitzpettel
2536 * css/CSSStyleSelector.cpp:
2537 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2539 2007-10-31 Dan Bernstein <mitz@apple.com>
2541 Reviewed by Darin Adler.
2543 - fix intermediate length calculation
2545 * rendering/Length.h:
2546 (WebCore::Length::blend):
2548 2007-10-31 Anders Carlsson <andersca@apple.com>
2552 Add new SQLError implementation.
2554 * DerivedSources.make:
2555 * WebCore.vcproj/WebCore.vcproj:
2556 * WebCore.xcodeproj/project.pbxproj:
2557 * storage/SQLError.h: Added.
2558 (WebCore::SQLError::SQLError):
2559 (WebCore::SQLError::code):
2560 (WebCore::SQLError::message):
2561 * storage/SQLError.idl: Added.
2563 2007-10-31 David Hyatt <hyatt@apple.com>
2565 Change the initial value of transition-property to all. Change the initial value of
2566 transition-duration to 0.
2570 * rendering/RenderStyle.h:
2571 (WebCore::RenderStyle::initialTransitionDuration):
2572 (WebCore::RenderStyle::initialTransitionProperty):
2574 2007-10-31 Alp Toker <alp@atoker.com>
2576 Reviewed by Mark Rowe.
2578 The new Color must be marked valid.
2580 * platform/graphics/gtk/ColorGtk.cpp:
2582 2007-10-31 Simon Hausmann <hausmann@kde.org>
2586 Build fix for non-Qt builds.
2588 * dom/XMLTokenizer.cpp:
2589 (WebCore::XMLTokenizer::XMLTokenizer):
2591 2007-10-31 Simon Hausmann <hausmann@kde.org>
2595 Fix dependency path to header files of the public API of the Qt port.
2599 2007-10-31 Holger Freyther <zecke@selfish.org>
2603 * QXmlStreamNamespaceDeclaration doesn't have the constructor we
2604 want to use for Qt4.3. Reenable the old code path which is likely
2605 to be dead as I have not checked if m_prefixToNamespaceMap is actually
2607 * Guard the entity resolver with the QT_VERSION as well.
2608 * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
2609 d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
2611 * dom/XMLTokenizer.cpp:
2612 (WebCore::XMLTokenizer::XMLTokenizer):
2613 * dom/XMLTokenizer.h:
2615 2007-10-31 Holger Freyther <zecke@selfish.org>
2617 Reviewed by Lars Knoll <lars@trolltech.com>.
2619 * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3
2620 * Provide a bad fallback implementation to filter the format list.
2622 * platform/qt/ClipboardQt.cpp:
2623 (WebCore::ClipboardQt::clearData):
2625 2007-10-31 Lars Knoll <lars@trolltech.com>
2629 add an entitiy resolver to QXmlStream.
2630 Fixes fast/parser/entities-in-attributes.xhtml.
2632 * dom/XMLTokenizer.cpp:
2633 (WebCore::EntityResolver::resolveUndeclaredEntity):
2634 (WebCore::XMLTokenizer::XMLTokenizer):
2635 (WebCore::XMLTokenizer::~XMLTokenizer):
2637 2007-10-31 Lars Knoll <lars@trolltech.com>
2641 Fixes in the XML tokenizer when using QXmlStream.
2643 Use new functionality of QXmlStream in Qt 4.4 to simplify
2644 the code (but keep the old code for now to still support Qt 4.3).
2646 Add proper support for namespace handling when parsing into
2647 a document fragment.
2649 * dom/XMLTokenizer.cpp:
2650 (WebCore::XMLTokenizer::XMLTokenizer):
2651 (WebCore::XMLTokenizer::write):
2652 (WebCore::XMLTokenizer::startElementNs):
2654 * dom/XMLTokenizer.h:
2656 2007-10-31 Lars Knoll <lars@trolltech.com>
2660 add support for dragging images.
2662 * platform/DragImage.h:
2663 * platform/qt/ClipboardQt.cpp:
2664 (WebCore::ClipboardQt::clearData):
2665 (WebCore::ClipboardQt::setDragImage):
2666 (WebCore::ClipboardQt::setDragImageElement):
2667 (WebCore::ClipboardQt::createDragImage):
2668 (WebCore::getCachedImage):
2669 (WebCore::ClipboardQt::declareAndWriteDragImage):
2670 * platform/qt/ClipboardQt.h:
2672 2007-10-31 Lars Knoll <lars@trolltech.com>
2676 fix most of the issues I found with Clipboard and DnD.
2678 * editing/qt/EditorQt.cpp:
2679 * platform/qt/ClipboardQt.cpp:
2680 (WebCore::ClipboardQt::ClipboardQt):
2681 (WebCore::ClipboardQt::~ClipboardQt):
2682 (WebCore::ClipboardQt::clearData):
2683 (WebCore::ClipboardQt::clearAllData):
2684 (WebCore::ClipboardQt::getData):
2685 (WebCore::ClipboardQt::setData):
2686 (WebCore::ClipboardQt::types):
2687 (WebCore::ClipboardQt::setDragImage):
2688 (WebCore::ClipboardQt::setDragImageElement):
2689 (WebCore::ClipboardQt::declareAndWriteDragImage):
2690 (WebCore::ClipboardQt::writeURL):
2691 (WebCore::ClipboardQt::writeRange):
2692 (WebCore::ClipboardQt::hasData):
2693 * platform/qt/ClipboardQt.h:
2694 * platform/qt/DragDataQt.cpp:
2695 (WebCore::DragData::asURL):
2697 2007-10-30 Mark Rowe <mrowe@apple.com>
2699 Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
2701 * platform/gtk/KeyEventGtk.cpp:
2702 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2703 * platform/qt/PlatformKeyboardEventQt.cpp:
2704 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2706 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
2710 http://bugs.webkit.org/show_bug.cgi?id=15762
2711 XSLStylesheet loads subresources from a wrong URL
2713 Covered by corrected existing tests.
2715 * xml/XSLStyleSheet.cpp:
2716 (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
2719 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
2723 http://bugs.webkit.org/show_bug.cgi?id=10818
2724 String::append does 2 full copies instead of 1 (or zero!)
2726 No change in functionality, thus no test.
2728 * platform/String.cpp:
2729 (WebCore::String::append): Rewrote to copy once. Also removed an ancient
2730 FIXME that doesn't seem to make any sense. Note that append() behavior doesn't
2731 match documented String behavior ("modifications to one instance will
2732 also modify all others"), but there are a lot of methods that don't.
2734 2007-10-31 Adam Roben <aroben@apple.com>
2738 * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
2740 2007-10-30 Adam Roben <aroben@apple.com>
2744 I'm not completely sure why these const issues weren't caught by GCC,
2745 but MSVC was certainly not happy with them.
2747 * editing/IndentOutdentCommand.cpp:
2748 (WebCore::isIndentBlockquote):
2749 * editing/markup.cpp:
2750 (WebCore::styleFromMatchedRulesAndInlineDecl):
2752 2007-10-30 David Hyatt <hyatt@apple.com>
2754 transition-property was defaulting to all when it should default to none.
2756 It was taking a string type. I figured out how to make it take an ident instead, so you can write:
2758 transition-property: opacity
2762 transition-property: "opacity"
2764 Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that.
2766 Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check.
2771 * css/CSSParser.cpp:
2772 (WebCore::CSSParser::parseTransitionProperty):
2773 * css/CSSStyleSelector.cpp:
2774 (WebCore::CSSStyleSelector::adjustRenderStyle):
2775 * page/AnimationController.cpp:
2776 (WebCore::ImplicitAnimation::animate):
2777 * rendering/RenderStyle.cpp:
2778 (WebCore::RenderStyle::adjustTransitions):
2779 * rendering/RenderStyle.h:
2780 (WebCore::RenderStyle::initialTransitionProperty):
2782 2007-10-30 Antti Koivisto <antti@apple.com>
2788 * platform/graphics/mac/MoviePrivateQTKit.mm:
2789 (WebCore::MoviePrivate::getSupportedTypes):
2791 2007-10-30 Dan Bernstein <mitz@apple.com>
2793 Reviewed by Stephanie Lewis.
2795 - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
2797 * platform/win/FontDataWin.cpp:
2798 (WebCore::FontData::platformInit): Handle the case where the font has no
2799 glyphs on page zero.
2801 2007-10-30 David Hyatt <hyatt@apple.com>
2803 Make sure CSS transforms can be animated using the CSS transition property.
2805 Reviewed by Dan and Antti
2807 * css/CSSStyleSelector.cpp:
2808 (WebCore::CSSStyleSelector::applyProperty):
2809 * page/AnimationController.cpp:
2810 (WebCore::blendFunc):
2811 (WebCore::ImplicitAnimation::animate):
2812 * rendering/Length.h:
2813 (WebCore::Length::blend):
2814 * rendering/RenderStyle.cpp:
2815 (WebCore::StyleTransformData::operator==):
2816 (WebCore::TransformOperations::operator==):
2817 (WebCore::blendLengths):
2818 (WebCore::ScaleTransformOperation::blend):
2819 (WebCore::RotateTransformOperation::blend):
2820 (WebCore::SkewTransformOperation::blend):
2821 (WebCore::TranslateTransformOperation::blend):
2822 (WebCore::MatrixTransformOperation::blend):
2823 * rendering/RenderStyle.h:
2824 (WebCore::TransformOperations::operator!=):
2825 (WebCore::TransformOperations::isEmpty):
2826 (WebCore::TransformOperations::size):
2827 (WebCore::TransformOperations::operator[]):
2828 (WebCore::TransformOperations::append):
2829 (WebCore::RenderStyle::transform):
2830 (WebCore::RenderStyle::setTransform):
2831 (WebCore::RenderStyle::initialTransform):
2833 2007-10-30 Antti Koivisto <antti@apple.com>
2835 Another Qt/GTK build fix.
2837 * bindings/js/JSHTMLElementWrapperFactory.cpp:
2839 2007-10-30 Antti Koivisto <antti@apple.com>
2841 Attempt to fix Qt/GTK build.
2845 2007-10-30 Justin Garcia <justin.garcia@apple.com>
2847 Reviewed by Darin Adler.
2849 <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
2851 We were trying to insert a tab into a br, after the br incorrectly ended up inside
2854 * editing/DeleteButtonController.cpp:
2855 (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
2856 * editing/DeleteSelectionCommand.cpp:
2857 (WebCore::isTableRow): Ditto.
2858 * editing/IndentOutdentCommand.cpp:
2859 (WebCore::isIndentBlockquote): Ditto.
2860 (WebCore::isListOrIndentBlockquote): Ditto.
2861 * editing/InsertLineBreakCommand.cpp:
2862 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
2864 (WebCore::InsertLineBreakCommand::doApply):
2865 Don't upstream() the insertion position. upstream()ing it will only have an effect
2866 when the insertion position is the first in its paragraph (since we canonicalize
2867 VisiblePositions to the upstream() candidate). In this start of paragraph case,
2868 upstream() can move outside inline elements like tab spans or elements that might
2869 have a different whitespace mode (added two test cases to cover these).
2870 Moved code to decide whether to insert a br or a '\n' to its own method.
2871 Removed special case code for inserting at a position inside a tab span. We instead
2872 adjust the insertion position before insertion if it is inside a tab span and
2873 handle insertion in the appropriate if-block. This fixes a bug where we would
2874 only insert one line break when two were needed (added a testcase).
2875 Removed special case code for inserting before and after tables and horizontal
2876 rules. We handle these insertions in the appropriate if-block.
2877 * editing/InsertLineBreakCommand.h:
2878 * editing/ReplaceSelectionCommand.cpp:
2879 (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
2880 * editing/htmlediting.cpp:
2881 (WebCore::isContentEditable): Ditto.
2882 (WebCore::isBlock): Ditto.
2883 (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
2884 that takes in a const Node*.
2885 (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
2887 * editing/htmlediting.h:
2888 * editing/markup.cpp:
2889 (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
2890 (WebCore::elementHasTextDecorationProperty): Ditto.
2892 2007-10-30 Antti Koivisto <antti@apple.com>
2898 * html/VoidCallback.cpp: Added.
2899 (VoidCallback::VoidCallback):
2900 (VoidCallback::~VoidCallback):
2901 (VoidCallback::handleEvent):
2902 (VoidCallback::execute):
2903 (VoidCallback::operator==):
2904 (WebCore::toVoidCallback):
2905 * html/VoidCallback.h: Added.
2906 * html/VoidCallback.idl: Added.
2908 2007-10-30 David Kilzer <ddkilzer@webkit.org>
2910 Generated files missing from WebCore's Xcode project file
2911 <http://bugs.webkit.org/show_bug.cgi?id=15406>
2915 Added the following files to the Xcode project file (note that
2916 JSHTMLInputElementBaseTable.cpp is used as a header file):
2918 - DOMCSSStyleSheetPrivate.h
2920 - DOMHTMLCollectionPrivate.h
2921 - DOMHTMLEmbedElementPrivate.h
2922 - DOMHTMLIFrameElementPrivate.h
2923 - DOMHTMLObjectElementPrivate.h
2924 - DOMHTMLSelectElementPrivate.h
2925 - DOMTextEventInternal.h
2926 - JSHTMLInputElementBaseTable.cpp
2928 * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
2929 since their generated code was not used.
2930 * WebCore.xcodeproj/project.pbxproj: Added missing header files.
2932 2007-10-29 Antti Koivisto <antti@apple.com>
2934 Rubber stamped by Adele.
2936 Initial media (<video> and <audio>) support from feature branch and
2937 QTKit based platform implementation.
2939 This will need to be updated to match current draft specification.
2941 * Configurations/WebCore.xcconfig:
2942 * DerivedSources.make:
2944 * WebCore.xcodeproj/project.pbxproj:
2945 * bindings/js/JSEventCustom.cpp:
2947 * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
2948 (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
2949 (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
2950 (WebCore::JSHTMLAudioElementConstructor::construct):
2951 * bindings/js/JSHTMLAudioElementConstructor.h: Added.
2952 * bindings/js/JSHTMLElementWrapperFactory.cpp:
2953 (WebCore::createJSHTMLWrapper):
2954 * bindings/js/kjs_window.cpp:
2955 (KJS::Window::getValueProperty):
2956 * bindings/js/kjs_window.h:
2958 * bindings/scripts/CodeGeneratorJS.pm:
2960 (WebCore::Document::createEvent):
2961 (WebCore::Document::willSaveToCache):
2962 (WebCore::Document::didRestoreFromCache):
2963 (WebCore::Document::registerForCacheCallbacks):
2964 (WebCore::Document::unregisterForCacheCallbacks):
2967 (WebCore::Element::setBooleanAttribute):
2969 (WebCore::Element::willSaveToCache):
2971 (WebCore::Event::isProgressEvent):
2974 * dom/EventTargetNode.cpp:
2975 (WebCore::EventTargetNode::dispatchProgressEvent):
2976 * dom/EventTargetNode.h:
2977 * dom/ProgressEvent.cpp: Added.
2978 (WebCore::ProgressEvent::ProgressEvent):
2979 (WebCore::ProgressEvent::initProgressEvent):
2980 (WebCore::ProgressEvent::initProgressEventNS):
2981 * dom/ProgressEvent.h: Added.
2982 (WebCore::ProgressEvent::lengthComputable):
2983 (WebCore::ProgressEvent::loaded):
2984 (WebCore::ProgressEvent::total):
2985 (WebCore::ProgressEvent::isProgressEvent):
2986 * dom/ProgressEvent.idl: Added.
2987 * history/CachedPage.cpp:
2988 (WebCore::CachedPage::CachedPage):
2989 * html/HTMLAttributeNames.in:
2990 * html/HTMLAudioElement.cpp: Added.
2991 (WebCore::HTMLAudioElement::HTMLAudioElement):
2992 * html/HTMLAudioElement.h: Added.
2993 (WebCore::HTMLAudioElement::tagPriority):
2994 * html/HTMLAudioElement.idl: Added.
2995 * html/HTMLElement.cpp:
2996 (WebCore::inlineTagList):
2997 * html/HTMLElementFactory.cpp:
2998 (WebCore::audioConstructor):
2999 (WebCore::videoConstructor):
3000 (WebCore::sourceConstructor):
3001 (WebCore::createFunctionMap):
3002 * html/HTMLInputElement.cpp:
3003 (WebCore::HTMLInputElement::~HTMLInputElement):
3004 (WebCore::HTMLInputElement::setInputType):
3005 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
3006 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
3007 * html/HTMLMediaElement.cpp: Added.
3008 (WebCore::HTMLMediaElement::HTMLMediaElement):
3009 (WebCore::HTMLMediaElement::~HTMLMediaElement):
3010 (WebCore::HTMLMediaElement::checkDTD):
3011 (WebCore::HTMLMediaElement::rendererIsNeeded):
3012 (WebCore::HTMLMediaElement::createRenderer):
3013 (WebCore::HTMLMediaElement::insertedIntoDocument):
3014 (WebCore::HTMLMediaElement::removedFromDocument):
3015 (WebCore::HTMLMediaElement::scheduleLoad):
3016 (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
3017 (WebCore::HTMLMediaElement::dispatchEventAsync):
3018 (WebCore::HTMLMediaElement::loadTimerFired):
3019 (WebCore::HTMLMediaElement::asyncEventTimerFired):
3020 (WebCore::serializeTimeOffset):
3021 (WebCore::parseTimeOffset):
3022 (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
3023 (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
3024 (WebCore::HTMLMediaElement::error):
3025 (WebCore::HTMLMediaElement::src):
3026 (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
3027 (WebCore::HTMLMediaElement::currentSrc):
3028 (WebCore::HTMLMediaElement::networkState):
3029 (WebCore::HTMLMediaElement::bufferingRate):
3030 (WebCore::HTMLMediaElement::load):
3031 (WebCore::HTMLMediaElement::movieNetworkStateChanged):
3032 (WebCore::HTMLMediaElement::movieReadyStateChanged):
3033 (WebCore::HTMLMediaElement::setReadyState):
3034 (WebCore::HTMLMediaElement::progressEventTimerFired):
3035 (WebCore::HTMLMediaElement::seek):
3036 (WebCore::HTMLMediaElement::readyState):
3037 (WebCore::HTMLMediaElement::seeking):
3038 (WebCore::HTMLMediaElement::currentTime):
3039 (WebCore::HTMLMediaElement::setCurrentTime):
3040 (WebCore::HTMLMediaElement::duration):
3041 (WebCore::HTMLMediaElement::paused):
3042 (WebCore::HTMLMediaElement::defaultPlaybackRate):
3043 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
3044 (WebCore::HTMLMediaElement::playbackRate):
3045 (WebCore::HTMLMediaElement::setPlaybackRate):
3046 (WebCore::HTMLMediaElement::ended):
3047 (WebCore::HTMLMediaElement::autoplay):
3048 (WebCore::HTMLMediaElement::setAutoplay):
3049 (WebCore::HTMLMediaElement::play):
3050 (WebCore::HTMLMediaElement::pause):
3051 (WebCore::HTMLMediaElement::loopCount):
3052 (WebCore::HTMLMediaElement::setLoopCount):
3053 (WebCore::HTMLMediaElement::start):
3054 (WebCore::HTMLMediaElement::setStart):
3055 (WebCore::HTMLMediaElement::end):
3056 (WebCore::HTMLMediaElement::setEnd):
3057 (WebCore::HTMLMediaElement::loopStart):
3058 (WebCore::HTMLMediaElement::setLoopStart):
3059 (WebCore::HTMLMediaElement::loopEnd):
3060 (WebCore::HTMLMediaElement::setLoopEnd):
3061 (WebCore::HTMLMediaElement::currentLoop):
3062 (WebCore::HTMLMediaElement::setCurrentLoop):
3063 (WebCore::HTMLMediaElement::controls):
3064 (WebCore::HTMLMediaElement::setControls):
3065 (WebCore::HTMLMediaElement::volume):
3066 (WebCore::HTMLMediaElement::setVolume):
3067 (WebCore::HTMLMediaElement::muted):
3068 (WebCore::HTMLMediaElement::setMuted):
3069 (WebCore::HTMLMediaElement::pickMedia):
3070 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
3071 (WebCore::HTMLMediaElement::movieVolumeChanged):
3072 (WebCore::HTMLMediaElement::movieDidEnd):
3073 (WebCore::HTMLMediaElement::movieCuePointReached):
3074 (WebCore::HTMLMediaElement::addCuePoint):
3075 (WebCore::HTMLMediaElement::removeCuePoint):
3076 (WebCore::HTMLMediaElement::buffered):
3077 (WebCore::HTMLMediaElement::played):
3078 (WebCore::HTMLMediaElement::seekable):
3079 (WebCore::HTMLMediaElement::effectiveStart):
3080 (WebCore::HTMLMediaElement::effectiveEnd):
3081 (WebCore::HTMLMediaElement::effectiveLoopStart):
3082 (WebCore::HTMLMediaElement::effectiveLoopEnd):
3083 (WebCore::HTMLMediaElement::activelyPlaying):
3084 (WebCore::HTMLMediaElement::endedPlayback):
3085 (WebCore::HTMLMediaElement::willSaveToCache):
3086 (WebCore::HTMLMediaElement::didRestoreFromCache):
3087 * html/HTMLMediaElement.h: Added.
3088 (WebCore::HTMLMediaElement::movie):
3089 (WebCore::HTMLMediaElement::isVideo):
3090 (WebCore::HTMLMediaElement::):
3091 (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
3092 * html/HTMLMediaElement.idl: Added.
3093 * html/HTMLSourceElement.cpp: Added.
3094 (WebCore::HTMLSourceElement::HTMLSourceElement):
3095 (WebCore::HTMLSourceElement::~HTMLSourceElement):
3096 (WebCore::HTMLSourceElement::insertedIntoDocument):
3097 (WebCore::HTMLSourceElement::src):
3098 (WebCore::HTMLSourceElement::setSrc):
3099 (WebCore::HTMLSourceElement::media):
3100 (WebCore::HTMLSourceElement::setMedia):
3101 (WebCore::HTMLSourceElement::type):
3102 (WebCore::HTMLSourceElement::setType):
3103 * html/HTMLSourceElement.h: Added.
3104 (WebCore::HTMLSourceElement::endTagRequirement):
3105 (WebCore::HTMLSourceElement::tagPriority):
3106 * html/HTMLSourceElement.idl: Added.
3107 * html/HTMLTagNames.in:
3108 * html/HTMLVideoElement.cpp: Added.
3109 (WebCore::HTMLVideoElement::HTMLVideoElement):
3110 (WebCore::HTMLVideoElement::videoWidth):
3111 (WebCore::HTMLVideoElement::videoHeight):
3112 * html/HTMLVideoElement.h: Added.
3113 (WebCore::HTMLVideoElement::tagPriority):
3114 (WebCore::HTMLVideoElement::isVideo):
3115 * html/HTMLVideoElement.idl: Added.
3116 * html/MediaError.h: Added.
3117 (WebCore::MediaError::):
3118 (WebCore::MediaError::MediaError):
3119 (WebCore::MediaError::code):
3120 * html/MediaError.idl: Added.
3121 * html/TimeRanges.cpp: Added.
3122 (TimeRanges::TimeRanges):
3123 (TimeRanges::start):
3126 (TimeRanges::contain):
3127 * html/TimeRanges.h: Added.
3128 (WebCore::TimeRanges::TimeRanges):
3129 (WebCore::TimeRanges::length):
3130 (WebCore::TimeRanges::Range::Range):
3131 * html/TimeRanges.idl: Added.
3132 * page/DOMWindow.idl:
3133 * platform/MIMETypeRegistry.cpp:
3134 (WebCore::initialiseSupportedMovieMIMETypes):
3135 (WebCore::initialiseMIMETypeRegistry):
3136 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
3137 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
3138 * platform/MIMETypeRegistry.h:
3139 * platform/graphics/Movie.cpp: Added.
3140 (WebCore::Movie::Movie):
3141 (WebCore::Movie::~Movie):
3142 (WebCore::Movie::load):
3143 (WebCore::Movie::cancelLoad):
3144 (WebCore::Movie::play):
3145 (WebCore::Movie::pause):
3146 (WebCore::Movie::duration):
3147 (WebCore::Movie::currentTime):
3148 (WebCore::Movie::seek):
3149 (WebCore::Movie::paused):
3150 (WebCore::Movie::seeking):
3151 (WebCore::Movie::naturalSize):
3152 (WebCore::Movie::hasVideo):
3153 (WebCore::Movie::networkState):
3154 (WebCore::Movie::readyState):
3155 (WebCore::Movie::volume):
3156 (WebCore::Movie::setVolume):
3157 (WebCore::Movie::rate):
3158 (WebCore::Movie::setRate):
3159 (WebCore::Movie::muted):
3160 (WebCore::Movie::setMuted):
3161 (WebCore::Movie::dataRate):
3162 (WebCore::Movie::setEndTime):
3163 (WebCore::Movie::addCuePoint):
3164 (WebCore::Movie::removeCuePoint):
3165 (WebCore::Movie::clearCuePoints):
3166 (WebCore::Movie::maxTimeBuffered):
3167 (WebCore::Movie::maxTimeSeekable):
3168 (WebCore::Movie::bytesLoaded):
3169 (WebCore::Movie::totalBytesKnown):
3170 (WebCore::Movie::totalBytes):
3171 (WebCore::Movie::setRect):
3172 (WebCore::Movie::visible):
3173 (WebCore::Movie::setVisible):
3174 (WebCore::Movie::paint):
3175 (WebCore::Movie::getSupportedTypes):
3176 (WebCore::Movie::networkStateChanged):
3177 (WebCore::Movie::readyStateChanged):
3178 (WebCore::Movie::volumeChanged):
3179 (WebCore::Movie::didEnd):
3180 (WebCore::Movie::cuePointReached):
3181 * platform/graphics/Movie.h: Added.
3182 (WebCore::MovieClient::~MovieClient):
3183 (WebCore::MovieClient::movieNetworkStateChanged):
3184 (WebCore::MovieClient::movieReadyStateChanged):
3185 (WebCore::MovieClient::movieVolumeChanged):
3186 (WebCore::MovieClient::movieDidEnd):
3187 (WebCore::MovieClient::movieCuePointReached):
3188 (WebCore::Movie::parentWidget):
3189 (WebCore::Movie::setParentWidget):
3190 (WebCore::Movie::rect):
3192 * platform/graphics/mac/MoviePrivateQTKit.h: Added.
3193 * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
3194 (WebCore::MoviePrivate::MoviePrivate):
3195 (WebCore::MoviePrivate::~MoviePrivate):
3196 (WebCore::MoviePrivate::createQTMovie):
3197 (WebCore::MoviePrivate::createQTMovieView):
3198 (WebCore::MoviePrivate::createQTTime):
3199 (WebCore::MoviePrivate::load):
3200 (WebCore::MoviePrivate::play):
3201 (WebCore::MoviePrivate::pause):
3202 (WebCore::MoviePrivate::duration):
3203 (WebCore::MoviePrivate::currentTime):
3204 (WebCore::MoviePrivate::seek):
3205 (WebCore::MoviePrivate::setEndTime):
3206 (WebCore::MoviePrivate::addCuePoint):
3207 (WebCore::MoviePrivate::removeCuePoint):
3208 (WebCore::MoviePrivate::clearCuePoints):
3209 (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
3210 (WebCore::MoviePrivate::cancelSeek):
3211 (WebCore::MoviePrivate::seekTimerFired):
3212 (WebCore::MoviePrivate::cuePointTimerFired):
3213 (WebCore::MoviePrivate::paused):
3214 (WebCore::MoviePrivate::seeking):
3215 (WebCore::MoviePrivate::naturalSize):
3216 (WebCore::MoviePrivate::hasVideo):
3217 (WebCore::MoviePrivate::setVolume):
3218 (WebCore::MoviePrivate::setMuted):
3219 (WebCore::MoviePrivate::setRate):
3220 (WebCore::MoviePrivate::dataRate):
3221 (WebCore::MoviePrivate::networkState):
3222 (WebCore::MoviePrivate::readyState):
3223 (WebCore::MoviePrivate::maxTimeBuffered):
3224 (WebCore::MoviePrivate::maxTimeSeekable):
3225 (WebCore::MoviePrivate::maxTimeLoaded):
3226 (WebCore::MoviePrivate::bytesLoaded):
3227 (WebCore::MoviePrivate::totalBytesKnown):
3228 (WebCore::MoviePrivate::totalBytes):
3229 (WebCore::MoviePrivate::cancelLoad):
3230 (WebCore::MoviePrivate::updateStates):
3231 (WebCore::MoviePrivate::loadStateChanged):
3232 (WebCore::MoviePrivate::rateChanged):
3233 (WebCore::MoviePrivate::sizeChanged):
3234 (WebCore::MoviePrivate::timeChanged):
3235 (WebCore::MoviePrivate::volumeChanged):
3236 (WebCore::MoviePrivate::didEnd):
3237 (WebCore::MoviePrivate::setRect):
3238 (WebCore::MoviePrivate::setVisible):
3239 (WebCore::MoviePrivate::paint):
3240 (WebCore::MoviePrivate::getSupportedTypes):
3241 (-[WebCoreMovieObserver loadStateChanged:]):
3242 (-[WebCoreMovieObserver rateChanged:]):
3243 (-[WebCoreMovieObserver sizeChanged:]):
3244 (-[WebCoreMovieObserver timeChanged:]):
3245 (-[WebCoreMovieObserver volumeChanged:]):
3246 (-[WebCoreMovieObserver didEnd:]):
3247 (-[WebCoreMovieObserver setCallback:WebCore::]):
3248 * platform/mac/WebCoreSystemInterface.h:
3249 * platform/mac/WebCoreSystemInterface.mm:
3250 * rendering/RenderLayer.cpp:
3251 (WebCore::RenderLayer::collectLayers):
3252 * rendering/RenderVideo.cpp: Added.
3253 (WebCore::RenderVideo::RenderVideo):
3254 (WebCore::RenderVideo::~RenderVideo):
3255 (WebCore::RenderVideo::movie):
3256 (WebCore::RenderVideo::videoSizeChanged):
3257 (WebCore::RenderVideo::paint):
3258 (WebCore::RenderVideo::layout):
3259 (WebCore::RenderVideo::updateFromElement):
3260 (WebCore::RenderVideo::updateMovie):
3261 (WebCore::RenderVideo::isWidthSpecified):
3262 (WebCore::RenderVideo::isHeightSpecified):
3263 (WebCore::RenderVideo::calcReplacedWidth):
3264 (WebCore::RenderVideo::calcReplacedHeight):
3265 (WebCore::RenderVideo::calcAspectRatioWidth):
3266 (WebCore::RenderVideo::calcAspectRatioHeight):
3267 (WebCore::RenderVideo::calcPrefWidths):
3268 * rendering/RenderVideo.h: Added.
3269 (WebCore::RenderVideo::renderName):
3271 2007-10-30 Sam Weinig <sam@webkit.org>
3273 Reviewed by Adam Roben.
3275 Add Interface and Class UUIDs to the IDLs in preparation of adding
3276 autogeneration of the COM DOM bindings.
3278 * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
3279 * css/CSSCharsetRule.idl:
3280 * css/CSSFontFaceRule.idl:
3281 * css/CSSImportRule.idl:
3282 * css/CSSMediaRule.idl:
3283 * css/CSSPageRule.idl:
3284 * css/CSSPrimitiveValue.idl:
3286 * css/CSSRuleList.idl:
3287 * css/CSSStyleDeclaration.idl:
3288 * css/CSSStyleRule.idl:
3289 * css/CSSStyleSheet.idl:
3290 * css/CSSUnknownRule.idl:
3292 * css/CSSValueList.idl:
3294 * css/MediaList.idl:
3297 * css/StyleSheet.idl:
3298 * css/StyleSheetList.idl:
3300 * dom/CDATASection.idl:
3301 * dom/CharacterData.idl:
3303 * dom/DOMImplementation.idl:
3305 * dom/DocumentFragment.idl:
3306 * dom/DocumentType.idl:
3309 * dom/EntityReference.idl:
3311 * dom/EventListener.idl:
3312 * dom/EventTarget.idl:
3313 * dom/NamedNodeMap.idl:
3317 * dom/ProcessingInstruction.idl:
3319 * html/CanvasGradient.idl:
3320 * html/CanvasPattern.idl:
3321 * html/CanvasRenderingContext2D.idl:
3322 * html/HTMLAnchorElement.idl:
3323 * html/HTMLAppletElement.idl:
3324 * html/HTMLAreaElement.idl:
3325 * html/HTMLBRElement.idl:
3326 * html/HTMLBaseElement.idl:
3327 * html/HTMLBaseFontElement.idl:
3328 * html/HTMLBlockquoteElement.idl:
3329 * html/HTMLBodyElement.idl:
3330 * html/HTMLButtonElement.idl:
3331 * html/HTMLCanvasElement.idl:
3332 * html/HTMLCollection.idl:
3333 * html/HTMLDListElement.idl:
3334 * html/HTMLDirectoryElement.idl:
3335 * html/HTMLDivElement.idl:
3336 * html/HTMLDocument.idl:
3337 * html/HTMLElement.idl:
3338 * html/HTMLEmbedElement.idl:
3339 * html/HTMLFieldSetElement.idl:
3340 * html/HTMLFontElement.idl:
3341 * html/HTMLFormElement.idl:
3342 * html/HTMLFrameElement.idl:
3343 * html/HTMLFrameSetElement.idl:
3344 * html/HTMLHRElement.idl:
3345 * html/HTMLHeadElement.idl:
3346 * html/HTMLHeadingElement.idl:
3347 * html/HTMLHtmlElement.idl:
3348 * html/HTMLIFrameElement.idl:
3349 * html/HTMLImageElement.idl:
3350 * html/HTMLInputElement.idl:
3351 * html/HTMLIsIndexElement.idl:
3352 * html/HTMLLIElement.idl:
3353 * html/HTMLLabelElement.idl:
3354 * html/HTMLLegendElement.idl:
3355 * html/HTMLLinkElement.idl:
3356 * html/HTMLMapElement.idl:
3357 * html/HTMLMarqueeElement.idl:
3358 * html/HTMLMenuElement.idl:
3359 * html/HTMLMetaElement.idl:
3360 * html/HTMLModElement.idl:
3361 * html/HTMLOListElement.idl:
3362 * html/HTMLObjectElement.idl:
3363 * html/HTMLOptGroupElement.idl:
3364 * html/HTMLOptionElement.idl:
3365 * html/HTMLOptionsCollection.idl:
3366 * html/HTMLParagraphElement.idl:
3367 * html/HTMLParamElement.idl:
3368 * html/HTMLPreElement.idl:
3369 * html/HTMLQuoteElement.idl:
3370 * html/HTMLScriptElement.idl:
3371 * html/HTMLSelectElement.idl:
3372 * html/HTMLStyleElement.idl:
3373 * html/HTMLTableCaptionElement.idl:
3374 * html/HTMLTableCellElement.idl:
3375 * html/HTMLTableColElement.idl:
3376 * html/HTMLTableElement.idl:
3377 * html/HTMLTableRowElement.idl:
3378 * html/HTMLTableSectionElement.idl:
3379 * html/HTMLTextAreaElement.idl:
3380 * html/HTMLTitleElement.idl:
3381 * html/HTMLUListElement.idl:
3383 2007-10-30 Adele Peterson <adele@apple.com>
3387 * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
3389 2007-10-29 Timothy Hatcher <timothy@apple.com>
3391 Reviewed by John Sullivan.
3393 - Allow showing and closing the inspector programatically.
3394 - Add showConsole() and showTimeline() methods.
3396 * WebCore.base.exp: Add exports for WebKit.
3397 * page/InspectorController.cpp:
3398 (WebCore::callSimpleFunction): Renamed from callClearFunction().
3399 (WebCore::unloading): Renamed to close().
3400 (WebCore::InspectorController::InspectorController):
3401 (WebCore::InspectorController::inspect): Moved showing code to show().
3402 (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
3403 (WebCore::InspectorController::show): Code factored out of inspect().
3404 (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
3405 (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
3406 (WebCore::InspectorController::close):
3407 (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
3408 (WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
3409 (WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
3410 (WebCore::InspectorController::clearNetworkTimeline): Ditto.
3411 * page/InspectorController.h: Add and rename methods.
3412 * page/inspector/inspector.js: Add showConsole() and showTimeline().
3414 2007-10-30 Adele Peterson <adele@apple.com>
3420 * page/AnimationController.cpp: (WebCore::blendFunc):
3422 2007-10-30 Adele Peterson <adele@apple.com>
3426 WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
3427 <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
3429 Test: manual-tests/password-caps-lock.html
3431 * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
3433 * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
3434 * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
3435 * page/EventHandler.h:
3437 * platform/PlatformKeyboardEvent.h:
3438 * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
3439 * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
3441 * rendering/RenderTextControl.cpp:
3442 (WebCore::RenderTextControl::RenderTextControl):
3443 (WebCore::RenderTextControl::paint): Added. If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
3444 (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
3445 (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field,
3446 and the frame is active, and the element is focused, and the caps lock is on. Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
3447 * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
3448 * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
3450 * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
3451 * rendering/RenderThemeMac.h:
3452 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added. Calls wkDrawCapsLockIndicator.
3453 * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added. Calls paintThemePart for the CapsLockPart.
3454 * rendering/RenderThemeSafari.h:
3456 2007-10-30 David Hyatt <hyatt@apple.com>
3458 Land support for implicit animation in CSS.
3460 Reviewed by mitz, darin
3462 * css/CSSParser.cpp:
3463 (WebCore::CSSParser::parseTimingFunctionValue):
3464 (WebCore::CSSParser::parseTransitionTimingFunction):
3465 (WebCore::CSSParser::parseTransitionProperty):
3466 * css/CSSStyleSelector.cpp:
3467 (WebCore::CSSStyleSelector::mapTransitionDuration):
3468 (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
3469 (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
3470 (WebCore::CSSStyleSelector::mapTransitionProperty):
3471 * css/CSSTimingFunctionValue.h:
3472 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3473 (WebCore::CSSTimingFunctionValue::x1):
3474 (WebCore::CSSTimingFunctionValue::y1):
3475 (WebCore::CSSTimingFunctionValue::x2):
3476 (WebCore::CSSTimingFunctionValue::y2):
3478 (WebCore::Element::styleForRenderer):
3479 (WebCore::Element::createRenderer):
3481 (WebCore::Node::createRendererIfNeeded):
3482 (WebCore::Node::setRenderStyle):
3483 * page/AnimationController.cpp:
3484 (WebCore::CurveData::CurveData):
3485 (WebCore::CurveData::sampleCurveX):
3486 (WebCore::CurveData::sampleCurveY):
3487 (WebCore::CurveData::sampleCurveDerivativeX):
3488 (WebCore::CurveData::solveCurveX):
3489 (WebCore::solveEpsilon):
3490 (WebCore::solveCubicBezierFunction):
3491 (WebCore::ImplicitAnimation::finished):
3492 (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
3493 (WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
3494 (WebCore::ImplicitAnimation::ImplicitAnimation):
3495 (WebCore::ImplicitAnimation::~ImplicitAnimation):
3496 (WebCore::ImplicitAnimation::reset):
3497 (WebCore::ImplicitAnimation::progress):
3498 (WebCore::blendFunc):
3499 (WebCore::ImplicitAnimation::animate):
3500 (WebCore::CompositeImplicitAnimation::animate):
3501 (WebCore::CompositeImplicitAnimation::animating):
3502 (WebCore::CompositeImplicitAnimation::reset):
3503 (WebCore::AnimationControllerPrivate::hasImplicitAnimations):
3504 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3505 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
3506 (WebCore::AnimationControllerPrivate::get):
3507 (WebCore::AnimationControllerPrivate::clear):
3508 (WebCore::AnimationControllerPrivate::updateTimer):
3509 (WebCore::AnimationControllerPrivate::timerFired):
3511 (WebCore::AnimationController::~AnimationController):
3512 (WebCore::AnimationController::cancelImplicitAnimations):
3513 (WebCore::AnimationController::updateImplicitAnimations):
3514 (WebCore::AnimationController::suspendAnimations):
3515 (WebCore::AnimationController::resumeAnimations):
3516 * page/AnimationController.h:
3518 (WebCore::FramePrivate::FramePrivate):
3519 * rendering/RenderBox.cpp:
3520 (WebCore::RenderBox::setStyle):
3521 (WebCore::RenderBox::destroy):
3522 * rendering/RenderObject.cpp:
3523 (WebCore::RenderObject::setAnimatableStyle):
3524 (WebCore::RenderObject::destroy):
3525 * rendering/RenderObject.h:
3526 * rendering/RenderStyle.h:
3527 (WebCore::TimingFunction::TimingFunction):
3528 (WebCore::TimingFunction::operator==):
3529 (WebCore::TimingFunction::x1):
3530 (WebCore::TimingFunction::y1):
3531 (WebCore::TimingFunction::x2):
3532 (WebCore::TimingFunction::y2):
3533 (WebCore::TimingFunction::type):
3534 (WebCore::Transition::transitionProperty):
3535 (WebCore::Transition::setTransitionProperty):
3536 (WebCore::RenderStyle::initialTransitionProperty):
3537 * rendering/RenderWidget.cpp:
3538 (WebCore::RenderWidget::destroy):
3540 2007-10-29 Beth Dakin <bdakin@apple.com>
3544 Fix for <rdar://problem/5399614> anchor tag is not rendered without
3545 text content, works in Firefox with CSS background-image (13237)
3547 This patch allows empty inlines that have box decorations or width
3548 from border/padding/margin to have line boxes.
3550 * rendering/bidi.cpp:
3551 (WebCore::inlineFlowAllowsLineBox): Convenience function that
3552 defines when we allow an inline flow to have a line box.
3553 (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
3554 (WebCore::shouldSkipWhitespaceAfterStartObject): New function to
3555 merge some shared code between list markers and empty inline flows
3556 that fall at the beginning of a line.
3557 (WebCore::RenderBlock::findNextLineBreak): Make flows more like
3560 One interesting side effect of this bug appeared in our xhtml/svg
3561 tests that generate parser error tags. The tag we generate was
3562 actually an empty inline with box decorations. This patch causes
3563 those inlines to draw now, and the parser errors looked strange. So
3564 I changed it so that the parsererror tag is display:block. This
3565 matches Firefox, and I think was the original intent of the tag
3566 since that causes its red background and border to show up.
3567 * dom/XMLTokenizer.cpp:
3568 (WebCore::createXHTMLParserErrorHeader):
3570 2007-10-29 Dan Bernstein <mitz@apple.com>
3572 Reviewed by Dave Hyatt.
3574 - fix crashing tests fast/frames/inline-object-inside-frameset.html and
3575 fast/forms/form-hides-table.html
3577 * rendering/RenderBox.cpp:
3578 (WebCore::RenderBox::destroy):
3579 * rendering/RenderWidget.cpp:
3580 (WebCore::RenderWidget::destroy):
3582 2007-10-29 Dan Bernstein <mitz@apple.com>
3584 Reviewed by Adam Roben.
3586 - fix http://bugs.webkit.org/show_bug.cgi?id=15750
3587 REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
3589 Test: fast/backgrounds/size/zero.html
3591 * platform/graphics/cg/ImageCG.cpp:
3592 (WebCore::Image::drawPattern): Added an ASSERT and an early return
3593 to guard against singular pattern transforms.
3594 * rendering/RenderBox.cpp:
3595 (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
3598 2007-10-29 Alp Toker <alp@atoker.com>
3602 Add GTK+ convenience conversions for various primitives
3605 * platform/graphics/Color.h:
3606 * platform/graphics/IntPoint.h: