2008-08-10 Dan Bernstein Reviewed by Eric Seidel. - fix https://bugs.webkit.org/show_bug.cgi?id=20339 REGRESSION (r35531-r35615): Acid3 crashes on Windows in CachedFont::getSVGFontById * dom/make_names.pl: Removed "using namespace WebCore::*Names" from *ElementFactory.cpp files. 2008-08-10 Mark Rowe Reviewed by Cameron Zwarich. Fix crash in Acid3 in Windows and Gtk ports, introduced in r35590. * bindings/js/ScriptControllerGtk.cpp: Fix the logic. * bindings/js/ScriptControllerWin.cpp: Ditto. * bindings/js/ScriptControllerQt.cpp: Switch to isPluginView for consistency with Gtk and Windows. 2008-08-10 Dan Bernstein Reviewed by Darin Adler. - fix REGRESSION (34722): Unable to view AT&T wireless bill - window title contains markup, window is empty Test: fast/tokenizer/ampersand-in-special-tag.html * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseSpecial): Changed to only advance lastDecodedEntityPosition if an entity was found and decoded. 2008-08-10 Jan Michael Alonzo Reviewed (and updated) by Alp Toker. https://bugs.webkit.org/show_bug.cgi?id=16620 [GTK] Autotools make dist and make check support Get make dist working. Note that not all possible configurations have been tested yet. * GNUmakefile.am: 2008-08-08 Beth Dakin Reviewed by Darin. This patch makes the findString and markAllMatchesForText functions work with disconnected frames that are contained within overflow:hidden blocks. * editing/Editor.cpp: (WebCore::Editor::rangeVisibility): (WebCore::Editor::firstVisibleRange): (WebCore::Editor::lastVisibleRange): * editing/Editor.h: (WebCore::Editor::): * page/Frame.cpp: (WebCore::Frame::findString): (WebCore::Frame::markAllMatchesForText): 2008-08-08 Maxime Britto Reviewed by Adele. Test: fast/events/scroll-to-anchor-in-overflow-hidden.html https://bugs.webkit.org/show_bug.cgi?id=20270 Jump to an anchor wasn't working when the overflow:hidden CSS attribute was set on the page. * WebCore.base.exp: * dom/Element.cpp: (WebCore::Element::scrollIntoView): (WebCore::Element::scrollIntoViewIfNeeded): * loader/FrameLoader.cpp: (WebCore::FrameLoader::gotoAnchor): * page/EventHandler.cpp: (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDraggedEvent): * page/Frame.cpp: (WebCore::Frame::revealSelection): (WebCore::Frame::revealCaret): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Takes a new parameter "scrollToAnchor" since it's a special case of scroll. It passes this new bool to canBeProgrammaticallyScrolled. (WebCore::RenderLayer::autoscroll): * rendering/RenderLayer.h: * rendering/RenderListBox.h: (WebCore::RenderListBox::canBeProgramaticallyScrolled): * rendering/RenderObject.cpp: (WebCore::RenderObject::canBeProgramaticallyScrolled): If the call is coming from a scrollToAnchor we don't need scrollBars to accept. * rendering/RenderObject.h: * rendering/RenderTextControl.h: (WebCore::RenderTextControl::canBeProgramaticallyScrolled): 2008-08-08 Maxime Britto Reviewed by Adele. REGRESSION(r35177-r35203): Scrolling slowly over a scrollable field scrolls the page instead of the field (20331) * page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): fixed the wrong cast for the wheel delta which was truncated to 0 on slow wheel scrolls. 2008-08-08 Dean Jackson Execute CSS Animations using new AnimationController https://bugs.webkit.org/show_bug.cgi?id=20119 I still need to file some follow-on bugs that EricS noticed. Reviewed by Dave Hyatt Some new tests: * manual-tests/animate-duration.html: Added. * manual-tests/animate-left.html: Added. * manual-tests/animate-none.html: Added. * css/CSSStyleSelector.cpp: * dom/Document.cpp: - don't redo style when page is place into cache * page/AnimationController.cpp: * page/AnimationController.h: - execute the animations * rendering/RenderObject.cpp: * rendering/style/RenderStyle.h: - make border radii const (for blending) 2008-08-08 Kevin McCullough Reviewed by Tim. JSProfiler: Start/stop profiling button in the Web Inspector does not match the menu. * page/InspectorController.cpp: (WebCore::InspectorController::toggleRecordButton): Toggle the record button in the webInspector. (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling): * page/InspectorController.h: * page/inspector/ProfilesPanel.js: Move the UI part of the record button into its funtion so that it can be called from the Inspector controller. * page/inspector/inspector.js: 2008-08-08 Kevin McCullough Reviewed by Tim. Profiles don't show up immediately when run with the UI. * page/InspectorController.cpp: (WebCore::startProfiling): Added so that the inspector's JS code could call through to the same function used by the Develop menu. This way both can call didFinishAllExecution() which puts the profile in the Web Inspector. (WebCore::stopProfiling): Ditto (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::stopUserInitiatedProfiling): Now calls didFinishAllExecution() to put the profile in the Web Inspector. This should be safe since the UIs shouldn't work if JS is still running. * page/inspector/ProfilesPanel.js: Use the new functions. 2008-08-08 Dan Bernstein Reviewed by Darin Adler. - fix GDI text: transparent fill color text does not render if it it has a stroke or shadow * platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): 2008-08-08 Adam Treat Reviewed by Simon. Return the canonical file path in Qt's listDirectory as WebCore::PluginDatabase uses this method to retrieve a list of possible plugins. Many linux systems have nested symbolic links scattered throughout the plugin directories which resulted in the PluginDatabase loading the same plugin N times depending on the number of symbolic links. * platform/qt/FileSystemQt.cpp: (WebCore::listDirectory): 2008-08-07 Anthony Ricaud Change highlight time from 300ms to 500ms and fade effect from 1s to 2s https://bugs.webkit.org/show_bug.cgi?id=20055 Reviewed by Timothy Hatcher. * page/inspector/SourceFrame.js: 2008-08-07 Anthony Ricaud The search is only performed if the field contains more than 3 letters or if Enter is pressed. Search is now performed through a keyup event. Added a WebInspector.lastQuery to remember the last query and not perform it again (eg. the user hits a modifier key). https://bugs.webkit.org/show_bug.cgi?id=18548 Reviewed by Timothy Hatcher. * page/inspector/inspector.html: Removed the onsearch and incremental attributes * page/inspector/inspector.js: 2008-08-07 Steve Falkenburg Compile derived sources through an all-in-one cpp file. Fixes Windows release build on non-x64 systems by reducing the size of WebCore.lib from 1.5GB to 1GB. Reviewed by Mark Rowe. * DerivedSources.cpp: Added. * WebCore.vcproj/WebCore.vcproj: 2008-08-07 Kevin McCullough Reviewed by Adam. Confusing console error message clear behavior (16791) https://bugs.webkit.org/show_bug.cgi?id=16791 The Web Inspector does not correctly clear the console messages * page/InspectorController.cpp: Clear the message so they don't show up in the inspector after it has cleared them. (WebCore::clearMessages): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::windowScriptObjectAvailable): * page/InspectorController.h: * page/inspector/Console.js: Tell the InspectorController to clear the messages it's holding onto. 2008-08-07 Simon Fraser Reviewed by Sam Weinig Rename Marquee to RenderMarquee and move to its own file. https://bugs.webkit.org/show_bug.cgi?id=20319 * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * html/HTMLMarqueeElement.cpp: * rendering/RenderBlock.cpp: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::styleChanged): * rendering/RenderLayer.h: * rendering/RenderMarquee.cpp: Added. (WebCore::RenderMarquee::RenderMarquee): (WebCore::RenderMarquee::marqueeSpeed): (WebCore::RenderMarquee::direction): (WebCore::RenderMarquee::isHorizontal): (WebCore::RenderMarquee::computePosition): (WebCore::RenderMarquee::start): (WebCore::RenderMarquee::suspend): (WebCore::RenderMarquee::stop): (WebCore::RenderMarquee::updateMarqueePosition): (WebCore::RenderMarquee::updateMarqueeStyle): (WebCore::RenderMarquee::timerFired): * rendering/RenderMarquee.h: Added. (WebCore::RenderMarquee::speed): (WebCore::RenderMarquee::reverseDirection): (WebCore::RenderMarquee::setEnd): 2008-08-07 Dan Bernstein Reviewed by Dave Hyatt. - fix Initial empty page or bookmarks view window has white strip where vertical scrollbar would be (which vanishes on resize) * page/Frame.cpp: (WebCore::Frame::setZoomFactor): If the view has never had a layout with the old zoom factor, then there is no need to explicitly call layout() here. 2008-08-07 Kevin McCullough Reviewed by Geoff. Start the profiler in Heavy view * page/inspector/ProfileView.js: 2008-08-07 Alp Toker Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=20313 Add null check in String::fromUTF8() Make String::fromUTF8() consistent with other constructors by returning a null String when the input is null instead of crashing. * platform/text/String.cpp: (WebCore::String::fromUTF8): 2008-08-06 Kevin Ollivier wx build fix after Frame -> ScriptController moves. * platform/wx/TemporaryLinkStubs.cpp: 2008-08-06 Kevin McCullough Reviewed by Tim. - Make XHR console message clearer. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading): 2008-08-06 Kevin McCullough Reviewed by Tim. - Created a new function to create DOM links from text without converting back and forth from HTML and messing with escaping special characters. * page/inspector/Console.js: * page/inspector/inspector.js: * page/inspector/utilities.js: 2008-08-06 Eric Seidel Reviewed by hyatt. Fix a large animation leak found on the buildbot (m_animations and m_transitions were never deleted) Drag RenderStyle (kicking and screaming) into the 21st century of memory management with a little application of OwnPtr. * rendering/style/RenderStyle.cpp: (WebCore::FillLayer::cullEmptyLayers): (WebCore::RenderStyle::diff): (WebCore::RenderStyle::contentDataEquivalent): (WebCore::RenderStyle::setContent): (WebCore::BindingURI::BindingURI): (WebCore::RenderStyle::setBoxShadow): (WebCore::ShadowData::ShadowData): (WebCore::RenderStyle::counterDirectives): (WebCore::RenderStyle::accessCounterDirectives): (WebCore::RenderStyle::adjustAnimations): (WebCore::RenderStyle::adjustTransitions): (WebCore::RenderStyle::accessAnimations): (WebCore::RenderStyle::accessTransitions): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::clearAnimations): (WebCore::RenderStyle::clearTransitions): 2008-08-06 Brady Eidson Reviewed by MitzPettel - Many LocalStorageThreads may be started The original decision to key LocalStorage sets to PageGroups was a poor one. It seems a much better solution is to key them to the actual path of on-disk storage, which also solves all of the avenues that could lead to a boundless number of threads. In this patch, I am not attempting to completely sever the attachment of LocalStorage to PageGroups as that would require a more substantial re-working of the lifetime between pages, groups, and local storage threads. * page/PageGroup.cpp: (WebCore::PageGroup::addPage): * storage/LocalStorage.cpp: (WebCore::localStorageMap): Map paths to LocalStorage objects here. (WebCore::LocalStorage::localStorage): Return the shared LocalStorage object for this path, or create a new one if it doesn't yet exist. (WebCore::LocalStorage::LocalStorage): (WebCore::LocalStorage::~LocalStorage): Add to remove the path->LocalStorage mapping * storage/LocalStorage.h: 2008-08-06 Beth Dakin Reviewed by Adele. Fix for Disconnected frames should not be allowed to resize the window. * page/DOMWindow.cpp: (WebCore::DOMWindow::resizeBy): (WebCore::DOMWindow::resizeTo): 2008-08-05 David D. Kilzer Bug 20038: REGRESSION (r35151): Can't post comments on flickr.com Reviewed by Eric Seidel. Test: fast/forms/submit-to-url-fragment.html The problem was that isFormSubmission was not being set to true in FrameLoader::loadWithDocumentLoader() when we were actually submitting a form, causing the page to scroll instead of the form to be submitted. The isFormSubmission variable wasn't set to true because a FormState object was not being created in FrameLoader::loadFrameRequestWithFormAndValues(). The FormState object was not being created because HTMLFormElement::submit(Event*, bool activateSubmitButton) would only set FrameLoader::m_formAboutToBeSubmitted to the current form if there was a "text field" element in the form (type = text, password, search or isindex). Thus when FrameLoader::submitForm(const FrameLoadRequest&, Event*) called FrameLoader::loadFrameRequestWithFormAndValues(), a null HTMLFormElement pointer would be sent and cause the above failures. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Call new FrameLoader::setFormAboutToBeSubmitted() method outside the for loop so we always set FrameLoader::m_formAboutToBeSubmitted exactly once for any form submission. The FrameLoader::recordFormValue() method is only called with the name/value pair of each text field. * loader/FrameLoader.cpp: (WebCore::FrameLoader::setFormAboutToBeSubmitted): Added method that only sets m_formAboutToBeSubmitted. (WebCore::FrameLoader::recordFormValue): Removed PassRefPtr argument since this method only sets name/value pairs on m_formValuesAboutToBeSubmitted now. (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Create a FormState object as long as submitForm is not null so that other FrameLoader methods know when a form is being submitted. * loader/FrameLoader.h: 2008-08-06 David D. Kilzer BUILD FIX: Add HTMLPlugInImageElement.cpp to all other build systems * GNUmakefile.am: * WebCore.pro: * WebCoreSources.bkl: 2008-08-06 Dan Bernstein - Windows build fix * WebCore.vcproj/WebCore.vcproj: Added PlugInImageElement.* 2008-08-06 Kevin McCullough Reviewed by Tim and Darin. URLs in the console should be clickable. - Implemented and now use linkifyString() to parse console messages for URLs. * page/inspector/Console.js: * page/inspector/inspector.js: * page/inspector/utilities.js: 2008-07-02 David Kilzer Images using QT plugin do not display correctly Reviewed by Darin. Tests: fast/images/embed-image.html fast/images/object-image.html Use RenderImage instead of RenderPartObject for a renderer when the tag references an image. Extract common code from HTMLEmbedElement and HTMLObjectElement into HTMLPlugInImageElement. * WebCore.xcodeproj/project.pbxproj: Added new source files. * html/HTMLEmbedElement.cpp: Cleaned up #include statements. (WebCore::HTMLEmbedElement::HTMLEmbedElement): Extend HTMLPlugInImageElement which extends HTMLPlugInElement. (WebCore::HTMLEmbedElement::parseMappedAttribute): Split codeAttr and srcAttr cases. Create or clear HTMLImageLoader as needed for srcAttr. (WebCore::HTMLEmbedElement::rendererIsNeeded): Use HTMLPlugInElement::rendererIsNeeded() for images. (WebCore::HTMLEmbedElement::createRenderer): Create a RenderImage instead of a RenderPartObject for images. (WebCore::HTMLEmbedElement::attach): Create HTMLImageLoader, load image and populate RenderImage for images. (WebCore::HTMLEmbedElement::updateWidget): Don't call RenderPartObject::updateWidget() for images. (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added. * html/HTMLEmbedElement.h: Removed unneeded namespace and class declarations. Extend HTMLPlugInImageElement which extends HTMLPlugInElement. (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added. (WebCore::HTMLEmbedElement::serviceType): Moved to HTMLPlugInImageElement. (WebCore::HTMLEmbedElement::url): Ditto. * html/HTMLObjectElement.cpp: Cleaned up #include statements. (WebCore::HTMLObjectElement::attach): Removed local variable. (WebCore::HTMLObjectElement::isImageType): Moved to HTMLPlugInImageElement. * html/HTMLObjectElement.h: Extend HTMLPlugInImageElement which extends HTMLPlugInElement. (WebCore::HTMLObjectElement::isImageType): Moved to HTMLPlugInImageElement. (WebCore::HTMLObjectElement::serviceType): Ditto. (WebCore::HTMLObjectElement::url): Ditto. * html/HTMLPlugInImageElement.cpp: Added. (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Added. (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Added. (WebCore::HTMLPlugInImageElement::isImageType): Moved from HTMLObjectElement. * html/HTMLPlugInImageElement.h: Added. (WebCore::HTMLPlugInImageElement::isImageType): Added from HTMLObjectElement. (WebCore::HTMLPlugInImageElement::serviceType): Ditto. (WebCore::HTMLPlugInImageElement::url): Ditto. * rendering/HitTestResult.cpp: (WebCore::HitTestResult::absoluteImageURL): Return urlString for embed elements with images. 2008-08-06 Marco Barisione Reviewed by Eric Seidel. http://bugs.webkit.org/show_bug.cgi?id=20295 RegularExpression::match should not crash when a null string is passed RegularExpression::match used to pass null subject strings to jsRegExpExecute causing an ASSERT failure and then a crash. There is no need to fix also RegularExpression:search and RegularExpression::searchRev as they just call RegularExpression::match. * platform/text/RegularExpression.cpp: (WebCore::RegularExpression::match): Return -1 if the string is null. 2008-08-06 Jan Michael Alonzo Gtk build fix only * bindings/js/ScriptControllerGtk.cpp: * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getValue): (WebCore::PluginView::~PluginView): 2008-08-06 Ariya Hidayat Fix the Qt build due to recent ScriptController refactoring. * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::getValue): (WebCore::PluginView::~PluginView): 2008-08-06 Eric Seidel Reviewed by Cameron Zwarich. Fix warnings and errors seen on Qt bot. Including one correctness fix for ThreadingQt. According to the Qt 4.4 docs, we were always passing seconds to "wait()" when we should have been passing milliseconds. Lots of float <-> int conversion warnings. * css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): * dom/Element.cpp: (WebCore::adjustForLocalZoom): (WebCore::adjustForAbsoluteZoom): (WebCore::Element::setScrollLeft): (WebCore::Element::setScrollTop): * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent): * loader/CachedImage.cpp: (WebCore::CachedImage::imageRect): * page/DOMWindow.cpp: (WebCore::DOMWindow::innerHeight): (WebCore::DOMWindow::innerWidth): (WebCore::DOMWindow::scrollX): (WebCore::DOMWindow::scrollY): (WebCore::DOMWindow::scrollTo): * page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): * plugins/npapi.cpp: * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::getValue): (WebCore::PluginView::~PluginView): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::intrinsicSizeChanged): 2008-08-06 Eric Seidel Build fix only, no review. Attempt to fix the Windows and Qt builds. * bindings/js/ScriptControllerWin.cpp: add runtime.h include * bindings/js/ScriptControllerQt.cpp: add QWidget include * page/win/FrameWin.cpp: remove bogus using namespace * plugins/PluginView.cpp: (WebCore::PluginView::bindingInstance): use script() * plugins/win/PluginViewWin.cpp: (WebCore::PluginView::getValue): use script() (WebCore::PluginView::~PluginView): use script() 2008-08-06 Eric Seidel Build fix only, no review. Attempt to fix the Linux and --no-svg builds. * bindings/js/ScriptController.h: wrap RetainPtr include in PLATFORM(MAC) * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): add missing CSSProperties to switch 2008-08-06 Eric Seidel Reviewed by Cameron Zwarich. Move more methods from Frame into ScriptController https://bugs.webkit.org/show_bug.cgi?id=20294 Finally finish more of the work which Darin started long ago Move a few more Frame methods into ScriptController. I also took this opportunity to clean up some of the plugin code as well, and moved some of that into ScriptController. I removed Frame::clearScriptController() and ScriptController::clear() is now clearWindowShell() No functional changes, thus no test cases. * GNUmakefile.am: * WebCore.NPAPI.exp: * WebCore.base.exp: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * bindings/js/ScriptController.cpp: (WebCore::ScriptController::ScriptController): (WebCore::ScriptController::~ScriptController): (WebCore::ScriptController::bindingRootObject): (WebCore::ScriptController::createRootObject): (WebCore::ScriptController::windowScriptNPObject): (WebCore::ScriptController::createScriptObjectForPluginElement): New method. (WebCore::ScriptController::clearPlatformScriptObjects): (WebCore::ScriptController::disconnectPlatformScriptObjects): (WebCore::ScriptController::cleanupScriptObjectsForPlugin): (WebCore::ScriptController::clearScriptObjects): * bindings/js/ScriptController.h: (WebCore::ScriptController::sourceURL): (WebCore::ScriptController::clearFormerWindow): * bindings/js/ScriptControllerGtk.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp. (WebCore::Frame::createScriptInstanceForWidget): * bindings/js/ScriptControllerMac.mm: Added. (WebCore::ScriptController::createScriptInstanceForWidget): (WebCore::ScriptController::windowScriptObject): (WebCore::ScriptController::clearPlatformScriptObjects): (WebCore::ScriptController::disconnectPlatformScriptObjects): (WebCore::updateRenderingForBindings): (WebCore::ScriptController::initJavaJSBindings): * bindings/js/ScriptControllerQt.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp. (WebCore::ScriptController::createScriptInstanceForWidget): * bindings/js/ScriptControllerWin.cpp: Copied from WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp. (WebCore::ScriptController::createScriptInstanceForWidget): * bindings/objc/DOM.mm: (-[DOMNode KJS::Bindings::]): * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * bridge/jni/jni_jsobject.mm: (createRootObject): * html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::renderWidgetForJSBindings): * html/HTMLAppletElement.h: * html/HTMLEmbedElement.cpp: (WebCore::findWidgetRenderer): (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): * html/HTMLEmbedElement.h: * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::~HTMLObjectElement): (WebCore::HTMLObjectElement::renderWidgetForJSBindings): (WebCore::HTMLObjectElement::detach): * html/HTMLObjectElement.h: * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::~HTMLPlugInElement): (WebCore::HTMLPlugInElement::detach): (WebCore::HTMLPlugInElement::getInstance): (WebCore::HTMLPlugInElement::parseMappedAttribute): (WebCore::HTMLPlugInElement::getNPObject): * html/HTMLPlugInElement.h: * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): * page/Frame.cpp: (WebCore::Frame::Frame): (WebCore::Frame::~Frame): (WebCore::Frame::pageDestroyed): (WebCore::FramePrivate::FramePrivate): * page/Frame.h: * page/FramePrivate.h: * page/gtk/FrameGtk.cpp: * page/mac/FrameMac.mm: * page/qt/FrameQt.cpp: * page/win/FrameWin.cpp: (WebCore::computePageRectsForFrame): 2008-08-05 Steve Falkenburg Fix last timer fix. Add null check, clear timer using InterlockedExchange. Reviewed by Alice Liu. * platform/win/SharedTimerWin.cpp: (WebCore::clearTimer): (WebCore::queueTimerProc): (WebCore::stopSharedTimer): 2008-08-05 Steve Falkenburg Fix timer leak, flag. Timers need to be deleted explicitly, even if they fire. Also added WT_EXECUTEONLYONCE flag, since this is not a repeating timer. Reviewed by Ada Chan. * platform/win/SharedTimerWin.cpp: (WebCore::queueTimerProc): 2008-08-05 Anders Carlsson Reviewed by Darin. ER: Deallocate WebKit objects on the main thread, even if released on secondary thread Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose. * bindings/objc/DOMRGBColor.mm: (-[DOMRGBColor dealloc]): * bindings/objc/WebScriptObject.mm: (-[WebScriptObject dealloc]): * platform/mac/SharedBufferMac.mm: (-[WebCoreSharedBufferData dealloc]): 2008-08-05 Anders Carlsson Reviewed by Darin. Move the main thread deallocator here from WebKit. * WebCore.base.exp: * WebCore.xcodeproj/project.pbxproj: * platform/mac/WebCoreObjCExtras.c: (method_getImplementation): (deallocCallback): (WebCoreObjCScheduleDeallocateOnMainThread): * platform/mac/WebCoreObjCExtras.h: 2008-08-05 Dean Jackson Parse CSS Animations, including the new -webkit-animation properties and the @-webkit-keyframes rule. Adds some new interfaces for the style rules. https://bugs.webkit.org/show_bug.cgi?id=20088 Reviewed by David Hyatt. * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: build config for new files * css/tokenizer.flex: * css/CSSGrammar.y: * css/CSSParser.cpp: * css/CSSParser.h: new @-webkit-keyframes parsing * css/CSSPropertyNames.in: -webkit-animation properties * css/CSSRule.h: * css/CSSStyleSelector.cpp: * css/CSSStyleSelector.h: * css/CSSValueKeywords.in: * css/StyleBase.h: * css/WebKitCSSKeyframeRule.cpp: Added. * css/WebKitCSSKeyframeRule.h: Added. * css/WebKitCSSKeyframesRule.cpp: Added. * css/WebKitCSSKeyframesRule.h: Added. 2008-08-05 Kevin McCullough Reviewed by Tim. - LayoutTests fix. Log only to the Inspector because other listeners may not want XHR notifications, including DRT and the numerous tests that don't expect them. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading): 2008-08-05 Timothy Hatcher Makes DOM attribute editing start on double-click to match the styles pane. Links in attributes are now triggered with a single click again. https://bugs.webkit.org/show_bug.cgi?id=20281 Reviewed by Adam Roben. * English.lproj/localizedStrings.js: Removed some strings. * page/inspector/ElementsPanel.js: (WebInspector.DOMNodeTreeElement.prototype.onattach): Call _preventFollowingLinksOnDoubleClick. (WebInspector.DOMNodeTreeElement.prototype._preventFollowingLinksOnDoubleClick): Renamed from _makeURLsActivateOnModifiedClick. Simply sets the preventFollowOnDoubleClick property on all links. (WebInspector.DOMNodeTreeElement.prototype.onselect): Removed _selectedByCurrentMouseDown. (WebInspector.DOMNodeTreeElement.prototype.onmousedown): Moved editing code to ondblclick. (WebInspector.DOMNodeTreeElement.prototype.ondblclick): Calls _startEditing. Removed URL check. (WebInspector.DOMNodeTreeElement.prototype._updateTitle): Calls _preventFollowingLinksOnDoubleClick. * page/inspector/inspector.css: (.editing): Removed the text-decoration property. (.editing, .editing *): Added the text-decoration property here so it removes underlines on child elements. * page/inspector/inspector.js: (WebInspector.documentClick): Removed the followOnAltClick code. Added support for preventFollowOnDoubleClick, which sets a timeout on the first click where future clicks will cancel it (double click). If the timeout isn't canceled, the link is followed. 2008-08-05 Antti Koivisto Reviewed by Sam Weinig. Video in standalone media document flashes when navigating away When navigating out from a page, MediaPlayer was set invisible and then immediately made visible again causing flicker in some cases. The document is not yet marked being in page cache when willSaveToCache() is called. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): * rendering/RenderVideo.cpp: (WebCore::RenderVideo::updatePlayer): 2008-08-05 Dan Bernstein - fix typo * page/mac/FrameMac.mm: 2008-08-05 Dan Bernstein - try to fix the 64-bit build * page/mac/FrameMac.mm: 2008-08-05 Alp Toker Remove leftover mark pragma from r35568 to fix compiler warning spew. * rendering/style/RenderStyle.h: 2008-08-05 Kevin McCullough - Added a test that checks for several edge cases (see description in test. * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Added. 2008-08-05 Dean Jackson Reviewed by Dave Hyatt Add support for CSS Animation properties to RenderStyle https://bugs.webkit.org/show_bug.cgi?id=20068 (also fix some minor whitespace issues and remove debugging code) * css/CSSComputedStyleDeclaration.cpp: * css/CSSStyleSelector.cpp: * page/AnimationController.cpp: * rendering/style/RenderStyle.cpp: * rendering/style/RenderStyle.h: 2008-08-05 Kevin McCullough - Updated a manual test to be an accurate description of what it is actually testing. * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: 2008-08-05 Kevin McCullough Reviewed by Tim. XMLHttpRequest: Inspector should show network activity/XHR in Console (17233) * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading): 2008-08-05 Dean Jackson Fix the ChangeLog that was corrupted by r34545. 2008-08-04 Timothy Hatcher Makes the selection surround just the name or value that was double clicked when editing CSS properties. This regressed when the Inspector started using focus/blur events, since a focus on a content editable region changes the selection. https://bugs.webkit.org/show_bug.cgi?id=20280 Reviewed by Adam Roben. * page/inspector/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.startEditing): Change the selection after calling WebInspector.startEditing, since WebInspector.startEditing will set an initial selection due to a focus event. 2008-08-04 Timothy Hatcher Changes the editing behavior in the Inspector to commit changes when focus is lost, instead of reverting the changes. https://bugs.webkit.org/show_bug.cgi?id=20279 Reviewed by Adam Roben. * page/inspector/inspector.js: (WebInspector.startEditing): Call editingCommitted in blurEventListener instead of editingCancelled. 2008-08-04 Timothy Hatcher Adds the ability to increment/decrement numbers in editable style properties with the arrow and page keys. Reviewed by Adam Roben. https://bugs.webkit.org/show_bug.cgi?id=20273 * page/inspector/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.updateAll): Updates all properties in the current section, or all sections depending in the argument passed. (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): Call updateAll instead of having duplicate code. (WebInspector.StylePropertyTreeElement.prototype.startEditing): Assign the list element's handleKeyEvent to editingKeyDown. (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown): Handles the Up and Down arrows keys. Finds the word based on the selection and extracts the number, prefix and suffix. Increments or decrements the number based on the key and modifiers. Replaces the original word with the new value and selects it. Also applies the style so the page reflects the changes live. (WebInspector.StylePropertyTreeElement.prototype.editingEnded): Delete the handleKeyEvent and originalCSSText properties. (WebInspector.StylePropertyTreeElement.prototype.editingCancelled): If originalCSSText exists, set the cssText to that value and call updateAll. Otherwise just call updateTitle like before. (WebInspector.StylePropertyTreeElement.prototype.editingCommitted): Factored out the style applying code to applyStyleText. (WebInspector.StylePropertyTreeElement.prototype.applyStyleText): Factored out from editingCommitted. Takes an argument that specifies if the interface should be updated when the style is applied. * page/inspector/inspector.js: (WebInspector.startEditing): Call the original key handler, if one existed before interrupting key events. * page/inspector/utilities.js: (getStyleTextWithShorthands): Helper to return CSS text that preserves shorthand values, since the cssText property only outputs longhands. 2008-08-04 Timothy Hatcher Factors out the TextPrompt.scanBackwards function into a generic helper function on the Node prototype, named rangeOfWord. Reviewed by Adam Roben. * page/inspector/Console.js: (WebInspector.Console.prototype.completions): Use rangeOfWord. * page/inspector/TextPrompt.js: (WebInspector.TextPrompt.prototype.complete): Ditto. (WebInspector.TextPrompt.prototype.scanBackwards): Removed. * page/inspector/utilities.js: (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards, and added a direction argument allowing scanning forward, backward or both directions from the offset. 2008-08-04 Timothy Hatcher Fixes a bug where the property toggle button would not be hidden during editing. Reviewed by Adam Roben. * page/inspector/inspector.css: (li.editing .swatch, li.editing .enabled-button): Make the display !important, since a more specific rule for .enabledbutton overrides display. 2008-08-05 Dan Bernstein Reviewed by Geoffrey Garen. - remove redundant #imports from FrameMac.mm * page/mac/FrameMac.mm: 2008-08-04 Bernhard Kruepl Reviewed by Dave Hyatt. Fix for https://bugs.webkit.org/show_bug.cgi?id=19094 Corrected offsetTop for table cells by subtracting borderTopExtra * rendering/RenderObject.cpp: (WebCore::RenderObject::offsetTop): 2008-08-04 Dean Jackson Reviewed by Dave Hyatt. Improve AnimationController https://bugs.webkit.org/show_bug.cgi?id=19938 - Transition class is now called Animation - new state-based AnimationController that can support CSS Animations - add support for -webkit-transition-delay - remove -webkit-transition-repeat-count (since it never existed officially) - updates the -webkit-transition shorthand to reflect removing repeat count - updates the Transition class so that properties can be shared with animations - adds a "now" keyword for -webkit-transition-delay - adds a new change type for style (changed by animation) - adds new event names (although they are not dispatched yet) - makes text stroke and text fill colors returned by RenderStyle const Tests: - manual-tests/transition-left.html - manual-tests/transition-delay.html - manual-tests/transition-timing-functions.html * css/CSSComputedStyleDeclaration.cpp: * css/CSSParser.cpp: * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSStyleSelector.cpp: * css/CSSStyleSelector.h: * css/CSSTimingFunctionValue.h: * css/CSSValue.h: * css/CSSValueKeywords.in: * css/WebKitCSSTransformValue.cpp: * dom/Document.cpp: * dom/Document.h: * dom/Element.cpp: * dom/EventNames.h: * dom/Node.cpp: * dom/Node.h: * history/CachedPage.cpp: * page/AnimationController.cpp: * page/AnimationController.h: * page/Frame.cpp: * rendering/RenderObject.cpp: * rendering/RenderWidget.cpp: * rendering/style/RenderStyle.cpp: * rendering/style/RenderStyle.h: 2008-08-04 Mike Belshe Reviewed by Antti. Currently we create two copies of script in the HTMLTokenizer. One copy gets passed into the javascript engine, the other gets stored in the DOM. Modify the HTMLParser so that it does not chunk the string into it's normal 64K chunks for script code, and modify the HTMLTokenizer to pass that same string into the JS engine. On some sites (e.g. GMail), which have hundreds of KB of inline JS, this saves more than a MB of RAM to run the page. (Strings use 16bit strings, so 600KB of JS code == 1.2MB of memory) * html\HTMLParser.cpp * html\HTMLTokenizer.cpp 2008-08-04 Sam Weinig Reviewed by Mark Rowe. Remove extra braces left in from JSLock removal. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): 2008-08-02 Sam Weinig Reviewed by Dan Bernstein. Implement the Access-control for Cross Site requests preflight cache. Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * platform/KURL.h: (WTF::): * platform/KURLHash.h: Added. (WebCore::KURLHash::hash): (WebCore::KURLHash::equal): (WTF::): * xml/XMLHttpRequest.cpp: (WebCore::PreflightResultCacheItem::PreflightResultCacheItem): (WebCore::preflightResultCache): (WebCore::appendPreflightResultCacheEntry): (WebCore::canSkipPrelight): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::parseAccessControlAllowList): (WebCore::parseAccessControlMaxAge): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 2008-08-04 Eric Seidel Reviewed by Adam Roben. Fix warning seen in MSVC converting ints to floats. * rendering/Length.h: (WebCore::Length::calcFloatValue): 2008-08-04 Eric Seidel Reviewed by hyatt. Clean up Gradient constructors, make sure all members are initialized. * platform/graphics/Gradient.cpp: (WebCore::Gradient::Gradient): 2008-08-02 Maxime Britto Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=19971 Modifiy the cursor interactively when on panning mode (middle click auto scroll) When the panning is in progress the cursor is an arrow representing the direction of the current scroll * page/EventHandler.cpp: (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll. (WebCore::EventHandler::handleMouseMoveEvent): * page/EventHandler.h: * platform/Cursor.h: Add propotypes for the new cursor functions * platform/gtk/CursorGtk.cpp: to avoid build break (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): * platform/mac/CursorMac.mm: to avoid build break (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): * platform/qt/CursorQt.cpp: to avoid build break (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): * platform/wx/CursorWx.cpp: to avoid build break (WebCore::middlePanningCursor): (WebCore::eastPanningCursor): (WebCore::northPanningCursor): (WebCore::northEastPanningCursor): (WebCore::northWestPanningCursor): (WebCore::southPanningCursor): (WebCore::southEastPanningCursor): (WebCore::southWestPanningCursor): (WebCore::westPanningCursor): 2008-08-02 Kevin Ollivier Move to using constants in accordance with discussions about wx renderer commit. * platform/wx/RenderThemeWx.cpp: (WebCore::RenderThemeWx::minimumMenuListSize): (WebCore::RenderThemeWx::popupInternalPaddingLeft): (WebCore::RenderThemeWx::popupInternalPaddingRight): (WebCore::RenderThemeWx::popupInternalPaddingTop): (WebCore::RenderThemeWx::popupInternalPaddingBottom): 2008-08-02 Wouter Bolsterlee Reviewed by Eric Seidel. * plugins/gtk/gtk2xtbin.h: https://bugs.webkit.org/show_bug.cgi?id=20034 Fix malformed Vim modeline. 2008-08-01 Dan Bernstein Reviewed by Dave Hyatt. - tweak a comment * platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw): 2008-08-01 Jan Michael Alonzo * ChangeLog: Fix date of previous commit (r35520) 2008-08-01 Marco Barisione Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=19603 [SOUP] segfault when closing a file using gio Call client->didFinishLoading() only after releasing all the gio resources. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::closeCallback): (WebCore::readCallback): 2008-08-01 Anders Carlsson Reviewed by Jon. Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams. Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack. * plugins/PluginStream.cpp: (WebCore::PluginStream::wantsAllStreams): 2008-08-01 Robin Dunn Reviewed by Eric Seidel. Native rendering implementations for form elements in the wx port. https://bugs.webkit.org/show_bug.cgi?id=19069 * platform/wx/RenderThemeWx.cpp: (WebCore::RenderThemeWx::adjustRepaintRect): (WebCore::RenderThemeWx::paintButton): (WebCore::RenderThemeWx::paintTextField): (WebCore::RenderThemeWx::minimumMenuListSize): (WebCore::RenderThemeWx::adjustMenuListStyle): (WebCore::RenderThemeWx::paintMenuList): (WebCore::RenderThemeWx::adjustMenuListButtonStyle): (WebCore::RenderThemeWx::paintMenuListButton): (WebCore::RenderThemeWx::popupInternalPaddingLeft): (WebCore::RenderThemeWx::popupInternalPaddingRight): (WebCore::RenderThemeWx::popupInternalPaddingTop): (WebCore::RenderThemeWx::popupInternalPaddingBottom): 2008-07-30 David Hyatt Improvements to selection drawing. Clip out floating and positioned objects when drawing selection so that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating object and the positioned/floating object itself. Improves most Web pages. Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative position). Significantly improves the look of selections on digg.com, since it uses giant negative text-indent. Reviewed by Dan Covered by existing selection pixel tests. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isSelectionRoot): (WebCore::RenderBlock::paintSelection): (WebCore::clipOutPositionedObjects): (WebCore::RenderBlock::fillSelectionGaps): (WebCore::RenderBlock::fillLeftSelectionGap): (WebCore::RenderBlock::fillRightSelectionGap): 2008-08-01 Timothy Hatcher Adds the ability to disable individual properties of a CSS rule. When hovering over a rule, checkboxes show up to the right of all properties and toggling a checkbox disables/enables the property. Behind the scenes the property is removed from the rule when disabled, but still remains in the list and in the computed style. When disabled the property has a line through it, and is faded in computed style. Support disabling individual CSS properties https://bugs.webkit.org/show_bug.cgi?id=14377 Reviewed by Adam Roben. * page/inspector/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): Include the inline style when it also has disabled properties. Call deleteDisabledProperty for any property that is in the style, since it might have been added back by the page. Remember all disabled properties so they show up in computed style. (deleteDisabledProperty): Helper function to delete all the right properties that track disabled properties. (WebInspector.StylePropertiesSection): Add the computed-style class when the section is Computed Style. (WebInspector.StylePropertiesSection.prototype.onpopulate): Include disabled properties. (WebInspector.StylePropertyTreeElement): Added a disabled argument. (WebInspector.StylePropertyTreeElement.prototype.get/set disabled): Sets the _disabled property and calls updateState. (WebInspector.StylePropertyTreeElement.prototype.get priority): Return the priority of enabled or disabled properties. (WebInspector.StylePropertyTreeElement.prototype.get value): Return the value of enabled or disabled properties. (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the priority and value getter. Append the checkbox for root elements of an editable section. (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): Add or remove properties from the rule and remember removed ones by adding three objects to the style: __disabledProperties, __disabledPropertyValues and __disabledPropertyPriorities. The __disabledProperties object will include all longhand properties of a shorthand for use by Computed Style. (WebInspector.StylePropertyTreeElement.prototype.updateState): Use the value getter. Update the disabled state. * page/inspector/inspector.css: * page/inspector/utilities.js: (Object.hasProperties): Added. Helper to test if an object has any properties. 2008-07-31 Anders Carlsson Reviewed by Darin. Add the ability to transfer a given application cache to a new database. * WebCore.base.exp: Export ApplicationCacheStorage::storeCopyOfCache. * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::~ApplicationCache): Don't call cacheDestroyed for our special "copy" groups. * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special and can only be stored to disk. * loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheGroup::isCopy): New getter. * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::store): Make sure to set the storageID when storing an application resource. (WebCore::ApplicationCacheStorage::storeNewestCache): Change this to return true/false depending on whether storing the cache succeeded or not. (WebCore::ApplicationCacheStorage::storeCopyOfCache): New method which stores a given cache in a new storage (database file). * loader/appcache/ApplicationCacheStorage.h: Add new methods. 2008-07-31 John Sullivan WebCore part of Text-only zoom setting should be stored in WebKit prefs Reviewed by Hyatt * WebCore.base.exp: export symbol for WebCoreSettings::setZoomsTextOnly() * page/Frame.cpp: (WebCore::Frame::isZoomFactorTextOnly): use value from Settings instead of data member (WebCore::Frame::shouldApplyTextZoom): call isZoomFactorTextOnly() to get value instead of accessing now-removed data member (WebCore::Frame::shouldApplyPageZoom): ditto (WebCore::Frame::setZoomFactor): set value into Settings rather than into data member (WebCore::FramePrivate::FramePrivate): don't set initial value of now-removed data member; this is managed by Settings now * page/FramePrivate.h: removed m_zoomFactorIsTextOnly * page/Settings.cpp: (WebCore::Settings::setZoomsTextOnly): new function, sets values and reapplies styles in all frames * page/Settings.h: (WebCore::Settings::zoomsTextOnly): new function, returns value of new data member 2008-07-31 Simon Fraser Reviewed by Dave Hyatt Null-check parent clip rects, because they may not have been set up yet. https://bugs.webkit.org/show_bug.cgi?id=20243 * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateClipRects): 2008-07-31 Dan Bernstein Reviewed by Dave Hyatt. - fix REGRESSION (r34210): Seams are visible in border-image * platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::draw): To work around a Core Graphics interpolation issue, reverted to using a temporary subimage for drawing a portion of the image with scaling and high-quality interpolation in effect. 2008-07-31 chris fleizach Reviewed by Alice Liu VO doesn't highlight characters when interacting when static text in web areas Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds for individual characters on a webpage. Test: accessibility/bounds-for-range.html * ChangeLog: * page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::visiblePositionForIndex): * page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 2008-07-31 Kevin Ollivier Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h, use defines, etc. to avoid conflicts in each affected file. * config.h: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: * platform/wx/PopupMenuWx.cpp: 2008-07-31 Erik Bunce Reviewed by Simon. https://bugs.webkit.org/show_bug.cgi?id=20224 Include the Writing Direction sub-menu in the context menu of all platforms but GTK. This fixes a regression introduced by revision 34426. * platform/ContextMenu.cpp: (WebCore::ContextMenu::populate): 2008-07-31 Brady Eidson Reviewed by Adam and Hyatt Fix for Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2 * WebCore.base.exp: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::canUseSheet): * loader/CachedCSSStyleSheet.h: (WebCore::CachedCSSStyleSheet::sheetText): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode): * page/Settings.h: (WebCore::Settings::enforceCSSMIMETypeInStrictMode): 2008-07-31 Erik Bunce Reviewed by Simon. Added the ability to get SQLite headers and source from the location specified via the SQLITE3SRCDIR environtment variable. * WebCore.pro: 2008-07-31 Alexey Proskuryakov Rubber-stamped by Maciej. Eliminate JSLock (it was already disabled, removing the stub implementaion and all call sites now). * ForwardingHeaders/kjs/JSLock.h: Removed. * WebCore.vcproj/WebCore.vcproj: * bindings/js/GCController.cpp: (WebCore::collect): (WebCore::GCController::gcTimerFired): (WebCore::GCController::garbageCollectNow): * bindings/js/JSCustomSQLStatementCallback.cpp: (WebCore::JSCustomSQLStatementCallback::handleEvent): * bindings/js/JSCustomSQLStatementErrorCallback.cpp: (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): * bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::handleEvent): * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): * bindings/js/JSCustomVoidCallback.cpp: (WebCore::JSCustomVoidCallback::handleEvent): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSDOMWindowBase.cpp: (WebCore::DOMWindowTimer::~DOMWindowTimer): (WebCore::JSDOMWindowBase::clear): (WebCore::JSDOMWindowBase::timerFired): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): (WebCore::JSLazyEventListener::parseCode): * bindings/js/JSNSResolver.cpp: (WebCore::JSNSResolver::lookupNamespaceURI): * bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::acceptNode): * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate): (WebCore::ScriptController::clear): (WebCore::ScriptController::createHTMLEventHandler): (WebCore::ScriptController::createSVGEventHandler): (WebCore::ScriptController::initScript): (WebCore::ScriptController::updateDocument): * bindings/objc/WebScriptObject.mm: (_didExecute): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/NP_jsobject.cpp: (_NPN_InvokeDefault): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_Enumerate): * bridge/c/c_class.cpp: (KJS::Bindings::CClass::~CClass): (KJS::Bindings::CClass::methodsNamed): (KJS::Bindings::CClass::fieldNamed): * bridge/c/c_instance.cpp: (KJS::Bindings::CInstance::invokeMethod): (KJS::Bindings::CInstance::invokeDefaultMethod): (KJS::Bindings::CInstance::getPropertyNames): * bridge/c/c_runtime.cpp: (KJS::Bindings::CField::valueFromInstance): (KJS::Bindings::CField::setValueToInstance): * bridge/c/c_utility.cpp: (KJS::Bindings::convertValueToNPVariant): (KJS::Bindings::convertNPVariantToValue): * bridge/jni/jni_class.cpp: (JavaClass::JavaClass): (JavaClass::~JavaClass): * bridge/jni/jni_instance.cpp: (JavaInstance::stringValue): * bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::eval): (JavaJSObject::getMember): (JavaJSObject::setMember): (JavaJSObject::removeMember): (JavaJSObject::getSlot): (JavaJSObject::setSlot): (JavaJSObject::toString): (JavaJSObject::convertValueToJObject): (JavaJSObject::convertJObjectToValue): * bridge/jni/jni_objc.mm: (KJS::Bindings::dispatchJNICall): * bridge/jni/jni_runtime.cpp: (appendClassName): (JavaMethod::signature): * bridge/jni/jni_runtime.h: (KJS::Bindings::JavaString::JavaString): (KJS::Bindings::JavaString::_commonInit): (KJS::Bindings::JavaString::~JavaString): (KJS::Bindings::JavaString::UTF8String): * bridge/jni/jni_utility.cpp: (KJS::Bindings::convertValueToJValue): * bridge/npruntime.cpp: (_NPN_GetStringIdentifier): * bridge/objc/objc_instance.mm: (ObjcInstance::moveGlobalExceptionToExecState): (ObjcInstance::invokeMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField): * bridge/objc/objc_runtime.mm: (ObjcField::valueFromInstance): (ObjcField::setValueToInstance): * bridge/objc/objc_utility.mm: (KJS::Bindings::convertValueToObjcValue): (KJS::Bindings::convertNSStringToString): (KJS::Bindings::convertObjcValueToValue): * bridge/qt/qt_instance.cpp: (KJS::Bindings::QtRuntimeObjectImp::removeFromCache): (KJS::Bindings::QtInstance::~QtInstance): (KJS::Bindings::QtInstance::getQtInstance): (KJS::Bindings::QtInstance::getRuntimeObject): * bridge/qt/qt_runtime.cpp: (KJS::Bindings::convertValueToQVariant): (KJS::Bindings::convertQVariantToValue): (KJS::Bindings::QtRuntimeMetaMethod::call): (KJS::Bindings::QtRuntimeConnectionMethod::call): (KJS::Bindings::QtConnectionObject::QtConnectionObject): (KJS::Bindings::QtConnectionObject::execute): * bridge/runtime.cpp: (KJS::Bindings::Instance::createRuntimeObject): * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * bridge/testqtbindings.cpp: (main): * dom/Document.cpp: (WebCore::Document::~Document): * dom/Node.cpp: (WebCore::Node::setDocument): * history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear): * html/HTMLPlugInElement.cpp: (WebCore::HTMLPlugInElement::createNPObject): * loader/FrameLoader.cpp: (WebCore::getString): * page/Frame.cpp: (WebCore::Frame::bindingRootObject): (WebCore::Frame::windowScriptNPObject): (WebCore::Frame::clearScriptObjects): * page/InspectorController.cpp: (WebCore::jsStringRef): (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): (WebCore::getResourceDocumentNode): (WebCore::search): (WebCore::inspectedWindow): (WebCore::wrapCallback): (WebCore::currentCallFrame): (WebCore::profiles): (WebCore::InspectorController::focusNode): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::addDatabaseScriptResource): (WebCore::InspectorController::addScriptProfile): * page/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::evaluate): * page/JavaScriptProfileNode.cpp: (WebCore::getTotalTime): (WebCore::getSelfTime): (WebCore::getTotalPercent): (WebCore::getSelfPercent): (WebCore::getNumberOfCalls): (WebCore::getChildren): (WebCore::getVisible): * page/Page.cpp: * page/mac/FrameMac.mm: (WebCore::Frame::windowScriptObject): * page/qt/FrameQt.cpp: * plugins/PluginView.cpp: (WebCore::PluginView::start): (WebCore::getString): (WebCore::PluginView::performRequest): (WebCore::PluginView::bindingInstance): * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::paint): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::handleMouseEvent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::init): * plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): (WebCore::PluginView::init): * plugins/win/PluginViewWin.cpp: (WebCore::PluginView::dispatchNPEvent): (WebCore::PluginView::handleKeyboardEvent): (WebCore::PluginView::handleMouseEvent): (WebCore::PluginView::setNPWindowRect): (WebCore::PluginView::stop): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::clearResponse): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didReceiveData): 2008-07-30 Timothy Hatcher Fix various minor bugs with style editing in the Inspector. - Restores the scroll position to 0,0 when finished editing a string that was longer than the editing input area. - Adjusts the margin of the list item to ensure the text does not shift when entering and exiting editing mode. - Reliably remembers if a shorthand has children when the children haven't been populated yet. - Reliably remembers if a shorthand was expanded, and expands if needed after editing finishes. - Hides color swatches when editing. https://bugs.webkit.org/show_bug.cgi?id=20238 Reviewed by Adam Roben. * page/inspector/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.startEditing): Store the expanded state and children state in wasExpanded and reallyHasChildren properties. (WebInspector.StylePropertyTreeElement.prototype.editingEnded): Removed the wasExpanded argument and use the reallyHasChildren and wasExpanded properties to restore state. Deletes the state properties. (WebInspector.StylePropertyTreeElement.prototype.editingCancelled): Removed the wasExpanded argument. (WebInspector.StylePropertyTreeElement.prototype.editingCommitted): Removed the wasExpanded argument. * page/inspector/inspector.css: Tweak the margin and hides the color swatches. ALso removes a rule that was not needed. * page/inspector/inspector.js: (WebInspector.startEditing): Restore the scrollLeft and scrollTop to zero when editing finishes. 2008-07-30 Alice Liu Implement userIdleTime() for Windows, and place a band-aid over other platform implementations of userIdleTime(). This will fix the issue of indefinitely postposing releasing pages from the PageCache on non-Mac platforms, causing us to hang onto just about everything else about a web page. Reviewed by Sam Weinig. * platform/gtk/TemporaryLinkStubs.cpp: * platform/wx/TemporaryLinkStubs.cpp: * platform/qt/TemporaryLinkStubs.cpp: (WebCore::userIdleTime): set to FLT_MAX * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): implemented 2008-07-30 Beth Dakin Reviewed by Anders Carlsson. Fixes Adds the ability to have a frame that is "disconnected" from the main frame from the perspective of top and parent in Javascript. * WebCore.base.exp: * page/DOMWindow.cpp: (WebCore::DOMWindow::parent): (WebCore::DOMWindow::top): * page/Frame.cpp: (WebCore::Frame::isDisconnectedFrame): (WebCore::Frame::setIsDisconnectedFrame): (WebCore::FramePrivate::FramePrivate): * page/Frame.h: * page/FramePrivate.h: * page/FrameTree.cpp: (WebCore::FrameTree::parent): (WebCore::FrameTree::top): * page/FrameTree.h: 2008-07-25 Eric Seidel Reviewed by Justin. Crash Safari when dragging images into Google presentations https://bugs.webkit.org/show_bug.cgi?id=20161 Test: manual-tests/remove-on-drop-crash.html * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): * manual-tests/remove-on-drop-crash.html: Added. 2008-07-30 Christian Dywan Reviewed by Mark. Build fix for Cairo < 1.6 * platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6 2008-07-29 Kevin McCullough Reviewed by Geoff. Crash in profiler dereferencing null frame or page (20214) - Null check. * page/Console.cpp: (WebCore::Console::finishedProfiling): 2008-07-30 David Hyatt https://bugs.webkit.org/show_bug.cgi?id=18070 Full page zoom needs to work properly with JS mouse events. Make sure to adjust the coordinates of the JS mouse event to account for zoom. Reviewed by olliej * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchMouseEvent): 2008-07-29 Sam Weinig Reviewed by Darin Adler. Update Cross-site XMLHttpRequests using Access control to the latest spec. (Editor's Draft 8 July 2008) - This leaves us at about the same place as we previously were still needing preflight caching and better redirect support. * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * xml/AccessControlList.cpp: Removed. * xml/AccessControlList.h: Removed. * xml/AccessItem.cpp: Removed. * xml/AccessItem.h: Removed. * xml/AccessItemRule.cpp: Removed. * xml/AccessItemRule.h: Removed. * xml/XMLHttpRequest.cpp: (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::abort): (WebCore::XMLHttpRequest::clearRequest): (WebCore::XMLHttpRequest::didFinishLoading): (WebCore::XMLHttpRequest::didFinishLoadingPreflight): (WebCore::XMLHttpRequest::accessControlCheck): (WebCore::XMLHttpRequest::didReceiveResponse): (WebCore::parseAccessControlAllowList): (WebCore::XMLHttpRequest::didReceiveResponsePreflight): * xml/XMLHttpRequest.h: 2008-07-29 Kevin Calhoun Reviewed by Adele. Fix for Adopt QTMovieOpenForPlaybackAttribute flag * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie): 2008-07-29 Kevin Calhoun Reviewed by Adele. Fix for Make standalone video render more like the quicktime plugin to improve performance For standalone video, use QTMovieView to draw. * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering. Associate the QTMovieView with the WebCoreMovieObserver. If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil. (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this. (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks. Call createQTMovieView for media documents. (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists. (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary. (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu. (-[WebCoreMovieObserver setView:]): Added. 2008-07-29 Adele Peterson Reviewed by Dan Bernstein. Fix for Move built-in controls below