diff -r 000000000000 -r 4f2f89ce4247 WebCore/ChangeLog-2008-08-10 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebCore/ChangeLog-2008-08-10 Fri Sep 17 09:02:29 2010 +0300 @@ -0,0 +1,82205 @@ +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