1 2007-11-10 Timothy Hatcher <timothy@apple.com>
3 Reviewed by Sam Weinig.
5 * page/inspector/StylesSidebarPane.js: Fix the wording of a comment
6 and switch over to use getUniqueProperties in another place.
8 2007-11-10 John Sullivan <sullivan@apple.com>
10 Reviewed by Sam Weinig
12 Rest of fix for 5394877
14 * bindings/js/kjs_window.cpp:
15 (KJS::Window::isSafeScript):
16 Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in
17 private browsing mode either.
19 2007-11-10 Nikolas Zimmermann <zimmermann@kde.org>
23 Fix function name difference - header said 'unicodeRangeForCharacter', actually
24 implemented function is 'findCharUnicodeRange'. They are not compiled yet.
26 * platform/UnicodeRange.h:
28 2007-11-10 Dan Bernstein <mitz@apple.com>
30 Reviewed by Darin Adler.
32 - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link
34 No test because context menu events cannot be tested in DumpRenderTree.
36 * page/EventHandler.cpp:
37 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added.
38 If the click occurred in an active link, selects the entire link
39 element. Otherwise selects the closest word.
40 (WebCore::EventHandler::sendContextMenuEvent): Call
41 selectClosestWordOrLinkFromMouseEvent().
42 * page/EventHandler.h:
44 2007-11-10 John Sullivan <sullivan@apple.com>
46 Reviewed by Tim Hatcher
48 - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when
49 in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
51 * bindings/js/kjs_window.cpp:
52 (KJS::Window::isSafeScript):
53 Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
55 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
59 http://bugs.webkit.org/show_bug.cgi?id=15922
60 Implement more of Mozilla Selection API
62 Tests: editing/selection/containsNode.html
63 editing/selection/deleteFromDocument.html
64 editing/selection/extend.html
65 editing/selection/selectAllChildren.html
67 * editing/SelectionController.cpp:
68 (WebCore::SelectionController::deleteFromDocument):
69 (WebCore::SelectionController::containsNode):
70 (WebCore::SelectionController::selectAllChildren):
71 (WebCore::SelectionController::extend):
72 * editing/SelectionController.h:
73 Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(),
74 which existed, but didn't match Firefox behavior and wasn't exposed via bindings.
75 Removed a comment mentioning removeRange(), as this method makes no sense without multiple
76 selection range support.
78 * page/DOMSelection.cpp:
79 (WebCore::DOMSelection::extend):
80 (WebCore::DOMSelection::deleteFromDocument):
81 (WebCore::DOMSelection::containsNode):
82 (WebCore::DOMSelection::selectAllChildren):
83 * page/DOMSelection.h:
84 * page/DOMSelection.idl:
85 Exposed the new methods.
87 2007-11-10 Alexey Proskuryakov <ap@webkit.org>
91 http://bugs.webkit.org/show_bug.cgi?id=15892
92 DOM Range operations are not implemented for ProcessingInstruction nodes
94 Test: fast/dom/Range/range-processing-instructions.html
97 (WebCore::Range::processContents): Implemented ProcessingInstruction cases.
98 (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed
99 to use ProcessingInstruction.data.
101 2007-11-09 Timothy Hatcher <timothy@apple.com>
103 Reviewed by Mark Rowe.
105 Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
106 http://bugs.webkit.org/show_bug.cgi?id=12054
108 - Add support code for routing copy events to the focused element.
109 - Implement copying the currently selected DOM node. The node
110 and it's subtree is copied to the clipboard. If the node has no
111 outerHTML, the nodeValue is copied (text nodes, etc.)
112 - Implement copy for the resource sidebar. The URL is copied for the
113 currently selected resource.
115 * page/inspector/DocumentPanel.js:
116 * page/inspector/inspector.js:
118 2007-11-09 Antti Koivisto <antti@apple.com>
122 Fix occasional blank video with poster attribute.
125 * html/HTMLMediaElement.cpp:
126 (WebCore::HTMLMediaElement::load):
127 (WebCore::HTMLMediaElement::didRestoreFromCache):
128 Just calling updateFromElement() does the right thing for both poster image and video.
130 2007-11-04 Sam Weinig <sam@webkit.org>
132 Reviewed by Adam Roben.
134 <rdar://problem/5435940>
135 The COM bindings for the DOM should be autogenerated like the other DOM bindings
137 Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
138 is being introduced in this patch and to insure that no conflicts arise, a temporary
139 prefix of "GEN_" has been used for all the new classes.
141 The build architecture for these bindings differs slightly from the other autogenerated
142 bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
143 is done for the Objective-C bindigs currently), the IDLs and generation scripts are
144 migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
146 This commit includes:
147 - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
149 - Generating all of the Core DOM and most of HTML and CSS
150 - Generating Event, EventTarget, and EventListener
152 * WebCore.vcproj/MigrateIDLAndScripts.make: Added.
153 * WebCore.vcproj/WebCore.vcproj:
154 * WebCore.vcproj/migrate-idls.sh: Added.
155 * bindings/scripts/CodeGenerator.pm:
156 * bindings/scripts/CodeGeneratorCOM.pm: Added.
157 * dom/EventListener.h: Make the isWindowEvent parameter default to false
158 to allow autogeneration based on the IDL.
160 2007-11-09 Tristan O'Tierney <tristan@apple.com>
162 Reviewed by Timothy Hatcher.
164 This patch is for the WebKit side of <rdar://problem/5591115>.
165 We need a way to tell context menu navigations, such as "Open in New Window"
166 to override any sort of browser preference for tab based navigation.
168 * bridge/WindowFeatures.h:
169 (WebCore::WindowFeatures::WindowFeatures):
170 Added a new struct member var, preferredType
171 and an accompanying enum type PreferredType
172 to send a window type recommendation up to the Chrome.
174 * page/ContextMenuController.cpp:
175 (WebCore::openNewWindow):
176 Set the window features to recommend a new Window for
177 "Open in New Window" context menu action.
179 2007-11-08 Adam Roben <aroben@apple.com>
181 Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick
183 We now match the behavior of Firefox and IE, which is to always just
184 send a click event to the focused button when the Enter key is pressed
185 (previously we were submitting forms directly in some cases).
189 Test: fast/forms/enter-clicks-buttons.html
191 * html/HTMLButtonElement.cpp:
192 (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything
193 fancy when Enter is pressed on a <button type=button> -- just send a
194 click event like we do for other button types.
195 * html/HTMLInputElement.cpp:
196 (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button
197 the same way we treat type=submit and type=reset: just send a click
198 event when Enter is pressed.
200 2007-11-09 Dan Bernstein <mitz@apple.com>
202 Reviewed by Antti Koivisto.
204 - fix a bug in invisible layer culling: dynamically changing a
205 descendant of an invisible layer to be visible did not work
207 Test: fast/layers/layer-content-visibility-change.html
209 * rendering/RenderLayer.cpp:
210 (WebCore::RenderLayer::setHasVisibleContent): If we got visible content,
211 make sure that our stacking context rebuilds its z-order lists to
214 2007-11-09 David Hyatt <hyatt@apple.com>
216 Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
217 args can be lengths or numbers or percents.
221 * WebCore.xcodeproj/project.pbxproj:
223 (WebCore::TransformOperationInfo::TransformOperationInfo):
224 (WebCore::CSSParser::parseTransform):
225 * rendering/RenderStyle.h:
226 (WebCore::MatrixTransformOperation::apply):
228 2007-11-09 Beth Dakin <bdakin@apple.com>
232 Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
233 math leads to crazy problems
235 Transform matrices accept the first four parameters as CSS lengths.
236 CSS lengths get mapped into WebCore::Lengths as percents by
237 WebCore::convertToLength(). Percent lengths cannot call value(). It
238 does not yield a correct result and it asserts on Debug builds.
240 * rendering/RenderStyle.h:
241 (WebCore::MatrixTransformOperation::apply): Instead of calling
242 value() on the lengths, call calcValue. This fixes the assert and
245 2007-11-09 Simon Hausmann <hausmann@kde.org>
247 Reviewed by nobody, build/link fix for Qt/Windows.
249 userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
252 * platform/qt/TemporaryLinkStubs.cpp:
254 2007-11-09 Simon Hausmann <hausmann@kde.org>
258 Fix ContextMenu allocation in the Qt port.
260 Store all items and submenus value based in ContextMenu and ContextMenuItem.
261 That fixes the crashes when the context menu was populated with sub-menus because
262 of the use of temporary ContextMenu objects like this:
264 ContextMenu subMenu(...);
265 subMenu.appendItem(...);
266 subMenu.appendItem(...);
268 subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
270 * platform/ContextMenu.h:
271 * platform/ContextMenuItem.h:
272 * platform/PlatformMenuDescription.h:
273 * platform/qt/ContextMenuItemQt.cpp:
274 (WebCore::ContextMenuItem::ContextMenuItem):
275 (WebCore::ContextMenuItem::platformSubMenu):
276 * platform/qt/ContextMenuQt.cpp:
277 (WebCore::ContextMenu::ContextMenu):
278 (WebCore::ContextMenu::~ContextMenu):
279 (WebCore::ContextMenu::appendItem):
280 (WebCore::ContextMenu::itemCount):
282 2007-11-09 Peter Kasting <zerodpx@gmail.com>
284 Reviewed by Mark Rowe.
286 http://bugs.webkit.org/show_bug.cgi?id=15909
287 Malformed GIFs should not result in memory corruption.
289 * platform/image-decoders/gif/GIFImageDecoder.cpp:
290 (WebCore::GIFImageDecoder::haveDecodedRow):
292 2007-11-08 Timothy Hatcher <timothy@apple.com>
294 Reviewed by Sam Weinig.
296 Some Web Inspector CSS editing changes.
297 - Only delete the property if all the text is delete or the new user input correctly parses.
298 This prevents deleting the existing property if the new text is invalid.
299 - Intercept the Escape key and cancel editing, not saving any changes.
301 * page/inspector/StylesSidebarPane.js:
303 2007-11-08 Kevin Ollivier <kevino@theolliviers.com>
305 Bakefiles for building WebCore, needed by wx port.
307 Reviewed by Mark Rowe.
309 * WebCoreSources.bkl: Added.
310 * webcore-base.bkl: Added.
311 * webcore-wx.bkl: Added.
313 2007-11-08 Justin Haygood <jhaygood@reaktix.com>
315 Reviewed by Mark Rowe.
317 http://bugs.webkit.org/show_bug.cgi?id=15905
319 Fix builds with HTML 5 Storage support disabled.
320 ENABLE(DATABASE) needs to be added in a few places.
322 * page/InspectorController.cpp:
323 * storage/Database.h:
325 2007-11-08 Steve Falkenburg <sfalken@apple.com>
327 <rdar://problem/5524082> Allow images to be dragged out directly into other apps
329 We weren't including CF_HDROP in our image drops. This broke drag of
330 images out of the browser window directly into other apps (examples
331 include notepad, mspaint, msword).
333 Reviewed by Oliver, Ada.
335 * platform/win/ClipboardWin.cpp:
336 (WebCore::createGlobalImageFileContent): Removed unused variable.
337 (WebCore::createGlobalHDropContent): Added
338 (WebCore::writeFileToDataObject): Write HDROP data if available.
339 (WebCore::writeImageToDataObject): Write HDROP for dragged images.
340 (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
342 2007-11-08 Xan Lopez <xan@gnome.org>
346 http://bugs.webkit.org/show_bug.cgi?id=15908
347 Use g_object_ref_sink when available
349 * platform/gtk/PopupMenuGtk.cpp:
350 (WebCore::PopupMenu::show):
351 * platform/gtk/ScrollViewGtk.cpp:
352 (WebCore::ScrollView::setGtkAdjustments):
354 2007-11-08 Dan Bernstein <mitz@apple.com>
356 Reviewed by Beth Dakin.
358 - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
360 Test: fast/dom/length-attribute-mapping.html
362 * dom/StyledElement.cpp:
363 (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping
364 logic to stop after the first "%" or "*" in the string. This allows for
365 "100%25" to be mapped to "100%" like it is in Firefox and WinIE.
367 2007-11-08 Kevin McCullough <kmccullough@apple.com>
371 * loader/FrameLoaderClient.h:
372 * platform/graphics/svg/SVGImageEmptyClients.h:
373 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
375 2007-11-08 Kevin McCullough <kmccullough@apple.com>
379 - windowObjectCleared() is no longer const. It needs to setup the
380 script debugger and cannot be const to do so.
382 * loader/FrameLoaderClient.h:
383 * platform/graphics/svg/SVGImageEmptyClients.h:
384 (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):
386 2007-11-08 Adam Roben <aroben@apple.com>
388 Hopeful Windows build fix
390 * rendering/RenderObject.cpp: Touch this file to make it recompile.
392 2007-11-08 Sam Weinig <sam@webkit.org>
396 Convert JavaScript internal function objects to use one class per
397 function. This avoids a switch statement inside what used to be
398 the shared function classes and will allow Shark to better analyze
401 To make this switch, the value property of the HashEntry was changed
402 to a union of an intptr_t (which is used to continue handle valueGetters)
403 and function pointer which points to a static constructor for the
404 individual new function objects.
406 SunSpider claims this is a 1.0% speedup.
408 - On the WebCore side, I updated CodeGeneratorJS.pm to generate the
409 new classes and hand updated the remain non-generated (groan) classes.
411 * bindings/js/JSDOMWindowCustom.cpp:
412 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
413 * bindings/js/JSEventTargetNode.cpp:
414 (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction):
415 (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction):
416 (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
417 * bindings/js/JSEventTargetNode.h:
418 * bindings/js/JSHTMLInputElementBase.cpp:
419 (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction):
420 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
421 * bindings/js/JSHTMLInputElementBase.h:
422 (WebCore::JSHTMLInputElementBase::):
423 * bindings/js/JSXMLHttpRequest.cpp:
424 (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction):
425 (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction):
426 (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction):
427 (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction):
428 (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction):
429 (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction):
430 (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction):
431 (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction):
432 (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction):
433 (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
434 * bindings/js/JSXMLHttpRequest.h:
435 (KJS::JSXMLHttpRequest::impl):
436 * bindings/js/JSXSLTProcessor.cpp:
437 (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction):
438 (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
439 (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction):
440 (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction):
441 (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction):
442 (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction):
443 (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction):
444 (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
445 * bindings/js/JSXSLTProcessor.h:
446 * bindings/js/kjs_events.cpp:
447 (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction):
448 (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction):
449 (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction):
450 (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
451 * bindings/js/kjs_events.h:
452 * bindings/js/kjs_navigator.cpp:
454 (KJS::Navigator::getOwnPropertySlot):
455 (KJS::Plugins::getOwnPropertySlot):
456 (KJS::PluginsFunctionRefresh::callAsFunction):
457 (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
458 * bindings/js/kjs_navigator.h:
460 * bindings/js/kjs_window.cpp:
461 (KJS::Window::getOwnPropertySlot):
463 (KJS::WindowProtoFuncAToB::callAsFunction):
464 (KJS::WindowProtoFuncBToA::callAsFunction):
465 (KJS::WindowProtoFuncOpen::callAsFunction):
466 (KJS::WindowProtoFuncScrollBy::callAsFunction):
467 (KJS::WindowProtoFuncScrollTo::callAsFunction):
468 (KJS::WindowProtoFuncMoveBy::callAsFunction):
469 (KJS::WindowProtoFuncMoveTo::callAsFunction):
470 (KJS::WindowProtoFuncResizeBy::callAsFunction):
471 (KJS::WindowProtoFuncResizeTo::callAsFunction):
472 (KJS::WindowProtoFuncSetTimeout::callAsFunction):
473 (KJS::WindowProtoFuncClearTimeout::callAsFunction):
474 (KJS::WindowProtoFuncSetInterval::callAsFunction):
475 (KJS::WindowProtoFuncAddEventListener::callAsFunction):
476 (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
477 (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
478 (KJS::WindowProtoFuncNotImplemented::callAsFunction):
479 (KJS::Location::getOwnPropertySlot):
480 (KJS::Location::put):
481 (KJS::LocationProtoFuncReplace::callAsFunction):
482 (KJS::LocationProtoFuncReload::callAsFunction):
483 (KJS::LocationProtoFuncAssign::callAsFunction):
484 (KJS::LocationProtoFuncToString::callAsFunction):
485 * bindings/js/kjs_window.h:
487 * bindings/scripts/CodeGeneratorJS.pm:
489 2007-11-08 Mark Rowe <mrowe@apple.com>
491 Fix the Gtk, Qt and Wx builds.
493 * platform/gtk/TemporaryLinkStubs.cpp:
494 * platform/qt/TemporaryLinkStubs.cpp:
495 * platform/wx/TemporaryLinkStubs.cpp:
497 2007-11-08 Mark Rowe <mrowe@apple.com>
499 Not reviewed. Fix two instances of includes using the wrong case in the filename.
501 * platform/graphics/mac/MoviePrivateQTKit.mm:
502 * platform/wx/MimeTypeRegistryWx.cpp:
504 2007-11-08 Darin Adler <darin@apple.com>
508 - fix <rdar://problem/5552943> accesskey does not focus <button> elements
510 Test: fast/forms/access-key.html
512 * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction):
513 Added a call to focus.
515 2007-11-07 Darin Adler <darin@apple.com>
519 - cut down on notImplemented() functions on Windows
521 * bridge/AXObjectCache.h: Put #if around the accessibility
524 * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles):
525 Moved here from TemporaryLinkStubs.
527 * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented
528 using the ResourceResponse that's now available from the DocumentLoader.
530 * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on
531 the Editor instead of the obsolete one on the Frame.
533 * loader/DocumentLoader.h: Removed getResponseModifiedHeader.
534 * loader/FrameLoader.h: Removed overrideMediaType.
536 * loader/gtk/DocumentLoaderGtk.cpp: Removed.
537 * loader/mac/DocumentLoaderMac.mm: Removed.
538 * loader/qt/DocumentLoaderQt.cpp: Removed.
540 * page/Frame.cpp: Removed transpose.
541 * page/Frame.h: Ditto.
542 * page/FrameView.h: Removed updateBorder.
543 * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
544 * page/mac/FrameMac.mm: Ditto.
545 * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and
547 * page/qt/FrameQt.cpp: Removed issueTransposeCommand.
549 * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
550 * platform/qt/TemporaryLinkStubs.cpp: Ditto.
551 * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
552 * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled,
553 issueTransposeCommand, and overrideMediaType.
555 * platform/network/cf/ResourceHandleCFNet.cpp:
556 (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs.
557 (WebCore::ResourceHandle::willLoadFromCache): Ditto.
558 * platform/win/GraphicsContextWin.cpp:
559 (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
560 * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
561 * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
562 * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
564 * WebCore.pro: Updated for removed files.
565 * WebCore.xcodeproj/project.pbxproj: Updated for removed file.
567 2007-11-08 Mark Rowe <mrowe@apple.com>
569 Build fix for case-sensitive file systems. Fix case of file names
572 * html/HTMLMediaElement.cpp:
573 * platform/graphics/Movie.cpp:
575 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
577 Reviewed by Lars Knoll <lars@trolltech.com>.
579 Remove some warnings about not implemented methods.
581 * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are
582 specific to the NS API and won't be implemented on Qt.
583 * ResourceHandle::bufferedData can not be reached as we return false in
584 ResourceHandle::supportsBufferedData.
587 * platform/network/qt/ResourceHandleQt.cpp:
588 (WebCore::ResourceHandle::supportsBufferedData):
590 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
592 Reviewed by Lars Knoll <lars@trolltech.com>.
594 Cleanup checking for the request method.
596 * Check the request method only in QWebNetworkManager::add.
597 * Currently HEAD, GET, POST are allowed and for everything else
598 QWebNetworkManager::add returns false.
599 * Returning false is compatible with ResourceHandle::start and it
600 can be used in ResourceHandle::loadResourceSynchronously to generate
604 * platform/network/qt/ResourceHandleQt.cpp:
605 (WebCore::ResourceHandle::start):
606 (WebCore::ResourceHandle::loadResourceSynchronously):
608 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
610 Reviewed by Lars Knoll <lars@trolltech.com>.
612 Implement WebCore::callOnMainThread
614 Implemented using a global QObject, that is moved to the main thread
615 and then sending a custom event to it.
616 Picked a number below QEvent::User but above any other documented value.
619 * platform/qt/ThreadingQt.cpp:
620 (WebCore::PerformFunctionEvent::PerformFunctionEvent):
621 (WebCore::MainThreadInvoker::MainThreadInvoker):
622 (WebCore::MainThreadInvoker::event):
623 (WebCore::callOnMainThread):
625 2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
627 Reviewed by Lars Knoll <lars@trolltech.com>.
629 Avoid problems with calling QPainter::begin() on an already active paintdevice
631 * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting
632 crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
633 * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar
634 used by the ScrollView on a layout triggered by QWebPage::paintEvent.
637 * platform/qt/WidgetQt.cpp:
638 (WebCore::Widget::invalidateRect):
640 2007-11-08 Eric Seidel <eric@webkit.org>
644 * ksvg2/svg/SVGPathElement.h: remove old comment
646 2007-11-07 Antti Koivisto <antti@apple.com>
650 Ensure video renderer has correct size if video has already been loaded
651 when it is constructed.
653 * rendering/RenderVideo.cpp:
654 (WebCore::RenderVideo::RenderVideo):
656 2007-11-07 Antti Koivisto <antti@apple.com>
660 Ensure video is visible when it should be.
662 * rendering/RenderVideo.cpp:
663 (WebCore::RenderVideo::updateMovie):
665 2007-11-07 Dan Bernstein <mitz@apple.com>
667 Reviewed by Darin Adler.
669 - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'
671 Layers and listboxes are two kinds of ScrollBarClient that can be
672 removed while the scrollbar is tracking the mouse. The scrollbar is not
673 destroyed until later, and meanwhile it can try to call the client,
674 which results in a crash.
676 * manual-tests/stale-scrollbar-client-crash.html: Added.
677 * platform/ScrollBar.h:
678 (WebCore::Scrollbar::setClient): Added.
679 * rendering/RenderLayer.cpp:
680 (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
681 * rendering/RenderListBox.cpp:
682 (WebCore::RenderListBox::~RenderListBox): Ditto.
684 2007-11-07 Adam Roben <aroben@apple.com>
686 Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
692 * platform/win/SharedBufferWin.cpp:
693 (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an
694 empty path, because _wfopen_s will crash if we pass it a null pointer.
696 2007-11-07 David Kilzer <ddkilzer@apple.com>
698 WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
699 <http://bugs.webkit.org/show_bug.cgi?id=14893>
700 <rdar://problem/5380295>
704 Tests: fast/css/device-aspect-ratio.html
705 fast/css/max-device-aspect-ratio.html
706 fast/css/min-device-aspect-ratio.html
708 * css/MediaQueryEvaluator.cpp:
709 (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v.
710 (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from
711 a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix
714 2007-11-07 Dan Bernstein <mitz@apple.com>
716 Reviewed by Dave Hyatt.
718 - fix http://bugs.webkit.org/show_bug.cgi?id=15887
719 REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg
721 Test: fast/css/display-none-inline-style-change-crash.html
724 (WebCore::Element::recalcStyle): Fixed the crash by null-checking
725 the current style and removed other checks that are not strictly
728 2007-11-07 Brady Eidson <beidson@apple.com>
732 Remove FrameLoaderClient methods from SVG that were pruned awhile ago
734 * platform/graphics/svg/SVGImageEmptyClients.h:
736 2007-11-07 Dan Bernstein <mitz@apple.com>
738 Reviewed by Darin Adler.
740 - fix a bug where CSS rules with :hover in the ancestor chain stopped
741 working after changing the inline style declaration of the ancestor
743 Test: fast/css/affected-by-hover-after-style-change.html
746 (WebCore::Element::recalcStyle): If we are not forcing style
747 recalculation for all descendants, preserve any "affected by
748 {hover|active|drag} bits that we may have acquired from them.
749 Also renamed _style to currentStyle.
751 2007-11-06 Timothy Hatcher <timothy@apple.com>
755 Bug 11920: Web Inspector should have Firebug-like CSS editing
756 http://bugs.webkit.org/show_bug.cgi?id=11920
758 * css/CSSComputedStyleDeclaration.h:
759 (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why
760 this was true, but computed style has no concept of implicit. So false makes more sense
761 and makes the code simpler in the inspector. This function was added for the inspector,
762 so this isn't a compatibility change.
763 * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
764 * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for
766 * page/inspector/inspector.css: Style changes for propery editing and focus correctness.
767 * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before
768 trying to call a function based on the element's id. Call focused and blurred on the focused
769 element when currentFocusElement is changed. Use the new listItemElement getter instead of
770 the private property.
771 * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented.
772 Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call
773 to allow generation of the title using the DOM element. Add listItemElement and
774 childrenListElement getters.
775 * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
776 * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private
777 property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
778 * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters
779 instead of the private properties.
781 2007-11-07 Simon Hausmann <hausmann@kde.org>
783 Reviewed by Alexey Proskuryakov.
785 Coding style fix, don't use inline explicitly.
787 * bridge/WindowFeatures.h:
789 2007-11-07 Simon Hausmann <hausmann@kde.org>
793 For safety provide a default constructor for WindowFeatures().
794 ContextMenuController.cpp: createNewWindow as well as QWebPage need to
795 create a default initialized WindowFeatures object on the fly.
797 * bridge/WindowFeatures.h:
798 (WebCore::WindowFeatures::WindowFeatures):
800 2007-11-07 Simon Hausmann <shausman@trolltech.com>
804 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.
808 2007-11-07 Simon Hausmann <hausmann@kde.org>
812 Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
814 * platform/graphics/qt/ImageQt.cpp:
815 (loadResourcePixmap):
817 2007-11-07 Simon Hausmann <hausmann@kde.org>
821 Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
823 * platform/graphics/qt/ImageQt.cpp:
824 (loadResourcePixmap):
826 2007-11-07 Simon Hausmann <hausmann@kde.org>
830 Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
831 QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
832 in ContextMenu::populate().
833 For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
834 out of it. That menu is currently not functional anymore though.
836 * platform/ContextMenu.h:
837 * platform/ContextMenuItem.h:
838 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
839 * platform/PlatformMenuDescription.h:
840 * platform/qt/ContextMenuItemQt.cpp:
841 (WebCore::ContextMenuItem::ContextMenuItem):
842 (WebCore::ContextMenuItem::type):
843 (WebCore::ContextMenuItem::setType):
844 (WebCore::ContextMenuItem::action):
845 (WebCore::ContextMenuItem::setAction):
846 (WebCore::ContextMenuItem::title):
847 (WebCore::ContextMenuItem::setTitle):
848 (WebCore::ContextMenuItem::platformSubMenu):
849 (WebCore::ContextMenuItem::setSubMenu):
850 (WebCore::ContextMenuItem::setChecked):
851 (WebCore::ContextMenuItem::setEnabled):
852 * platform/qt/ContextMenuQt.cpp:
853 (WebCore::ContextMenu::ContextMenu):
854 (WebCore::ContextMenu::~ContextMenu):
855 (WebCore::ContextMenu::appendItem):
856 (WebCore::ContextMenu::itemCount):
857 (WebCore::ContextMenu::insertItem):
858 (WebCore::ContextMenu::setPlatformDescription):
859 (WebCore::ContextMenu::platformDescription):
861 2007-11-07 Simon Hausmann <hausmann@kde.org>
865 Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
866 but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
867 Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
870 * platform/qt/ContextMenuQt.cpp:
872 2007-11-07 Simon Hausmann <hausmann@kde.org>
876 Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
877 Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
879 * platform/PlatformMouseEvent.h:
880 * platform/qt/PlatformMouseEventQt.cpp:
881 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
883 2007-11-07 Lars Knoll <lars@trolltech.com>
887 don't put nbsp's into the plan text paste
889 Fix both ClipboardQt and PasteboardQt to replace
890 nbsp's with spaces before putting the text onto the
891 native clipboard. This is consistent with Mac and Win
892 and fixes at least editing/pasteboard/4076267-3.html
894 * platform/qt/ClipboardQt.cpp:
895 (WebCore::ClipboardQt::writeRange):
896 * platform/qt/PasteboardQt.cpp:
897 (WebCore::Pasteboard::writeSelection):
899 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
901 Reviewed by Lars Knoll <lars@trolltech.com>.
903 Implement Pasteboard::writeImage()
905 * Pasteboard is now fully implemented. Copying of Images into the Clipboard
907 * As with URLs we only copy into the Clipboard (and not additionally to the
911 WARNING: NO TEST CASES ADDED OR CHANGED
913 * platform/qt/PasteboardQt.cpp:
914 (WebCore::Pasteboard::writeImage):
916 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
918 Reviewed by Lars Knoll <lars@trolltech.com>.
920 Apple CodingStyle fixes
923 WARNING: NO TEST CASES ADDED OR CHANGED
925 * platform/qt/PasteboardQt.cpp:
926 (WebCore::Pasteboard::documentFragment):
928 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
930 Reviewed by Lars Knoll <lars@trolltech.com>.
932 Implement Pasteboard::writeURL()
933 * The URL currently gets written as text/plain and text/uri-list.
934 The win and mac port have some more types which we currently do
935 not support. When supporting them we can use the 'titleString'
937 * As with writeSelection we only copy into the Clipboard. We could
938 consider copying into the Selection as well.
941 WARNING: NO TEST CASES ADDED OR CHANGED
943 * platform/qt/PasteboardQt.cpp:
944 (WebCore::Pasteboard::writeURL):
946 2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
948 Reviewed by Lars Knoll <lars@trolltech.com>.
953 WARNING: NO TEST CASES ADDED OR CHANGED
955 * platform/qt/PasteboardQt.cpp:
956 (WebCore::Pasteboard::documentFragment):
958 2007-11-07 Lars Knoll <lars@trolltech.com>
962 Use the correct function calls to convert a selection to
965 WARNING: NO TEST CASES ADDED OR CHANGED
967 * platform/qt/ClipboardQt.cpp:
968 (WebCore::ClipboardQt::setData):
969 (WebCore::ClipboardQt::writeRange):
970 * platform/qt/PasteboardQt.cpp:
971 (WebCore::Pasteboard::writeSelection):
973 2007-11-07 Lars Knoll <lars@trolltech.com>
977 Some more clipboard fixes.
979 We have to set things immediately on the QClipBoard if the
980 Clipboard object is not for dragging.
982 This is due to the fact that the Clipboard object might be
983 rather long lived if accessed through javascript (it'll only
984 get deleted by JS garbage collection). We have to transfer
985 the data over to the QClipboard before that to make things work.
987 Fixes editing/execCommand/copy-without-selection.html
989 * platform/qt/ClipboardQt.cpp:
990 (WebCore::ClipboardQt::ClipboardQt):
991 (WebCore::ClipboardQt::~ClipboardQt):
992 (WebCore::ClipboardQt::clearData):
993 (WebCore::ClipboardQt::clearAllData):
994 (WebCore::ClipboardQt::getData):
995 (WebCore::ClipboardQt::setData):
996 (WebCore::ClipboardQt::declareAndWriteDragImage):
997 (WebCore::ClipboardQt::writeURL):
998 (WebCore::ClipboardQt::writeRange):
1000 2007-11-07 Simon Hausmann <hausmann@kde.org>
1004 Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is
1005 not supported due to implicit forks, use IPC::Open2 instead.
1007 * bindings/scripts/IDLParser.pm:
1009 2007-11-07 Dan Bernstein <mitz@apple.com>
1011 Reviewed by Brady Eidson.
1013 - fix http://bugs.webkit.org/show_bug.cgi?id=15877
1014 REGRESSION: r27486 caused a layout regression at my bank's website
1016 Test: fast/block/float/overhanging-after-height-decrease-offsets.html
1018 * rendering/RenderBlock.cpp:
1019 (WebCore::RenderBlock::layoutBlock):
1021 2007-11-06 Beth Dakin <bdakin@apple.com>
1025 <rdar://problem/5575812> REGRESSION:When using absolute positioning
1026 with overflow:auto div, WebKit seems to add an additional 15px
1028 * rendering/RenderBox.cpp:
1029 (WebCore::RenderBox::containingBlockWidthForPositioned): We need to
1030 subtract off the vertical scrollbar width too.
1032 2007-11-06 Justin Garcia <justin.garcia@apple.com>
1034 Reviewed by Dan Bernstein.
1036 <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
1037 <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail
1039 * editing/markup.cpp:
1040 (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block
1041 that encloses the input context, unless that block is the body, which shouldn't
1042 be cloned. In that case, use regular divs, as we did before r27369.
1044 2007-11-06 Christian Dywan <christian@twotoasts.de>
1048 Fix http://bugs.webkit.org/show_bug.cgi?id=15828
1049 Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory
1051 * WebCore.pro: Use sane default install paths for the gtk port.
1053 2007-11-06 Justin Garcia <justin.garcia@apple.com>
1055 Reviewed by Darin Adler.
1057 <rdar://problem/5576619>
1058 REGRESSION: Caret disappears after deleting the last character in inline hole (15714)
1060 * editing/TypingCommand.cpp:
1061 (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including
1062 both of the other deletion commands, call typingAddedToOpenCommand(), which takes
1063 the command's endingSelection and sets it as selection.
1065 2007-11-06 Dan Bernstein <mitz@apple.com>
1067 Reviewed by Antti Koivisto and Dave Hyatt.
1069 - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
1071 Test: fast/block/float/overhanging-after-height-decrease.html
1073 * rendering/RenderBlock.cpp:
1074 (WebCore::RenderBlock::layoutBlock): If after calculating the height
1075 it turns out that there are overhanging floats that were not overhanging
1076 before, rescan children with overhanging floats and add them.
1077 (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that
1078 returns the lowest float bottom of any of the children.
1079 (WebCore::RenderBlock::addOverhangingFloats): Changed to return the
1080 lowest float bottom.
1081 * rendering/RenderBlock.h:
1083 2007-11-06 Adele Peterson <adele@apple.com>
1087 Switched all uses of HTMLImageLoader to use OwnPtrs.
1089 * html/HTMLInputElement.h:
1090 * html/HTMLInputElement.cpp:
1091 (WebCore::HTMLInputElement::init):
1092 (WebCore::HTMLInputElement::~HTMLInputElement):
1093 (WebCore::HTMLInputElement::setInputType):
1094 (WebCore::HTMLInputElement::parseMappedAttribute):
1095 (WebCore::HTMLInputElement::attach):
1096 * html/HTMLObjectElement.h:
1097 * html/HTMLObjectElement.cpp:
1098 (WebCore::HTMLObjectElement::HTMLObjectElement):
1099 (WebCore::HTMLObjectElement::~HTMLObjectElement):
1100 (WebCore::HTMLObjectElement::parseMappedAttribute):
1101 (WebCore::HTMLObjectElement::attach):
1102 * html/HTMLVideoElement.h:
1103 * html/HTMLVideoElement.cpp:
1104 (WebCore::HTMLVideoElement::HTMLVideoElement):
1105 (WebCore::HTMLVideoElement::attach):
1106 (WebCore::HTMLVideoElement::detach):
1107 (WebCore::HTMLVideoElement::parseMappedAttribute):
1109 2007-11-06 Antti Koivisto <antti@apple.com>
1113 Trigger media load on on src attribute changes as specified in new HTML5 draft.
1115 Tests: media/video-src-change.html
1116 media/video-src-remove.html
1117 media/video-src-set.html
1119 * html/HTMLMediaElement.cpp:
1120 (WebCore::HTMLMediaElement::attributeChanged):
1121 * html/HTMLMediaElement.h:
1123 2007-11-06 Dan Bernstein <mitz@apple.com>
1125 Reviewed by Darin Adler.
1127 - fix http://bugs.webkit.org/show_bug.cgi?id=15838
1128 Incomplete repaint toggling "How you know this person" on Facebook
1130 Test: fast/repaint/make-children-non-inline.html
1132 * rendering/RenderBlock.cpp:
1133 (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This
1134 is needed because the inline children may be repositioned as they move
1135 into new anonymous blocks, but those blocks have no knowledge of where
1136 their children used to be, so they cannot invalidate those areas.
1138 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
1142 http://bugs.webkit.org/show_bug.cgi?id=15847
1143 Some editing cleanup
1145 No change in functionality.
1147 * editing/TextIterator.cpp:
1148 (WebCore::plainText):
1149 * editing/TextIterator.h:
1150 Made WebCore::plainText() return String instead of DeprecatedString.
1152 * bridge/mac/WebCoreAXObject.mm:
1153 (-[WebCoreAXObject textUnderElement]):
1154 (-[WebCoreAXObject value]):
1155 (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
1156 (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]):
1157 (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]):
1158 Updated for the above change. There is no need to explicitly convert to NSString now.
1160 * editing/EditCommand.cpp:
1161 (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually
1162 initialized in constructor body, so the work done in initializer list was wasted.
1164 (WebCore::EditCommand::apply): Moved some stars.
1165 (WebCore::EditCommand::unapply): Ditto.
1166 (WebCore::EditCommand::reapply): Ditto.
1167 (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
1168 removed one of the checks.
1170 * editing/SelectionController.cpp:
1171 (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
1173 * page/mac/WebCoreFrameBridge.h:
1174 * page/mac/WebCoreFrameBridge.mm:
1175 Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and
1176 -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].
1178 2007-11-05 Mark Rowe <mrowe@apple.com>
1182 * bindings/js/JSHTMLDocumentCustom.cpp:
1183 (WebCore::writeHelper):
1185 2007-11-05 Adam Roben <aroben@apple.com>
1187 Don't crash if SafariTheme can't be loaded
1189 PlatformScrollBarSafari and RenderThemeSafari were not checking
1190 whether SafariTheme was successfully loaded. All other uses of
1191 SafariTheme already check this.
1195 * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme
1197 (WebCore::PlatformScrollbar::paintButton):
1198 (WebCore::PlatformScrollbar::paintTrack):
1199 (WebCore::PlatformScrollbar::paintThumb):
1200 * rendering/RenderThemeSafari.cpp:
1201 (WebCore::RenderThemeSafari::isControlStyled): Always return true if
1202 we couldn't load SafariTheme. This way we should never try to paint
1203 themed controls (and we assert as such in the paint functions).
1204 (WebCore::RenderThemeSafari::paintCheckbox):
1205 (WebCore::RenderThemeSafari::paintRadio):
1206 (WebCore::RenderThemeSafari::paintButton):
1207 (WebCore::RenderThemeSafari::paintTextField):
1208 (WebCore::RenderThemeSafari::paintCapsLockIndicator):
1209 (WebCore::RenderThemeSafari::paintTextArea):
1210 (WebCore::RenderThemeSafari::paintMenuList):
1211 (WebCore::RenderThemeSafari::paintSliderThumb):
1212 (WebCore::RenderThemeSafari::paintSearchField):
1213 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton):
1214 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration):
1215 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton):
1217 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
1219 Adding the rest of wx port's graphics impl.
1221 Rubber-stamped by Maciej Stachowiak.
1223 * platform/graphics/wx/AffineTransformWx.cpp: Added.
1224 * platform/graphics/wx/GraphicsContextWx.cpp: Added.
1225 * platform/graphics/wx/ImageBufferWx.cpp: Added.
1226 * platform/graphics/wx/ImageSourceWx.cpp: Added.
1227 * platform/graphics/wx/ImageWx.cpp: Added.
1228 * platform/graphics/wx/PathWx.cpp: Added.
1230 2007-11-05 Kevin Ollivier <kevino@theolliviers.com>
1232 wx port bug fixes and new files to get platform/wx building on trunk.
1234 Rubber-stamped by Maciej Stachowiak.
1236 * platform/wx/CursorWx.cpp:
1237 * platform/wx/FileSystemWx.cpp: Added.
1238 * platform/wx/FontCacheWx.cpp:
1239 * platform/wx/FontPlatformDataWx.cpp:
1240 * platform/wx/FontWx.cpp:
1241 * platform/wx/KeyboardEventWx.cpp:
1242 * platform/wx/LocalizedStringsWx.cpp: Added.
1243 * platform/wx/LoggingWx.cpp: Added.
1244 * platform/wx/RenderThemeWx.cpp:
1245 * platform/wx/ScrollViewWx.cpp:
1246 * platform/wx/SharedTimerWx.cpp:
1247 * platform/wx/StringWx.cpp:
1248 * platform/wx/ThreadingWx.cpp: Added.
1249 * platform/wx/WidgetWx.cpp:
1251 2007-11-05 Adele Peterson <adele@apple.com>
1255 Fix for <rdar://problem/5579999> Add poster attribute for video element
1257 * html/HTMLAttributeNames.in: Added poster attribute.
1259 * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
1260 Calls imageSourceAttributeName instead of having special cases for the different kinds of elements.
1261 * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added.
1263 * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added.
1264 * html/HTMLObjectElement.h:
1266 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged):
1267 Calls updatePosterImage when the network state is empty and when the first frame has been loaded.
1268 * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this.
1270 * html/HTMLVideoElement.idl: Added case for poster attribute.
1271 * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown.
1272 * html/HTMLVideoElement.cpp:
1273 (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage.
1274 (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default.
1275 (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown.
1276 (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary.
1277 (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed.
1278 (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute.
1279 (WebCore::HTMLVideoElement::poster): Added getter for poster attribute.
1280 (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute.
1281 (WebCore::HTMLVideoElement::isURLAttribute): Added.
1282 (WebCore::HTMLVideoElement::imageSourceAttributeName): Added.
1283 (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct.
1285 2007-11-05 Adam Roben <aroben@apple.com>
1287 Fix <rdar://5563572> SVG image support is turned off
1289 Turned on SVG images for all platforms.
1293 * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h}
1294 * loader/CachedImage.cpp:
1295 (WebCore::CachedImage::createImage): Removed platform checks for
1298 2007-11-05 Antti Koivisto <antti@apple.com>
1302 QTMovieView can generate callbacks during paint. This can lead to crashes.
1304 Delay callbacks so they get handled after painting is completed. No test case,
1305 I don't know how to reliably reproduce this.
1307 * platform/graphics/mac/MoviePrivateQTKit.mm:
1308 (WebCore::MoviePrivate::MoviePrivate):
1309 (WebCore::MoviePrivate::~MoviePrivate):
1310 (WebCore::MoviePrivate::paint):
1311 (-[WebCoreMovieObserver initWithCallback:WebCore::]):
1312 (-[WebCoreMovieObserver disconnect]):
1313 (-[WebCoreMovieObserver loadStateChanged:]):
1314 (-[WebCoreMovieObserver rateChanged:]):
1315 (-[WebCoreMovieObserver sizeChanged:]):
1316 (-[WebCoreMovieObserver timeChanged:]):
1317 (-[WebCoreMovieObserver volumeChanged:]):
1318 (-[WebCoreMovieObserver didEnd:]):
1319 (-[WebCoreMovieObserver setDelayCallbacks:]):
1321 2007-11-05 Antti Koivisto <antti@apple.com>
1325 Add some missing WebCore* prefixes to ObjC classes
1327 * platform/mac/FileChooserMac.mm:
1328 (WebCore::FileChooser::FileChooser):
1329 * platform/mac/SharedBufferMac.mm:
1330 (WebCore::SharedBuffer::createNSData):
1331 (WebCore::SharedBuffer::createCFData):
1332 * platform/mac/SharedTimerMac.cpp:
1333 (WebCore::setSharedTimerFireTime):
1335 2007-11-05 Ada Chan <adachan@apple.com>
1337 <rdar://problem/5579772> Regression: AltGr does not work
1338 We now store the system key event info in PlatforkKeyboardEvent().
1342 * platform/PlatformKeyboardEvent.h:
1343 (WebCore::PlatformKeyboardEvent::isSystemKey):
1344 * platform/win/KeyEventWin.cpp:
1345 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1347 2007-11-02 Tristan O'Tierney <tristan@apple.com>
1349 Reviewed by Darin Adler.
1351 * WebCore.xcodeproj/project.pbxproj:
1352 Set WindowFeatures.h as a Private header.
1354 * loader/FrameLoader.cpp:
1355 (WebCore::FrameLoader::createWindow):
1356 Revised to use a single createWindow function instead of
1357 two createWindow functions and one createModalDialog function.
1358 The logic for this is now addressed in WebKit in an effort
1359 to make this easier to follow.
1362 (WebCore::Chrome::createWindow):
1364 * page/ChromeClient.h:
1365 * page/ContextMenuController.cpp:
1366 (WebCore::openNewWindow):
1367 * platform/graphics/svg/SVGImageEmptyClients.h:
1368 (WebCore::SVGEmptyChromeClient::createWindow):
1369 Revised to take new additional windowFeatures parameter.
1371 2007-11-04 Geoffrey Garen <ggaren@apple.com>
1373 Reviewed by Darin Adler.
1375 http://bugs.webkit.org/show_bug.cgi?id=15835
1377 Small adaptations to new KJS::List class.
1379 * bindings/js/kjs_window.cpp:
1380 (KJS::WindowFunc::callAsFunction):
1381 (KJS::ScheduledAction::ScheduledAction):
1383 2007-11-05 Adam Roben <aroben@apple.com>
1385 Allow passing a base class pointer to COMPtr::copyRefTo
1389 * platform/win/COMPtr.h:
1391 2007-11-05 Dan Bernstein <mitz@apple.com>
1393 Reviewed by Oliver Hunt.
1395 - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace
1397 Test: fast/dom/class-all-whitespace.html
1399 * dom/StyledElement.cpp:
1400 (WebCore::StyledElement::parseMappedAttribute): Check if there is any
1401 non-whitespace character in the class attribute.
1403 2007-11-05 Brady Eidson <beidson@apple.com>
1407 Add transaction blocking to the DatabaseAuthorizer in preparation for the new version
1408 of the sql storage API
1410 * storage/DatabaseAuthorizer.cpp:
1411 (WebCore::DatabaseAuthorizer::allowTransaction):
1412 * storage/DatabaseAuthorizer.h:
1414 2007-11-05 Mark Rowe <mrowe@apple.com>
1416 Reviewed by Alp Toker.
1418 Have getMIMETypeForExtension return a null string when no MIME type is known
1419 for the extension rather than returning "text/plain". This prevents plugin data
1420 being dumped into object elements when plugins are disabled.
1422 * platform/gtk/MIMETypeRegistryGtk.cpp:
1423 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1425 2007-11-04 Sam Weinig <sam@webkit.org>
1427 Rubber-stamped by Adam Roben.
1429 Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
1432 * bindings/js/kjs_window.cpp:
1433 (KJS::Window::isSafeScript):
1434 * platform/SecurityOrigin.cpp:
1435 (WebCore::SecurityOrigin::canAccess):
1436 * platform/SecurityOrigin.h:
1438 2007-11-04 Timothy Hatcher <timothy@apple.com>
1442 Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector
1443 http://bugs.webkit.org/show_bug.cgi?id=15834
1445 - Broke up DocumentPanel and added three SidebarPane sub-classes.
1446 - Fixed many Style pane bugs, including:
1447 * Poor handling of duplicate properties in the same rule. Some of this can't be
1448 fixed since we can't only get the "winning" value for duplicate properties.
1449 So we should only show one entry per unique property name.
1450 * Computed style does not show font shorthand sub-properties if 'font' was used.
1451 * Property priority was broken, the wrong properties were crossed out.
1452 * The 'border' shorthand shows null for the shorthand value.
1453 * Shorthands didn't show their priority (e.g. !important).
1454 * HSL and HTML hex colors didn't have preview swatch blocks.
1455 * Code refactoring, making it easier to reuse for console.log later.
1457 * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate
1458 classes in new files.
1459 * page/inspector/MetricsSidebarPane.js: Added.
1460 * page/inspector/Panel.js: Remove an InspectorController.log() call.
1461 * page/inspector/PropertiesSection.js: Add the section to the TreeOutline.
1462 So TreeElements can access properties on their section.
1463 * page/inspector/PropertiesSidebarPane.js: Added.
1464 * page/inspector/SidebarPane.js: Remove the explicit asignment of the
1465 onexpand and oncollapse to null. These were hiding prototypes.
1466 * page/inspector/StylesSidebarPane.js: Added.
1467 * page/inspector/inspector.html: Include the new script files.
1468 * page/inspector/treeoutline.js: If a null representedObject is passed
1469 in just use a empty object.
1471 2007-11-04 David D. Kilzer <ddkilzer@webkit.org>
1473 Fix build when spaces appear in the WebKit source path.
1475 Reviewed by Mark Rowe.
1477 * bindings/scripts/IDLParser.pm: Use safer open() method which lists
1478 arguments individually and prevents the need to work around spaces
1481 2007-11-04 Alp Toker <alp@atoker.com>
1483 Reviewed by Alexey Proskuryakov.
1485 Fix a crash when no clipboard text is available
1487 * platform/gtk/PasteboardGtk.cpp:
1488 (WebCore::Pasteboard::plainText):
1490 2007-11-03 Darin Adler <darin@apple.com>
1494 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821
1495 remove unused PCRE features for speed
1497 * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement):
1498 * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement):
1499 Remove use of "[[:digit:]]" syntax. This hasn't worked for some time.
1502 * platform/RegularExpression.h: Remove the unused cap function. We can
1503 add it back later if we find we need it.
1504 * platform/RegularExpression.cpp:
1505 (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore
1506 regular expression entry point changes.
1507 (WebCore::RegularExpression::Private::~Private): Ditto.
1508 (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL.
1509 This means that regular expressions with metacharactesr like ^ in them
1510 won't work any more with non-whole-string searches, but we don't use
1511 any regular expressions like that.
1513 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1515 Update the link stubs to match the current build,
1516 and fix coding style issues.
1518 Reviewed by Mark Rowe.
1520 * platform/wx/TemporaryLinkStubs.cpp:
1521 (loadResourceIntoArray):
1522 (findNextSentenceFromIndex):
1523 (findSentenceBoundary):
1524 (Frame::dashboardRegionsChanged):
1525 (WebCore::historyContains):
1526 (CachedPage::close):
1527 (Editor::showStylesPanel):
1528 (EventHandler::passSubframeEventToSubframe):
1529 (EventHandler::passWheelEventToWidget):
1530 (WebCore::currentTextBreakLocaleID):
1532 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1534 wx <-> WebKit conversions for IntPoint, IntRect and FloatRect
1536 Reviewed by Mark Rowe.
1538 * platform/graphics/wx/FloatRectWx.cpp: Added.
1539 * platform/graphics/wx/IntPointWx.cpp: Added.
1540 * platform/graphics/wx/IntRectWx.cpp: Added.
1542 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1544 wx <-> WebKit data type conversions for Pen and Color.
1546 Reviewed by Darin Adler.
1548 * platform/graphics/wx: Added.
1549 * platform/graphics/wx/ColorWx.cpp: Added.
1550 * platform/graphics/wx/PenWx.cpp: Added.
1552 2007-11-03 Sam Weinig <sam@webkit.org>
1556 Remove dummy variable from ClassInfo reducing the size of the struct by 1 word.
1557 The variable had been kept around for binary compatibility, but since nothing
1558 else is there is no point in continuing to keep it around.
1560 * bindings/js/JSDOMExceptionConstructor.cpp:
1562 * bindings/js/JSHTMLInputElementBase.cpp:
1564 * bindings/js/JSNamedNodesCollection.cpp:
1566 * bindings/js/JSXMLHttpRequest.cpp:
1568 * bindings/js/JSXSLTProcessor.cpp:
1570 * bindings/js/kjs_css.cpp:
1572 * bindings/js/kjs_events.cpp:
1574 * bindings/js/kjs_navigator.cpp:
1576 * bindings/js/kjs_window.cpp:
1578 * bindings/scripts/CodeGeneratorJS.pm:
1580 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1582 Build fixes to get wx impls. building on trunk.
1584 Reviewed by Mark Rowe.
1586 * platform/wx/DragDataWx.cpp:
1587 (WebCore::DragData::containsFiles):
1588 (WebCore::DragData::asFilenames):
1589 * platform/wx/DragImageWx.cpp:
1590 (WebCore::scaleDragImage):
1591 * platform/wx/MimeTypeRegistryWx.cpp:
1592 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1593 * platform/wx/MouseEventWx.cpp:
1594 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1595 * platform/wx/MouseWheelEventWx.cpp:
1596 * platform/wx/PasteboardWx.cpp:
1597 (WebCore::Pasteboard::writeImage):
1598 * platform/wx/WidgetWx.cpp:
1599 (WebCore::Widget::setCursor):
1601 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
1603 Sort files(...); sections of Xcode project files.
1605 Rubber-stamped by Darin.
1607 * WebCore.xcodeproj/project.pbxproj:
1608 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
1610 2007-11-03 Kevin Ollivier <kevino@theolliviers.com>
1612 Coding style fixes for platform/wx files.
1614 Reviewed by Mark Rowe.
1616 * platform/wx/ClipboardWx.cpp:
1617 * platform/wx/GlyphMapWx.cpp:
1618 * platform/wx/ScreenWx.cpp:
1620 2007-11-03 Alp Toker <alp@atoker.com>
1622 Reviewed by Mark Rowe.
1624 Implement platform scrollbar static width/height getters
1626 * platform/gtk/PlatformScrollBar.h:
1627 * platform/gtk/PlatformScrollBarGtk.cpp:
1629 (PlatformScrollbar::horizontalScrollbarHeight):
1631 2007-11-03 Alp Toker <alp@atoker.com>
1633 Reviewed by Mark Rowe.
1635 Cast function pointers to gpointer.
1637 * platform/gtk/PlatformScrollBarGtk.cpp:
1638 (PlatformScrollbar::~PlatformScrollbar):
1640 2007-11-03 Alp Toker <alp@atoker.com>
1642 Reviewed by Adam Roben.
1644 RenderThemeGtk implementation based on Mozilla's GTK+ style code
1646 There is still work needed to complete this feature.
1649 * platform/gtk/RenderThemeGtk.cpp:
1651 (WebCore::RenderThemeGtk::RenderThemeGtk):
1652 (WebCore::supportsFocus):
1653 (WebCore::RenderThemeGtk::supportsFocusRing):
1654 (WebCore::RenderThemeGtk::controlSupportsTints):
1655 (WebCore::RenderThemeGtk::baselinePosition):
1656 (WebCore::adjustMozStyle):
1657 (WebCore::setMozState):
1658 (WebCore::paintMozWidget):
1659 (WebCore::setButtonPadding):
1660 (WebCore::setToggleSize):
1661 (WebCore::RenderThemeGtk::setCheckboxSize):
1662 (WebCore::RenderThemeGtk::paintCheckbox):
1663 (WebCore::RenderThemeGtk::setRadioSize):
1664 (WebCore::RenderThemeGtk::paintRadio):
1665 (WebCore::RenderThemeGtk::adjustButtonStyle):
1666 (WebCore::RenderThemeGtk::paintButton):
1667 (WebCore::RenderThemeGtk::adjustMenuListStyle):
1668 (WebCore::RenderThemeGtk::paintMenuList):
1669 (WebCore::RenderThemeGtk::adjustTextFieldStyle):
1670 (WebCore::RenderThemeGtk::paintTextField):
1671 (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
1672 (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
1673 (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
1674 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
1675 (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
1676 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
1677 (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
1678 (WebCore::RenderThemeGtk::paintSearchField):
1679 (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
1680 (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
1681 (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
1682 (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
1683 (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
1684 (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
1685 (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
1686 (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
1687 (WebCore::RenderThemeGtk::caretBlinkFrequency):
1688 (WebCore::RenderThemeGtk::systemFont):
1689 (WebCore::gtkStyleSetCallback):
1690 (WebCore::RenderThemeGtk::gtkContainer):
1691 (WebCore::RenderThemeGtk::gtkEntry):
1692 (WebCore::RenderThemeGtk::gtkTreeView):
1693 * platform/gtk/RenderThemeGtk.h:
1694 * platform/gtk/gtk2drawing.c: Added.
1695 (moz_gtk_enable_style_props):
1696 (ensure_window_widget):
1697 (setup_widget_prototype):
1698 (ensure_button_widget):
1699 (ensure_checkbox_widget):
1700 (ensure_radiobutton_widget):
1701 (ensure_scrollbar_widget):
1702 (ensure_spin_widget):
1703 (ensure_scale_widget):
1704 (ensure_entry_widget):
1705 (ensure_option_menu_widget):
1706 (ensure_arrow_widget):
1707 (ensure_handlebox_widget):
1708 (ensure_toolbar_widget):
1709 (ensure_tooltip_widget):
1710 (ensure_tab_widget):
1711 (ensure_progress_widget):
1712 (ensure_frame_widget):
1713 (ensure_menu_bar_widget):
1714 (ensure_menu_bar_item_widget):
1715 (ensure_menu_popup_widget):
1716 (ensure_menu_item_widget):
1717 (ensure_check_menu_item_widget):
1719 (TSOffsetStyleGCArray):
1721 (moz_gtk_button_paint):
1723 (moz_gtk_checkbox_get_metrics):
1724 (moz_gtk_radio_get_metrics):
1725 (moz_gtk_checkbox_get_focus):
1726 (moz_gtk_radio_get_focus):
1727 (moz_gtk_button_get_focus):
1728 (moz_gtk_option_menu_get_metrics):
1729 (moz_gtk_toggle_paint):
1730 (calculate_arrow_dimensions):
1731 (moz_gtk_scrollbar_button_paint):
1732 (moz_gtk_scrollbar_trough_paint):
1733 (moz_gtk_scrollbar_thumb_paint):
1734 (moz_gtk_spin_paint):
1735 (moz_gtk_scale_paint):
1736 (moz_gtk_scale_thumb_paint):
1737 (moz_gtk_gripper_paint):
1738 (moz_gtk_entry_paint):
1739 (moz_gtk_option_menu_paint):
1740 (moz_gtk_dropdown_arrow_paint):
1741 (moz_gtk_container_paint):
1742 (moz_gtk_toggle_label_paint):
1743 (moz_gtk_toolbar_paint):
1744 (moz_gtk_tooltip_paint):
1745 (moz_gtk_frame_paint):
1746 (moz_gtk_progressbar_paint):
1747 (moz_gtk_progress_chunk_paint):
1748 (moz_gtk_tab_paint):
1749 (moz_gtk_tabpanels_paint):
1750 (moz_gtk_menu_bar_paint):
1751 (moz_gtk_menu_popup_paint):
1752 (moz_gtk_menu_item_paint):
1753 (moz_gtk_check_menu_item_paint):
1754 (moz_gtk_window_paint):
1755 (moz_gtk_get_widget_border):
1756 (moz_gtk_get_dropdown_arrow_size):
1757 (moz_gtk_get_scalethumb_metrics):
1758 (moz_gtk_get_scrollbar_metrics):
1759 (moz_gtk_widget_paint):
1760 (moz_gtk_get_scrollbar_widget):
1762 * platform/gtk/gtkdrawing.h: Added.
1764 2007-11-03 Alp Toker <alp@atoker.com>
1766 Reviewed by Mark Rowe.
1768 Do not allow scrollbars to handle wheel events
1770 We bubble the wheel event up so the parent can handle it instead.
1772 * platform/gtk/PlatformScrollBarGtk.cpp:
1773 (gtkScrollEventCallback):
1774 (PlatformScrollbar::PlatformScrollbar):
1775 (PlatformScrollbar::~PlatformScrollbar):
1777 2007-11-03 Alp Toker <alp@atoker.com>
1779 Reviewed by Mark Rowe.
1781 Frame scrolling and invalidation fixes
1783 Make upward scroll events have a positive delta to match other ports.
1785 Fix the invalidation rect offset for frames so that scrolling works properly.
1787 Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
1789 Allow tabbing to all widgets and links.
1791 Fix event returns, improving the focus situation and correcting scroll wheel
1794 * page/gtk/EventHandlerGtk.cpp:
1795 (WebCore::EventHandler::tabsToAllControls):
1796 (WebCore::EventHandler::passWheelEventToWidget):
1797 * platform/gtk/ScrollViewGtk.cpp:
1798 (WebCore::ScrollViewScrollbar::geometryChanged):
1799 (WebCore::ScrollView::updateContents):
1800 (WebCore::ScrollView::update):
1801 (WebCore::ScrollView::wheelEvent):
1802 (WebCore::ScrollView::updateScrollbars):
1803 * platform/gtk/WheelEventGtk.cpp:
1804 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1806 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
1808 LGPL'ed files contain incorrect FSF address
1809 <http://bugs.webkit.org/show_bug.cgi?id=14885>
1811 Reviewed by NOBODY (follow-up fix).
1813 * bindings/js/JSSVGTransformListCustom.cpp:
1814 * ksvg2/svg/SVGException.idl:
1815 * ksvg2/svg/SVGTextPathElement.cpp:
1816 * ksvg2/svg/SVGTextPathElement.h:
1817 * ksvg2/svg/SVGViewSpec.cpp:
1818 * ksvg2/svg/SVGViewSpec.h:
1819 * platform/mac/FontCustomPlatformData.cpp:
1820 * platform/mac/FontCustomPlatformData.h:
1821 * platform/mac/FontPlatformDataMac.mm:
1822 * platform/win/FontCustomPlatformData.cpp:
1823 * platform/win/FontCustomPlatformData.h:
1824 * rendering/RenderSVGRoot.cpp:
1825 * rendering/RenderSVGRoot.h:
1826 * rendering/RenderSVGTextPath.cpp:
1827 * rendering/RenderSVGTextPath.h:
1828 * rendering/RenderSVGTransformableContainer.h:
1829 * rendering/RenderSVGViewportContainer.cpp:
1830 * rendering/RenderSVGViewportContainer.h:
1831 * rendering/SVGCharacterLayoutInfo.cpp:
1832 * rendering/SVGCharacterLayoutInfo.h:
1833 * rendering/SVGRenderSupport.cpp:
1834 * rendering/SVGRenderSupport.h:
1836 2007-11-02 Antti Koivisto <antti@apple.com>
1840 Add video width/height DOM and content attributes from latest HTML5 draft.
1842 Test: media/video-width-height.html
1844 * html/HTMLVideoElement.cpp:
1845 (WebCore::HTMLVideoElement::parseMappedAttribute):
1846 (WebCore::HTMLVideoElement::width):
1847 (WebCore::HTMLVideoElement::setWidth):
1848 (WebCore::HTMLVideoElement::height):
1849 (WebCore::HTMLVideoElement::setHeight):
1850 * html/HTMLVideoElement.h:
1851 * html/HTMLVideoElement.idl:
1853 2007-11-02 Darin Adler <darin@apple.com>
1857 * DerivedSources.make: Remove a few explicit filenames from some rules by using
1858 make variables a little more.
1859 * WebCore.LP64.exp: Fix typo, grammar.
1861 2007-11-02 Darin Adler <darin@apple.com>
1865 - use the new HashMap::take function where appropriate
1867 * bindings/js/kjs_binding.cpp:
1868 (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad.
1869 (KJS::removeWrapper): Ditto.
1870 (KJS::removeWrappers): Ditto.
1871 (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro.
1872 (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead
1873 of remove -- in theory ever so slightly less efficient, but I think it's fine.
1874 (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto.
1875 (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro.
1876 (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove.
1877 (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros.
1879 * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove.
1880 * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto.
1881 * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto.
1882 * rendering/RenderBlock.cpp:
1883 (WebCore::RenderBlock::~RenderBlock): Ditto.
1884 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto.
1885 * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto.
1887 2007-11-02 Antti Koivisto <antti@apple.com>
1891 Enable video composition.
1894 * platform/graphics/mac/MoviePrivateQTKit.mm:
1895 (WebCore::MoviePrivate::createQTMovieView):
1896 * platform/mac/WebCoreSystemInterface.h:
1897 * platform/mac/WebCoreSystemInterface.mm:
1899 2007-11-02 Darin Adler <darin@apple.com>
1903 - fix http://bugs.webkit.org/show_bug.cgi?id=15806
1904 <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements
1906 Test: fast/forms/remove-radio-button-assert.html
1908 * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm):
1909 Added protected function to be used by derived classes that need to do the same sort
1910 of removal from form that's automatically done by the base class in certain circumstances.
1911 * html/HTMLGenericFormElement.h: Added removeFromForm.
1913 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement):
1914 Call removeFromForm here so the element is removed before we destroy the HTMLInputElement
1915 part of this object. By the time we get to the base class's destructor it's too late.
1916 The problem is specific to radio buttons so we don't have to worry about other classes
1917 derived from HTMLGenericFormElement.
1919 2007-11-02 Darin Adler <darin@apple.com>
1923 - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805
1924 <rdar://problem/5510779> crashes in isLoadingMultipartContent
1926 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent):
1927 Instead of asserting the frame loader is non-0, return false if it is 0.
1929 2007-11-02 Darin Adler <darin@apple.com>
1933 - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both
1934 URL and MIME type is omitted
1936 Already covered by existing tests (that had incorrect results).
1938 * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate
1939 failure when both URL and MIME type are empty. The old code would not attempt a load, but
1940 it would indicate success.
1942 * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove
1943 non-helpful early exit for the case where there is no URL and no type. Returning early
1944 prevents the fallback code from running.
1946 2007-11-02 Alp Toker <alp@atoker.com>
1950 Include Cairo headers properly
1952 * platform/graphics/AffineTransform.h:
1953 * platform/graphics/ImageBuffer.h:
1954 * platform/graphics/cairo/AffineTransformCairo.cpp:
1955 * platform/gtk/FontPlatformDataGtk.cpp:
1957 2007-11-01 Oliver Hunt <oliver@apple.com>
1961 Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key
1963 * platform/win/KeyEventWin.cpp:
1964 (WebCore::keyIdentifierForWindowsKeyCode):
1965 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1967 2007-11-01 Geoffrey Garen <ggaren@apple.com>
1969 Reviewed by Maciej Stachowiak.
1971 In preparation for making List a simple stack-allocated Vector:
1973 Removed all instances of List copying, assignment, and/or storage.
1975 Layout tests and JS tests pass.
1977 * bindings/js/kjs_window.cpp:
1978 (KJS::WindowFunc::callAsFunction): Stores a Vector of protected
1979 JSValue*'s instead of a List now. Converts to List on the fly when
1980 calling the timer function. This is slightly less efficient, but the
1981 common case is 0-2 arguments, so it's no biggie.
1983 (HTML iBench shows no regression. PLT does not use JS timers.)
1985 (KJS::ScheduledAction::execute): Uses the more efficient and non-copying
1987 (KJS::ScheduledAction::ScheduledAction): ditto
1989 * bindings/objc/WebScriptObject.mm:
1990 (getListFromNSArray): Takes a List out parameter now, to avoid copying.
1992 2007-11-01 Oliver Hunt <oliver@apple.com>
1996 Correct event behaviour on certain control keys
1998 Make sure we send the correct keyDown and keyUp events for the
1999 control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and
2000 uses Windows key codes for the event keyCode.
2003 * page/EventHandler.cpp:
2004 (WebCore::EventHandler::keyEvent):
2005 * platform/PlatformKeyboardEvent.h:
2006 * platform/gtk/KeyEventGtk.cpp:
2007 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2008 * platform/mac/KeyEventMac.mm:
2009 (WebCore::keyIdentifierForKeyEvent):
2010 (WebCore::WindowsKeyCodeForKeyEvent):
2011 (WebCore::isKeyUpEvent):
2012 (WebCore::textFromEvent):
2013 (WebCore::unmodifiedTextFromEvent):
2014 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2015 * platform/win/KeyEventWin.cpp:
2016 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2017 * platform/wx/KeyEventWin.cpp:
2018 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2020 2007-11-01 Timothy Hatcher <timothy@apple.com>
2024 * page/inspector/inspector.css: Use the white disclosure triangles
2025 when a parent DOM element is sepected.
2027 2007-11-01 Justin Garcia <justin.garcia@apple.com>
2029 Reviewed by Oliver Hunt.
2031 <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
2033 * editing/ReplaceSelectionCommand.cpp:
2034 (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting
2035 into a plaintext-only region, since when we build the fragment to insert from
2036 plain text, we don't put any style information on it, so it will automatically
2037 match style with no intervention.
2038 * editing/markup.cpp:
2039 (WebCore::createFragmentFromText): Place paragraphs into clones of the
2040 block being inserted into, instead of default paragraph elements,
2041 so that when inserted content will match the surrounding paragraph style.
2042 This was broken before, but I haven't added a layout test yet because
2043 there currently isn't a way to get only plain text onto the pasteboard
2046 2007-11-01 Sam Weinig <sam@webkit.org>
2048 Reviewed by Adam Roben.
2050 Add a releaseRef method to COMPtr which matches the behavior
2051 of the method by the same name in PassRefPtr. This is in
2052 preparation of adding autogenerated COM DOM bindings.
2054 * platform/win/COMPtr.h:
2055 (COMPtr::releaseRef):
2057 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
2059 wx impl. for DragController and EventHandler interfaces.
2061 Reviewed by Adam Roben.
2064 * page/wx/DragControllerWx.cpp: Added.
2065 (WebCore::DragController::isCopyKeyDown):
2066 (WebCore::DragController::dragOperation):
2067 (WebCore::DragController::maxDragImageSize):
2068 * page/wx/EventHandlerWx.cpp: Added.
2069 (WebCore::EventHandler::passMousePressEventToSubframe):
2070 (WebCore::EventHandler::passMouseMoveEventToSubframe):
2071 (WebCore::EventHandler::passMouseReleaseEventToSubframe):
2072 (WebCore::EventHandler::passMousePressEventToScrollbar):
2073 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2074 (WebCore::EventHandler::focusDocumentView):
2075 (WebCore::EventHandler::eventActivatedView):
2076 (WebCore::EventHandler::createDraggingClipboard):
2078 2007-11-01 Kevin Ollivier <kevino@theolliviers.com>
2080 Adding files for wx impl. of editing interfaces.
2082 Reviewed by Adam Roben.
2084 * editing/wx: Added.
2085 * editing/wx/EditorWx.cpp: Added.
2086 (WebCore::Editor::newGeneralClipboard):
2088 2007-11-01 Sam Weinig <sam@webkit.org>
2090 Reviewed by Adam Roben.
2092 Make implicit conversions from LPCSTRs and BSTRs to WebCore string
2093 types possible in preparation of adding autogenerated COM DOM bindings.
2095 * platform/AtomicString.cpp:
2096 (WebCore::AtomicString::add):
2097 * platform/AtomicString.h:
2098 (WebCore::AtomicString::AtomicString):
2099 * platform/PlatformString.h:
2100 * platform/win/BString.cpp:
2101 (WebCore::BString::BString):
2102 * platform/win/BString.h:
2104 2007-11-01 Brady Eidson <beidson@apple.com>
2108 Renamed a flag inside of SQLiteTransaction and added an accessor (for future work)
2110 * platform/sql/SQLiteTransaction.cpp:
2111 (WebCore::SQLiteTransaction::SQLiteTransaction):
2112 (WebCore::SQLiteTransaction::~SQLiteTransaction):
2113 (WebCore::SQLiteTransaction::begin):
2114 (WebCore::SQLiteTransaction::commit):
2115 (WebCore::SQLiteTransaction::rollback):
2116 * platform/sql/SQLiteTransaction.h:
2117 (WebCore::SQLiteTransaction::inProgress):
2119 2007-11-01 Adam Roben <aroben@apple.com>
2121 Remove all duplicate xcopy commands from WebCore's post-build step
2123 Also add the /d option to the copy of platform/sql.
2125 Rubberstamped by Sam.
2127 * WebCore.vcproj/WebCore.vcproj:
2129 2007-11-01 Adele Peterson <adele@apple.com>
2133 Add support for the animation of the -webkit-border-raduis properties.
2135 * page/AnimationController.cpp:
2136 (WebCore::blendFunc): Added for IntSize.
2137 (WebCore::ImplicitAnimation::animate): Added cases for border radius properties.
2139 2007-11-01 Alp Toker <alp@atoker.com>
2141 Reviewed by Mitz Pettel.
2143 Fix an unbalanced save/restore.
2145 * platform/graphics/cg/ImageCG.cpp:
2146 (WebCore::BitmapImage::draw):
2148 2007-11-01 David Hyatt <hyatt@apple.com>
2150 Add support for the animation of the visibility property.
2152 Reviewed by oliver, aroben
2154 * page/AnimationController.cpp:
2155 (WebCore::blendFunc):
2156 (WebCore::ImplicitAnimation::animate):
2158 2007-11-01 Kevin McCullough <kmccullough@apple.com>
2162 - Made COMPtr be able to be used by certain other templates,
2163 specifically HashSet.
2165 * platform/win/COMPtr.h:
2168 2007-11-01 Dan Bernstein <mitz@apple.com>
2170 Reviewed by Dave Hyatt.
2172 - fix http://bugs.webkit.org/show_bug.cgi?id=15015
2173 <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes
2175 Test: fast/repaint/overflow-clip-subtree-layout.html
2177 This patch does not address the bigger issue of doing a full relayout
2178 of inline flows containing floats, but it addresses the problem on
2179 aol.com, where the changes that trigger layout are confined to an
2180 overflow area inside the float.
2182 * page/FrameView.cpp:
2183 (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old
2184 layout roots are different but one descends from the other, make (or
2185 keep) the ancestor as the layout root.
2186 * rendering/RenderObject.cpp:
2187 (WebCore::objectIsRelayoutBoundary): Made boxes with overflow
2188 clipping and non-auto width and height relayout boundaries.
2190 2007-11-01 Alexey Proskuryakov <ap@webkit.org>
2192 Reviewed by Mark Rowe.
2194 Fixed line endings that got confused in this file somehow.
2196 * platform/network/ResourceResponse.cpp:
2197 (WebCore::ResourceResponse::isAttachment):
2199 2007-11-01 Peter Kasting <zerodpx@gmail.com>
2201 Reviewed by Dave Hyatt.
2203 http://bugs.webkit.org/show_bug.cgi?id=15778
2204 Malformed GIFs should not result in memory corruption.
2206 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2207 (WebCore::GIFImageDecoder::haveDecodedRow):
2208 * platform/image-decoders/gif/GIFImageReader.cpp:
2209 (GIFImageReader::output_row):
2210 (GIFImageReader::read):
2212 2007-10-31 Adam Roben <aroben@apple.com>
2214 Fix a crash when parsing a cubic-bezier function
2218 Test: fast/css/parse-timing-function-crash.html
2220 * WebCore.vcproj/WebCore.vcproj:
2221 * css/CSSParser.cpp:
2222 (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end
2225 2007-10-31 David Hyatt <hyatt@apple.com>
2227 Fix a merge error from when I applied my patch to ToT. A couple of lines should be part of an if.
2229 * rendering/RenderStyle.cpp:
2230 (WebCore::RenderStyle::adjustTransitions):
2232 2007-10-31 Anders Carlsson <andersca@apple.com>
2236 Add new SQL callback interfaces and JS implementations of them.
2238 * DerivedSources.make:
2239 * WebCore.xcodeproj/project.pbxproj:
2240 * bindings/js/JSCustomSQLStatementCallback.cpp: Added.
2241 (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
2242 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2243 * bindings/js/JSCustomSQLStatementCallback.h: Added.
2244 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added.
2245 (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
2246 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2247 * bindings/js/JSCustomSQLStatementErrorCallback.h: Added.
2248 * bindings/js/JSCustomSQLTransactionCallback.cpp: Added.
2249 (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
2250 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2251 * bindings/js/JSCustomSQLTransactionCallback.h: Added.
2252 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added.
2253 (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
2254 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2255 * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added.
2256 * storage/JSCustomSQLStatementCallback.h: Added.
2257 * storage/JSCustomSQLStatementErrorCallback.h: Added.
2258 * storage/JSCustomSQLTransactionCallback.h: Added.
2259 * storage/JSCustomSQLTransactionErrorCallback.h: Added.
2260 * storage/SQLStatementCallback.h: Added.
2261 (WebCore::SQLStatementCallback::~SQLStatementCallback):
2262 * storage/SQLStatementCallback.idl: Added.
2263 * storage/SQLStatementErrorCallback.h: Added.
2264 (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback):
2265 * storage/SQLStatementErrorCallback.idl: Added.
2266 * storage/SQLTransaction.h: Added.
2267 * storage/SQLTransaction.idl: Added.
2268 * storage/SQLTransactionCallback.h: Added.
2269 (WebCore::SQLTransactionCallback::~SQLTransactionCallback):
2270 * storage/SQLTransactionCallback.idl: Added.
2271 * storage/SQLTransactionErrorCallback.h: Added.
2272 (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback):
2273 * storage/SQLTransactionErrorCallback.idl: Added.
2275 2007-10-31 Justin Garcia <justin.garcia@apple.com>
2277 Reviewed by Dave Harrison.
2279 <rdar://problem/5569741> Pasting content with a line break into a list can remove the list
2281 * editing/htmlediting.cpp:
2282 (WebCore::enclosingEmptyListItem): A single list item can contain multiple
2283 paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a
2284 list item, that list item isn't necessarily empty.
2286 2007-10-31 David Hyatt <hyatt@apple.com>
2288 Disable style sharing for animating styles.
2290 Reviewed by mitzpettel
2292 * css/CSSStyleSelector.cpp:
2293 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2295 2007-10-31 Dan Bernstein <mitz@apple.com>
2297 Reviewed by Darin Adler.
2299 - fix intermediate length calculation
2301 * rendering/Length.h:
2302 (WebCore::Length::blend):
2304 2007-10-31 Anders Carlsson <andersca@apple.com>
2308 Add new SQLError implementation.
2310 * DerivedSources.make:
2311 * WebCore.vcproj/WebCore.vcproj:
2312 * WebCore.xcodeproj/project.pbxproj:
2313 * storage/SQLError.h: Added.
2314 (WebCore::SQLError::SQLError):
2315 (WebCore::SQLError::code):
2316 (WebCore::SQLError::message):
2317 * storage/SQLError.idl: Added.
2319 2007-10-31 David Hyatt <hyatt@apple.com>
2321 Change the initial value of transition-property to all. Change the initial value of
2322 transition-duration to 0.
2326 * rendering/RenderStyle.h:
2327 (WebCore::RenderStyle::initialTransitionDuration):
2328 (WebCore::RenderStyle::initialTransitionProperty):
2330 2007-10-31 Alp Toker <alp@atoker.com>
2332 Reviewed by Mark Rowe.
2334 The new Color must be marked valid.
2336 * platform/graphics/gtk/ColorGtk.cpp:
2338 2007-10-31 Simon Hausmann <hausmann@kde.org>
2342 Build fix for non-Qt builds.
2344 * dom/XMLTokenizer.cpp:
2345 (WebCore::XMLTokenizer::XMLTokenizer):
2347 2007-10-31 Simon Hausmann <hausmann@kde.org>
2351 Fix dependency path to header files of the public API of the Qt port.
2355 2007-10-31 Holger Freyther <zecke@selfish.org>
2359 * QXmlStreamNamespaceDeclaration doesn't have the constructor we
2360 want to use for Qt4.3. Reenable the old code path which is likely
2361 to be dead as I have not checked if m_prefixToNamespaceMap is actually
2363 * Guard the entity resolver with the QT_VERSION as well.
2364 * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and
2365 d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3.
2367 * dom/XMLTokenizer.cpp:
2368 (WebCore::XMLTokenizer::XMLTokenizer):
2369 * dom/XMLTokenizer.h:
2371 2007-10-31 Holger Freyther <zecke@selfish.org>
2373 Reviewed by Lars Knoll <lars@trolltech.com>.
2375 * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3
2376 * Provide a bad fallback implementation to filter the format list.
2378 * platform/qt/ClipboardQt.cpp:
2379 (WebCore::ClipboardQt::clearData):
2381 2007-10-31 Lars Knoll <lars@trolltech.com>
2385 add an entitiy resolver to QXmlStream.
2386 Fixes fast/parser/entities-in-attributes.xhtml.
2388 * dom/XMLTokenizer.cpp:
2389 (WebCore::EntityResolver::resolveUndeclaredEntity):
2390 (WebCore::XMLTokenizer::XMLTokenizer):
2391 (WebCore::XMLTokenizer::~XMLTokenizer):
2393 2007-10-31 Lars Knoll <lars@trolltech.com>
2397 Fixes in the XML tokenizer when using QXmlStream.
2399 Use new functionality of QXmlStream in Qt 4.4 to simplify
2400 the code (but keep the old code for now to still support Qt 4.3).
2402 Add proper support for namespace handling when parsing into
2403 a document fragment.
2405 * dom/XMLTokenizer.cpp:
2406 (WebCore::XMLTokenizer::XMLTokenizer):
2407 (WebCore::XMLTokenizer::write):
2408 (WebCore::XMLTokenizer::startElementNs):
2410 * dom/XMLTokenizer.h:
2412 2007-10-31 Lars Knoll <lars@trolltech.com>
2416 add support for dragging images.
2418 * platform/DragImage.h:
2419 * platform/qt/ClipboardQt.cpp:
2420 (WebCore::ClipboardQt::clearData):
2421 (WebCore::ClipboardQt::setDragImage):
2422 (WebCore::ClipboardQt::setDragImageElement):
2423 (WebCore::ClipboardQt::createDragImage):
2424 (WebCore::getCachedImage):
2425 (WebCore::ClipboardQt::declareAndWriteDragImage):
2426 * platform/qt/ClipboardQt.h:
2428 2007-10-31 Lars Knoll <lars@trolltech.com>
2432 fix most of the issues I found with Clipboard and DnD.
2434 * editing/qt/EditorQt.cpp:
2435 * platform/qt/ClipboardQt.cpp:
2436 (WebCore::ClipboardQt::ClipboardQt):
2437 (WebCore::ClipboardQt::~ClipboardQt):
2438 (WebCore::ClipboardQt::clearData):
2439 (WebCore::ClipboardQt::clearAllData):
2440 (WebCore::ClipboardQt::getData):
2441 (WebCore::ClipboardQt::setData):
2442 (WebCore::ClipboardQt::types):
2443 (WebCore::ClipboardQt::setDragImage):
2444 (WebCore::ClipboardQt::setDragImageElement):
2445 (WebCore::ClipboardQt::declareAndWriteDragImage):
2446 (WebCore::ClipboardQt::writeURL):
2447 (WebCore::ClipboardQt::writeRange):
2448 (WebCore::ClipboardQt::hasData):
2449 * platform/qt/ClipboardQt.h:
2450 * platform/qt/DragDataQt.cpp:
2451 (WebCore::DragData::asURL):
2453 2007-10-30 Mark Rowe <mrowe@apple.com>
2455 Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState.
2457 * platform/gtk/KeyEventGtk.cpp:
2458 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2459 * platform/qt/PlatformKeyboardEventQt.cpp:
2460 (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2462 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
2466 http://bugs.webkit.org/show_bug.cgi?id=15762
2467 XSLStylesheet loads subresources from a wrong URL
2469 Covered by corrected existing tests.
2471 * xml/XSLStyleSheet.cpp:
2472 (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not
2475 2007-10-31 Alexey Proskuryakov <ap@webkit.org>
2479 http://bugs.webkit.org/show_bug.cgi?id=10818
2480 String::append does 2 full copies instead of 1 (or zero!)
2482 No change in functionality, thus no test.
2484 * platform/String.cpp:
2485 (WebCore::String::append): Rewrote to copy once. Also removed an ancient
2486 FIXME that doesn't seem to make any sense. Note that append() behavior doesn't
2487 match documented String behavior ("modifications to one instance will
2488 also modify all others"), but there are a lot of methods that don't.
2490 2007-10-31 Adam Roben <aroben@apple.com>
2494 * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files.
2496 2007-10-30 Adam Roben <aroben@apple.com>
2500 I'm not completely sure why these const issues weren't caught by GCC,
2501 but MSVC was certainly not happy with them.
2503 * editing/IndentOutdentCommand.cpp:
2504 (WebCore::isIndentBlockquote):
2505 * editing/markup.cpp:
2506 (WebCore::styleFromMatchedRulesAndInlineDecl):
2508 2007-10-30 David Hyatt <hyatt@apple.com>
2510 transition-property was defaulting to all when it should default to none.
2512 It was taking a string type. I figured out how to make it take an ident instead, so you can write:
2514 transition-property: opacity
2518 transition-property: "opacity"
2520 Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that.
2522 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.
2527 * css/CSSParser.cpp:
2528 (WebCore::CSSParser::parseTransitionProperty):
2529 * css/CSSStyleSelector.cpp:
2530 (WebCore::CSSStyleSelector::adjustRenderStyle):
2531 * page/AnimationController.cpp:
2532 (WebCore::ImplicitAnimation::animate):
2533 * rendering/RenderStyle.cpp:
2534 (WebCore::RenderStyle::adjustTransitions):
2535 * rendering/RenderStyle.h:
2536 (WebCore::RenderStyle::initialTransitionProperty):
2538 2007-10-30 Antti Koivisto <antti@apple.com>
2544 * platform/graphics/mac/MoviePrivateQTKit.mm:
2545 (WebCore::MoviePrivate::getSupportedTypes):
2547 2007-10-30 Dan Bernstein <mitz@apple.com>
2549 Reviewed by Stephanie Lewis.
2551 - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites)
2553 * platform/win/FontDataWin.cpp:
2554 (WebCore::FontData::platformInit): Handle the case where the font has no
2555 glyphs on page zero.
2557 2007-10-30 David Hyatt <hyatt@apple.com>
2559 Make sure CSS transforms can be animated using the CSS transition property.
2561 Reviewed by Dan and Antti
2563 * css/CSSStyleSelector.cpp:
2564 (WebCore::CSSStyleSelector::applyProperty):
2565 * page/AnimationController.cpp:
2566 (WebCore::blendFunc):
2567 (WebCore::ImplicitAnimation::animate):
2568 * rendering/Length.h:
2569 (WebCore::Length::blend):
2570 * rendering/RenderStyle.cpp:
2571 (WebCore::StyleTransformData::operator==):
2572 (WebCore::TransformOperations::operator==):
2573 (WebCore::blendLengths):
2574 (WebCore::ScaleTransformOperation::blend):
2575 (WebCore::RotateTransformOperation::blend):
2576 (WebCore::SkewTransformOperation::blend):
2577 (WebCore::TranslateTransformOperation::blend):
2578 (WebCore::MatrixTransformOperation::blend):
2579 * rendering/RenderStyle.h:
2580 (WebCore::TransformOperations::operator!=):
2581 (WebCore::TransformOperations::isEmpty):
2582 (WebCore::TransformOperations::size):
2583 (WebCore::TransformOperations::operator[]):
2584 (WebCore::TransformOperations::append):
2585 (WebCore::RenderStyle::transform):
2586 (WebCore::RenderStyle::setTransform):
2587 (WebCore::RenderStyle::initialTransform):
2589 2007-10-30 Antti Koivisto <antti@apple.com>
2591 Another Qt/GTK build fix.
2593 * bindings/js/JSHTMLElementWrapperFactory.cpp:
2595 2007-10-30 Antti Koivisto <antti@apple.com>
2597 Attempt to fix Qt/GTK build.
2601 2007-10-30 Justin Garcia <justin.garcia@apple.com>
2603 Reviewed by Darin Adler.
2605 <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData
2607 We were trying to insert a tab into a br, after the br incorrectly ended up inside
2610 * editing/DeleteButtonController.cpp:
2611 (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*.
2612 * editing/DeleteSelectionCommand.cpp:
2613 (WebCore::isTableRow): Ditto.
2614 * editing/IndentOutdentCommand.cpp:
2615 (WebCore::isIndentBlockquote): Ditto.
2616 (WebCore::isListOrIndentBlockquote): Ditto.
2617 * editing/InsertLineBreakCommand.cpp:
2618 (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from
2620 (WebCore::InsertLineBreakCommand::doApply):
2621 Don't upstream() the insertion position. upstream()ing it will only have an effect
2622 when the insertion position is the first in its paragraph (since we canonicalize
2623 VisiblePositions to the upstream() candidate). In this start of paragraph case,
2624 upstream() can move outside inline elements like tab spans or elements that might
2625 have a different whitespace mode (added two test cases to cover these).
2626 Moved code to decide whether to insert a br or a '\n' to its own method.
2627 Removed special case code for inserting at a position inside a tab span. We instead
2628 adjust the insertion position before insertion if it is inside a tab span and
2629 handle insertion in the appropriate if-block. This fixes a bug where we would
2630 only insert one line break when two were needed (added a testcase).
2631 Removed special case code for inserting before and after tables and horizontal
2632 rules. We handle these insertions in the appropriate if-block.
2633 * editing/InsertLineBreakCommand.h:
2634 * editing/ReplaceSelectionCommand.cpp:
2635 (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*.
2636 * editing/htmlediting.cpp:
2637 (WebCore::isContentEditable): Ditto.
2638 (WebCore::isBlock): Ditto.
2639 (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function
2640 that takes in a const Node*.
2641 (WebCore::isTabSpanTextNode): Check to see that the node actually a text node,
2643 * editing/htmlediting.h:
2644 * editing/markup.cpp:
2645 (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*.
2646 (WebCore::elementHasTextDecorationProperty): Ditto.
2648 2007-10-30 Antti Koivisto <antti@apple.com>
2654 * html/VoidCallback.cpp: Added.
2655 (VoidCallback::VoidCallback):
2656 (VoidCallback::~VoidCallback):
2657 (VoidCallback::handleEvent):
2658 (VoidCallback::execute):
2659 (VoidCallback::operator==):
2660 (WebCore::toVoidCallback):
2661 * html/VoidCallback.h: Added.
2662 * html/VoidCallback.idl: Added.
2664 2007-10-30 David Kilzer <ddkilzer@webkit.org>
2666 Generated files missing from WebCore's Xcode project file
2667 <http://bugs.webkit.org/show_bug.cgi?id=15406>
2671 Added the following files to the Xcode project file (note that
2672 JSHTMLInputElementBaseTable.cpp is used as a header file):
2674 - DOMCSSStyleSheetPrivate.h
2676 - DOMHTMLCollectionPrivate.h
2677 - DOMHTMLEmbedElementPrivate.h
2678 - DOMHTMLIFrameElementPrivate.h
2679 - DOMHTMLObjectElementPrivate.h
2680 - DOMHTMLSelectElementPrivate.h
2681 - DOMTextEventInternal.h
2682 - JSHTMLInputElementBaseTable.cpp
2684 * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h
2685 since their generated code was not used.
2686 * WebCore.xcodeproj/project.pbxproj: Added missing header files.
2688 2007-10-29 Antti Koivisto <antti@apple.com>
2690 Rubber stamped by Adele.
2692 Initial media (<video> and <audio>) support from feature branch and
2693 QTKit based platform implementation.
2695 This will need to be updated to match current draft specification.
2697 * Configurations/WebCore.xcconfig:
2698 * DerivedSources.make:
2700 * WebCore.xcodeproj/project.pbxproj:
2701 * bindings/js/JSEventCustom.cpp:
2703 * bindings/js/JSHTMLAudioElementConstructor.cpp: Added.
2704 (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor):
2705 (WebCore::JSHTMLAudioElementConstructor::implementsConstruct):
2706 (WebCore::JSHTMLAudioElementConstructor::construct):
2707 * bindings/js/JSHTMLAudioElementConstructor.h: Added.
2708 * bindings/js/JSHTMLElementWrapperFactory.cpp:
2709 (WebCore::createJSHTMLWrapper):
2710 * bindings/js/kjs_window.cpp:
2711 (KJS::Window::getValueProperty):
2712 * bindings/js/kjs_window.h:
2714 * bindings/scripts/CodeGeneratorJS.pm:
2716 (WebCore::Document::createEvent):
2717 (WebCore::Document::willSaveToCache):
2718 (WebCore::Document::didRestoreFromCache):
2719 (WebCore::Document::registerForCacheCallbacks):
2720 (WebCore::Document::unregisterForCacheCallbacks):
2723 (WebCore::Element::setBooleanAttribute):
2725 (WebCore::Element::willSaveToCache):
2727 (WebCore::Event::isProgressEvent):
2730 * dom/EventTargetNode.cpp:
2731 (WebCore::EventTargetNode::dispatchProgressEvent):
2732 * dom/EventTargetNode.h:
2733 * dom/ProgressEvent.cpp: Added.
2734 (WebCore::ProgressEvent::ProgressEvent):
2735 (WebCore::ProgressEvent::initProgressEvent):
2736 (WebCore::ProgressEvent::initProgressEventNS):
2737 * dom/ProgressEvent.h: Added.
2738 (WebCore::ProgressEvent::lengthComputable):
2739 (WebCore::ProgressEvent::loaded):
2740 (WebCore::ProgressEvent::total):
2741 (WebCore::ProgressEvent::isProgressEvent):
2742 * dom/ProgressEvent.idl: Added.
2743 * history/CachedPage.cpp:
2744 (WebCore::CachedPage::CachedPage):
2745 * html/HTMLAttributeNames.in:
2746 * html/HTMLAudioElement.cpp: Added.
2747 (WebCore::HTMLAudioElement::HTMLAudioElement):
2748 * html/HTMLAudioElement.h: Added.
2749 (WebCore::HTMLAudioElement::tagPriority):
2750 * html/HTMLAudioElement.idl: Added.
2751 * html/HTMLElement.cpp:
2752 (WebCore::inlineTagList):
2753 * html/HTMLElementFactory.cpp:
2754 (WebCore::audioConstructor):
2755 (WebCore::videoConstructor):
2756 (WebCore::sourceConstructor):
2757 (WebCore::createFunctionMap):
2758 * html/HTMLInputElement.cpp:
2759 (WebCore::HTMLInputElement::~HTMLInputElement):
2760 (WebCore::HTMLInputElement::setInputType):
2761 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
2762 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2763 * html/HTMLMediaElement.cpp: Added.
2764 (WebCore::HTMLMediaElement::HTMLMediaElement):
2765 (WebCore::HTMLMediaElement::~HTMLMediaElement):
2766 (WebCore::HTMLMediaElement::checkDTD):
2767 (WebCore::HTMLMediaElement::rendererIsNeeded):
2768 (WebCore::HTMLMediaElement::createRenderer):
2769 (WebCore::HTMLMediaElement::insertedIntoDocument):
2770 (WebCore::HTMLMediaElement::removedFromDocument):
2771 (WebCore::HTMLMediaElement::scheduleLoad):
2772 (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
2773 (WebCore::HTMLMediaElement::dispatchEventAsync):
2774 (WebCore::HTMLMediaElement::loadTimerFired):
2775 (WebCore::HTMLMediaElement::asyncEventTimerFired):
2776 (WebCore::serializeTimeOffset):
2777 (WebCore::parseTimeOffset):
2778 (WebCore::HTMLMediaElement::getTimeOffsetAttribute):
2779 (WebCore::HTMLMediaElement::setTimeOffsetAttribute):
2780 (WebCore::HTMLMediaElement::error):
2781 (WebCore::HTMLMediaElement::src):
2782 (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc):
2783 (WebCore::HTMLMediaElement::currentSrc):
2784 (WebCore::HTMLMediaElement::networkState):
2785 (WebCore::HTMLMediaElement::bufferingRate):
2786 (WebCore::HTMLMediaElement::load):
2787 (WebCore::HTMLMediaElement::movieNetworkStateChanged):
2788 (WebCore::HTMLMediaElement::movieReadyStateChanged):
2789 (WebCore::HTMLMediaElement::setReadyState):
2790 (WebCore::HTMLMediaElement::progressEventTimerFired):
2791 (WebCore::HTMLMediaElement::seek):
2792 (WebCore::HTMLMediaElement::readyState):
2793 (WebCore::HTMLMediaElement::seeking):
2794 (WebCore::HTMLMediaElement::currentTime):
2795 (WebCore::HTMLMediaElement::setCurrentTime):
2796 (WebCore::HTMLMediaElement::duration):
2797 (WebCore::HTMLMediaElement::paused):
2798 (WebCore::HTMLMediaElement::defaultPlaybackRate):
2799 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
2800 (WebCore::HTMLMediaElement::playbackRate):
2801 (WebCore::HTMLMediaElement::setPlaybackRate):
2802 (WebCore::HTMLMediaElement::ended):
2803 (WebCore::HTMLMediaElement::autoplay):
2804 (WebCore::HTMLMediaElement::setAutoplay):
2805 (WebCore::HTMLMediaElement::play):
2806 (WebCore::HTMLMediaElement::pause):
2807 (WebCore::HTMLMediaElement::loopCount):
2808 (WebCore::HTMLMediaElement::setLoopCount):
2809 (WebCore::HTMLMediaElement::start):
2810 (WebCore::HTMLMediaElement::setStart):
2811 (WebCore::HTMLMediaElement::end):
2812 (WebCore::HTMLMediaElement::setEnd):
2813 (WebCore::HTMLMediaElement::loopStart):
2814 (WebCore::HTMLMediaElement::setLoopStart):
2815 (WebCore::HTMLMediaElement::loopEnd):
2816 (WebCore::HTMLMediaElement::setLoopEnd):
2817 (WebCore::HTMLMediaElement::currentLoop):
2818 (WebCore::HTMLMediaElement::setCurrentLoop):
2819 (WebCore::HTMLMediaElement::controls):
2820 (WebCore::HTMLMediaElement::setControls):
2821 (WebCore::HTMLMediaElement::volume):
2822 (WebCore::HTMLMediaElement::setVolume):
2823 (WebCore::HTMLMediaElement::muted):
2824 (WebCore::HTMLMediaElement::setMuted):
2825 (WebCore::HTMLMediaElement::pickMedia):
2826 (WebCore::HTMLMediaElement::checkIfSeekNeeded):
2827 (WebCore::HTMLMediaElement::movieVolumeChanged):
2828 (WebCore::HTMLMediaElement::movieDidEnd):
2829 (WebCore::HTMLMediaElement::movieCuePointReached):
2830 (WebCore::HTMLMediaElement::addCuePoint):
2831 (WebCore::HTMLMediaElement::removeCuePoint):
2832 (WebCore::HTMLMediaElement::buffered):
2833 (WebCore::HTMLMediaElement::played):
2834 (WebCore::HTMLMediaElement::seekable):
2835 (WebCore::HTMLMediaElement::effectiveStart):
2836 (WebCore::HTMLMediaElement::effectiveEnd):
2837 (WebCore::HTMLMediaElement::effectiveLoopStart):
2838 (WebCore::HTMLMediaElement::effectiveLoopEnd):
2839 (WebCore::HTMLMediaElement::activelyPlaying):
2840 (WebCore::HTMLMediaElement::endedPlayback):
2841 (WebCore::HTMLMediaElement::willSaveToCache):
2842 (WebCore::HTMLMediaElement::didRestoreFromCache):
2843 * html/HTMLMediaElement.h: Added.
2844 (WebCore::HTMLMediaElement::movie):
2845 (WebCore::HTMLMediaElement::isVideo):
2846 (WebCore::HTMLMediaElement::):
2847 (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry):
2848 * html/HTMLMediaElement.idl: Added.
2849 * html/HTMLSourceElement.cpp: Added.
2850 (WebCore::HTMLSourceElement::HTMLSourceElement):
2851 (WebCore::HTMLSourceElement::~HTMLSourceElement):
2852 (WebCore::HTMLSourceElement::insertedIntoDocument):
2853 (WebCore::HTMLSourceElement::src):
2854 (WebCore::HTMLSourceElement::setSrc):
2855 (WebCore::HTMLSourceElement::media):
2856 (WebCore::HTMLSourceElement::setMedia):
2857 (WebCore::HTMLSourceElement::type):
2858 (WebCore::HTMLSourceElement::setType):
2859 * html/HTMLSourceElement.h: Added.
2860 (WebCore::HTMLSourceElement::endTagRequirement):
2861 (WebCore::HTMLSourceElement::tagPriority):
2862 * html/HTMLSourceElement.idl: Added.
2863 * html/HTMLTagNames.in:
2864 * html/HTMLVideoElement.cpp: Added.
2865 (WebCore::HTMLVideoElement::HTMLVideoElement):
2866 (WebCore::HTMLVideoElement::videoWidth):
2867 (WebCore::HTMLVideoElement::videoHeight):
2868 * html/HTMLVideoElement.h: Added.
2869 (WebCore::HTMLVideoElement::tagPriority):
2870 (WebCore::HTMLVideoElement::isVideo):
2871 * html/HTMLVideoElement.idl: Added.
2872 * html/MediaError.h: Added.
2873 (WebCore::MediaError::):
2874 (WebCore::MediaError::MediaError):
2875 (WebCore::MediaError::code):
2876 * html/MediaError.idl: Added.
2877 * html/TimeRanges.cpp: Added.
2878 (TimeRanges::TimeRanges):
2879 (TimeRanges::start):
2882 (TimeRanges::contain):
2883 * html/TimeRanges.h: Added.
2884 (WebCore::TimeRanges::TimeRanges):
2885 (WebCore::TimeRanges::length):
2886 (WebCore::TimeRanges::Range::Range):
2887 * html/TimeRanges.idl: Added.
2888 * page/DOMWindow.idl:
2889 * platform/MIMETypeRegistry.cpp:
2890 (WebCore::initialiseSupportedMovieMIMETypes):
2891 (WebCore::initialiseMIMETypeRegistry):
2892 (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType):
2893 (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes):
2894 * platform/MIMETypeRegistry.h:
2895 * platform/graphics/Movie.cpp: Added.
2896 (WebCore::Movie::Movie):
2897 (WebCore::Movie::~Movie):
2898 (WebCore::Movie::load):
2899 (WebCore::Movie::cancelLoad):
2900 (WebCore::Movie::play):
2901 (WebCore::Movie::pause):
2902 (WebCore::Movie::duration):
2903 (WebCore::Movie::currentTime):
2904 (WebCore::Movie::seek):
2905 (WebCore::Movie::paused):
2906 (WebCore::Movie::seeking):
2907 (WebCore::Movie::naturalSize):
2908 (WebCore::Movie::hasVideo):
2909 (WebCore::Movie::networkState):
2910 (WebCore::Movie::readyState):
2911 (WebCore::Movie::volume):
2912 (WebCore::Movie::setVolume):
2913 (WebCore::Movie::rate):
2914 (WebCore::Movie::setRate):
2915 (WebCore::Movie::muted):
2916 (WebCore::Movie::setMuted):
2917 (WebCore::Movie::dataRate):
2918 (WebCore::Movie::setEndTime):
2919 (WebCore::Movie::addCuePoint):
2920 (WebCore::Movie::removeCuePoint):
2921 (WebCore::Movie::clearCuePoints):
2922 (WebCore::Movie::maxTimeBuffered):
2923 (WebCore::Movie::maxTimeSeekable):
2924 (WebCore::Movie::bytesLoaded):
2925 (WebCore::Movie::totalBytesKnown):
2926 (WebCore::Movie::totalBytes):
2927 (WebCore::Movie::setRect):
2928 (WebCore::Movie::visible):
2929 (WebCore::Movie::setVisible):
2930 (WebCore::Movie::paint):
2931 (WebCore::Movie::getSupportedTypes):
2932 (WebCore::Movie::networkStateChanged):
2933 (WebCore::Movie::readyStateChanged):
2934 (WebCore::Movie::volumeChanged):
2935 (WebCore::Movie::didEnd):
2936 (WebCore::Movie::cuePointReached):
2937 * platform/graphics/Movie.h: Added.
2938 (WebCore::MovieClient::~MovieClient):
2939 (WebCore::MovieClient::movieNetworkStateChanged):
2940 (WebCore::MovieClient::movieReadyStateChanged):
2941 (WebCore::MovieClient::movieVolumeChanged):
2942 (WebCore::MovieClient::movieDidEnd):
2943 (WebCore::MovieClient::movieCuePointReached):
2944 (WebCore::Movie::parentWidget):
2945 (WebCore::Movie::setParentWidget):
2946 (WebCore::Movie::rect):
2948 * platform/graphics/mac/MoviePrivateQTKit.h: Added.
2949 * platform/graphics/mac/MoviePrivateQTKit.mm: Added.
2950 (WebCore::MoviePrivate::MoviePrivate):
2951 (WebCore::MoviePrivate::~MoviePrivate):
2952 (WebCore::MoviePrivate::createQTMovie):
2953 (WebCore::MoviePrivate::createQTMovieView):
2954 (WebCore::MoviePrivate::createQTTime):
2955 (WebCore::MoviePrivate::load):
2956 (WebCore::MoviePrivate::play):
2957 (WebCore::MoviePrivate::pause):
2958 (WebCore::MoviePrivate::duration):
2959 (WebCore::MoviePrivate::currentTime):
2960 (WebCore::MoviePrivate::seek):
2961 (WebCore::MoviePrivate::setEndTime):
2962 (WebCore::MoviePrivate::addCuePoint):
2963 (WebCore::MoviePrivate::removeCuePoint):
2964 (WebCore::MoviePrivate::clearCuePoints):
2965 (WebCore::MoviePrivate::startCuePointTimerIfNeeded):
2966 (WebCore::MoviePrivate::cancelSeek):
2967 (WebCore::MoviePrivate::seekTimerFired):
2968 (WebCore::MoviePrivate::cuePointTimerFired):
2969 (WebCore::MoviePrivate::paused):
2970 (WebCore::MoviePrivate::seeking):
2971 (WebCore::MoviePrivate::naturalSize):
2972 (WebCore::MoviePrivate::hasVideo):
2973 (WebCore::MoviePrivate::setVolume):
2974 (WebCore::MoviePrivate::setMuted):
2975 (WebCore::MoviePrivate::setRate):
2976 (WebCore::MoviePrivate::dataRate):
2977 (WebCore::MoviePrivate::networkState):
2978 (WebCore::MoviePrivate::readyState):
2979 (WebCore::MoviePrivate::maxTimeBuffered):
2980 (WebCore::MoviePrivate::maxTimeSeekable):
2981 (WebCore::MoviePrivate::maxTimeLoaded):
2982 (WebCore::MoviePrivate::bytesLoaded):
2983 (WebCore::MoviePrivate::totalBytesKnown):
2984 (WebCore::MoviePrivate::totalBytes):
2985 (WebCore::MoviePrivate::cancelLoad):
2986 (WebCore::MoviePrivate::updateStates):
2987 (WebCore::MoviePrivate::loadStateChanged):
2988 (WebCore::MoviePrivate::rateChanged):
2989 (WebCore::MoviePrivate::sizeChanged):
2990 (WebCore::MoviePrivate::timeChanged):
2991 (WebCore::MoviePrivate::volumeChanged):
2992 (WebCore::MoviePrivate::didEnd):
2993 (WebCore::MoviePrivate::setRect):
2994 (WebCore::MoviePrivate::setVisible):
2995 (WebCore::MoviePrivate::paint):
2996 (WebCore::MoviePrivate::getSupportedTypes):
2997 (-[WebCoreMovieObserver loadStateChanged:]):
2998 (-[WebCoreMovieObserver rateChanged:]):
2999 (-[WebCoreMovieObserver sizeChanged:]):
3000 (-[WebCoreMovieObserver timeChanged:]):
3001 (-[WebCoreMovieObserver volumeChanged:]):
3002 (-[WebCoreMovieObserver didEnd:]):
3003 (-[WebCoreMovieObserver setCallback:WebCore::]):
3004 * platform/mac/WebCoreSystemInterface.h:
3005 * platform/mac/WebCoreSystemInterface.mm:
3006 * rendering/RenderLayer.cpp:
3007 (WebCore::RenderLayer::collectLayers):
3008 * rendering/RenderVideo.cpp: Added.
3009 (WebCore::RenderVideo::RenderVideo):
3010 (WebCore::RenderVideo::~RenderVideo):
3011 (WebCore::RenderVideo::movie):
3012 (WebCore::RenderVideo::videoSizeChanged):
3013 (WebCore::RenderVideo::paint):
3014 (WebCore::RenderVideo::layout):
3015 (WebCore::RenderVideo::updateFromElement):
3016 (WebCore::RenderVideo::updateMovie):
3017 (WebCore::RenderVideo::isWidthSpecified):
3018 (WebCore::RenderVideo::isHeightSpecified):
3019 (WebCore::RenderVideo::calcReplacedWidth):
3020 (WebCore::RenderVideo::calcReplacedHeight):
3021 (WebCore::RenderVideo::calcAspectRatioWidth):
3022 (WebCore::RenderVideo::calcAspectRatioHeight):
3023 (WebCore::RenderVideo::calcPrefWidths):
3024 * rendering/RenderVideo.h: Added.
3025 (WebCore::RenderVideo::renderName):
3027 2007-10-30 Sam Weinig <sam@webkit.org>
3029 Reviewed by Adam Roben.
3031 Add Interface and Class UUIDs to the IDLs in preparation of adding
3032 autogeneration of the COM DOM bindings.
3034 * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace.
3035 * css/CSSCharsetRule.idl:
3036 * css/CSSFontFaceRule.idl:
3037 * css/CSSImportRule.idl:
3038 * css/CSSMediaRule.idl:
3039 * css/CSSPageRule.idl:
3040 * css/CSSPrimitiveValue.idl:
3042 * css/CSSRuleList.idl:
3043 * css/CSSStyleDeclaration.idl:
3044 * css/CSSStyleRule.idl:
3045 * css/CSSStyleSheet.idl:
3046 * css/CSSUnknownRule.idl:
3048 * css/CSSValueList.idl:
3050 * css/MediaList.idl:
3053 * css/StyleSheet.idl:
3054 * css/StyleSheetList.idl:
3056 * dom/CDATASection.idl:
3057 * dom/CharacterData.idl:
3059 * dom/DOMImplementation.idl:
3061 * dom/DocumentFragment.idl:
3062 * dom/DocumentType.idl:
3065 * dom/EntityReference.idl:
3067 * dom/EventListener.idl:
3068 * dom/EventTarget.idl:
3069 * dom/NamedNodeMap.idl:
3073 * dom/ProcessingInstruction.idl:
3075 * html/CanvasGradient.idl:
3076 * html/CanvasPattern.idl:
3077 * html/CanvasRenderingContext2D.idl:
3078 * html/HTMLAnchorElement.idl:
3079 * html/HTMLAppletElement.idl:
3080 * html/HTMLAreaElement.idl:
3081 * html/HTMLBRElement.idl:
3082 * html/HTMLBaseElement.idl:
3083 * html/HTMLBaseFontElement.idl:
3084 * html/HTMLBlockquoteElement.idl:
3085 * html/HTMLBodyElement.idl:
3086 * html/HTMLButtonElement.idl:
3087 * html/HTMLCanvasElement.idl:
3088 * html/HTMLCollection.idl:
3089 * html/HTMLDListElement.idl:
3090 * html/HTMLDirectoryElement.idl:
3091 * html/HTMLDivElement.idl:
3092 * html/HTMLDocument.idl:
3093 * html/HTMLElement.idl:
3094 * html/HTMLEmbedElement.idl:
3095 * html/HTMLFieldSetElement.idl:
3096 * html/HTMLFontElement.idl:
3097 * html/HTMLFormElement.idl:
3098 * html/HTMLFrameElement.idl:
3099 * html/HTMLFrameSetElement.idl:
3100 * html/HTMLHRElement.idl:
3101 * html/HTMLHeadElement.idl:
3102 * html/HTMLHeadingElement.idl:
3103 * html/HTMLHtmlElement.idl:
3104 * html/HTMLIFrameElement.idl:
3105 * html/HTMLImageElement.idl:
3106 * html/HTMLInputElement.idl:
3107 * html/HTMLIsIndexElement.idl:
3108 * html/HTMLLIElement.idl:
3109 * html/HTMLLabelElement.idl:
3110 * html/HTMLLegendElement.idl:
3111 * html/HTMLLinkElement.idl:
3112 * html/HTMLMapElement.idl:
3113 * html/HTMLMarqueeElement.idl:
3114 * html/HTMLMenuElement.idl:
3115 * html/HTMLMetaElement.idl:
3116 * html/HTMLModElement.idl:
3117 * html/HTMLOListElement.idl:
3118 * html/HTMLObjectElement.idl:
3119 * html/HTMLOptGroupElement.idl:
3120 * html/HTMLOptionElement.idl:
3121 * html/HTMLOptionsCollection.idl:
3122 * html/HTMLParagraphElement.idl:
3123 * html/HTMLParamElement.idl:
3124 * html/HTMLPreElement.idl:
3125 * html/HTMLQuoteElement.idl:
3126 * html/HTMLScriptElement.idl:
3127 * html/HTMLSelectElement.idl:
3128 * html/HTMLStyleElement.idl:
3129 * html/HTMLTableCaptionElement.idl:
3130 * html/HTMLTableCellElement.idl:
3131 * html/HTMLTableColElement.idl:
3132 * html/HTMLTableElement.idl:
3133 * html/HTMLTableRowElement.idl:
3134 * html/HTMLTableSectionElement.idl:
3135 * html/HTMLTextAreaElement.idl:
3136 * html/HTMLTitleElement.idl:
3137 * html/HTMLUListElement.idl:
3139 2007-10-30 Adele Peterson <adele@apple.com>
3143 * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round.
3145 2007-10-29 Timothy Hatcher <timothy@apple.com>
3147 Reviewed by John Sullivan.
3149 - Allow showing and closing the inspector programatically.
3150 - Add showConsole() and showTimeline() methods.
3152 * WebCore.base.exp: Add exports for WebKit.
3153 * page/InspectorController.cpp:
3154 (WebCore::callSimpleFunction): Renamed from callClearFunction().
3155 (WebCore::unloading): Renamed to close().
3156 (WebCore::InspectorController::InspectorController):
3157 (WebCore::InspectorController::inspect): Moved showing code to show().
3158 (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed.
3159 (WebCore::InspectorController::show): Code factored out of inspect().
3160 (WebCore::InspectorController::showConsole): Call show() and the JS showConsole().
3161 (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline().
3162 (WebCore::InspectorController::close):
3163 (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction.
3164 (WebCore::InspectorController::clearDatabaseScriptResources): Ditto.
3165 (WebCore::InspectorController::clearScriptConsoleMessages): Ditto.
3166 (WebCore::InspectorController::clearNetworkTimeline): Ditto.
3167 * page/InspectorController.h: Add and rename methods.
3168 * page/inspector/inspector.js: Add showConsole() and showTimeline().
3170 2007-10-30 Adele Peterson <adele@apple.com>
3176 * page/AnimationController.cpp: (WebCore::blendFunc):
3178 2007-10-30 Adele Peterson <adele@apple.com>
3182 WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
3183 <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
3185 Test: manual-tests/password-caps-lock.html
3187 * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged.
3189 * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged.
3190 * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged.
3191 * page/EventHandler.h:
3193 * platform/PlatformKeyboardEvent.h:
3194 * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
3195 * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added.
3197 * rendering/RenderTextControl.cpp:
3198 (WebCore::RenderTextControl::RenderTextControl):
3199 (WebCore::RenderTextControl::paint): Added. If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background.
3200 (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state.
3201 (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field,
3202 and the frame is active, and the element is focused, and the caps lock is on. Causes a repaint when m_shouldDrawCapsLockIndicator changes state.
3203 * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator.
3204 * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added.
3206 * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added.
3207 * rendering/RenderThemeMac.h:
3208 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added. Calls wkDrawCapsLockIndicator.
3209 * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added. Calls paintThemePart for the CapsLockPart.
3210 * rendering/RenderThemeSafari.h:
3212 2007-10-30 David Hyatt <hyatt@apple.com>
3214 Land support for implicit animation in CSS.
3216 Reviewed by mitz, darin
3218 * css/CSSParser.cpp:
3219 (WebCore::CSSParser::parseTimingFunctionValue):
3220 (WebCore::CSSParser::parseTransitionTimingFunction):
3221 (WebCore::CSSParser::parseTransitionProperty):
3222 * css/CSSStyleSelector.cpp:
3223 (WebCore::CSSStyleSelector::mapTransitionDuration):
3224 (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
3225 (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
3226 (WebCore::CSSStyleSelector::mapTransitionProperty):
3227 * css/CSSTimingFunctionValue.h:
3228 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3229 (WebCore::CSSTimingFunctionValue::x1):
3230 (WebCore::CSSTimingFunctionValue::y1):
3231 (WebCore::CSSTimingFunctionValue::x2):
3232 (WebCore::CSSTimingFunctionValue::y2):
3234 (WebCore::Element::styleForRenderer):
3235 (WebCore::Element::createRenderer):
3237 (WebCore::Node::createRendererIfNeeded):
3238 (WebCore::Node::setRenderStyle):
3239 * page/AnimationController.cpp:
3240 (WebCore::CurveData::CurveData):
3241 (WebCore::CurveData::sampleCurveX):
3242 (WebCore::CurveData::sampleCurveY):
3243 (WebCore::CurveData::sampleCurveDerivativeX):
3244 (WebCore::CurveData::solveCurveX):
3245 (WebCore::solveEpsilon):
3246 (WebCore::solveCubicBezierFunction):
3247 (WebCore::ImplicitAnimation::finished):
3248 (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation):
3249 (WebCore::CompositeImplicitAnimation::hasAnimationForProperty):
3250 (WebCore::ImplicitAnimation::ImplicitAnimation):
3251 (WebCore::ImplicitAnimation::~ImplicitAnimation):
3252 (WebCore::ImplicitAnimation::reset):
3253 (WebCore::ImplicitAnimation::progress):
3254 (WebCore::blendFunc):
3255 (WebCore::ImplicitAnimation::animate):
3256 (WebCore::CompositeImplicitAnimation::animate):
3257 (WebCore::CompositeImplicitAnimation::animating):
3258 (WebCore::CompositeImplicitAnimation::reset):
3259 (WebCore::AnimationControllerPrivate::hasImplicitAnimations):
3260 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
3261 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate):
3262 (WebCore::AnimationControllerPrivate::get):
3263 (WebCore::AnimationControllerPrivate::clear):
3264 (WebCore::AnimationControllerPrivate::updateTimer):
3265 (WebCore::AnimationControllerPrivate::timerFired):
3267 (WebCore::AnimationController::~AnimationController):
3268 (WebCore::AnimationController::cancelImplicitAnimations):
3269 (WebCore::AnimationController::updateImplicitAnimations):
3270 (WebCore::AnimationController::suspendAnimations):
3271 (WebCore::AnimationController::resumeAnimations):
3272 * page/AnimationController.h:
3274 (WebCore::FramePrivate::FramePrivate):
3275 * rendering/RenderBox.cpp:
3276 (WebCore::RenderBox::setStyle):
3277 (WebCore::RenderBox::destroy):
3278 * rendering/RenderObject.cpp:
3279 (WebCore::RenderObject::setAnimatableStyle):
3280 (WebCore::RenderObject::destroy):
3281 * rendering/RenderObject.h:
3282 * rendering/RenderStyle.h:
3283 (WebCore::TimingFunction::TimingFunction):
3284 (WebCore::TimingFunction::operator==):
3285 (WebCore::TimingFunction::x1):
3286 (WebCore::TimingFunction::y1):
3287 (WebCore::TimingFunction::x2):
3288 (WebCore::TimingFunction::y2):
3289 (WebCore::TimingFunction::type):
3290 (WebCore::Transition::transitionProperty):
3291 (WebCore::Transition::setTransitionProperty):
3292 (WebCore::RenderStyle::initialTransitionProperty):
3293 * rendering/RenderWidget.cpp:
3294 (WebCore::RenderWidget::destroy):
3296 2007-10-29 Beth Dakin <bdakin@apple.com>
3300 Fix for <rdar://problem/5399614> anchor tag is not rendered without
3301 text content, works in Firefox with CSS background-image (13237)
3303 This patch allows empty inlines that have box decorations or width
3304 from border/padding/margin to have line boxes.
3306 * rendering/bidi.cpp:
3307 (WebCore::inlineFlowAllowsLineBox): Convenience function that
3308 defines when we allow an inline flow to have a line box.
3309 (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox.
3310 (WebCore::shouldSkipWhitespaceAfterStartObject): New function to
3311 merge some shared code between list markers and empty inline flows
3312 that fall at the beginning of a line.
3313 (WebCore::RenderBlock::findNextLineBreak): Make flows more like
3316 One interesting side effect of this bug appeared in our xhtml/svg
3317 tests that generate parser error tags. The tag we generate was
3318 actually an empty inline with box decorations. This patch causes
3319 those inlines to draw now, and the parser errors looked strange. So
3320 I changed it so that the parsererror tag is display:block. This
3321 matches Firefox, and I think was the original intent of the tag
3322 since that causes its red background and border to show up.
3323 * dom/XMLTokenizer.cpp:
3324 (WebCore::createXHTMLParserErrorHeader):
3326 2007-10-29 Dan Bernstein <mitz@apple.com>
3328 Reviewed by Dave Hyatt.
3330 - fix crashing tests fast/frames/inline-object-inside-frameset.html and
3331 fast/forms/form-hides-table.html
3333 * rendering/RenderBox.cpp:
3334 (WebCore::RenderBox::destroy):
3335 * rendering/RenderWidget.cpp:
3336 (WebCore::RenderWidget::destroy):
3338 2007-10-29 Dan Bernstein <mitz@apple.com>
3340 Reviewed by Adam Roben.
3342 - fix http://bugs.webkit.org/show_bug.cgi?id=15750
3343 REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern()
3345 Test: fast/backgrounds/size/zero.html
3347 * platform/graphics/cg/ImageCG.cpp:
3348 (WebCore::Image::drawPattern): Added an ASSERT and an early return
3349 to guard against singular pattern transforms.
3350 * rendering/RenderBox.cpp:
3351 (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile
3354 2007-10-29 Alp Toker <alp@atoker.com>
3358 Add GTK+ convenience conversions for various primitives
3361 * platform/graphics/Color.h:
3362 * platform/graphics/IntPoint.h:
3363 * platform/graphics/IntRect.h:
3364 * platform/graphics/gtk/ColorGtk.cpp: Added.
3365 (WebCore::Color::Color):
3366 * platform/graphics/gtk/IntPointGtk.cpp: Added.
3367 (WebCore::IntPoint::IntPoint):
3368 (WebCore::IntPoint::operator GdkPoint):
3369 * platform/graphics/gtk/IntRectGtk.cpp: Added.
3370 (WebCore::IntRect::IntRect):
3371 (WebCore::IntRect::operator GdkRectangle):
3373 2007-10-29 Jon Honeycutt <jhoneycutt@apple.com>
3377 Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at
3378 http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari
3381 I cannot reproduce this hang, but it is likely due to our not limiting
3382 WM_USER+1 messages or InvalidateRect calls for a plugin with initially-
3383 unknown MIME type. The embed tag on the page is missing a type
3384 attribute, so as fallback, we choose to load the Flash plugin based on
3385 the file extension of "swf." However, we do not record this determined
3386 MIME type, and so our quirks cannot be established.
3388 Changed findPlugin() so that, if it fails to find a plugin for the
3389 given MIME type, it will lookup the MIME type for the file extension -
3390 overwriting its passed MIME type parameter - and search for a plugin
3393 * plugins/win/PluginDatabaseWin.cpp:
3394 (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return
3395 if the MIME type is empty
3396 (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace
3397 pluginForExtension. Returns a String with the MIME type for the file
3398 extension. Also, changed to use case-insensitive compares
3399 (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin
3400 for the given extension, overwrite the incoming MIME type parameter
3401 with the MIME type for the file extension, and search for a plugin for
3402 that MIME type. Also, changed the way that the extension is determined
3403 (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String
3404 to findPlugin() so that it can be updated if necessary
3405 * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non-
3406 const String, removed definition of pluginForExtension, added
3407 definition for MIMETypeForExtension
3408 * plugins/win/PluginPackageWin.cpp:
3409 (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in
3410 lowercase for easier compares
3412 2007-10-29 Andrew Wellington <proton@wiretapped.net>
3414 Not reviewed - build fix
3418 WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized
3421 * xml/XSLTProcessor.cpp:
3422 (WebCore::XSLTProcessor::parseErrorFunc):
3424 2007-10-29 Alp Toker <alp@atoker.com>
3426 Reviewed by Adam Roben.
3428 http://bugs.webkit.org/show_bug.cgi?id=15725
3429 [GTK] WebCore.pro header dependencies are incorrect
3431 Fix header dependencies in the build system
3433 INCLUDEPATH and DEPENDPATH are now up to date.
3437 2007-10-29 Beth Dakin <bdakin@apple.com>
3441 * css/CSSParser.cpp:
3442 (WebCore::CSSParser::parseTimingFunctionValue):
3443 * css/CSSStyleSelector.cpp:
3444 (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
3446 2007-10-29 David Hyatt <hyatt@apple.com>
3448 Land the back end for CSS animated property transitions. I am landing this in stages, so the AnimationController
3449 class is deliberately left empty.
3451 Reviewed by darin/aroben
3454 * WebCore.vcproj/WebCore.vcproj:
3455 * WebCore.xcodeproj/project.pbxproj:
3456 * css/CSSComputedStyleDeclaration.cpp:
3457 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3458 * css/CSSPropertyNames.in:
3459 * css/CSSTimingFunctionValue.cpp: Added.
3460 (WebCore::CSSTimingFunctionValue::cssText):
3461 * css/CSSTimingFunctionValue.h: Added.
3462 (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
3463 (WebCore::CSSTimingFunctionValue::firstPoint):
3464 (WebCore::CSSTimingFunctionValue::secondPoint):
3465 * css/CSSValueKeywords.in:
3466 * history/CachedPage.cpp:
3467 (WebCore::CachedPage::restore):
3468 * page/AnimationController.cpp: Added.
3469 (WebCore::AnimationController::AnimationController):
3470 (WebCore::AnimationController::~AnimationController):
3471 (WebCore::AnimationController::cancelTransitions):
3472 (WebCore::AnimationController::updateTransitions):
3473 (WebCore::AnimationController::suspendAnimations):
3474 (WebCore::AnimationController::resumeAnimations):
3475 * page/AnimationController.h: Added.
3477 (WebCore::Frame::animationController):
3478 (WebCore::Frame::clearTimers):
3480 * page/FramePrivate.h:
3481 * rendering/RenderBox.cpp:
3482 (WebCore::RenderBox::setStyle):
3483 (WebCore::RenderBox::destroy):
3484 * rendering/RenderObject.cpp:
3485 (WebCore::RenderObject::animationController):
3486 * rendering/RenderObject.h:
3487 * rendering/RenderStyle.cpp:
3488 (WebCore::Transition::Transition):
3489 (WebCore::Transition::~Transition):
3490 (WebCore::Transition::operator=):
3491 (WebCore::Transition::operator==):
3492 (WebCore::Transition::fillUnsetProperties):
3493 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3494 (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
3495 (WebCore::StyleRareNonInheritedData::operator==):
3496 (WebCore::StyleRareNonInheritedData::transitionDataEquivalent):
3497 (WebCore::RenderStyle::diff):
3498 (WebCore::RenderStyle::adjustTransitions):
3499 (WebCore::RenderStyle::accessTransitions):
3500 * rendering/RenderStyle.h:
3501 (WebCore::BackgroundLayer::next):
3503 (WebCore::TimingFunction::TimingFunction):
3504 (WebCore::TimingFunction::operator==):
3505 (WebCore::Transition::next):
3506 (WebCore::Transition::isTransitionDurationSet):
3507 (WebCore::Transition::isTransitionRepeatCountSet):
3508 (WebCore::Transition::isTransitionTimingFunctionSet):
3509 (WebCore::Transition::isTransitionPropertySet):
3510 (WebCore::Transition::isEmpty):
3511 (WebCore::Transition::clearTransitionDuration):
3512 (WebCore::Transition::clearTransitionRepeatCount):
3513 (WebCore::Transition::clearTransitionTimingFunction):
3514 (WebCore::Transition::clearTransitionProperty):
3515 (WebCore::Transition::transitionDuration):
3516 (WebCore::Transition::transitionRepeatCount):
3517 (WebCore::Transition::transitionTimingFunction):
3518 (WebCore::Transition::transitionProperty):
3519 (WebCore::Transition::setTransitionDuration):
3520 (WebCore::Transition::setTransitionRepeatCount):
3521 (WebCore::Transition::setTransitionTimingFunction):
3522 (WebCore::Transition::setTransitionProperty):
3523 (WebCore::Transition::setNext):
3524 (WebCore::Transition::operator!=):
3525 (WebCore::RenderStyle::transitions):
3526 (WebCore::RenderStyle::clearTransitions):
3527 (WebCore::RenderStyle::inheritTransitions):
3528 (WebCore::RenderStyle::initialTransitionDuration):
3529 (WebCore::RenderStyle::initialTransitionRepeatCount):
3530 (WebCore::RenderStyle::initialTransitionTimingFunction):
3531 (WebCore::RenderStyle::initialTransitionProperty):
3532 * rendering/RenderWidget.cpp:
3533 (WebCore::RenderWidget::destroy):
3535 2007-10-29 Alexey Proskuryakov <ap@webkit.org>
3539 http://bugs.webkit.org/show_bug.cgi?id=6040
3540 XSLT does not report errors to the user
3542 Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet.
3543 Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console
3544 output. Got rid of DeprecatedString in XSLTProcessor.
3547 (WebCore::Document::applyXSLTransform):
3548 * xml/XSLStyleSheet.cpp:
3549 (WebCore::XSLStyleSheet::parseString):
3550 * xml/XSLTProcessor.cpp:
3551 (WebCore::XSLTProcessor::parseErrorFunc):
3552 (WebCore::docLoaderFunc):
3553 (WebCore::setXSLTLoadCallBack):
3554 (WebCore::writeToString):
3555 (WebCore::saveResultToString):
3556 (WebCore::transformTextStringToXHTMLDocumentString):
3557 (WebCore::xsltParamArrayFromParameterMap):
3558 (WebCore::freeXsltParamArray):
3559 (WebCore::XSLTProcessor::createDocumentFromSource):
3560 (WebCore::createFragmentFromSource):
3561 (WebCore::xsltStylesheetPointer):
3562 (WebCore::xmlDocPtrFromNode):
3563 (WebCore::resultMIMEType):
3564 (WebCore::XSLTProcessor::transformToString):
3565 (WebCore::XSLTProcessor::transformToDocument):
3566 (WebCore::XSLTProcessor::transformToFragment):
3567 * xml/XSLTProcessor.h:
3568 (WebCore::XSLTProcessor::setXSLStylesheet):
3569 (WebCore::XSLTProcessor::importStylesheet):
3570 (WebCore::XSLTProcessor::xslStylesheet):
3572 2007-10-29 Dan Bernstein <mitz@apple.com>
3574 Reviewed by John Sullivan.
3576 - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page
3578 Test: fast/repaint/layout-state-only-positioned.html
3580 * rendering/RenderBlock.cpp:
3581 (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state
3582 before updating scroll info, which possibly repaints us.
3584 2007-10-29 David Kilzer <ddkilzer@webkit.org>
3586 REGRESSION (r17701): Favicons should be viewable as image documents
3587 <http://bugs.webkit.org/show_bug.cgi?id=15640>
3591 On Tiger and Leopard, the image/x-icon MIME type is not returned from
3592 CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused
3593 the icon to be downloaded instead being displayed in an image document.
3595 Test: fast/images/favicon-as-image.html
3597 * platform/MIMETypeRegistry.cpp:
3598 (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to
3599 supportedImageMIMETypes and supportedImageResourceMIMETypes. Also fixed
3600 comment about the image/bmp MIME type since it applies to both Tiger and
3603 2007-10-29 Maciej Stachowiak <mjs@apple.com>
3607 - fixed assertion failures detected by the new assertions
3609 * bindings/objc/DOMRGBColor.mm:
3610 (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc]