1 2007-11-12 Justin Haygood <jhaygood@reaktix.com>
5 http://bugs.webkit.org/show_bug.cgi?id=15955
6 Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions
8 * loader/icon/IconDatabase.cpp:
9 (WebCore::IconDatabase::open):
10 (WebCore::IconDatabase::close):
11 * loader/icon/IconDatabase.h:
12 * platform/sql/SQLiteDatabase.cpp:
13 (WebCore::SQLiteDatabase::SQLiteDatabase):
14 (WebCore::SQLiteDatabase::open):
15 (WebCore::SQLiteDatabase::close):
16 * platform/sql/SQLiteDatabase.h:
18 2007-11-12 Adam Roben <aroben@apple.com>
22 * config.h: Touch because VS apparently can't figure out which files
23 depend on ResourceResponse.h.
24 * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to
25 project and remove old ResourceResponse files.
27 2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com>
31 http://bugs.webkit.org/show_bug.cgi?id=15334
32 Split ResourceResponse into platform specific files
36 * WebCore.vcproj/WebCore.vcproj:
37 * WebCore.xcodeproj/project.pbxproj:
38 * platform/network/ResourceResponse.cpp: Removed.
39 * platform/network/ResourceResponse.h: Removed.
40 * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp.
41 (WebCore::ResourceResponseBase::asResourceResponse):
42 (WebCore::ResourceResponseBase::isHTTP):
43 (WebCore::ResourceResponseBase::url):
44 (WebCore::ResourceResponseBase::setUrl):
45 (WebCore::ResourceResponseBase::mimeType):
46 (WebCore::ResourceResponseBase::setMimeType):
47 (WebCore::ResourceResponseBase::expectedContentLength):
48 (WebCore::ResourceResponseBase::setExpectedContentLength):
49 (WebCore::ResourceResponseBase::textEncodingName):
50 (WebCore::ResourceResponseBase::setTextEncodingName):
51 (WebCore::ResourceResponseBase::suggestedFilename):
52 (WebCore::ResourceResponseBase::setSuggestedFilename):
53 (WebCore::ResourceResponseBase::httpStatusCode):
54 (WebCore::ResourceResponseBase::setHTTPStatusCode):
55 (WebCore::ResourceResponseBase::httpStatusText):
56 (WebCore::ResourceResponseBase::setHTTPStatusText):
57 (WebCore::ResourceResponseBase::httpHeaderField):
58 (WebCore::ResourceResponseBase::setHTTPHeaderField):
59 (WebCore::ResourceResponseBase::httpHeaderFields):
60 (WebCore::ResourceResponseBase::isAttachment):
61 (WebCore::ResourceResponseBase::setExpirationDate):
62 (WebCore::ResourceResponseBase::expirationDate):
63 (WebCore::ResourceResponseBase::setLastModifiedDate):
64 (WebCore::ResourceResponseBase::lastModifiedDate):
65 (WebCore::ResourceResponseBase::updateResourceResponse):
66 * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h.
67 (WebCore::ResourceResponseBase::ResourceResponseBase):
68 * platform/network/cf/ResourceResponse.h: Added.
69 (WebCore::ResourceResponse::ResourceResponse):
70 * platform/network/curl/ResourceResponse.h: Added.
71 (WebCore::ResourceResponse::ResourceResponse):
72 (WebCore::ResourceResponse::doUpdateResourceResponse):
73 * platform/network/mac/ResourceResponse.h: Added.
74 (WebCore::ResourceResponse::ResourceResponse):
75 * platform/network/qt/ResourceResponse.h: Added.
76 (WebCore::ResourceResponse::ResourceResponse):
77 (WebCore::ResourceResponse::doUpdateResourceResponse):
79 2007-11-11 Justin Haygood <jhaygood@reaktix.com>
81 Reviewed by Adam Roben.
83 http://bugs.webkit.org/show_bug.cgi?id=15939
84 Adds a currentThread API for use by SQLiteDatabase, etc.
86 * platform/Threading.h:
87 * platform/ThreadingNone.cpp:
88 (WebCore::currentThread):
89 * platform/gtk/ThreadingGtk.cpp:
90 (WebCore::identifierByGthreadHandle):
92 * platform/pthreads/ThreadingPthreads.cpp:
93 (WebCore::identifierByPthreadHandle):
94 (WebCore::currentThread):
96 2007-11-11 Dan Bernstein <mitz@apple.com>
98 Reviewed by Adam Roben.
100 - fix http://bugs.webkit.org/show_bug.cgi?id=15942
101 REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange())
103 Test: editing/selection/cleared-by-relayout.html
105 * editing/Selection.cpp:
106 (WebCore::Selection::toRange): Check if the selection has been cleared
109 2007-11-11 Darin Adler <darin@apple.com>
111 Reviewed by Mark Rowe.
113 - fix line numbers that were off since my recent patch
115 * platform/SegmentedString.h:
116 (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers
117 and rename it to m_doNotExcludeLineNumbers.
118 (WebCore::SegmentedSubstring::excludeLineNumbers): Updated.
119 (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added.
120 (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated.
121 (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix
122 the regression, but keep the speediness. I accidentally had removed a ! here.
124 * platform/SegmentedString.cpp:
125 (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers.
127 2007-11-11 Oliver Hunt <oliver@apple.com>
131 Fix for <rdar://problem/5585334> numfuzz: integer overflows opening
132 malformed SVG file in WebCore::ImageBuffer::create. Add protection
133 against a potential overflow.
135 * platform/graphics/cg/ImageBufferCG.cpp:
137 2007-11-11 Antti Koivisto <antti@apple.com>
141 Fix a bunch of cases where the exception code is checked by the function but is not zeroed first.
143 * bindings/js/kjs_binding.cpp:
144 (KJS::setDOMException):
146 (WebCore::Attr::setPrefix):
148 (WebCore::Document::createElement):
150 (WebCore::Element::setPrefix):
152 (WebCore::Range::setStart):
153 (WebCore::Range::setEnd):
154 (WebCore::Range::isPointInRange):
155 (WebCore::Range::comparePoint):
156 (WebCore::Range::compareBoundaryPoints):
157 (WebCore::Range::deleteContents):
158 (WebCore::Range::processContents):
159 (WebCore::Range::extractContents):
160 (WebCore::Range::insertNode):
161 (WebCore::Range::setStartAfter):
162 (WebCore::Range::setEndBefore):
163 (WebCore::Range::setEndAfter):
164 (WebCore::Range::selectNode):
165 (WebCore::Range::surroundContents):
166 (WebCore::Range::setStartBefore):
167 * editing/TextIterator.cpp:
168 (WebCore::TextIterator::TextIterator):
169 * html/CanvasRenderingContext2D.cpp:
170 (WebCore::CanvasRenderingContext2D::createPattern):
171 * html/HTMLMediaElement.cpp:
172 (WebCore::HTMLMediaElement::play):
173 (WebCore::HTMLMediaElement::pause):
174 * html/HTMLSelectElement.cpp:
175 (WebCore::HTMLSelectElement::add):
176 (WebCore::HTMLSelectElement::setOption):
177 * xml/XPathEvaluator.cpp:
178 (WebCore::XPathEvaluator::evaluate):
180 2007-11-11 Darin Adler <darin@apple.com>
184 - http://bugs.webkit.org/show_bug.cgi?id=15945
185 speed up GraphicsContextCG typical case by skipping roundToDevicePixels
187 * platform/graphics/cg/GraphicsContextCG.cpp:
188 (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no
189 longer know if the transform is identity or not.
190 (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant
191 CGContextSave/RestoreGState.
192 (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no
193 longer know if the transform is identity or not.
194 (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
195 (WebCore::GraphicsContext::scale): Ditto.
196 (WebCore::GraphicsContext::rotate): Ditto.
197 (WebCore::GraphicsContext::translate): Ditto.
198 (WebCore::GraphicsContext::concatCTM): Ditto.
199 (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform
200 is known to be identity, and record that fact when we discover it otherwise.
202 * platform/graphics/cg/GraphicsContextPlatformPrivate.h:
203 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
204 Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false.
206 2007-11-11 Darin Adler <darin@apple.com>
210 - http://bugs.webkit.org/show_bug.cgi?id=15944
211 streamline SegmentedString to speed up parsing
213 I measured a speed-up of the page load test while developing this patch. I don't
214 have a precise figure, though.
216 * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed
217 lineno to m_lineNumber.
218 * html/HTMLTokenizer.cpp:
219 (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function
220 since we don't want to update a line number.
221 (WebCore::HTMLTokenizer::parseSpecial): Ditto.
222 (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly
223 instead of lineNumberPtr() since the advance function now takes a reference.
224 (WebCore::HTMLTokenizer::parseServer): Ditto.
225 (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto.
226 (WebCore::HTMLTokenizer::parseText): Ditto.
227 (WebCore::HTMLTokenizer::parseEntity): Ditto.
228 (WebCore::HTMLTokenizer::parseTag): Ditto.
229 (WebCore::HTMLTokenizer::write): Ditto.
231 * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write):
232 * loader/TextDocument.cpp: (WebCore::TextTokenizer::write):
233 Don't pass 0 to the advance function.
235 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined
236 the most common case, and pushed less common cases into a separate function
237 that is not inlined. Also got rid of a branch by separating the case with a
238 line number from the case without one.
240 * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase):
241 Added. The aforementioned less common cases are here.
243 2007-11-11 Antti Koivisto <antti@apple.com>
245 Forgot to do this review change (and test HTTP commit).
247 * html/HTMLMediaElement.cpp:
248 (WebCore::HTMLMediaElement::play):
250 2007-11-11 Antti Koivisto <antti@apple.com>
254 - Update play() and pause() to match current HTML5 draft
255 - send events asynchronously
256 - add timeupdate event to pause
257 - rethrow load() exception, not others
258 - Use list for async events to get ordering right
260 Tests: media/video-pause-empty-events.html
261 media/video-play-empty-events.html
262 media/video-play-pause-events.html
263 media/video-play-pause-exception.html
265 * html/HTMLMediaElement.cpp:
266 (WebCore::HTMLMediaElement::dispatchEventAsync):
267 (WebCore::HTMLMediaElement::asyncEventTimerFired):
268 (WebCore::HTMLMediaElement::play):
269 (WebCore::HTMLMediaElement::pause):
270 * html/HTMLMediaElement.h:
272 2007-11-11 Nikolas Zimmermann <zimmermann@kde.org>
276 Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected)
278 Add (basic) support for dominant-baseline / alignment-baseline text properties.
279 Note: there are no official testcases, and no-one implemented it before. Only ASV3
280 supported dominant-baseline, but not correct it seems.
282 * rendering/SVGRootInlineBox.cpp:
283 (WebCore::dominantBaselineToShift):
284 (WebCore::alignmentBaselineToShift):
285 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
287 2007-11-11 Adam Roben <aroben@apple.com>
289 Add wrappers around CoCreateInstance to COMPtr
291 I followed the example of the Query constructor and query method by
292 adding a Create constructor and create method.
296 * platform/win/COMPtr.h:
297 (COMPtr::COMPtr): Added a new constructor that calls
299 (COMPtr::create): Added.
300 (COMPtr::createInstance): Added.
302 2007-11-11 Alexey Proskuryakov <ap@nypop.com>
306 http://bugs.webkit.org/show_bug.cgi?id=15896
309 No functionality changes.
311 * dom/Node.h: Moved several editing-related methods elsewhere.
312 * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset()
313 to highlight that it is a match to offsetInCharacters(), and much different from other
314 offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check
315 offsetInCharacters() before calling this.
317 * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset):
318 * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode):
319 Updated for above renamings.
321 * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData.
323 * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged().
327 (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset().
328 (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset().
329 (WebCore::Position::previous): Adapted to the above move.
330 (WebCore::Position::next): Ditto.
331 (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think),
332 and BR elements are covered by editingIgnoresContent().
333 (WebCore::Position::downstream): Ditto.
334 (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset().
335 (WebCore::Position::rendersInDifferentPosition): Updated for the above moves.
337 * dom/PositionIterator.h: Added a comment describing this class from the original check-in.
338 * dom/PositionIterator.cpp:
339 (WebCore::PositionIterator::increment): Updated for the above moves.
340 (WebCore::PositionIterator::decrement): Ditto.
342 * dom/ProcessingInstruction.h:
343 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset):
344 ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset().
345 I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way.
348 (WebCore::Range::selectNodeContents):
349 * editing/ApplyStyleCommand.cpp:
350 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
351 (WebCore::ApplyStyleCommand::applyInlineStyle):
352 (WebCore::maxRangeOffset):
353 (WebCore::ApplyStyleCommand::removeInlineStyle):
354 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
355 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
356 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
357 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
358 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
359 * editing/CompositeEditCommand.cpp:
360 (WebCore::CompositeEditCommand::insertNodeAt):
361 (WebCore::CompositeEditCommand::positionOutsideTabSpan):
362 * editing/DeleteSelectionCommand.cpp:
363 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
364 * editing/InsertLineBreakCommand.cpp:
365 (WebCore::InsertLineBreakCommand::doApply):
366 * editing/InsertParagraphSeparatorCommand.cpp:
367 (WebCore::InsertParagraphSeparatorCommand::doApply):
368 * editing/InsertTextCommand.cpp:
369 (WebCore::InsertTextCommand::insertTab):
370 * editing/visible_units.cpp:
371 (WebCore::previousLinePosition):
372 (WebCore::nextLinePosition):
373 Updated for the above moves.
375 * editing/Editor.cpp:
376 (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call.
378 * editing/TextIterator.cpp:
379 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously
380 match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases.
381 (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves.
383 * editing/htmlediting.h:
384 * editing/htmlediting.cpp:
385 (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept
386 child nodes, other than via DOM manipulation, which is not specific to BRs.
387 (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent().
388 (WebCore::maxDeepOffset): Ditto.
389 (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions.
390 (WebCore::caretMaxOffset): Ditto.
392 * page/EventHandler.cpp:
393 (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of
394 caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor
395 will take care of adjusting the offset.
397 * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here.
398 * page/mac/WebCoreFrameBridge.mm:
399 (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls.
400 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing.
401 Changed some runtime checks that seemingly cannot fail into assertions.
403 2007-11-11 Darin Adler <darin@apple.com>
407 - updated for JSRegExp function changes
409 * platform/RegularExpression.cpp:
410 (WebCore::RegularExpression::Private::compile):
411 (WebCore::RegularExpression::match):
413 2007-11-10 Mark Rowe <mrowe@apple.com>
417 * platform/UnicodeRange.h:
419 2007-11-10 Mark Rowe <mrowe@apple.com>
421 Qt Windows build fix.
423 * platform/UnicodeRange.h:
425 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
429 Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
430 Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)
432 Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
433 Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)
435 * WebCore.pro: Add platform/UnicodeRange.cpp to build
436 * WebCore.xcodeproj/project.pbxproj: Dito.
437 * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform()
438 (WebCore::SVGChar::characterTransform):
439 * rendering/SVGCharacterLayoutInfo.h: New variables.
440 (WebCore::SVGCharOnPath::SVGCharOnPath):
441 (WebCore::SVGChar::SVGChar):
442 * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling.
443 (WebCore::glyphOrientationToAngle):
444 (WebCore::glyphOrientationIsMultiplyOf180Degrees):
445 (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation):
446 (WebCore::cummulatedHeightOfInlineBoxCharacterRange):
447 (WebCore::cummulatedWidthOrHeightOfTextChunk):
448 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
450 2007-11-10 Timothy Hatcher <timothy@apple.com>
452 Reviewed by Sam Weinig.
454 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
455 and switch over to use getUniqueProperties in another place.
457 2007-11-10 John Sullivan <sullivan@apple.com>
459 Reviewed by Sam Weinig
461 Rest of fix for 5394877
463 * bindings/js/kjs_window.cpp:
464 (KJS::Window::isSafeScript):
465 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
466 private browsing mode either.
468 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
472 Fix function name difference - header said 'unicodeRangeForCharacter', actually
473 implemented function is 'findCharUnicodeRange'. They are not compiled yet.
475 * platform/UnicodeRange.h:
477 2007-11-10 Dan Bernstein <mitz@apple.com>
479 Reviewed by Darin Adler.
481 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
483 No test because context menu events cannot be tested in DumpRenderTree.
485 * page/EventHandler.cpp:
486 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
487 If the click occurred in an active link, selects the entire link
488 element. Otherwise selects the closest word.
489 (WebCore::EventHandler::sendContextMenuEvent): Call
490 selectClosestWordOrLinkFromMouseEvent().
491 * page/EventHandler.h:
493 2007-11-10 John Sullivan <sullivan@apple.com>
495 Reviewed by Tim Hatcher
497 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
498 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
500 * bindings/js/kjs_window.cpp:
501 (KJS::Window::isSafeScript):
502 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
504 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
508 http://bugs.webkit.org/show_bug.cgi?id=15922
509 Implement more of Mozilla Selection API
511 Tests: editing/selection/containsNode.html
512 editing/selection/deleteFromDocument.html
513 editing/selection/extend.html
514 editing/selection/selectAllChildren.html
516 * editing/SelectionController.cpp:
517 (WebCore::SelectionController::deleteFromDocument):
518 (WebCore::SelectionController::containsNode):
519 (WebCore::SelectionController::selectAllChildren):
520 (WebCore::SelectionController::extend):
521 * editing/SelectionController.h:
522 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
523 which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
524 Removed a comment mentioning removeRange(), as this method makes no sense without multiple
525 selection range support.
527 * page/DOMSelection.cpp:
528 (WebCore::DOMSelection::extend):
529 (WebCore::DOMSelection::deleteFromDocument):
530 (WebCore::DOMSelection::containsNode):
531 (WebCore::DOMSelection::selectAllChildren):
532 * page/DOMSelection.h:
533 * page/DOMSelection.idl:
534 Exposed the new methods.
536 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
540 http://bugs.webkit.org/show_bug.cgi?id=15892
541 DOM Range operations are not implemented for ProcessingInstruction nodes
543 Test: fast/dom/Range/range-processing-instructions.html
546 (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
547 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
548 to use ProcessingInstruction.data.
550 2007-11-09 Timothy Hatcher <timothy@apple.com>
552 Reviewed by Mark Rowe.
554 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
555 http://bugs.webkit.org/show_bug.cgi?id=12054
557 - Add support code for routing copy events to the focused element.
558 - Implement copying the currently selected DOM node. The node
559 and it's subtree is copied to the clipboard. If the node has no
560 outerHTML, the nodeValue is copied (text nodes, etc.)
561 - Implement copy for the resource sidebar. The URL is copied for the
562 currently selected resource.
564 * page/inspector/DocumentPanel.js:
565 * page/inspector/inspector.js:
567 2007-11-09 Antti Koivisto <antti@apple.com>
571 Fix occasional blank video with poster attribute.
574 * html/HTMLMediaElement.cpp:
575 (WebCore::HTMLMediaElement::load):
576 (WebCore::HTMLMediaElement::didRestoreFromCache):
577 Just calling updateFromElement() does the right thing for both poster image and video.
579 2007-11-04 Sam Weinig <sam@webkit.org>
581 Reviewed by Adam Roben.
583 <rdar://problem/5435940>
584 The COM bindings for the DOM should be autogenerated like the other DOM bindings
586 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
587 is being introduced in this patch and to insure that no conflicts arise, a temporary
588 prefix of "GEN_" has been used for all the new classes.
590 The build architecture for these bindings differs slightly from the other autogenerated
591 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
592 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
593 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
595 This commit includes:
596 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
598 - Generating all of the Core DOM and most of HTML and CSS
599 - Generating Event, EventTarget, and EventListener
601 * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
602 * WebCore.vcproj/WebCore.vcproj:
603 * WebCore.vcproj/migrate-idls.sh: Added.
604 * bindings/scripts/CodeGenerator.pm:
605 * bindings/scripts/CodeGeneratorCOM.pm: Added.
606 * dom/EventListener.h: Make the isWindowEvent parameter default to false
607 to allow autogeneration based on the IDL.
609 2007-11-09 Tristan O'Tierney <tristan@apple.com>
611 Reviewed by Timothy Hatcher.
613 This patch is for the WebKit side of <rdar://problem/5591115>.
614 We need a way to tell context menu navigations, such as "Open in New Window"
615 to override any sort of browser preference for tab based navigation.
617 * bridge/WindowFeatures.h:
618 (WebCore::WindowFeatures::WindowFeatures):
619 Added a new struct member var, preferredType
620 and an accompanying enum type PreferredType
621 to send a window type recommendation up to the Chrome.
623 * page/ContextMenuController.cpp:
624 (WebCore::openNewWindow):
625 Set the window features to recommend a new Window for
626 "Open in New Window" context menu action.
628 2007-11-08 Adam Roben <aroben@apple.com>
630 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
632 We now match the behavior of Firefox and IE, which is to always just
633 send a click event to the focused button when the Enter key is pressed
634 (previously we were submitting forms directly in some cases).
638 Test: fast/forms/enter-clicks-buttons.html
640 * html/HTMLButtonElement.cpp:
641 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
642 fancy when Enter is pressed on a <button type=button> -- just send a
643 click event like we do for other button types.
644 * html/HTMLInputElement.cpp:
645 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
646 the same way we treat type=submit and type=reset: just send a click
647 event when Enter is pressed.
649 2007-11-09 Dan Bernstein <mitz@apple.com>
651 Reviewed by Antti Koivisto.
653 - fix a bug in invisible layer culling: dynamically changing a
654 descendant of an invisible layer to be visible did not work
656 Test: fast/layers/layer-content-visibility-change.html
658 * rendering/RenderLayer.cpp:
659 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
660 make sure that our stacking context rebuilds its z-order lists to
663 2007-11-09 David Hyatt <hyatt@apple.com>
665 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
666 args can be lengths or numbers or percents.
670 * WebCore.xcodeproj/project.pbxproj:
672 (WebCore::TransformOperationInfo::TransformOperationInfo):
673 (WebCore::CSSParser::parseTransform):
674 * rendering/RenderStyle.h:
675 (WebCore::MatrixTransformOperation::apply):
677 2007-11-09 Beth Dakin <bdakin@apple.com>
681 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
682 math leads to crazy problems
684 Transform matrices accept the first four parameters as CSS lengths.
685 CSS lengths get mapped into WebCore::Lengths as percents by
686 WebCore::convertToLength(). Percent lengths cannot call value(). It
687 does not yield a correct result and it asserts on Debug builds.
689 * rendering/RenderStyle.h:
690 (WebCore::MatrixTransformOperation::apply): Instead of calling
691 value() on the lengths, call calcValue. This fixes the assert and
694 2007-11-09 Simon Hausmann <hausmann@kde.org>
696 Reviewed by nobody, build/link fix for Qt/Windows.
698 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
701 * platform/qt/TemporaryLinkStubs.cpp:
703 2007-11-09 Simon Hausmann <hausmann@kde.org>
707 Fix ContextMenu allocation in the Qt port.
709 Store all items and submenus value based in ContextMenu and ContextMenuItem.
710 That fixes the crashes when the context menu was populated with sub-menus because
711 of the use of temporary ContextMenu objects like this:
713 ContextMenu subMenu(...);
714 subMenu.appendItem(...);
715 subMenu.appendItem(...);
717 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
719 * platform/ContextMenu.h:
720 * platform/ContextMenuItem.h:
721 * platform/PlatformMenuDescription.h:
722 * platform/qt/ContextMenuItemQt.cpp:
723 (WebCore::ContextMenuItem::ContextMenuItem):
724 (WebCore::ContextMenuItem::platformSubMenu):
725 * platform/qt/ContextMenuQt.cpp:
726 (WebCore::ContextMenu::ContextMenu):
727 (WebCore::ContextMenu::~ContextMenu):
728 (WebCore::ContextMenu::appendItem):
729 (WebCore::ContextMenu::itemCount):
731 2007-11-09 Peter Kasting <zerodpx@gmail.com>
733 Reviewed by Mark Rowe.
735 http://bugs.webkit.org/show_bug.cgi?id=15909
736 Malformed GIFs should not result in memory corruption.
738 * platform/image-decoders/gif/GIFImageDecoder.cpp:
739 (WebCore::GIFImageDecoder::haveDecodedRow):
741 2007-11-08 Timothy Hatcher <timothy@apple.com>
743 Reviewed by Sam Weinig.
745 Some Web Inspector CSS editing changes.
746 - Only delete the property if all the text is delete or the new user input correctly parses.
747 This prevents deleting the existing property if the new text is invalid.
748 - Intercept the Escape key and cancel editing, not saving any changes.
750 * page/inspector/StylesSidebarPane.js:
752 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
754 Bakefiles for building WebCore, needed by wx port.
756 Reviewed by Mark Rowe.
758 * WebCoreSources.bkl: Added.
759 * webcore-base.bkl: Added.
760 * webcore-wx.bkl: Added.
762 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
764 Reviewed by Mark Rowe.
766 http://bugs.webkit.org/show_bug.cgi?id=15905
768 Fix builds with HTML 5 Storage support disabled.
769 ENABLE(DATABASE) needs to be added in a few places.
771 * page/InspectorController.cpp:
772 * storage/Database.h:
774 2007-11-08 Steve Falkenburg <sfalken@apple.com>
776 <rdar://problem/5524082> Allow images to be dragged out directly into other apps
778 We weren't including CF_HDROP in our image drops. This broke drag of
779 images out of the browser window directly into other apps (examples
780 include notepad, mspaint, msword).
782 Reviewed by Oliver, Ada.
784 * platform/win/ClipboardWin.cpp:
785 (WebCore::createGlobalImageFileContent): Removed unused variable.
786 (WebCore::createGlobalHDropContent): Added
787 (WebCore::writeFileToDataObject): Write HDROP data if available.
788 (WebCore::writeImageToDataObject): Write HDROP for dragged images.
789 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
791 2007-11-08 Xan Lopez <xan@gnome.org>
795 http://bugs.webkit.org/show_bug.cgi?id=15908
796 Use g_object_ref_sink when available
798 * platform/gtk/PopupMenuGtk.cpp:
799 (WebCore::PopupMenu::show):
800 * platform/gtk/ScrollViewGtk.cpp:
801 (WebCore::ScrollView::setGtkAdjustments):
803 2007-11-08 Dan Bernstein <mitz@apple.com>
805 Reviewed by Beth Dakin.
807 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
809 Test: fast/dom/length-attribute-mapping.html
811 * dom/StyledElement.cpp:
812 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
813 logic to stop after the first "%" or "*" in the string. This allows for
814 "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
816 2007-11-08 Kevin McCullough <kmccullough@apple.com>
820 * loader/FrameLoaderClient.h:
821 * platform/graphics/svg/SVGImageEmptyClients.h:
822 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
824 2007-11-08 Kevin McCullough <kmccullough@apple.com>
828 - windowObjectCleared() is no longer const. It needs to setup the
829 script debugger and cannot be const to do so.
831 * loader/FrameLoaderClient.h:
832 * platform/graphics/svg/SVGImageEmptyClients.h:
833 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
835 2007-11-08 Adam Roben <aroben@apple.com>
837 Hopeful Windows build fix
839 * rendering/RenderObject.cpp: Touch this file to make it recompile.
841 2007-11-08 Sam Weinig <sam@webkit.org>
845 Convert JavaScript internal function objects to use one class per
846 function. This avoids a switch statement inside what used to be
847 the shared function classes and will allow Shark to better analyze
850 To make this switch, the value property of the HashEntry was changed
851 to a union of an intptr_t (which is used to continue handle valueGetters)
852 and function pointer which points to a static constructor for the
853 individual new function objects.
855 SunSpider claims this is a 1.0% speedup.
857 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
858 new classes and hand updated the remain non-generated (groan) classes.
860 * bindings/js/JSDOMWindowCustom.cpp:
861 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
862 * bindings/js/JSEventTargetNode.cpp:
863 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
864 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
865 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
866 * bindings/js/JSEventTargetNode.h:
867 * bindings/js/JSHTMLInputElementBase.cpp:
868 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
869 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
870 * bindings/js/JSHTMLInputElementBase.h:
871 (WebCore::JSHTMLInputElementBase::):
872 * bindings/js/JSXMLHttpRequest.cpp:
873 (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
874 (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
875 (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
876 (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
877 (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
878 (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
879 (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
880 (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
881 (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
882 (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
883 * bindings/js/JSXMLHttpRequest.h:
884 (KJS::JSXMLHttpRequest::impl):
885 * bindings/js/JSXSLTProcessor.cpp:
886 (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
887 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
888 (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
889 (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
890 (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
891 (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
892 (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
893 (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
894 * bindings/js/JSXSLTProcessor.h:
895 * bindings/js/kjs_events.cpp:
896 (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
897 (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
898 (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
899 (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
900 * bindings/js/kjs_events.h:
901 * bindings/js/kjs_navigator.cpp:
903 (KJS::Navigator::getOwnPropertySlot):
904 (KJS::Plugins::getOwnPropertySlot):
905 (KJS::PluginsFunctionRefresh::callAsFunction):
906 (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
907 * bindings/js/kjs_navigator.h:
909 * bindings/js/kjs_window.cpp:
910 (KJS::Window::getOwnPropertySlot):
912 (KJS::WindowProtoFuncAToB::callAsFunction):
913 (KJS::WindowProtoFuncBToA::callAsFunction):
914 (KJS::WindowProtoFuncOpen::callAsFunction):
915 (KJS::WindowProtoFuncScrollBy::callAsFunction):
916 (KJS::WindowProtoFuncScrollTo::callAsFunction):
917 (KJS::WindowProtoFuncMoveBy::callAsFunction):
918 (KJS::WindowProtoFuncMoveTo::callAsFunction):
919 (KJS::WindowProtoFuncResizeBy::callAsFunction):
920 (KJS::WindowProtoFuncResizeTo::callAsFunction):
921 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
922 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
923 (KJS::WindowProtoFuncSetInterval::callAsFunction):
924 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
925 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
926 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
927 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
928 (KJS::Location::getOwnPropertySlot):
929 (KJS::Location::put):
930 (KJS::LocationProtoFuncReplace::callAsFunction):
931 (KJS::LocationProtoFuncReload::callAsFunction):
932 (KJS::LocationProtoFuncAssign::callAsFunction):
933 (KJS::LocationProtoFuncToString::callAsFunction):
934 * bindings/js/kjs_window.h:
936 * bindings/scripts/CodeGeneratorJS.pm:
938 2007-11-08 Mark Rowe <mrowe@apple.com>
940 Fix the Gtk, Qt and Wx builds.
942 * platform/gtk/TemporaryLinkStubs.cpp:
943 * platform/qt/TemporaryLinkStubs.cpp:
944 * platform/wx/TemporaryLinkStubs.cpp:
946 2007-11-08 Mark Rowe <mrowe@apple.com>
948 Not reviewed. Fix two instances of includes using the wrong case in the filename.
950 * platform/graphics/mac/MoviePrivateQTKit.mm:
951 * platform/wx/MimeTypeRegistryWx.cpp:
953 2007-11-08 Darin Adler <darin@apple.com>
957 - fix <rdar://problem/5552943> accesskey does not focus <button> elements
959 Test: fast/forms/access-key.html
961 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
962 Added a call to focus.
964 2007-11-07 Darin Adler <darin@apple.com>
968 - cut down on notImplemented() functions on Windows
970 * bridge/AXObjectCache.h: Put #if around the accessibility
973 * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
974 Moved here from TemporaryLinkStubs.
976 * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
977 using the ResourceResponse that's now available from the DocumentLoader.
979 * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
980 the Editor instead of the obsolete one on the Frame.
982 * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
983 * loader/FrameLoader.h: Removed overrideMediaType.
985 * loader/gtk/DocumentLoaderGtk.cpp: Removed.
986 * loader/mac/DocumentLoaderMac.mm: Removed.
987 * loader/qt/DocumentLoaderQt.cpp: Removed.
989 * page/Frame.cpp: Removed transpose.
990 * page/Frame.h: Ditto.
991 * page/FrameView.h: Removed updateBorder.
992 * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
993 * page/mac/FrameMac.mm: Ditto.
994 * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
996 * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
998 * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
999 * platform/qt/TemporaryLinkStubs.cpp: Ditto.
1000 * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
1001 * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
1002 issueTransposeCommand, and overrideMediaType.
1004 * platform/network/cf/ResourceHandleCFNet.cpp:
1005 (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
1006 (WebCore::ResourceHandle::willLoadFromCache): Ditto.
1007 * platform/win/GraphicsContextWin.cpp:
1008 (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
1009 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
1010 * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
1011 * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
1013 * WebCore.pro: Updated for removed files.
1014 * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
1016 2007-11-08 Mark Rowe <mrowe@apple.com>
1018 Build fix for case-sensitive file systems. Fix case of file names
1021 * html/HTMLMediaElement.cpp:
1022 * platform/graphics/Movie.cpp:
1024 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1026 Reviewed by Lars Knoll <lars@trolltech.com>.
1028 Remove some warnings about not implemented methods.
1030 * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
1031 specific to the NS API and won't be implemented on Qt.
1032 * ResourceHandle::bufferedData can not be reached as we return false in
1033 ResourceHandle::supportsBufferedData.
1036 * platform/network/qt/ResourceHandleQt.cpp:
1037 (WebCore::ResourceHandle::supportsBufferedData):
1039 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1041 Reviewed by Lars Knoll <lars@trolltech.com>.
1043 Cleanup checking for the request method.
1045 * Check the request method only in QWebNetworkManager::add.
1046 * Currently HEAD, GET, POST are allowed and for everything else
1047 QWebNetworkManager::add returns false.
1048 * Returning false is compatible with ResourceHandle::start and it
1049 can be used in ResourceHandle::loadResourceSynchronously to generate
1053 * platform/network/qt/ResourceHandleQt.cpp:
1054 (WebCore::ResourceHandle::start):
1055 (WebCore::ResourceHandle::loadResourceSynchronously):
1057 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1059 Reviewed by Lars Knoll <lars@trolltech.com>.
1061 Implement WebCore::callOnMainThread
1063 Implemented using a global QObject, that is moved to the main thread
1064 and then sending a custom event to it.
1065 Picked a number below QEvent::User but above any other documented value.
1068 * platform/qt/ThreadingQt.cpp:
1069 (WebCore::PerformFunctionEvent::PerformFunctionEvent):
1070 (WebCore::MainThreadInvoker::MainThreadInvoker):
1071 (WebCore::MainThreadInvoker::event):
1072 (WebCore::callOnMainThread):
1074 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1076 Reviewed by Lars Knoll <lars@trolltech.com>.
1078 Avoid problems with calling QPainter::begin() on an already active paintdevice
1080 * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
1081 crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
1082 * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
1083 used by the ScrollView on a layout triggered by QWebPage::paintEvent.
1086 * platform/qt/WidgetQt.cpp:
1087 (WebCore::Widget::invalidateRect):
1089 2007-11-08 Eric Seidel <eric@webkit.org>
1093 * ksvg2/svg/SVGPathElement.h: remove old comment
1095 2007-11-07 Antti Koivisto <antti@apple.com>
1099 Ensure video renderer has correct size if video has already been loaded
1100 when it is constructed.
1102 * rendering/RenderVideo.cpp:
1103 (WebCore::RenderVideo::RenderVideo):
1105 2007-11-07 Antti Koivisto <antti@apple.com>
1109 Ensure video is visible when it should be.
1111 * rendering/RenderVideo.cpp:
1112 (WebCore::RenderVideo::updateMovie):
1114 2007-11-07 Dan Bernstein <mitz@apple.com>
1116 Reviewed by Darin Adler.
1118 - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
1120 Layers and listboxes are two kinds of ScrollBarClient that can be
1121 removed while the scrollbar is tracking the mouse. The scrollbar is not
1122 destroyed until later, and meanwhile it can try to call the client,
1123 which results in a crash.
1125 * manual-tests/stale-scrollbar-client-crash.html: Added.
1126 * platform/ScrollBar.h:
1127 (WebCore::Scrollbar::setClient): Added.
1128 * rendering/RenderLayer.cpp:
1129 (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
1130 * rendering/RenderListBox.cpp:
1131 (WebCore::RenderListBox::~RenderListBox): Ditto.
1133 2007-11-07 Adam Roben <aroben@apple.com>
1135 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
1141 * platform/win/SharedBufferWin.cpp:
1142 (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
1143 empty path, because _wfopen_s will crash if we pass it a null pointer.
1145 2007-11-07 David Kilzer <ddkilzer@apple.com>
1147 WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
1148 <http://bugs.webkit.org/show_bug.cgi?id=14893>
1149 <rdar://problem/5380295>
1153 Tests: fast/css/device-aspect-ratio.html
1154 fast/css/max-device-aspect-ratio.html
1155 fast/css/min-device-aspect-ratio.html
1157 * css/MediaQueryEvaluator.cpp:
1158 (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
1159 (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
1160 a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
1163 2007-11-07 Dan Bernstein <mitz@apple.com>
1165 Reviewed by Dave Hyatt.
1167 - fix http://bugs.webkit.org/show_bug.cgi?id=15887
1168 REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
1170 Test: fast/css/display-none-inline-style-change-crash.html
1173 (WebCore::Element::recalcStyle): Fixed the crash by null-checking
1174 the current style and removed other checks that are not strictly
1177 2007-11-07 Brady Eidson <beidson@apple.com>
1179 Rubberstamped by Sam
1181 Remove FrameLoaderClient methods from SVG that were pruned awhile ago
1183 * platform/graphics/svg/SVGImageEmptyClients.h:
1185 2007-11-07 Dan Bernstein <mitz@apple.com>
1187 Reviewed by Darin Adler.
1189 - fix a bug where CSS rules with :hover in the ancestor chain stopped
1190 working after changing the inline style declaration of the ancestor
1192 Test: fast/css/affected-by-hover-after-style-change.html
1195 (WebCore::Element::recalcStyle): If we are not forcing style
1196 recalculation for all descendants, preserve any "affected by
1197 {hover|active|drag} bits that we may have acquired from them.
1198 Also renamed _style to currentStyle.
1200 2007-11-06 Timothy Hatcher <timothy@apple.com>
1204 Bug 11920: Web Inspector should have Firebug-like CSS editing
1205 http://bugs.webkit.org/show_bug.cgi?id=11920
1207 * css/CSSComputedStyleDeclaration.h:
1208 (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
1209 this was true, but computed style has no concept of implicit. So false makes more sense
1210 and makes the code simpler in the inspector. This function was added for the inspector,
1211 so this isn't a compatibility change.
1212 * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
1213 * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
1215 * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
1216 * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
1217 trying to call a function based on the element's id. Call focused and blurred on the focused
1218 element when currentFocusElement is changed. Use the new listItemElement getter instead of
1219 the private property.
1220 * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
1221 Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
1222 to allow generation of the title using the DOM element. Add listItemElement and
1223 childrenListElement getters.
1224 * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
1225 * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
1226 property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
1227 * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
1228 instead of the private properties.
1230 2007-11-07 Simon Hausmann <hausmann@kde.org>
1232 Reviewed by Alexey Proskuryakov.
1234 Coding style fix, don't use inline explicitly.
1236 * bridge/WindowFeatures.h:
1238 2007-11-07 Simon Hausmann <hausmann@kde.org>
1242 For safety provide a default constructor for WindowFeatures().
1243 ContextMenuController.cpp: createNewWindow as well as QWebPage need to
1244 create a default initialized WindowFeatures object on the fly.
1246 * bridge/WindowFeatures.h:
1247 (WebCore::WindowFeatures::WindowFeatures):
1249 2007-11-07 Simon Hausmann <shausman@trolltech.com>
1253 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.
1257 2007-11-07 Simon Hausmann <hausmann@kde.org>
1261 Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
1263 * platform/graphics/qt/ImageQt.cpp:
1264 (loadResourcePixmap):
1266 2007-11-07 Simon Hausmann <hausmann@kde.org>
1270 Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
1272 * platform/graphics/qt/ImageQt.cpp:
1273 (loadResourcePixmap):
1275 2007-11-07 Simon Hausmann <hausmann@kde.org>
1279 Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
1280 QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
1281 in ContextMenu::populate().
1282 For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
1283 out of it. That menu is currently not functional anymore though.
1285 * platform/ContextMenu.h:
1286 * platform/ContextMenuItem.h:
1287 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
1288 * platform/PlatformMenuDescription.h:
1289 * platform/qt/ContextMenuItemQt.cpp:
1290 (WebCore::ContextMenuItem::ContextMenuItem):
1291 (WebCore::ContextMenuItem::type):
1292 (WebCore::ContextMenuItem::setType):
1293 (WebCore::ContextMenuItem::action):
1294 (WebCore::ContextMenuItem::setAction):
1295 (WebCore::ContextMenuItem::title):
1296 (WebCore::ContextMenuItem::setTitle):
1297 (WebCore::ContextMenuItem::platformSubMenu):
1298 (WebCore::ContextMenuItem::setSubMenu):
1299 (WebCore::ContextMenuItem::setChecked):
1300 (WebCore::ContextMenuItem::setEnabled):
1301 * platform/qt/ContextMenuQt.cpp:
1302 (WebCore::ContextMenu::ContextMenu):
1303 (WebCore::ContextMenu::~ContextMenu):
1304 (WebCore::ContextMenu::appendItem):
1305 (WebCore::ContextMenu::itemCount):
1306 (WebCore::ContextMenu::insertItem):
1307 (WebCore::ContextMenu::setPlatformDescription):
1308 (WebCore::ContextMenu::platformDescription):
1310 2007-11-07 Simon Hausmann <hausmann@kde.org>
1314 Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
1315 but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
1316 Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
1319 * platform/qt/ContextMenuQt.cpp:
1321 2007-11-07 Simon Hausmann <hausmann@kde.org>
1325 Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
1326 Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
1328 * platform/PlatformMouseEvent.h:
1329 * platform/qt/PlatformMouseEventQt.cpp:
1330 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1332 2007-11-07 Lars Knoll <lars@trolltech.com>
1336 don't put nbsp's into the plan text paste
1338 Fix both ClipboardQt and PasteboardQt to replace
1339 nbsp's with spaces before putting the text onto the
1340 native clipboard. This is consistent with Mac and Win
1341 and fixes at least editing/pasteboard/4076267-3.html
1343 * platform/qt/ClipboardQt.cpp:
1344 (WebCore::ClipboardQt::writeRange):
1345 * platform/qt/PasteboardQt.cpp:
1346 (WebCore::Pasteboard::writeSelection):
1348 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1350 Reviewed by Lars Knoll <lars@trolltech.com>.
1352 Implement Pasteboard::writeImage()
1354 * Pasteboard is now fully implemented. Copying of Images into the Clipboard
1356 * As with URLs we only copy into the Clipboard (and not additionally to the
1360 WARNING: NO TEST CASES ADDED OR CHANGED
1362 * platform/qt/PasteboardQt.cpp:
1363 (WebCore::Pasteboard::writeImage):
1365 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1367 Reviewed by Lars Knoll <lars@trolltech.com>.
1369 Apple CodingStyle fixes
1372 WARNING: NO TEST CASES ADDED OR CHANGED
1374 * platform/qt/PasteboardQt.cpp:
1375 (WebCore::Pasteboard::documentFragment):
1377 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1379 Reviewed by Lars Knoll <lars@trolltech.com>.
1381 Implement Pasteboard::writeURL()
1382 * The URL currently gets written as text/plain and text/uri-list.
1383 The win and mac port have some more types which we currently do
1384 not support. When supporting them we can use the 'titleString'
1386 * As with writeSelection we only copy into the Clipboard. We could
1387 consider copying into the Selection as well.
1390 WARNING: NO TEST CASES ADDED OR CHANGED
1392 * platform/qt/PasteboardQt.cpp:
1393 (WebCore::Pasteboard::writeURL):
1395 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
1397 Reviewed by Lars Knoll <lars@trolltech.com>.
1402 WARNING: NO TEST CASES ADDED OR CHANGED
1404 * platform/qt/PasteboardQt.cpp:
1405 (WebCore::Pasteboard::documentFragment):
1407 2007-11-07 Lars Knoll <lars@trolltech.com>
1411 Use the correct function calls to convert a selection to
1414 WARNING: NO TEST CASES ADDED OR CHANGED
1416 * platform/qt/ClipboardQt.cpp:
1417 (WebCore::ClipboardQt::setData):
1418 (WebCore::ClipboardQt::writeRange):
1419 * platform/qt/PasteboardQt.cpp:
1420 (WebCore::Pasteboard::writeSelection):
1422 2007-11-07 Lars Knoll <lars@trolltech.com>
1426 Some more clipboard fixes.
1428 We have to set things immediately on the QClipBoard if the
1429 Clipboard object is not for dragging.
1431 This is due to the fact that the Clipboard object might be
1432 rather long lived if accessed through javascript (it'll only
1433 get deleted by JS garbage collection). We have to transfer
1434 the data over to the QClipboard before that to make things work.
1436 Fixes editing/execCommand/copy-without-selection.html
1438 * platform/qt/ClipboardQt.cpp:
1439 (WebCore::ClipboardQt::ClipboardQt):
1440 (WebCore::ClipboardQt::~ClipboardQt):
1441 (WebCore::ClipboardQt::clearData):
1442 (WebCore::ClipboardQt::clearAllData):
1443 (WebCore::ClipboardQt::getData):
1444 (WebCore::ClipboardQt::setData):
1445 (WebCore::ClipboardQt::declareAndWriteDragImage):
1446 (WebCore::ClipboardQt::writeURL):
1447 (WebCore::ClipboardQt::writeRange):
1449 2007-11-07 Simon Hausmann <hausmann@kde.org>
1453 Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
1454 not supported due to implicit forks, use IPC::Open2 instead.
1456 * bindings/scripts/IDLParser.pm:
1458 2007-11-07 Dan Bernstein <mitz@apple.com>
1460 Reviewed by Brady Eidson.
1462 - fix http://bugs.webkit.org/show_bug.cgi?id=15877
1463 REGRESSION: r27486 caused a layout regression at my bank's website
1465 Test: fast/block/float/overhanging-after-height-decrease-offsets.html
1467 * rendering/RenderBlock.cpp:
1468 (WebCore::RenderBlock::layoutBlock):
1470 2007-11-06 Beth Dakin <bdakin@apple.com>
1474 <rdar://problem/5575812> REGRESSION:When using absolute positioning
1475 with overflow:auto div, WebKit seems to add an additional 15px
1477 * rendering/RenderBox.cpp:
1478 (WebCore::RenderBox::containingBlockWidthForPositioned): We need to
1479 subtract off the vertical scrollbar width too.
1481 2007-11-06 Justin Garcia <justin.garcia@apple.com>
1483 Reviewed by Dan Bernstein.
1485 <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
1486 <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
1488 * editing/markup.cpp:
1489 (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
1490 that encloses the input context, unless that block is the body, which shouldn't
1491 be cloned. In that case, use regular divs, as we did before r27369.
1493 2007-11-06 Christian Dywan <christian@twotoasts.de>
1497 Fix http://bugs.webkit.org/show_bug.cgi?id=15828
1498 Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
1500 * WebCore.pro: Use sane default install paths for the gtk port.
1502 2007-11-06 Justin Garcia <justin.garcia@apple.com>
1504 Reviewed by Darin Adler.
1506 <rdar://problem/5576619>
1507 REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
1509 * editing/TypingCommand.cpp:
1510 (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
1511 both of the other deletion commands, call typingAddedToOpenCommand(), which takes
1512 the command's endingSelection and sets it as selection.
1514 2007-11-06 Dan Bernstein <mitz@apple.com>
1516 Reviewed by Antti Koivisto and Dave Hyatt.
1518 - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
1520 Test: fast/block/float/overhanging-after-height-decrease.html
1522 * rendering/RenderBlock.cpp:
1523 (WebCore::RenderBlock::layoutBlock): If after calculating the height
1524 it turns out that there are overhanging floats that were not overhanging
1525 before, rescan children with overhanging floats and add them.
1526 (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
1527 returns the lowest float bottom of any of the children.
1528 (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
1529 lowest float bottom.
1530 * rendering/RenderBlock.h:
1532 2007-11-06 Adele Peterson <adele@apple.com>
1536 Switched all uses of HTMLImageLoader to use OwnPtrs.
1538 * html/HTMLInputElement.h:
1539 * html/HTMLInputElement.cpp:
1540 (WebCore::HTMLInputElement::init):
1541 (WebCore::HTMLInputElement::~HTMLInputElement):
1542 (WebCore::HTMLInputElement::setInputType):
1543 (WebCore::HTMLInputElement::parseMappedAttribute):
1544 (WebCore::HTMLInputElement::attach):
1545 * html/HTMLObjectElement.h:
1546 * html/HTMLObjectElement.cpp:
1547 (WebCore::HTMLObjectElement::HTMLObjectElement):
1548 (WebCore::HTMLObjectElement::~HTMLObjectElement):
1549 (WebCore::HTMLObjectElement::parseMappedAttribute):
1550 (WebCore::HTMLObjectElement::attach):
1551 * html/HTMLVideoElement.h:
1552 * html/HTMLVideoElement.cpp:
1553 (WebCore::HTMLVideoElement::HTMLVideoElement):
1554 (WebCore::HTMLVideoElement::attach):
1555 (WebCore::HTMLVideoElement::detach):
1556 (WebCore::HTMLVideoElement::parseMappedAttribute):
1558 2007-11-06 Antti Koivisto <antti@apple.com>
1562 Trigger media load on on src attribute changes as specified in new HTML5 draft.
1564 Tests: media/video-src-change.html
1565 media/video-src-remove.html
1566 media/video-src-set.html
1568 * html/HTMLMediaElement.cpp:
1569 (WebCore::HTMLMediaElement::attributeChanged):
1570 * html/HTMLMediaElement.h:
1572 2007-11-06 Dan Bernstein <mitz@apple.com>
1574 Reviewed by Darin Adler.
1576 - fix http://bugs.webkit.org/show_bug.cgi?id=15838
1577 Incomplete repaint toggling "How you know this person" on Facebook
1579 Test: fast/repaint/make-children-non-inline.html
1581 * rendering/RenderBlock.cpp:
1582 (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
1583 is needed because the inline children may be repositioned as they move
1584 into new anonymous blocks, but those blocks have no knowledge of where
1585 their children used to be, so they cannot invalidate those areas.
1587 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
1591 http://bugs.webkit.org/show_bug.cgi?id=15847
1592 Some editing cleanup
1594 No change in functionality.
1596 * editing/TextIterator.cpp:
1597 (WebCore::plainText):
1598 * editing/TextIterator.h:
1599 Made WebCore::plainText() return String instead of DeprecatedString.
1601 * bridge/mac/WebCoreAXObject.mm:
1602 (-[WebCoreAXObject textUnderElement]):
1603 (-[WebCoreAXObject value]):
1604 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
1605 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
1606 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
1607 Updated for the above change. There is no need to explicitly convert to NSString now.
1609 * editing/EditCommand.cpp:
1610 (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
1611 initialized in constructor body, so the work done in initializer list was wasted.
1613 (WebCore::EditCommand::apply): Moved some stars.
1614 (WebCore::EditCommand::unapply): Ditto.
1615 (WebCore::EditCommand::reapply): Ditto.
1616 (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
1617 removed one of the checks.
1619 * editing/SelectionController.cpp:
1620 (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
1622 * page/mac/WebCoreFrameBridge.h:
1623 * page/mac/WebCoreFrameBridge.mm:
1624 Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
1625 -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
1627 2007-11-05 Mark Rowe <mrowe@apple.com>
1631 * bindings/js/JSHTMLDocumentCustom.cpp:
1632 (WebCore::writeHelper):
1634 2007-11-05 Adam Roben <aroben@apple.com>
1636 Don't crash if SafariTheme can't be loaded
1638 PlatformScrollBarSafari and RenderThemeSafari were not checking
1639 whether SafariTheme was successfully loaded. All other uses of
1640 SafariTheme already check this.
1644 * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
1646 (WebCore::PlatformScrollbar::paintButton):
1647 (WebCore::PlatformScrollbar::paintTrack):
1648 (WebCore::PlatformScrollbar::paintThumb):
1649 * rendering/RenderThemeSafari.cpp:
1650 (WebCore::RenderThemeSafari::isControlStyled): Always return true if
1651 we couldn't load SafariTheme. This way we should never try to paint
1652 themed controls (and we assert as such in the paint functions).
1653 (WebCore::RenderThemeSafari::paintCheckbox):
1654 (WebCore::RenderThemeSafari::paintRadio):
1655 (WebCore::RenderThemeSafari::paintButton):
1656 (WebCore::RenderThemeSafari::paintTextField):
1657 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
1658 (WebCore::RenderThemeSafari::paintTextArea):
1659 (WebCore::RenderThemeSafari::paintMenuList):
1660 (WebCore::RenderThemeSafari::paintSliderThumb):
1661 (WebCore::RenderThemeSafari::paintSearchField):
1662 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
1663 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
1664 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
1666 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
1668 Adding the rest of wx port's graphics impl.
1670 Rubber-stamped by Maciej Stachowiak.
1672 * platform/graphics/wx/AffineTransformWx.cpp: Added.
1673 * platform/graphics/wx/GraphicsContextWx.cpp: Added.
1674 * platform/graphics/wx/ImageBufferWx.cpp: Added.
1675 * platform/graphics/wx/ImageSourceWx.cpp: Added.
1676 * platform/graphics/wx/ImageWx.cpp: Added.
1677 * platform/graphics/wx/PathWx.cpp: Added.
1679 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
1681 wx port bug fixes and new files to get platform/wx building on trunk.
1683 Rubber-stamped by Maciej Stachowiak.
1685 * platform/wx/CursorWx.cpp:
1686 * platform/wx/FileSystemWx.cpp: Added.
1687 * platform/wx/FontCacheWx.cpp:
1688 * platform/wx/FontPlatformDataWx.cpp:
1689 * platform/wx/FontWx.cpp:
1690 * platform/wx/KeyboardEventWx.cpp:
1691 * platform/wx/LocalizedStringsWx.cpp: Added.
1692 * platform/wx/LoggingWx.cpp: Added.
1693 * platform/wx/RenderThemeWx.cpp:
1694 * platform/wx/ScrollViewWx.cpp:
1695 * platform/wx/SharedTimerWx.cpp:
1696 * platform/wx/StringWx.cpp:
1697 * platform/wx/ThreadingWx.cpp: Added.
1698 * platform/wx/WidgetWx.cpp:
1700 2007-11-05 Adele Peterson <adele@apple.com>
1704 Fix for <rdar://problem/5579999> Add poster attribute for video element
1706 * html/HTMLAttributeNames.in: Added poster attribute.
1708 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
1709 Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
1710 * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
1712 * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
1713 * html/HTMLObjectElement.h:
1715 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
1716 Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
1717 * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
1719 * html/HTMLVideoElement.idl: Added case for poster attribute.
1720 * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
1721 * html/HTMLVideoElement.cpp:
1722 (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
1723 (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
1724 (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
1725 (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
1726 (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
1727 (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
1728 (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
1729 (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
1730 (WebCore::HTMLVideoElement::isURLAttribute): Added.
1731 (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
1732 (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
1734 2007-11-05 Adam Roben <aroben@apple.com>
1736 Fix <rdar://5563572> SVG image support is turned off
1738 Turned on SVG images for all platforms.
1742 * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
1743 * loader/CachedImage.cpp:
1744 (WebCore::CachedImage::createImage): Removed platform checks for
1747 2007-11-05 Antti Koivisto <antti@apple.com>
1751 QTMovieView can generate callbacks during paint. This can lead to crashes.
1753 Delay callbacks so they get handled after painting is completed. No test case,
1754 I don't know how to reliably reproduce this.
1756 * platform/graphics/mac/MoviePrivateQTKit.mm:
1757 (WebCore::MoviePrivate::MoviePrivate):
1758 (WebCore::MoviePrivate::~MoviePrivate):
1759 (WebCore::MoviePrivate::paint):
1760 (-[WebCoreMovieObserver initWithCallback:WebCore::]):
1761 (-[WebCoreMovieObserver disconnect]):
1762 (-[WebCoreMovieObserver loadStateChanged:]):
1763 (-[WebCoreMovieObserver rateChanged:]):
1764 (-[WebCoreMovieObserver sizeChanged:]):
1765 (-[WebCoreMovieObserver timeChanged:]):
1766 (-[WebCoreMovieObserver volumeChanged:]):
1767 (-[WebCoreMovieObserver didEnd:]):
1768 (-[WebCoreMovieObserver setDelayCallbacks:]):
1770 2007-11-05 Antti Koivisto <antti@apple.com>
1774 Add some missing WebCore* prefixes to ObjC classes
1776 * platform/mac/FileChooserMac.mm:
1777 (WebCore::FileChooser::FileChooser):
1778 * platform/mac/SharedBufferMac.mm:
1779 (WebCore::SharedBuffer::createNSData):
1780 (WebCore::SharedBuffer::createCFData):
1781 * platform/mac/SharedTimerMac.cpp:
1782 (WebCore::setSharedTimerFireTime):
1784 2007-11-05 Ada Chan <adachan@apple.com>
1786 <rdar://problem/5579772> Regression: AltGr does not work
1787 We now store the system key event info in PlatforkKeyboardEvent().
1791 * platform/PlatformKeyboardEvent.h:
1792 (WebCore::PlatformKeyboardEvent::isSystemKey):
1793 * platform/win/KeyEventWin.cpp:
1794 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1796 2007-11-02 Tristan O'Tierney <tristan@apple.com>
1798 Reviewed by Darin Adler.
1800 * WebCore.xcodeproj/project.pbxproj:
1801 Set WindowFeatures.h as a Private header.
1803 * loader/FrameLoader.cpp:
1804 (WebCore::FrameLoader::createWindow):
1805 Revised to use a single createWindow function instead of
1806 two createWindow functions and one createModalDialog function.
1807 The logic for this is now addressed in WebKit in an effort
1808 to make this easier to follow.
1811 (WebCore::Chrome::createWindow):
1813 * page/ChromeClient.h:
1814 * page/ContextMenuController.cpp:
1815 (WebCore::openNewWindow):
1816 * platform/graphics/svg/SVGImageEmptyClients.h:
1817 (WebCore::SVGEmptyChromeClient::createWindow):
1818 Revised to take new additional windowFeatures parameter.
1820 2007-11-04 Geoffrey Garen <ggaren@apple.com>
1822 Reviewed by Darin Adler.
1824 http://bugs.webkit.org/show_bug.cgi?id=15835
1826 Small adaptations to new KJS::List class.
1828 * bindings/js/kjs_window.cpp:
1829 (KJS::WindowFunc::callAsFunction):
1830 (KJS::ScheduledAction::ScheduledAction):
1832 2007-11-05 Adam Roben <aroben@apple.com>
1834 Allow passing a base class pointer to COMPtr::copyRefTo
1838 * platform/win/COMPtr.h:
1840 2007-11-05 Dan Bernstein <mitz@apple.com>
1842 Reviewed by Oliver Hunt.
1844 - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
1846 Test: fast/dom/class-all-whitespace.html
1848 * dom/StyledElement.cpp:
1849 (WebCore::StyledElement::parseMappedAttribute): Check if there is any
1850 non-whitespace character in the class attribute.
1852 2007-11-05 Brady Eidson <beidson@apple.com>
1856 Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
1857 of the sql storage API
1859 * storage/DatabaseAuthorizer.cpp:
1860 (WebCore::DatabaseAuthorizer::allowTransaction):
1861 * storage/DatabaseAuthorizer.h:
1863 2007-11-05 Mark Rowe <mrowe@apple.com>
1865 Reviewed by Alp Toker.
1867 Have getMIMETypeForExtension return a null string when no MIME type is known
1868 for the extension rather than returning "text/plain". This prevents plugin data
1869 being dumped into object elements when plugins are disabled.
1871 * platform/gtk/MIMETypeRegistryGtk.cpp:
1872 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1874 2007-11-04 Sam Weinig <sam@webkit.org>
1876 Rubber-stamped by Adam Roben.
1878 Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
1881 * bindings/js/kjs_window.cpp:
1882 (KJS::Window::isSafeScript):
1883 * platform/SecurityOrigin.cpp:
1884 (WebCore::SecurityOrigin::canAccess):
1885 * platform/SecurityOrigin.h:
1887 2007-11-04 Timothy Hatcher <timothy@apple.com>
1891 Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
1892 http://bugs.webkit.org/show_bug.cgi?id=15834
1894 - Broke up DocumentPanel and added three SidebarPane sub-classes.
1895 - Fixed many Style pane bugs, including:
1896 * Poor handling of duplicate properties in the same rule. Some of this can't be
1897 fixed since we can't only get the "winning" value for duplicate properties.
1898 So we should only show one entry per unique property name.
1899 * Computed style does not show font shorthand sub-properties if 'font' was used.
1900 * Property priority was broken, the wrong properties were crossed out.
1901 * The 'border' shorthand shows null for the shorthand value.
1902 * Shorthands didn't show their priority (e.g. !important).
1903 * HSL and HTML hex colors didn't have preview swatch blocks.
1904 * Code refactoring, making it easier to reuse for console.log later.
1906 * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
1907 classes in new files.
1908 * page/inspector/MetricsSidebarPane.js: Added.
1909 * page/inspector/Panel.js: Remove an InspectorController.log() call.
1910 * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
1911 So TreeElements can access properties on their section.
1912 * page/inspector/PropertiesSidebarPane.js: Added.
1913 * page/inspector/SidebarPane.js: Remove the explicit asignment of the
1914 onexpand and oncollapse to null. These were hiding prototypes.
1915 * page/inspector/StylesSidebarPane.js: Added.
1916 * page/inspector/inspector.html: Include the new script files.
1917 * page/inspector/treeoutline.js: If a null representedObject is passed
1918 in just use a empty object.
1920 2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
1922 Fix build when spaces appear in the WebKit source path.
1924 Reviewed by Mark Rowe.
1926 * bindings/scripts/IDLParser.pm: Use safer open() method which lists
1927 arguments individually and prevents the need to work around spaces
1930 2007-11-04 Alp Toker <alp@atoker.com>
1932 Reviewed by Alexey Proskuryakov.
1934 Fix a crash when no clipboard text is available
1936 * platform/gtk/PasteboardGtk.cpp:
1937 (WebCore::Pasteboard::plainText):
1939 2007-11-03 Darin Adler <darin@apple.com>
1943 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
1944 remove unused PCRE features for speed
1946 * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
1947 * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
1948 Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
1951 * platform/RegularExpression.h: Remove the unused cap function. We can
1952 add it back later if we find we need it.
1953 * platform/RegularExpression.cpp:
1954 (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
1955 regular expression entry point changes.
1956 (WebCore::RegularExpression::Private::~Private): Ditto.
1957 (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
1958 This means that regular expressions with metacharactesr like ^ in them
1959 won't work any more with non-whole-string searches, but we don't use
1960 any regular expressions like that.
1962 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1964 Update the link stubs to match the current build,
1965 and fix coding style issues.
1967 Reviewed by Mark Rowe.
1969 * platform/wx/TemporaryLinkStubs.cpp:
1970 (loadResourceIntoArray):
1971 (findNextSentenceFromIndex):
1972 (findSentenceBoundary):
1973 (Frame::dashboardRegionsChanged):
1974 (WebCore::historyContains):
1975 (CachedPage::close):
1976 (Editor::showStylesPanel):
1977 (EventHandler::passSubframeEventToSubframe):
1978 (EventHandler::passWheelEventToWidget):
1979 (WebCore::currentTextBreakLocaleID):
1981 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1983 wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
1985 Reviewed by Mark Rowe.
1987 * platform/graphics/wx/FloatRectWx.cpp: Added.
1988 * platform/graphics/wx/IntPointWx.cpp: Added.
1989 * platform/graphics/wx/IntRectWx.cpp: Added.
1991 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1993 wx <-> WebKit data type conversions for Pen and Color.
1995 Reviewed by Darin Adler.
1997 * platform/graphics/wx: Added.
1998 * platform/graphics/wx/ColorWx.cpp: Added.
1999 * platform/graphics/wx/PenWx.cpp: Added.
2001 2007-11-03 Sam Weinig <sam@webkit.org>
2005 Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
2006 The variable had been kept around for binary compatibility, but since nothing
2007 else is there is no point in continuing to keep it around.
2009 * bindings/js/JSDOMExceptionConstructor.cpp:
2011 * bindings/js/JSHTMLInputElementBase.cpp:
2013 * bindings/js/JSNamedNodesCollection.cpp:
2015 * bindings/js/JSXMLHttpRequest.cpp:
2017 * bindings/js/JSXSLTProcessor.cpp:
2019 * bindings/js/kjs_css.cpp:
2021 * bindings/js/kjs_events.cpp:
2023 * bindings/js/kjs_navigator.cpp:
2025 * bindings/js/kjs_window.cpp:
2027 * bindings/scripts/CodeGeneratorJS.pm:
2029 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
2031 Build fixes to get wx impls. building on trunk.
2033 Reviewed by Mark Rowe.
2035 * platform/wx/DragDataWx.cpp:
2036 (WebCore::DragData::containsFiles):
2037 (WebCore::DragData::asFilenames):
2038 * platform/wx/DragImageWx.cpp:
2039 (WebCore::scaleDragImage):
2040 * platform/wx/MimeTypeRegistryWx.cpp:
2041 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2042 * platform/wx/MouseEventWx.cpp:
2043 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2044 * platform/wx/MouseWheelEventWx.cpp:
2045 * platform/wx/PasteboardWx.cpp:
2046 (WebCore::Pasteboard::writeImage):
2047 * platform/wx/WidgetWx.cpp:
2048 (WebCore::Widget::setCursor):
2050 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
2052 Sort files(...); sections of Xcode project files.
2054 Rubber-stamped by Darin.
2056 * WebCore.xcodeproj/project.pbxproj:
2057 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
2059 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
2061 Coding style fixes for platform/wx files.
2063 Reviewed by Mark Rowe.
2065 * platform/wx/ClipboardWx.cpp:
2066 * platform/wx/GlyphMapWx.cpp:
2067 * platform/wx/ScreenWx.cpp:
2069 2007-11-03 Alp Toker <alp@atoker.com>
2071 Reviewed by Mark Rowe.
2073 Implement platform scrollbar static width/height getters
2075 * platform/gtk/PlatformScrollBar.h:
2076 * platform/gtk/PlatformScrollBarGtk.cpp:
2078 (PlatformScrollbar::horizontalScrollbarHeight):
2080 2007-11-03 Alp Toker <alp@atoker.com>
2082 Reviewed by Mark Rowe.
2084 Cast function pointers to gpointer.
2086 * platform/gtk/PlatformScrollBarGtk.cpp:
2087 (PlatformScrollbar::~PlatformScrollbar):
2089 2007-11-03 Alp Toker <alp@atoker.com>
2091 Reviewed by Adam Roben.
2093 RenderThemeGtk implementation based on Mozilla's GTK+ style code
2095 There is still work needed to complete this feature.
2098 * platform/gtk/RenderThemeGtk.cpp:
2100 (WebCore::RenderThemeGtk::RenderThemeGtk):
2101 (WebCore::supportsFocus):
2102 (WebCore::RenderThemeGtk::supportsFocusRing):
2103 (WebCore::RenderThemeGtk::controlSupportsTints):
2104 (WebCore::RenderThemeGtk::baselinePosition):
2105 (WebCore::adjustMozStyle):
2106 (WebCore::setMozState):
2107 (WebCore::paintMozWidget):
2108 (WebCore::setButtonPadding):
2109 (WebCore::setToggleSize):
2110 (WebCore::RenderThemeGtk::setCheckboxSize):
2111 (WebCore::RenderThemeGtk::paintCheckbox):
2112 (WebCore::RenderThemeGtk::setRadioSize):
2113 (WebCore::RenderThemeGtk::paintRadio):
2114 (WebCore::RenderThemeGtk::adjustButtonStyle):
2115 (WebCore::RenderThemeGtk::paintButton):
2116 (WebCore::RenderThemeGtk::adjustMenuListStyle):
2117 (WebCore::RenderThemeGtk::paintMenuList):
2118 (WebCore::RenderThemeGtk::adjustTextFieldStyle):
2119 (WebCore::RenderThemeGtk::paintTextField):
2120 (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
2121 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
2122 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
2123 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
2124 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
2125 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
2126 (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
2127 (WebCore::RenderThemeGtk::paintSearchField):
2128 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
2129 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
2130 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
2131 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
2132 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
2133 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
2134 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
2135 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
2136 (WebCore::RenderThemeGtk::caretBlinkFrequency):
2137 (WebCore::RenderThemeGtk::systemFont):
2138 (WebCore::gtkStyleSetCallback):
2139 (WebCore::RenderThemeGtk::gtkContainer):
2140 (WebCore::RenderThemeGtk::gtkEntry):
2141 (WebCore::RenderThemeGtk::gtkTreeView):
2142 * platform/gtk/RenderThemeGtk.h:
2143 * platform/gtk/gtk2drawing.c: Added.
2144 (moz_gtk_enable_style_props):
2145 (ensure_window_widget):
2146 (setup_widget_prototype):
2147 (ensure_button_widget):
2148 (ensure_checkbox_widget):
2149 (ensure_radiobutton_widget):
2150 (ensure_scrollbar_widget):
2151 (ensure_spin_widget):
2152 (ensure_scale_widget):
2153 (ensure_entry_widget):
2154 (ensure_option_menu_widget):
2155 (ensure_arrow_widget):
2156 (ensure_handlebox_widget):
2157 (ensure_toolbar_widget):
2158 (ensure_tooltip_widget):
2159 (ensure_tab_widget):
2160 (ensure_progress_widget):
2161 (ensure_frame_widget):
2162 (ensure_menu_bar_widget):
2163 (ensure_menu_bar_item_widget):
2164 (ensure_menu_popup_widget):
2165 (ensure_menu_item_widget):
2166 (ensure_check_menu_item_widget):
2168 (TSOffsetStyleGCArray):
2170 (moz_gtk_button_paint):
2172 (moz_gtk_checkbox_get_metrics):
2173 (moz_gtk_radio_get_metrics):
2174 (moz_gtk_checkbox_get_focus):
2175 (moz_gtk_radio_get_focus):
2176 (moz_gtk_button_get_focus):
2177 (moz_gtk_option_menu_get_metrics):
2178 (moz_gtk_toggle_paint):
2179 (calculate_arrow_dimensions):
2180 (moz_gtk_scrollbar_button_paint):
2181 (moz_gtk_scrollbar_trough_paint):
2182 (moz_gtk_scrollbar_thumb_paint):
2183 (moz_gtk_spin_paint):
2184 (moz_gtk_scale_paint):
2185 (moz_gtk_scale_thumb_paint):
2186 (moz_gtk_gripper_paint):
2187 (moz_gtk_entry_paint):
2188 (moz_gtk_option_menu_paint):
2189 (moz_gtk_dropdown_arrow_paint):
2190 (moz_gtk_container_paint):
2191 (moz_gtk_toggle_label_paint):
2192 (moz_gtk_toolbar_paint):
2193 (moz_gtk_tooltip_paint):
2194 (moz_gtk_frame_paint):
2195 (moz_gtk_progressbar_paint):
2196 (moz_gtk_progress_chunk_paint):
2197 (moz_gtk_tab_paint):
2198 (moz_gtk_tabpanels_paint):
2199 (moz_gtk_menu_bar_paint):
2200 (moz_gtk_menu_popup_paint):
2201 (moz_gtk_menu_item_paint):
2202 (moz_gtk_check_menu_item_paint):
2203 (moz_gtk_window_paint):
2204 (moz_gtk_get_widget_border):
2205 (moz_gtk_get_dropdown_arrow_size):
2206 (moz_gtk_get_scalethumb_metrics):
2207 (moz_gtk_get_scrollbar_metrics):
2208 (moz_gtk_widget_paint):
2209 (moz_gtk_get_scrollbar_widget):
2211 * platform/gtk/gtkdrawing.h: Added.
2213 2007-11-03 Alp Toker <alp@atoker.com>
2215 Reviewed by Mark Rowe.
2217 Do not allow scrollbars to handle wheel events
2219 We bubble the wheel event up so the parent can handle it instead.
2221 * platform/gtk/PlatformScrollBarGtk.cpp:
2222 (gtkScrollEventCallback):
2223 (PlatformScrollbar::PlatformScrollbar):
2224 (PlatformScrollbar::~PlatformScrollbar):
2226 2007-11-03 Alp Toker <alp@atoker.com>
2228 Reviewed by Mark Rowe.
2230 Frame scrolling and invalidation fixes
2232 Make upward scroll events have a positive delta to match other ports.
2234 Fix the invalidation rect offset for frames so that scrolling works properly.
2236 Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
2238 Allow tabbing to all widgets and links.
2240 Fix event returns, improving the focus situation and correcting scroll wheel
2243 * page/gtk/EventHandlerGtk.cpp:
2244 (WebCore::EventHandler::tabsToAllControls):
2245 (WebCore::EventHandler::passWheelEventToWidget):
2246 * platform/gtk/ScrollViewGtk.cpp:
2247 (WebCore::ScrollViewScrollbar::geometryChanged):
2248 (WebCore::ScrollView::updateContents):
2249 (WebCore::ScrollView::update):
2250 (WebCore::ScrollView::wheelEvent):
2251 (WebCore::ScrollView::updateScrollbars):
2252 * platform/gtk/WheelEventGtk.cpp:
2253 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2255 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
2257 LGPL'ed files contain incorrect FSF address
2258 <http://bugs.webkit.org/show_bug.cgi?id=14885>
2260 Reviewed by NOBODY (follow-up fix).
2262 * bindings/js/JSSVGTransformListCustom.cpp:
2263 * ksvg2/svg/SVGException.idl:
2264 * ksvg2/svg/SVGTextPathElement.cpp:
2265 * ksvg2/svg/SVGTextPathElement.h:
2266 * ksvg2/svg/SVGViewSpec.cpp:
2267 * ksvg2/svg/SVGViewSpec.h:
2268 * platform/mac/FontCustomPlatformData.cpp:
2269 * platform/mac/FontCustomPlatformData.h:
2270 * platform/mac/FontPlatformDataMac.mm:
2271 * platform/win/FontCustomPlatformData.cpp:
2272 * platform/win/FontCustomPlatformData.h:
2273 * rendering/RenderSVGRoot.cpp:
2274 * rendering/RenderSVGRoot.h:
2275 * rendering/RenderSVGTextPath.cpp:
2276 * rendering/RenderSVGTextPath.h:
2277 * rendering/RenderSVGTransformableContainer.h:
2278 * rendering/RenderSVGViewportContainer.cpp:
2279 * rendering/RenderSVGViewportContainer.h:
2280 * rendering/SVGCharacterLayoutInfo.cpp:
2281 * rendering/SVGCharacterLayoutInfo.h:
2282 * rendering/SVGRenderSupport.cpp:
2283 * rendering/SVGRenderSupport.h:
2285 2007-11-02 Antti Koivisto <antti@apple.com>
2289 Add video width/height DOM and content attributes from latest HTML5 draft.
2291 Test: media/video-width-height.html
2293 * html/HTMLVideoElement.cpp:
2294 (WebCore::HTMLVideoElement::parseMappedAttribute):
2295 (WebCore::HTMLVideoElement::width):
2296 (WebCore::HTMLVideoElement::setWidth):
2297 (WebCore::HTMLVideoElement::height):
2298 (WebCore::HTMLVideoElement::setHeight):
2299 * html/HTMLVideoElement.h:
2300 * html/HTMLVideoElement.idl:
2302 2007-11-02 Darin Adler <darin@apple.com>
2306 * DerivedSources.make: Remove a few explicit filenames from some rules by using
2307 make variables a little more.
2308 * WebCore.LP64.exp: Fix typo, grammar.
2310 2007-11-02 Darin Adler <darin@apple.com>
2314 - use the new HashMap::take function where appropriate
2316 * bindings/js/kjs_binding.cpp:
2317 (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
2318 (KJS::removeWrapper): Ditto.
2319 (KJS::removeWrappers): Ditto.
2320 (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
2321 (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
2322 of remove -- in theory ever so slightly less efficient, but I think it's fine.
2323 (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
2324 (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
2325 (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
2326 (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
2328 * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
2329 * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
2330 * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
2331 * rendering/RenderBlock.cpp:
2332 (WebCore::RenderBlock::~RenderBlock): Ditto.
2333 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
2334 * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
2336 2007-11-02 Antti Koivisto <antti@apple.com>
2340 Enable video composition.
2343 * platform/graphics/mac/MoviePrivateQTKit.mm:
2344 (WebCore::MoviePrivate::createQTMovieView):
2345 * platform/mac/WebCoreSystemInterface.h:
2346 * platform/mac/WebCoreSystemInterface.mm:
2348 2007-11-02 Darin Adler <darin@apple.com>
2352 - fix http://bugs.webkit.org/show_bug.cgi?id=15806
2353 <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
2355 Test: fast/forms/remove-radio-button-assert.html
2357 * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
2358 Added protected function to be used by derived classes that need to do the same sort
2359 of removal from form that's automatically done by the base class in certain circumstances.
2360 * html/HTMLGenericFormElement.h: Added removeFromForm.
2362 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
2363 Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
2364 part of this object. By the time we get to the base class's destructor it's too late.
2365 The problem is specific to radio buttons so we don't have to worry about other classes
2366 derived from HTMLGenericFormElement.
2368 2007-11-02 Darin Adler <darin@apple.com>
2372 - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
2373 <rdar://problem/5510779> crashes in isLoadingMultipartContent
2375 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
2376 Instead of asserting the frame loader is non-0, return false if it is 0.
2378 2007-11-02 Darin Adler <darin@apple.com>
2382 - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
2383 URL and MIME type is omitted
2385 Already covered by existing tests (that had incorrect results).
2387 * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
2388 failure when both URL and MIME type are empty. The old code would not attempt a load, but
2389 it would indicate success.
2391 * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
2392 non-helpful early exit for the case where there is no URL and no type. Returning early
2393 prevents the fallback code from running.
2395 2007-11-02 Alp Toker <alp@atoker.com>
2399 Include Cairo headers properly
2401 * platform/graphics/AffineTransform.h:
2402 * platform/graphics/ImageBuffer.h:
2403 * platform/graphics/cairo/AffineTransformCairo.cpp:
2404 * platform/gtk/FontPlatformDataGtk.cpp:
2406 2007-11-01 Oliver Hunt <oliver@apple.com>
2410 Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key
2412 * platform/win/KeyEventWin.cpp:
2413 (WebCore::keyIdentifierForWindowsKeyCode):
2414 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2416 2007-11-01 Geoffrey Garen <ggaren@apple.com>
2418 Reviewed by Maciej Stachowiak.
2420 In preparation for making List a simple stack-allocated Vector:
2422 Removed all instances of List copying, assignment, and/or storage.
2424 Layout tests and JS tests pass.
2426 * bindings/js/kjs_window.cpp:
2427 (KJS::WindowFunc::callAsFunction): Stores a Vector of protected
2428 JSValue*'s instead of a List now. Converts to List on the fly when
2429 calling the timer function. This is slightly less efficient, but the
2430 common case is 0-2 arguments, so it's no biggie.
2432 (HTML iBench shows no regression. PLT does not use JS timers.)
2434 (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
2436 (KJS::ScheduledAction::ScheduledAction): ditto
2438 * bindings/objc/WebScriptObject.mm:
2439 (getListFromNSArray): Takes a List out parameter now, to avoid copying.
2441 2007-11-01 Oliver Hunt <oliver@apple.com>
2445 Correct event behaviour on certain control keys
2447 Make sure we send the correct keyDown and keyUp events for the
2448 control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
2449 uses Windows key codes for the event keyCode.
2452 * page/EventHandler.cpp:
2453 (WebCore::EventHandler::keyEvent):
2454 * platform/PlatformKeyboardEvent.h:
2455 * platform/gtk/KeyEventGtk.cpp:
2456 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2457 * platform/mac/KeyEventMac.mm:
2458 (WebCore::keyIdentifierForKeyEvent):
2459 (WebCore::WindowsKeyCodeForKeyEvent):
2460 (WebCore::isKeyUpEvent):
2461 (WebCore::textFromEvent):
2462 (WebCore::unmodifiedTextFromEvent):
2463 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2464 * platform/win/KeyEventWin.cpp:
2465 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2466 * platform/wx/KeyEventWin.cpp:
2467 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2469 2007-11-01 Timothy Hatcher <timothy@apple.com>
2473 * page/inspector/inspector.css: Use the white disclosure triangles
2474 when a parent DOM element is sepected.
2476 2007-11-01 Justin Garcia <justin.garcia@apple.com>
2478 Reviewed by Oliver Hunt.
2480 <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
2482 * editing/ReplaceSelectionCommand.cpp:
2483 (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
2484 into a plaintext-only region, since when we build the fragment to insert from
2485 plain text, we don't put any style information on it, so it will automatically
2486 match style with no intervention.
2487 * editing/markup.cpp:
2488 (WebCore::createFragmentFromText): Place paragraphs into clones of the
2489 block being inserted into, instead of default paragraph elements,
2490 so that when inserted content will match the surrounding paragraph style.
2491 This was broken before, but I haven't added a layout test yet because
2492 there currently isn't a way to get only plain text onto the pasteboard
2495 2007-11-01 Sam Weinig <sam@webkit.org>
2497 Reviewed by Adam Roben.
2499 Add a releaseRef method to COMPtr which matches the behavior
2500 of the method by the same name in PassRefPtr. This is in
2501 preparation of adding autogenerated COM DOM bindings.
2503 * platform/win/COMPtr.h:
2504 (COMPtr::releaseRef):
2506 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
2508 wx impl. for DragController and EventHandler interfaces.
2510 Reviewed by Adam Roben.
2513 * page/wx/DragControllerWx.cpp: Added.
2514 (WebCore::DragController::isCopyKeyDown):
2515 (WebCore::DragController::dragOperation):
2516 (WebCore::DragController::maxDragImageSize):
2517 * page/wx/EventHandlerWx.cpp: Added.
2518 (WebCore::EventHandler::passMousePressEventToSubframe):
2519 (WebCore::EventHandler::passMouseMoveEventToSubframe):
2520 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2521 (WebCore::EventHandler::passMousePressEventToScrollbar):
2522 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2523 (WebCore::EventHandler::focusDocumentView):
2524 (WebCore::EventHandler::eventActivatedView):
2525 (WebCore::EventHandler::createDraggingClipboard):
2527 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
2529 Adding files for wx impl. of editing interfaces.
2531 Reviewed by Adam Roben.
2533 * editing/wx: Added.
2534 * editing/wx/EditorWx.cpp: Added.
2535 (WebCore::Editor::newGeneralClipboard):
2537 2007-11-01 Sam Weinig <sam@webkit.org>
2539 Reviewed by Adam Roben.
2541 Make implicit conversions from LPCSTRs and BSTRs to WebCore string
2542 types possible in preparation of adding autogenerated COM DOM bindings.
2544 * platform/AtomicString.cpp:
2545 (WebCore::AtomicString::add):
2546 * platform/AtomicString.h:
2547 (WebCore::AtomicString::AtomicString):
2548 * platform/PlatformString.h:
2549 * platform/win/BString.cpp:
2550 (WebCore::BString::BString):
2551 * platform/win/BString.h:
2553 2007-11-01 Brady Eidson <beidson@apple.com>
2557 Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
2559 * platform/sql/SQLiteTransaction.cpp:
2560 (WebCore::SQLiteTransaction::SQLiteTransaction):
2561 (WebCore::SQLiteTransaction::~SQLiteTransaction):
2562 (WebCore::SQLiteTransaction::begin):
2563 (WebCore::SQLiteTransaction::commit):
2564 (WebCore::SQLiteTransaction::rollback):
2565 * platform/sql/SQLiteTransaction.h:
2566 (WebCore::SQLiteTransaction::inProgress):
2568 2007-11-01 Adam Roben <aroben@apple.com>
2570 Remove all duplicate xcopy commands from WebCore's post-build step
2572 Also add the /d option to the copy of platform/sql.
2574 Rubberstamped by Sam.
2576 * WebCore.vcproj/WebCore.vcproj:
2578 2007-11-01 Adele Peterson <adele@apple.com>
2582 Add support for the animation of the -webkit-border-raduis properties.
2584 * page/AnimationController.cpp:
2585 (WebCore::blendFunc): Added for IntSize.
2586 (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
2588 2007-11-01 Alp Toker <alp@atoker.com>
2590 Reviewed by Mitz Pettel.
2592 Fix an unbalanced save/restore.
2594 * platform/graphics/cg/ImageCG.cpp:
2595 (WebCore::BitmapImage::draw):
2597 2007-11-01 David Hyatt <hyatt@apple.com>
2599 Add support for the animation of the visibility property.
2601 Reviewed by oliver, aroben
2603 * page/AnimationController.cpp:
2604 (WebCore::blendFunc):
2605 (WebCore::ImplicitAnimation::animate):
2607 2007-11-01 Kevin McCullough <kmccullough@apple.com>
2611 - Made COMPtr be able to be used by certain other templates,
2612 specifically HashSet.
2614 * platform/win/COMPtr.h:
2617 2007-11-01 Dan Bernstein <mitz@apple.com>
2619 Reviewed by Dave Hyatt.
2621 - fix http://bugs.webkit.org/show_bug.cgi?id=15015
2622 <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
2624 Test: fast/repaint/overflow-clip-subtree-layout.html
2626 This patch does not address the bigger issue of doing a full relayout
2627 of inline flows containing floats, but it addresses the problem on
2628 aol.com, where the changes that trigger layout are confined to an
2629 overflow area inside the float.
2631 * page/FrameView.cpp:
2632 (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
2633 layout roots are different but one descends from the other, make (or
2634 keep) the ancestor as the layout root.
2635 * rendering/RenderObject.cpp:
2636 (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
2637 clipping and non-auto width and height relayout boundaries.
2639 2007-11-01 Alexey Proskuryakov <ap@webkit.org>
2641 Reviewed by Mark Rowe.
2643 Fixed line endings that got confused in this file somehow.
2645 * platform/network/ResourceResponse.cpp:
2646 (WebCore::ResourceResponse::isAttachment):
2648 2007-11-01 Peter Kasting <zerodpx@gmail.com>
2650 Reviewed by Dave Hyatt.
2652 http://bugs.webkit.org/show_bug.cgi?id=15778
2653 Malformed GIFs should not result in memory corruption.
2655 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2656 (WebCore::GIFImageDecoder::haveDecodedRow):
2657 * platform/image-decoders/gif/GIFImageReader.cpp:
2658 (GIFImageReader::output_row):
2659 (GIFImageReader::read):
2661 2007-10-31 Adam Roben <aroben@apple.com>
2663 Fix a crash when parsing a cubic-bezier function
2667 Test: fast/css/parse-timing-function-crash.html
2669 * WebCore.vcproj/WebCore.vcproj:
2670 * css/CSSParser.cpp:
2671 (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
2674 2007-10-31 David Hyatt <hyatt@apple.com>
2676 Fix a merge error from when I applied my patch to ToT. A couple of lines should be part of an if.
2678 * rendering/RenderStyle.cpp:
2679 (WebCore::RenderStyle::adjustTransitions):
2681 2007-10-31 Anders Carlsson <andersca@apple.com>
2685 Add new SQL callback interfaces and JS implementations of them.
2687 * DerivedSources.make:
2688 * WebCore.xcodeproj/project.pbxproj:
2689 * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
2690 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
2691 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2692 * bindings/js/JSCustomSQLStatementCallback.h: Added.
2693 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
2694 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
2695 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2696 * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
2697 * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
2698 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2699 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2700 * bindings/js/JSCustomSQLTransactionCallback.h: Added.
2701 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
2702 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
2703 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2704 * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
2705 * storage/JSCustomSQLStatementCallback.h: Added.
2706 * storage/JSCustomSQLStatementErrorCallback.h: Added.
2707 * storage/JSCustomSQLTransactionCallback.h: Added.
2708 * storage/JSCustomSQLTransactionErrorCallback.h: Added.
2709 * storage/SQLStatementCallback.h: Added.
2710 (WebCore::SQLStatementCallback::~SQLStatementCallback):
2711 * storage/SQLStatementCallback.idl: Added.
2712 * storage/SQLStatementErrorCallback.h: Added.
2713 (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
2714 * storage/SQLStatementErrorCallback.idl: Added.
2715 * storage/SQLTransaction.h: Added.
2716 * storage/SQLTransaction.idl: Added.
2717 * storage/SQLTransactionCallback.h: Added.
2718 (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
2719 * storage/SQLTransactionCallback.idl: Added.
2720 * storage/SQLTransactionErrorCallback.h: Added.
2721 (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
2722 * storage/SQLTransactionErrorCallback.idl: Added.
2724 2007-10-31 Justin Garcia <justin.garcia@apple.com>
2726 Reviewed by Dave Harrison.
2728 <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
2730 * editing/htmlediting.cpp:
2731 (WebCore::enclosingEmptyListItem): A single list item can contain multiple
2732 paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a
2733 list item, that list item isn't necessarily empty.
2735 2007-10-31 David Hyatt <hyatt@apple.com>
2737 Disable style sharing for animating styles.
2739 Reviewed by mitzpettel
2741 * css/CSSStyleSelector.cpp:
2742 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2744 2007-10-31 Dan Bernstein <mitz@apple.com>
2746 Reviewed by Darin Adler.
2748 - fix intermediate length calculation
2750 * rendering/Length.h:
2751 (WebCore::Length::blend):
2753 2007-10-31 Anders Carlsson <andersca@apple.com>
2757 Add new SQLError implementation.
2759 * DerivedSources.make:
2760 * WebCore.vcproj/WebCore.vcproj:
2761 * WebCore.xcodeproj/project.pbxproj:
2762 * storage/SQLError.h: Added.
2763 (WebCore::SQLError::SQLError):
2764 (WebCore::SQLError::code):
2765 (WebCore::SQLError::message):
2766 * storage/SQLError.idl: Added.
2768 2007-10-31 David Hyatt <hyatt@apple.com>
2770 Change the initial value of transition-property to all. Change the initial value of
2771 transition-duration to 0.
2775 * rendering/RenderStyle.h:
2776 (WebCore::RenderStyle::initialTransitionDuration):
2777 (WebCore::RenderStyle::initialTransitionProperty):
2779 2007-10-31 Alp Toker <alp@atoker.com>
2781 Reviewed by Mark Rowe.
2783 The new Color must be marked valid.
2785 * platform/graphics/gtk/ColorGtk.cpp:
2787 2007-10-31 Simon Hausmann <hausmann@kde.org>
2791 Build fix for non-Qt builds.
2793 * dom/XMLTokenizer.cpp:
2794 (WebCore::XMLTokenizer::XMLTokenizer):
2796 2007-10-31 Simon Hausmann <hausmann@kde.org>
2800 Fix dependency path to header files of the public API of the Qt port.
2804 2007-10-31 Holger Freyther <zecke@selfish.org>
2808 * QXmlStreamNamespaceDeclaration doesn't have the constructor we
2809 want to use for Qt4.3. Reenable the old code path which is likely
2810 to be dead as I have not checked if m_prefixToNamespaceMap is actually
2812 * Guard the entity resolver with the QT_VERSION as well.
2813 * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
2814 d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
2816 * dom/XMLTokenizer.cpp:
2817 (WebCore::XMLTokenizer::XMLTokenizer):
2818 * dom/XMLTokenizer.h:
2820 2007-10-31 Holger Freyther <zecke@selfish.org>
2822 Reviewed by Lars Knoll <lars@trolltech.com>.
2824 * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3
2825 * Provide a bad fallback implementation to filter the format list.
2827 * platform/qt/ClipboardQt.cpp:
2828 (WebCore::ClipboardQt::clearData):
2830 2007-10-31 Lars Knoll <lars@trolltech.com>
2834 add an entitiy resolver to QXmlStream.
2835 Fixes fast/parser/entities-in-attributes.xhtml.
2837 * dom/XMLTokenizer.cpp:
2838 (WebCore::EntityResolver::resolveUndeclaredEntity):
2839 (WebCore::XMLTokenizer::XMLTokenizer):
2840 (WebCore::XMLTokenizer::~XMLTokenizer):
2842 2007-10-31 Lars Knoll <lars@trolltech.com>
2846 Fixes in the XML tokenizer when using QXmlStream.
2848 Use new functionality of QXmlStream in Qt 4.4 to simplify
2849 the code (but keep the old code for now to still support Qt 4.3).
2851 Add proper support for namespace handling when parsing into
2852 a document fragment.
2854 * dom/XMLTokenizer.cpp:
2855 (WebCore::XMLTokenizer::XMLTokenizer):
2856 (WebCore::XMLTokenizer::write):
2857 (WebCore::XMLTokenizer::startElementNs):
2859 * dom/XMLTokenizer.h:
2861 2007-10-31 Lars Knoll <lars@trolltech.com>
2865 add support for dragging images.
2867 * platform/DragImage.h:
2868 * platform/qt/ClipboardQt.cpp:
2869 (WebCore::ClipboardQt::clearData):
2870 (WebCore::ClipboardQt::setDragImage):
2871 (WebCore::ClipboardQt::setDragImageElement):
2872 (WebCore::ClipboardQt::createDragImage):
2873 (WebCore::getCachedImage):
2874 (WebCore::ClipboardQt::declareAndWriteDragImage):
2875 * platform/qt/ClipboardQt.h:
2877 2007-10-31 Lars Knoll <lars@trolltech.com>
2881 fix most of the issues I found with Clipboard and DnD.
2883 * editing/qt/EditorQt.cpp:
2884 * platform/qt/ClipboardQt.cpp:
2885 (WebCore::ClipboardQt::ClipboardQt):
2886 (WebCore::ClipboardQt::~ClipboardQt):
2887 (WebCore::ClipboardQt::clearData):
2888 (WebCore::ClipboardQt::clearAllData):
2889 (WebCore::ClipboardQt::getData):
2890 (WebCore::ClipboardQt::setData):
2891 (WebCore::ClipboardQt::types):
2892 (WebCore::ClipboardQt::setDragImage):
2893 (WebCore::ClipboardQt::setDragImageElement):
2894 (WebCore::ClipboardQt::declareAndWriteDragImage):
2895 (WebCore::ClipboardQt::writeURL):
2896 (WebCore::ClipboardQt::writeRange):
2897 (WebCore::ClipboardQt::hasData):
2898 * platform/qt/ClipboardQt.h:
2899 * platform/qt/DragDataQt.cpp:
2900 (WebCore::DragData::asURL):
2902 2007-10-30 Mark Rowe <mrowe@apple.com>
2904 Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
2906 * platform/gtk/KeyEventGtk.cpp:
2907 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2908 * platform/qt/PlatformKeyboardEventQt.cpp:
2909 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2911 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
2915 http://bugs.webkit.org/show_bug.cgi?id=15762
2916 XSLStylesheet loads subresources from a wrong URL
2918 Covered by corrected existing tests.
2920 * xml/XSLStyleSheet.cpp:
2921 (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
2924 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
2928 http://bugs.webkit.org/show_bug.cgi?id=10818
2929 String::append does 2 full copies instead of 1 (or zero!)
2931 No change in functionality, thus no test.
2933 * platform/String.cpp:
2934 (WebCore::String::append): Rewrote to copy once. Also removed an ancient
2935 FIXME that doesn't seem to make any sense. Note that append() behavior doesn't
2936 match documented String behavior ("modifications to one instance will
2937 also modify all others"), but there are a lot of methods that don't.
2939 2007-10-31 Adam Roben <aroben@apple.com>
2943 * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
2945 2007-10-30 Adam Roben <aroben@apple.com>
2949 I'm not completely sure why these const issues weren't caught by GCC,
2950 but MSVC was certainly not happy with them.
2952 * editing/IndentOutdentCommand.cpp:
2953 (WebCore::isIndentBlockquote):
2954 * editing/markup.cpp:
2955 (WebCore::styleFromMatchedRulesAndInlineDecl):
2957 2007-10-30 David Hyatt <hyatt@apple.com>
2959 transition-property was defaulting to all when it should default to none.
2961 It was taking a string type. I figured out how to make it take an ident instead, so you can write:
2963 transition-property: opacity
2967 transition-property: "opacity"
2969 Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that.
2971 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.
2976 * css/CSSParser.cpp:
2977 (WebCore::CSSParser::parseTransitionProperty):
2978 * css/CSSStyleSelector.cpp:
2979 (WebCore::CSSStyleSelector::adjustRenderStyle):
2980 * page/AnimationController.cpp:
2981 (WebCore::ImplicitAnimation::animate):
2982 * rendering/RenderStyle.cpp:
2983 (WebCore::RenderStyle::adjustTransitions):
2984 * rendering/RenderStyle.h:
2985 (WebCore::RenderStyle::initialTransitionProperty):
2987 2007-10-30 Antti Koivisto <antti@apple.com>
2993 * platform/graphics/mac/MoviePrivateQTKit.mm:
2994 (WebCore::MoviePrivate::getSupportedTypes):
2996 2007-10-30 Dan Bernstein <mitz@apple.com>
2998 Reviewed by Stephanie Lewis.
3000 - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
3002 * platform/win/FontDataWin.cpp:
3003 (WebCore::FontData::platformInit): Handle the case where the font has no
3004 glyphs on page zero.
3006 2007-10-30 David Hyatt <hyatt@apple.com>
3008 Make sure CSS transforms can be animated using the CSS transition property.
3010 Reviewed by Dan and Antti
3012 * css/CSSStyleSelector.cpp:
3013 (WebCore::CSSStyleSelector::applyProperty):
3014 * page/AnimationController.cpp:
3015 (WebCore::blendFunc):
3016 (WebCore::ImplicitAnimation::animate):
3017 * rendering/Length.h:
3018 (WebCore::Length::blend):
3019 * rendering/RenderStyle.cpp:
3020 (WebCore::StyleTransformData::operator==):
3021 (WebCore::TransformOperations::operator==):
3022 (WebCore::blendLengths):
3023 (WebCore::ScaleTransformOperation::blend):
3024 (WebCore::RotateTransformOperation::blend):
3025 (WebCore::SkewTransformOperation::blend):
3026 (WebCore::TranslateTransformOperation::blend):
3027 (WebCore::MatrixTransformOperation::blend):
3028 * rendering/RenderStyle.h:
3029 (WebCore::TransformOperations::operator!=):
3030 (WebCore::TransformOperations::isEmpty):
3031 (WebCore::TransformOperations::size):
3032 (WebCore::TransformOperations::operator[]):
3033 (WebCore::TransformOperations::append):
3034 (WebCore::RenderStyle::transform):
3035 (WebCore::RenderStyle::setTransform):
3036 (WebCore::RenderStyle::initialTransform):
3038 2007-10-30 Antti Koivisto <antti@apple.com>
3040 Another Qt/GTK build fix.
3042 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3044 2007-10-30 Antti Koivisto <antti@apple.com>
3046 Attempt to fix Qt/GTK build.
3050 2007-10-30 Justin Garcia <justin.garcia@apple.com>
3052 Reviewed by Darin Adler.
3054 <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
3056 We were trying to insert a tab into a br, after the br incorrectly ended up inside
3059 * editing/DeleteButtonController.cpp:
3060 (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
3061 * editing/DeleteSelectionCommand.cpp:
3062 (WebCore::isTableRow): Ditto.
3063 * editing/IndentOutdentCommand.cpp:
3064 (WebCore::isIndentBlockquote): Ditto.
3065 (WebCore::isListOrIndentBlockquote): Ditto.
3066 * editing/InsertLineBreakCommand.cpp:
3067 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
3069 (WebCore::InsertLineBreakCommand::doApply):
3070 Don't upstream() the insertion position. upstream()ing it will only have an effect
3071 when the insertion position is the first in its paragraph (since we canonicalize
3072 VisiblePositions to the upstream() candidate). In this start of paragraph case,
3073 upstream() can move outside inline elements like tab spans or elements that might
3074 have a different whitespace mode (added two test cases to cover these).
3075 Moved code to decide whether to insert a br or a '\n' to its own method.
3076 Removed special case code for inserting at a position inside a tab span. We instead
3077 adjust the insertion position before insertion if it is inside a tab span and
3078 handle insertion in the appropriate if-block. This fixes a bug where we would
3079 only insert one line break when two were needed (added a testcase).
3080 Removed special case code for inserting before and after tables and horizontal
3081 rules. We handle these insertions in the appropriate if-block.
3082 * editing/InsertLineBreakCommand.h:
3083 * editing/ReplaceSelectionCommand.cpp:
3084 (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
3085 * editing/htmlediting.cpp:
3086 (WebCore::isContentEditable): Ditto.
3087 (WebCore::isBlock): Ditto.
3088 (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
3089 that takes in a const Node*.
3090 (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
3092 * editing/htmlediting.h:
3093 * editing/markup.cpp:
3094 (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
3095 (WebCore::elementHasTextDecorationProperty): Ditto.
3097 2007-10-30 Antti Koivisto <antti@apple.com>
3103 * html/VoidCallback.cpp: Added.
3104 (VoidCallback::VoidCallback):
3105 (VoidCallback::~VoidCallback):
3106 (VoidCallback::handleEvent):
3107 (VoidCallback::execute):
3108 (VoidCallback::operator==):
3109 (WebCore::toVoidCallback):
3110 * html/VoidCallback.h: Added.
3111 * html/VoidCallback.idl: Added.
3113 2007-10-30 David Kilzer <ddkilzer@webkit.org>
3115 Generated files missing from WebCore's Xcode project file
3116 <http://bugs.webkit.org/show_bug.cgi?id=15406>
3120 Added the following files to the Xcode project file (note that
3121 JSHTMLInputElementBaseTable.cpp is used as a header file):
3123 - DOMCSSStyleSheetPrivate.h
3125 - DOMHTMLCollectionPrivate.h
3126 - DOMHTMLEmbedElementPrivate.h
3127 - DOMHTMLIFrameElementPrivate.h
3128 - DOMHTMLObjectElementPrivate.h
3129 - DOMHTMLSelectElementPrivate.h
3130 - DOMTextEventInternal.h
3131 - JSHTMLInputElementBaseTable.cpp
3133 * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
3134 since their generated code was not used.
3135 * WebCore.xcodeproj/project.pbxproj: Added missing header files.
3137 2007-10-29 Antti Koivisto <antti@apple.com>
3139 Rubber stamped by Adele.
3141 Initial media (<video> and <audio>) support from feature branch and
3142 QTKit based platform implementation.
3144 This will need to be updated to match current draft specification.
3146 * Configurations/WebCore.xcconfig:
3147 * DerivedSources.make:
3149 * WebCore.xcodeproj/project.pbxproj:
3150 * bindings/js/JSEventCustom.cpp:
3152 * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
3153 (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
3154 (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
3155 (WebCore::JSHTMLAudioElementConstructor::construct):
3156 * bindings/js/JSHTMLAudioElementConstructor.h: Added.
3157 * bindings/js/JSHTMLElementWrapperFactory.cpp:
3158 (WebCore::createJSHTMLWrapper):
3159 * bindings/js/kjs_window.cpp:
3160 (KJS::Window::getValueProperty):
3161 * bindings/js/kjs_window.h:
3163 * bindings/scripts/CodeGeneratorJS.pm:
3165 (WebCore::Document::createEvent):
3166 (WebCore::Document::willSaveToCache):
3167 (WebCore::Document::didRestoreFromCache):
3168 (WebCore::Document::registerForCacheCallbacks):
3169 (WebCore::Document::unregisterForCacheCallbacks):
3172 (WebCore::Element::setBooleanAttribute):
3174 (WebCore::Element::willSaveToCache):
3176 (WebCore::Event::isProgressEvent):
3179 * dom/EventTargetNode.cpp:
3180 (WebCore::EventTargetNode::dispatchProgressEvent):
3181 * dom/EventTargetNode.h:
3182 * dom/ProgressEvent.cpp: Added.
3183 (WebCore::ProgressEvent::ProgressEvent):
3184 (WebCore::ProgressEvent::initProgressEvent):
3185 (WebCore::ProgressEvent::initProgressEventNS):
3186 * dom/ProgressEvent.h: Added.
3187 (WebCore::ProgressEvent::lengthComputable):
3188 (WebCore::ProgressEvent::loaded):
3189 (WebCore::ProgressEvent::total):
3190 (WebCore::ProgressEvent::isProgressEvent):
3191 * dom/ProgressEvent.idl: Added.
3192 * history/CachedPage.cpp:
3193 (WebCore::CachedPage::CachedPage):
3194 * html/HTMLAttributeNames.in:
3195 * html/HTMLAudioElement.cpp: Added.
3196 (WebCore::HTMLAudioElement::HTMLAudioElement):
3197 * html/HTMLAudioElement.h: Added.
3198 (WebCore::HTMLAudioElement::tagPriority):
3199 * html/HTMLAudioElement.idl: Added.
3200 * html/HTMLElement.cpp:
3201 (WebCore::inlineTagList):
3202 * html/HTMLElementFactory.cpp:
3203 (WebCore::audioConstructor):
3204 (WebCore::videoConstructor):
3205 (WebCore::sourceConstructor):
3206 (WebCore::createFunctionMap):
3207 * html/HTMLInputElement.cpp:
3208 (WebCore::HTMLInputElement::~HTMLInputElement):
3209 (WebCore::HTMLInputElement::setInputType):
3210 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
3211 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
3212 * html/HTMLMediaElement.cpp: Added.
3213 (WebCore::HTMLMediaElement::HTMLMediaElement):
3214 (WebCore::HTMLMediaElement::~HTMLMediaElement):
3215 (WebCore::HTMLMediaElement::checkDTD):
3216 (WebCore::HTMLMediaElement::rendererIsNeeded):
3217 (WebCore::HTMLMediaElement::createRenderer):
3218 (WebCore::HTMLMediaElement::insertedIntoDocument):
3219 (WebCore::HTMLMediaElement::removedFromDocument):
3220 (WebCore::HTMLMediaElement::scheduleLoad):
3221 (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
3222 (WebCore::HTMLMediaElement::dispatchEventAsync):
3223 (WebCore::HTMLMediaElement::loadTimerFired):
3224 (WebCore::HTMLMediaElement::asyncEventTimerFired):
3225 (WebCore::serializeTimeOffset):
3226 (WebCore::parseTimeOffset):
3227 (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
3228 (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
3229 (WebCore::HTMLMediaElement::error):
3230 (WebCore::HTMLMediaElement::src):
3231 (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
3232 (WebCore::HTMLMediaElement::currentSrc):
3233 (WebCore::HTMLMediaElement::networkState):
3234 (WebCore::HTMLMediaElement::bufferingRate):
3235 (WebCore::HTMLMediaElement::load):
3236 (WebCore::HTMLMediaElement::movieNetworkStateChanged):
3237 (WebCore::HTMLMediaElement::movieReadyStateChanged):
3238 (WebCore::HTMLMediaElement::setReadyState):
3239 (WebCore::HTMLMediaElement::progressEventTimerFired):
3240 (WebCore::HTMLMediaElement::seek):
3241 (WebCore::HTMLMediaElement::readyState):
3242 (WebCore::HTMLMediaElement::seeking):
3243 (WebCore::HTMLMediaElement::currentTime):
3244 (WebCore::HTMLMediaElement::setCurrentTime):
3245 (WebCore::HTMLMediaElement::duration):
3246 (WebCore::HTMLMediaElement::paused):
3247 (WebCore::HTMLMediaElement::defaultPlaybackRate):
3248 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
3249 (WebCore::HTMLMediaElement::playbackRate):
3250 (WebCore::HTMLMediaElement::setPlaybackRate):
3251 (WebCore::HTMLMediaElement::ended):
3252 (WebCore::HTMLMediaElement::autoplay):
3253 (WebCore::HTMLMediaElement::setAutoplay):
3254 (WebCore::HTMLMediaElement::play):
3255 (WebCore::HTMLMediaElement::pause):
3256 (WebCore::HTMLMediaElement::loopCount):
3257 (WebCore::HTMLMediaElement::setLoopCount):
3258 (WebCore::HTMLMediaElement::start):
3259 (WebCore::HTMLMediaElement::setStart):
3260 (WebCore::HTMLMediaElement::end):
3261 (WebCore::HTMLMediaElement::setEnd):
3262 (WebCore::HTMLMediaElement::loopStart):
3263 (WebCore::HTMLMediaElement::setLoopStart):
3264 (WebCore::HTMLMediaElement::loopEnd):
3265 (WebCore::HTMLMediaElement::setLoopEnd):
3266 (WebCore::HTMLMediaElement::currentLoop):
3267 (WebCore::HTMLMediaElement::setCurrentLoop):
3268 (WebCore::HTMLMediaElement::controls):
3269 (WebCore::HTMLMediaElement::setControls):
3270 (WebCore::HTMLMediaElement::volume):
3271 (WebCore::HTMLMediaElement::setVolume):
3272 (WebCore::HTMLMediaElement::muted):
3273 (WebCore::HTMLMediaElement::setMuted):
3274 (WebCore::HTMLMediaElement::pickMedia):
3275 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
3276 (WebCore::HTMLMediaElement::movieVolumeChanged):
3277 (WebCore::HTMLMediaElement::movieDidEnd):
3278 (WebCore::HTMLMediaElement::movieCuePointReached):
3279 (WebCore::HTMLMediaElement::addCuePoint):
3280 (WebCore::HTMLMediaElement::removeCuePoint):
3281 (WebCore::HTMLMediaElement::buffered):
3282 (WebCore::HTMLMediaElement::played):
3283 (WebCore::HTMLMediaElement::seekable):
3284 (WebCore::HTMLMediaElement::effectiveStart):
3285 (WebCore::HTMLMediaElement::effectiveEnd):
3286 (WebCore::HTMLMediaElement::effectiveLoopStart):
3287 (WebCore::HTMLMediaElement::effectiveLoopEnd):
3288 (WebCore::HTMLMediaElement::activelyPlaying):
3289 (WebCore::HTMLMediaElement::endedPlayback):
3290 (WebCore::HTMLMediaElement::willSaveToCache):
3291 (WebCore::HTMLMediaElement::didRestoreFromCache):
3292 * html/HTMLMediaElement.h: Added.
3293 (WebCore::HTMLMediaElement::movie):
3294 (WebCore::HTMLMediaElement::isVideo):
3295 (WebCore::HTMLMediaElement::):
3296 (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
3297 * html/HTMLMediaElement.idl: Added.
3298 * html/HTMLSourceElement.cpp: Added.
3299 (WebCore::HTMLSourceElement::HTMLSourceElement):
3300 (WebCore::HTMLSourceElement::~HTMLSourceElement):
3301 (WebCore::HTMLSourceElement::insertedIntoDocument):
3302 (WebCore::HTMLSourceElement::src):
3303 (WebCore::HTMLSourceElement::setSrc):
3304 (WebCore::HTMLSourceElement::media):
3305 (WebCore::HTMLSourceElement::setMedia):
3306 (WebCore::HTMLSourceElement::type):
3307 (WebCore::HTMLSourceElement::setType):
3308 * html/HTMLSourceElement.h: Added.
3309 (WebCore::HTMLSourceElement::endTagRequirement):
3310 (WebCore::HTMLSourceElement::tagPriority):
3311 * html/HTMLSourceElement.idl: Added.
3312 * html/HTMLTagNames.in:
3313 * html/HTMLVideoElement.cpp: Added.
3314 (WebCore::HTMLVideoElement::HTMLVideoElement):
3315 (WebCore::HTMLVideoElement::videoWidth):
3316 (WebCore::HTMLVideoElement::videoHeight):
3317 * html/HTMLVideoElement.h: Added.
3318 (WebCore::HTMLVideoElement::tagPriority):
3319 (WebCore::HTMLVideoElement::isVideo):
3320 * html/HTMLVideoElement.idl: Added.
3321 * html/MediaError.h: Added.
3322 (WebCore::MediaError::):
3323 (WebCore::MediaError::MediaError):
3324 (WebCore::MediaError::code):
3325 * html/MediaError.idl: Added.
3326 * html/TimeRanges.cpp: Added.
3327 (TimeRanges::TimeRanges):
3328 (TimeRanges::start):
3331 (TimeRanges::contain):
3332 * html/TimeRanges.h: Added.
3333 (WebCore::TimeRanges::TimeRanges):
3334 (WebCore::TimeRanges::length):
3335 (WebCore::TimeRanges::Range::Range):
3336 * html/TimeRanges.idl: Added.
3337 * page/DOMWindow.idl:
3338 * platform/MIMETypeRegistry.cpp:
3339 (WebCore::initialiseSupportedMovieMIMETypes):
3340 (WebCore::initialiseMIMETypeRegistry):
3341 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
3342 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
3343 * platform/MIMETypeRegistry.h:
3344 * platform/graphics/Movie.cpp: Added.
3345 (WebCore::Movie::Movie):
3346 (WebCore::Movie::~Movie):
3347 (WebCore::Movie::load):
3348 (WebCore::Movie::cancelLoad):
3349 (WebCore::Movie::play):
3350 (WebCore::Movie::pause):
3351 (WebCore::Movie::duration):
3352 (WebCore::Movie::currentTime):
3353 (WebCore::Movie::seek):
3354 (WebCore::Movie::paused):
3355 (WebCore::Movie::seeking):
3356 (WebCore::Movie::naturalSize):
3357 (WebCore::Movie::hasVideo):
3358 (WebCore::Movie::networkState):
3359 (WebCore::Movie::readyState):
3360 (WebCore::Movie::volume):
3361 (WebCore::Movie::setVolume):
3362 (WebCore::Movie::rate):
3363 (WebCore::Movie::setRate):
3364 (WebCore::Movie::muted):
3365 (WebCore::Movie::setMuted):
3366 (WebCore::Movie::dataRate):
3367 (WebCore::Movie::setEndTime):
3368 (WebCore::Movie::addCuePoint):
3369 (WebCore::Movie::removeCuePoint):
3370 (WebCore::Movie::clearCuePoints):
3371 (WebCore::Movie::maxTimeBuffered):
3372 (WebCore::Movie::maxTimeSeekable):
3373 (WebCore::Movie::bytesLoaded):
3374 (WebCore::Movie::totalBytesKnown):
3375 (WebCore::Movie::totalBytes):
3376 (WebCore::Movie::setRect):
3377 (WebCore::Movie::visible):
3378 (WebCore::Movie::setVisible):
3379 (WebCore::Movie::paint):
3380 (WebCore::Movie::getSupportedTypes):
3381 (WebCore::Movie::networkStateChanged):
3382 (WebCore::Movie::readyStateChanged):
3383 (WebCore::Movie::volumeChanged):
3384 (WebCore::Movie::didEnd):
3385 (WebCore::Movie::cuePointReached):
3386 * platform/graphics/Movie.h: Added.
3387 (WebCore::MovieClient::~MovieClient):
3388 (WebCore::MovieClient::movieNetworkStateChanged):
3389 (WebCore::MovieClient::movieReadyStateChanged):
3390 (WebCore::MovieClient::movieVolumeChanged):
3391 (WebCore::MovieClient::movieDidEnd):
3392 (WebCore::MovieClient::movieCuePointReached):
3393 (WebCore::Movie::parentWidget):
3394 (WebCore::Movie::setParentWidget):
3395 (WebCore::Movie::rect):
3397 * platform/graphics/mac/MoviePrivateQTKit.h: Added.
3398 * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
3399 (WebCore::MoviePrivate::MoviePrivate):
3400 (WebCore::MoviePrivate::~MoviePrivate):
3401 (WebCore::MoviePrivate::createQTMovie):
3402 (WebCore::MoviePrivate::createQTMovieView):
3403 (WebCore::MoviePrivate::createQTTime):
3404 (WebCore::MoviePrivate::load):
3405 (WebCore::MoviePrivate::play):
3406 (WebCore::MoviePrivate::pause):
3407 (WebCore::MoviePrivate::duration):
3408 (WebCore::MoviePrivate::currentTime):
3409 (WebCore::MoviePrivate::seek):
3410 (WebCore::MoviePrivate::setEndTime):
3411 (WebCore::MoviePrivate::addCuePoint):
3412 (WebCore::MoviePrivate::removeCuePoint):
3413 (WebCore::MoviePrivate::clearCuePoints):
3414 (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
3415 (WebCore::MoviePrivate::cancelSeek):
3416 (WebCore::MoviePrivate::seekTimerFired):
3417 (WebCore::MoviePrivate::cuePointTimerFired):
3418 (WebCore::MoviePrivate::paused):
3419 (WebCore::MoviePrivate::seeking):
3420 (WebCore::MoviePrivate::naturalSize):
3421 (WebCore::MoviePrivate::hasVideo):
3422 (WebCore::MoviePrivate::setVolume):
3423 (WebCore::MoviePrivate::setMuted):
3424 (WebCore::MoviePrivate::setRate):
3425 (WebCore::MoviePrivate::dataRate):
3426 (WebCore::MoviePrivate::networkState):
3427 (WebCore::MoviePrivate::readyState):
3428 (WebCore::MoviePrivate::maxTimeBuffered):
3429 (WebCore::MoviePrivate::maxTimeSeekable):
3430 (WebCore::MoviePrivate::maxTimeLoaded):
3431 (WebCore::MoviePrivate::bytesLoaded):
3432 (WebCore::MoviePrivate::totalBytesKnown):
3433 (WebCore::MoviePrivate::totalBytes):
3434 (WebCore::MoviePrivate::cancelLoad):
3435 (WebCore::MoviePrivate::updateStates):
3436 (WebCore::MoviePrivate::loadStateChanged):
3437 (WebCore::MoviePrivate::rateChanged):
3438 (WebCore::MoviePrivate::sizeChanged):
3439 (WebCore::MoviePrivate::timeChanged):
3440 (WebCore::MoviePrivate::volumeChanged):
3441 (WebCore::MoviePrivate::didEnd):
3442 (WebCore::MoviePrivate::setRect):
3443 (WebCore::MoviePrivate::setVisible):
3444 (WebCore::MoviePrivate::paint):
3445 (WebCore::MoviePrivate::getSupportedTypes):
3446 (-[WebCoreMovieObserver loadStateChanged:]):
3447 (-[WebCoreMovieObserver rateChanged:]):
3448 (-[WebCoreMovieObserver sizeChanged:]):
3449 (-[WebCoreMovieObserver timeChanged:]):
3450 (-[WebCoreMovieObserver volumeChanged:]):
3451 (-[WebCoreMovieObserver didEnd:]):
3452 (-[WebCoreMovieObserver setCallback:WebCore::]):
3453 * platform/mac/WebCoreSystemInterface.h:
3454 * platform/mac/WebCoreSystemInterface.mm:
3455 * rendering/RenderLayer.cpp:
3456 (WebCore::RenderLayer::collectLayers):
3457 * rendering/RenderVideo.cpp: Added.
3458 (WebCore::RenderVideo::RenderVideo):
3459 (WebCore::RenderVideo::~RenderVideo):
3460 (WebCore::RenderVideo::movie):
3461 (WebCore::RenderVideo::videoSizeChanged):
3462 (WebCore::RenderVideo::paint):
3463 (WebCore::RenderVideo::layout):
3464 (WebCore::RenderVideo::updateFromElement):
3465 (WebCore::RenderVideo::updateMovie):
3466 (WebCore::RenderVideo::isWidthSpecified):
3467 (WebCore::RenderVideo::isHeightSpecified):
3468 (WebCore::RenderVideo::calcReplacedWidth):
3469 (WebCore::RenderVideo::calcReplacedHeight):
3470 (WebCore::RenderVideo::calcAspectRatioWidth):
3471 (WebCore::RenderVideo::calcAspectRatioHeight):
3472 (WebCore::RenderVideo::calcPrefWidths):
3473 * rendering/RenderVideo.h: Added.
3474 (WebCore::RenderVideo::renderName):
3476 2007-10-30 Sam Weinig <sam@webkit.org>
3478 Reviewed by Adam Roben.
3480 Add Interface and Class UUIDs to the IDLs in preparation of adding
3481 autogeneration of the COM DOM bindings.
3483 * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
3484 * css/CSSCharsetRule.idl:
3485 * css/CSSFontFaceRule.idl:
3486 * css/CSSImportRule.idl:
3487 * css/CSSMediaRule.idl:
3488 * css/CSSPageRule.idl:
3489 * css/CSSPrimitiveValue.idl:
3491 * css/CSSRuleList.idl:
3492 * css/CSSStyleDeclaration.idl:
3493 * css/CSSStyleRule.idl:
3494 * css/CSSStyleSheet.idl:
3495 * css/CSSUnknownRule.idl:
3497 * css/CSSValueList.idl:
3499 * css/MediaList.idl:
3502 * css/StyleSheet.idl:
3503 * css/StyleSheetList.idl:
3505 * dom/CDATASection.idl:
3506 * dom/CharacterData.idl:
3508 * dom/DOMImplementation.idl:
3510 * dom/DocumentFragment.idl:
3511 * dom/DocumentType.idl:
3514 * dom/EntityReference.idl:
3516 * dom/EventListener.idl:
3517 * dom/EventTarget.idl:
3518 * dom/NamedNodeMap.idl:
3522 * dom/ProcessingInstruction.idl:
3524 * html/CanvasGradient.idl:
3525 * html/CanvasPattern.idl:
3526 * html/CanvasRenderingContext2D.idl:
3527 * html/HTMLAnchorElement.idl:
3528 * html/HTMLAppletElement.idl:
3529 * html/HTMLAreaElement.idl:
3530 * html/HTMLBRElement.idl:
3531 * html/HTMLBaseElement.idl:
3532 * html/HTMLBaseFontElement.idl:
3533 * html/HTMLBlockquoteElement.idl:
3534 * html/HTMLBodyElement.idl:
3535 * html/HTMLButtonElement.idl:
3536 * html/HTMLCanvasElement.idl:
3537 * html/HTMLCollection.idl:
3538 * html/HTMLDListElement.idl:
3539 * html/HTMLDirectoryElement.idl:
3540 * html/HTMLDivElement.idl:
3541 * html/HTMLDocument.idl:
3542 * html/HTMLElement.idl:
3543 * html/HTMLEmbedElement.idl:
3544 * html/HTMLFieldSetElement.idl:
3545 * html/HTMLFontElement.idl:
3546 * html/HTMLFormElement.idl:
3547 * html/HTMLFrameElement.idl:
3548 * html/HTMLFrameSetElement.idl:
3549 * html/HTMLHRElement.idl:
3550 * html/HTMLHeadElement.idl:
3551 * html/HTMLHeadingElement.idl:
3552 * html/HTMLHtmlElement.idl:
3553 * html/HTMLIFrameElement.idl:
3554 * html/HTMLImageElement.idl:
3555 * html/HTMLInputElement.idl:
3556 * html/HTMLIsIndexElement.idl:
3557 * html/HTMLLIElement.idl:
3558 * html/HTMLLabelElement.idl:
3559 * html/HTMLLegendElement.idl:
3560 * html/HTMLLinkElement.idl:
3561 * html/HTMLMapElement.idl:
3562 * html/HTMLMarqueeElement.idl:
3563 * html/HTMLMenuElement.idl:
3564 * html/HTMLMetaElement.idl:
3565 * html/HTMLModElement.idl:
3566 * html/HTMLOListElement.idl:
3567 * html/HTMLObjectElement.idl:
3568 * html/HTMLOptGroupElement.idl:
3569 * html/HTMLOptionElement.idl:
3570 * html/HTMLOptionsCollection.idl:
3571 * html/HTMLParagraphElement.idl:
3572 * html/HTMLParamElement.idl:
3573 * html/HTMLPreElement.idl:
3574 * html/HTMLQuoteElement.idl:
3575 * html/HTMLScriptElement.idl:
3576 * html/HTMLSelectElement.idl:
3577 * html/HTMLStyleElement.idl:
3578 * html/HTMLTableCaptionElement.idl:
3579 * html/HTMLTableCellElement.idl:
3580 * html/HTMLTableColElement.idl:
3581 * html/HTMLTableElement.idl:
3582 * html/HTMLTableRowElement.idl:
3583 * html/HTMLTableSectionElement.idl:
3584 * html/HTMLTextAreaElement.idl:
3585 * html/HTMLTitleElement.idl:
3586 * html/HTMLUListElement.idl:
3588 2007-10-30 Adele Peterson <adele@apple.com>
3592 * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
3594 2007-10-29 Timothy Hatcher <timothy@apple.com>
3596 Reviewed by John Sullivan.
3598 - Allow showing and closing the inspector programatically.
3599 - Add showConsole() and showTimeline() methods.
3601 * WebCore.base.exp: Add exports for WebKit.
3602 * page/InspectorController.cpp:
3603 (WebCore::callSimpleFunction): Renamed from callClearFunction().
3604 (WebCore::unloading): Renamed to close().
3605 (WebCore::InspectorController::InspectorController):
3606 (WebCore::InspectorController::inspect): Moved showing code to show().
3607 (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
3608 (WebCore::InspectorController::show): Code factored out of inspect().
3609 (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
3610 (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
3611 (WebCore::InspectorController::close):