diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
| commit | 9364f22aed35e1a1e9d07c121510f80be3ab0502 (patch) | |
| tree | d49911209b132da58d838efa852daf28d516df21 /WebCore/ChangeLog | |
| parent | 87eb0cb35bad8784770ebc807e6c982432e47107 (diff) | |
| download | external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.zip external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.tar.gz external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.tar.bz2 | |
Initial Contribution
Diffstat (limited to 'WebCore/ChangeLog')
| -rw-r--r-- | WebCore/ChangeLog | 31850 |
1 files changed, 31850 insertions, 0 deletions
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog new file mode 100644 index 0000000..190aa76 --- /dev/null +++ b/WebCore/ChangeLog @@ -0,0 +1,31850 @@ +2008-02-29 Mark Rowe <mrowe@apple.com> + + Merge r30692 to Safari-3-1-branch. + + 2008-02-29 Brady Eidson <beidson@apple.com> + + Reviewed by build-fix karma + + Bonehead mistake. Revert function to previous version for all non-Windows+CFNetwork platforms + + * platform/network/ProtectionSpace.cpp: + (WebCore::ProtectionSpace::receivesCredentialSecurely): Make my previous change conditionally + +2008-02-29 Mark Rowe <mrowe@apple.com> + + Merge r30689 to Safari-3-1-branch. + + 2008-02-29 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + <rdar://problem/5771227> - Incorrect password handling text in credential sheet + + * platform/network/ProtectionSpace.cpp: + (WebCore::ProtectionSpace::receivesCredentialSecurely): Call functional CFNetwork method to + get "secureness" of the auth challenge instead of figuring it out ourselves + +2008-02-28 Dave Hyatt <hyatt@apple.com> + + Reviewed by Darin Adler. + + Fix <rdar://problem/5771994> REGRESSION: Loading HTML5 spec is 5x slower on TOT than in 3.0.4. + + Disable dynamic updating of the + selector when the DOM changes, since it hurt performance on the HTML5 spec. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkSelector): + +2008-02-28 Mark Rowe <mrowe@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/5767534> REGRESSION (r29976): discovermagazine.com lays out incorrect (17564) + + Roll r29976 out of Safari-3-1-branch. + + * css/CSSGrammar.y: + +2008-02-27 Mark Rowe <mrowe@apple.com> + + Merge r30634 to Safari-3-1-branch. + + 2008-02-27 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + Fix for <rdar://problem/5768769> + + - Don't allow cross-origin calls using window.functionName.call(otherFrame) + syntax. + + * bindings/js/JSLocation.cpp: + (WebCore::jsLocationProtoFuncToString): Do same-origin check. + * bindings/js/kjs_window.cpp: + (KJS::windowProtoFuncAToB): Ditto. + (KJS::windowProtoFuncBToA): Ditto. + (KJS::windowProtoFuncOpen): Ditto. + (KJS::windowProtoFuncClearTimeout): Ditto. + * bindings/scripts/CodeGeneratorJS.pm: Ditto. + +2008-02-26 Mark Rowe <mrowe@apple.com> + + Merge r30617 to Safari-3-1-branch. + + 2008-02-26 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + Fix <rdar://problem/5761326> + REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang) + + Generate better code with VS: + - Use ALWAYS_INLINE macro to guarantee versions of allowsAccessFrom() are reduced to single functions + - Refactor error reporting so that there is no need to construct/destruct Strings in common cases + - Add a separate version of the function for cases where error messages are not wanted + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + * bindings/js/kjs_window.cpp: + (KJS::Window::allowsAccessFrom): + (KJS::Window::allowsAccessFromNoErrorMessage): + (KJS::Window::allowsAccessFromPrivate): + (KJS::Window::crossDomainAccessErrorMessage): + * bindings/js/kjs_window.h: + +2008-02-22 Mark Rowe <mrowe@apple.com> + + Build fix. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::send): Qualify references to symbols in the KJS namespace. + +2008-02-22 Mark Rowe <mrowe@apple.com> + + Merge r30493 to Safari-3-1-branch. + + 2008-02-22 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Fixed <rdar://problem/5057509> Repro leak of JSXMLHttpRequest and + associated objects @ www.viamichelin.it, which was probably an underlying + cause of <rdar://problem/5744037> Gmail out of memory (17455) + + If SubresourceLoader::create returned NULL, we would ref() / gcProtect() + the XMLHttpRequest but think we hadn't, therefore never + calling deref() / gcUnprotect(). + + This could happen at gmail.com, since gmail.com attempts to send + XMLHttpRequests from unload handlers in order to gather usage statistics. + (According to comments in the code, SubresourceLoader::create returns + NULL when called from an unload handler.) + + The solution is to ref() / gcProtect() only if SubresourceLoader::create + doesn't return NULL. This make sense, since we only need to protect the + request as long as it has an outstanding network transaction. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::XMLHttpRequest): + (WebCore::XMLHttpRequest::send): + +2008-02-22 Mark Rowe <mrowe@apple.com> + + Merge r30489 to Safari-3-1-branch. + + 2008-02-22 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + <rdar://problem/5760360> REGRESSION(r30376): Crash loading plugin page + during stress test (after only 5 min) - null dereference + + Full-frame plug-ins create PluginStream objects without loaders, as the + PluginView receives the loading callbacks. We were trying to call + setDefersLoading on these null pointers. + + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): Add null check. + (WebCore::PluginStream::destroyStream): Same. + (WebCore::PluginStream::deliverData): Same. + +2008-02-22 Timothy Hatcher <timothy@apple.com> + + Merge r30472 to Safari-3-1-branch. + + 2008-02-21 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fix for <rdar://problem/5757946> + + - Parse URLs before checking whether they are javascript: urls + (which require security checks). + + * bindings/js/JSAttrCustom.cpp: + (WebCore::JSAttr::setValue): + * bindings/js/JSElementCustom.cpp: + (WebCore::allowSettingSrcToJavascriptURL): + * bindings/js/JSHTMLFrameElementCustom.cpp: + (WebCore::allowSettingJavascriptURL): + * bindings/js/JSHTMLIFrameElementCustom.cpp: + (WebCore::JSHTMLIFrameElement::setSrc): + +2008-02-22 Timothy Hatcher <timothy@apple.com> + + <rdar://problem/5758900> REGRESSION (Ceto-Fireclaw): Margins/padding expand on + hover for some headlines on The Huffington Post + + Roll out r29649. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): + * rendering/RenderObject.h: + * rendering/bidi.cpp: + (WebCore::inlineFlowRequiresLineBox): + (WebCore::RenderBlock::findNextLineBreak): + +2008-02-21 Mark Rowe <mrowe@apple.com> + + Merge r30461 to Safari-3-1-branch. + + 2008-02-21 Antti Koivisto <antti@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/5753789> + REGRESSION: 1.5% -2% Sunspider regression from r30009 (ebay photo upload hang) + + Ensure all versions of allowsAccessFrom are inlined to single functions. + This is a 2% win in browser hosted Sunspider. + + * bindings/js/kjs_window.cpp: + (KJS::Window::allowsAccessFrom): + (KJS::Window::allowsAccessFromPrivate): + * bindings/js/kjs_window.h: + +2008-02-21 Mark Rowe <mrowe@apple.com> + + Merge r30458 to Safari-3-1-branch. + + 2008-02-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by David Harrison. + + Fixed <rdar://problem/5756125> REGRESSION: A crash occurs at + WebCore::Frame::scriptProxy() when completing a search with Package Tracker widget + + Test: fast/dom/script-element-without-frame-crash.html + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): Added back a NULL check that was + accidentally removed in r30325. + +2008-02-21 Mark Rowe <mrowe@apple.com> + + Merge r30433 to Safari-3-1-branch. + + 2008-02-20 Sam Weinig <sam@webkit.org> + + Reviewed by Darin and Geoff. + + - <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack + + * WebCore.base.exp: Updated. + + * bindings/js/kjs_navigator.cpp: + (WebCore::needsYouTubeQuirk): Added. Return true on Windows only when the quirk is needed. + (WebCore::Navigator::getValueProperty): For the appVersion property, if needsYouTubeQuirk + return true, then return the empty string. + + * page/Settings.cpp: + (WebCore::Settings::Settings): Set m_needsSiteSpecificQuirks to false. + (WebCore::Settings::setNeedsSiteSpecificQuirks): Added. + * page/Settings.h: Added m_needsSiteSpecificQuirks. + (WebCore::Settings::needsSiteSpecificQuirks): Added. + +2008-02-20 Timothy Hatcher <timothy@apple.com> + + Merge r30423 to Safari-3-1-branch. + + 2008-02-20 Alexey Proskuryakov <ap@webkit.org> + + Build fix. + + * xml/XMLHttpRequest.cpp: + (WebCore::isSafeRequestHeader): + (WebCore::XMLHttpRequest::setRequestHeader): + +2008-02-20 Timothy Hatcher <timothy@apple.com> + + Merge r30422 to Safari-3-1-branch. + + 2008-02-20 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + <rdar://problem/5749455> Unable to set the Referer header in Dashboard using XMLHttpRequest + + Cannot be tested in DRT. + + * xml/XMLHttpRequest.cpp: (WebCore::canSetRequestHeader): Assume that a request that can load + local files can also set any headers. + +2008-02-18 Mark Rowe <mrowe@apple.com> + + Merge r30395 to Safari-3-1-branch. + + 2008-02-18 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Fix for <rdar://5747529> - ObjC Exception can cause JSLock to never be released + + Test: platform/mac/plugins/webScriptObject-exception-deadlock.html + + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject valueForKey:]): The line `resultObj = [super valueForKey:key]; // defaults to throwing an exception` + says it all - it throws an exception. This method also happens to hold the JSLock. Problematically, when the exeception + is thrown and the method exited, the JSLock is never released. Fix that without otherwise changing behavior by holding the + JSLock in two individual scopes - Right before the exception and right after. + +2008-02-18 Mark Rowe <mrowe@apple.com> + + Merge r30392 to Safari-3-1-branch. + + 2008-02-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5736225> crash in svgFontAndFaceElementForFontData on digitalstrom.org/cms + + Test: fast/css/font-face-multiple-remote-sources.html + + * css/CSSFontFace.cpp: + (WebCore::CSSFontFace::fontLoaded): + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::fontLoaded): + +2008-02-18 Mark Rowe <mrowe@apple.com> + + Merge r30389 to Safari-3-1-branch. + + 2008-02-18 Stephanie Lewis <slewis@apple.com> + + Reviewed by Adam. + + Remove workaround for <rdar://problem/5695848>. + + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::ResourceResponse::doUpdateResourceResponse): + +2008-02-18 Mark Rowe <mrowe@apple.com> + + Merge r30370 to Safari-3-1-branch. + + 2008-02-18 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Darin. + + <rdar://problem/5744899> Crash in Flash when clicking "Yes" to abort + slow script Flash 9 dialog at http://www.kidzui.com + + When navigating to a new page, we stop all outstanding PluginStreams. + Flash hangs in the call to NPP_URLNotify. It eventually displays the + "slow script" dialog, which relinquishes control to the system. While + this dialog is running, the request we are in the process of cancelling + completes, and we re-enter Flash to deliver the data. When the dialog + is dismissed, the internal state of Flash has changed, and Flash + crashes with a null dereference. + + To work around this, we can defer loading before entering plug-in code, + so that even if a plug-in yields to the system, we won't get callbacks + while we're handling a callback. + + * plugins/PluginStream.cpp: + (WebCore::PluginStream::startStream): Defers loads while calling into + plug-in. + (WebCore::PluginStream::destroyStream): Same. + (WebCore::PluginStream::deliverData): Same. + (WebCore::PluginStream::didFail): Protect 'this' from deletion by + destroyStream. Null out m_loader only after destroyStream returns. + (WebCore::PluginStream::didFinishLoading): Same. + +2008-02-17 Steve Falkenburg <sfalken@apple.com> + + Build fix. + + * WebCore.vcproj/build-generated-files.sh: + +2008-02-17 Mark Rowe <mrowe@apple.com> + + Merge r30331 to Safari-3-1-branch. + + 2008-02-15 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Fix for <rdar://problem/5727175> and <rdar://problem/5740495> - Database threads and callback scripts can run after + a page has closed or loaded a new document + + Deciding to make the Database I/O semantic the same as loaders/XHR when a document is shut down, this patch implements + a policy of shutting down the databases in a document at the same time. This includes removing all pending transactions + in a database, cutting off an queued statements in the current transaction, and preventing further callbacks from being + made. + + No new layout tests with this patch as the current layout tests were catching this issue in a plethora of ways already + (crashing, unexpected exceptions and output, etc) + + * dom/Document.cpp: + (WebCore::Document::~Document): Don't actually stop the database thread here - it better have been stopped already. + Add an assertion to that effect. + (WebCore::Document::addOpenDatabase): Add a new database handle to this Document's open database set + (WebCore::Document::removeOpenDatabase): Remove such a handle + (WebCore::Document:: stopDatabases): Call "close" on all open Database handles for this document + * dom/Document.h: + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): In addition to canceling all resource loads and XHRs, stop all database I/O + + * platform/MessageQueue.h: + (WebCore::MessageQueue::killed): + + * platform/sql/SQLiteTransaction.cpp: + (WebCore::SQLiteTransaction::stop): Added. Explicit stop to cut off a transaction so it won't try anymore SQL activity + * platform/sql/SQLiteTransaction.h: + + * storage/Database.cpp: + (WebCore::Database::Database): + (WebCore::Database::~Database): + (WebCore::Database::markAsDeletedAndClose): Check if the thread has terminated before committing to waiting on the + thread. + (WebCore::Database::stop): Stop this database, including all queued transactions and callbacks + * storage/Database.h: + (WebCore::Database::stopped): + + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::terminationRequested): + * storage/DatabaseThread.h: + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::executeSQL): Throw an exception if a new executeSQL comes in after a database is closed + (WebCore::SQLTransaction::checkAndHandleClosedDatabase): Added. Clears queued statements and clear the next step + when the database has been closed since the last step/callback was run. Also stops the current SQLite transaction, + if any + (WebCore::SQLTransaction::performNextStep): + (WebCore::SQLTransaction::performPendingCallback): + * storage/SQLTransaction.h: + +2008-02-17 Mark Rowe <mrowe@apple.com> + + Merge r30330 to Safari-3-1-branch. + + 2008-02-15 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5745072> REGRESSION (r29348): Shift + Tab does not change indent level on Google Docs + + The immediate cause of this bug was that we stopped sending keypress events for the tab key when it is used to advance focus. + We had a special case for forward-tab in designMode, where the default behavior was to insert a tab key (or respect the keypress handler behavior). + This change makes the shift-tab behavior match the forward-tab behavior. + + If the site had put their event handler (which does the indenting) on the keydown event, then this problem would have been avoided. + This is something we should look into and maybe advise the site on in the future. However, it's a low-risk change to just make tab and shift-tab uniform + in this respect, so I think this is the way to go for right now. + + * page/EventHandler.cpp: (WebCore::EventHandler::defaultTabEventHandler): + +2008-02-17 Mark Rowe <mrowe@apple.com> + + Merge r30329 to Safari-3-1-branch. + + 2008-02-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Alice. + + <rdar://problem/5738678> + REGRESSION: "Loading" status remains when uploading file to .Mac iDisk via Safari + + Use the new CFNetwork functions for setting body parts. + + * platform/network/cf/FormDataStreamCFNet.cpp: + (WebCore::setHTTPBody): + (WebCore::httpBodyFromRequest): + +2008-02-17 Mark Rowe <mrowe@apple.com> + + Merge r30328 to Safari-3-1-branch. + + 2008-02-15 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Anders Carlsson. + + Fixed <rdar://problem/5725429> REGRESSION (r27898): Greenfield online + surveys no longer work due to XMLHttpRequest exceptions + + Reverted some exception throwing code from r12194. + + To comply with the W3C draft spec, we used to throw an exception when + trying to access responseText and responseXML at the wrong time, but + that turned out to be a compatibility problem. + + Now, matching Firefox and previous versions of WebKit, we never throw + an exception when accessing responseText or responseXML. + + See http://www.mail-archive.com/public-webapi@w3.org/msg02756.html. + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::getResponseText): + (WebCore::XMLHttpRequest::getResponseXML): + +2008-02-17 Mark Rowe <mrowe@apple.com> + + Merge r30326 to Safari-3-1-branch. + + 2008-02-15 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/5738768> REGRESSION (r30062): Crash in InlineTextBox::isLineBreak() when Undoing a replace + + Rolled out <http://trac.webkit.org/projects/webkit/changeset/29667> + + * editing/SelectionController.cpp: + (WebCore::SelectionController::nodeWillBeRemoved): + +2008-02-17 Mark Rowe <mrowe@apple.com> + + Merge r30325 to Safari-3-1-branch. + + 2008-02-15 Alice Liu <alice.liu@apple.com> + + Reviewed by Darin. + + Fixed <rdar://problem/5741440> REGRESSION (r28496): After deactivating JavaScript, scripts embedded in the HTML page continue to run + + Before this patch, Frame::scriptProxy() would only return null in the case that javascript was + disabled and if the script proxy field wasn't set (which would only be the case if the window + hasn't loaded anything yet). Not all callers of scriptProxy() always check for a non-null return + value. Those that did check would effectively be checking if javascript was enabled before proceeding. + This fix consists of 2 elements: first, make sure that scriptProxy() will never return null, regardless + of whether javascript is disabled. This will mean that callers who don't check for null won't crash. + Second, callers who did check for null now instead check for javascript being disabled. This means that + code paths intended for preventing javascript from being run will be making the correct check. Another + minor addition to this patch is that I added a function on Frame to be a shortcut for checking if javascript + is enabled. + + * 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/ScheduledAction.cpp: + (WebCore::ScheduledAction::execute): + * bindings/js/kjs_events.cpp: + (WebCore::JSAbstractEventListener::handleEvent): + (WebCore::JSLazyEventListener::parseCode): + * bindings/js/kjs_html.cpp: + (WebCore::runtimeObjectImplementsCall): + * bindings/js/kjs_proxy.cpp: + (WebCore::KJSProxy::isEnabled): + * bindings/js/kjs_proxy.h: + * bindings/js/kjs_window.cpp: + (KJS::Window::retrieveWindow): + (KJS::Window::retrieve): + * dom/Document.cpp: + (WebCore::Document::createHTMLEventListener): + * dom/EventTarget.cpp: + (WebCore::EventTarget::dispatchGenericEvent): + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::createNPObject): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::evaluateScript): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): + (WebCore::HTMLTokenizer::processToken): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::executeScript): + (WebCore::FrameLoader::userGestureHint): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::dispatchWindowObjectAvailable): + (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): + * manual-tests/disable-javascript-reload.html: Added. + * page/Frame.cpp: + (WebCore::Frame::scriptProxy): + (WebCore::Frame::bindingRootObject): + (WebCore::Frame::windowScriptNPObject): + * page/Frame.h: + * page/InspectorController.cpp: + (WebCore::canPassNodeToJavaScript): + * page/mac/FrameMac.mm: + (WebCore::Frame::windowScriptObject): + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::createSVGEventListener): + +2008-02-17 Mark Rowe <mrowe@apple.com> + + Merge r30323 to Safari-3-1-branch. + + 2008-02-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + - WebCore part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360 + <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html + + Test: http/tests/loading/text-content-type-with-binary-extension.html + + Refined the workaround for <rdar://problem/5321972> to exclude files + with extensions that are known to be associated with binary MIME types. + + * WebCore.xcodeproj/project.pbxproj: Added WebCoreURLResponse.{h,mm}. + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::doUpdateResourceResponse): Moved the + workaround logic into WebCoreURLResponse. + * platform/network/mac/WebCoreURLResponse.h: Added. + * platform/network/mac/WebCoreURLResponse.mm: Added. + (createBinaryExtensionsSet): Returns a set of extensions known to + belong to MIME types of binary data. + (-[NSURLResponse _webcore_MIMEType]): + (-[NSHTTPURLResponse _webcore_MIMEType]): Forces the MIME type from + application/octet-stream to text/plain if that is the specified + Content-Type, unless the extension is in the binary extensions set. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30285 to Safari-3-1-branch. + + 2008-02-15 Adam Roben <aroben@apple.com> + + * bindings/scripts/CodeGenerator.pm: Touch this to force bindings to + regenerate. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30269 to Safari-3-1-branch. + + 2008-02-14 Adam Roben <aroben@apple.com> + + Conditionalize cross-document messaging support + + The cross-document messaging parts of HTML 5 are in flux and we want + ports to be able to turn off the support as needed. + + Note that the support is turned off by default right now. A subsequent + commit will turn it on by default. + + Reviewed by Darin. + + * GNUmakefile.am: + * WebCore.vcproj/build-generated-files.sh: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * dom/Event.cpp: + (WebCore::Event::isMessageEvent): + * dom/Event.h: + * dom/MessageEvent.cpp: + * dom/MessageEvent.h: + * dom/MessageEvent.idl: + * page/DOMWindow.cpp: + (WebCore::DOMWindow::postMessage): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30240 to Safari-3-1-branch. + + 2008-02-14 Ada Chan <adachan@apple.com> + + <rdar://problem/5744728> Fix leaks of RegularExpression objects in Frame.cpp. + + Reviewed by Jon and Darin. + + * page/Frame.cpp: + (WebCore::createRegExpForLabels): + (WebCore::Frame::searchForLabelsBeforeElement): + (WebCore::Frame::matchLabelsAgainstElement): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30239 to Safari-3-1-branch. + + 2008-02-14 Stephanie Lewis <slewis@apple.com> + + Reviewed by Geoff. + + Update order files. + + * WebCore.order: + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30238 to Safari-3-1-branch. + + 2008-02-14 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoff G and Weinig. + + <rdar://problem/5726608> REGRESSION (r29428): Assigning to window.status does not update status bar + + Revert the portions of r29428 responsible for breaking the ability to + set window.status + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::setStatus): + (WebCore::DOMWindow::defaultStatus): + (WebCore::DOMWindow::setDefaultStatus): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30237 to Safari-3-1-branch. + + 2008-02-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin. + + <rdar://problem/5721790> + Crash in WebCore::DeprecatedString::operator= + 31 at news.google.com + + Use pointers in the cache map tables. Otherwise when we rehash, + we will end up destroying Cache objects that node lists might point to. + + * dom/Node.cpp: + (WebCore::NodeListsNodeData::~NodeListsNodeData): + (WebCore::Node::getElementsByName): + (WebCore::Node::getElementsByClassName): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30233 to Safari-3-1-branch. + + 2008-02-14 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5743768> A deadlock during storage layout tests + + Make sure not to hold the m_openDatabaseMapGuard mutex when calling + Database::markAsDeletedAndClose(), since that can cause a deadlock + during the synchronous DatabaseThread call it triggers. + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::deleteDatabaseFile): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30222 to Safari-3-1-branch. + + 2008-02-13 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + Fixes the editing/deleting/5729680.html failure. It succeeds when run by itself + but fails when run with other tests because FramePrivate's m_selectionGranularity + isn't reset when a Frame receives a new document. It was also uninitialized in + the constructor. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::clear): Initialize m_selectionGranularity. + * page/Frame.cpp: + (WebCore::FramePrivate::FramePrivate): Ditto. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30218 to Safari-3-1-branch. + + 2008-02-13 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + <rdar://problem/5739282> Hangs after closing video trailer popup with + VLC plugin + + VLC hangs on NPP_Destroy if we call NPP_SetWindow with a null window + handle. + + * plugins/PluginQuirkSet.h: Added new quirk + PluginQuirkDontSetNullWindowHandleOnDestroy. + (WebCore::): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::stop): Selectively call NPP_SetWindow. + (WebCore::PluginView::determineQuirks): Set new quirk for VLC plug-in. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30213 to Safari-3-1-branch. + + 2008-02-13 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/5729680> REGRESSION (r27873): Removing the last character of a word in Mail or Safari also removes the following space + + * editing/Editor.cpp: + (WebCore::Editor::deleteWithDirection): Fixed a typo. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30195 to Safari-3-1-branch. + + 2008-02-13 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + <rdar://problem/5740042> Database termination issues + + Test: storage/close-during-stress-test.html + + * dom/Document.cpp: + (WebCore::Document::databaseThread): + * dom/Document.h: + Don't re-create the database thread if it has been already terminated. + + * storage/Database.h: (WebCore::Database::document): Changed m_database to a RefPtr to avoid + having a hanging reference. + + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::requestTermination): + + * storage/SQLTransaction.cpp: (WebCore::SQLTransaction::~SQLTransaction): Removed logging. + Transactions are deleted during GC, so it's usually not importatnt to know when it happens. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30189 to Safari-3-1-branch. + + 2008-02-12 Timothy Hatcher <timothy@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/5652560> Can't delete database if the website that + uses it has been opened in this session + + Close the Database on the database thread before deleting the file. + Tested and works on Windows and Mac. + + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::close): Assert we are on the opening thread. + * storage/Database.cpp: + (WebCore::Database::markAsDeletedAndClose): Unschedule any pending + Database tasks, and start and imediate DatabaseCloseTask. + (WebCore::Database::close): Close the SQLDatabase. + * storage/Database.h: Renamed markAsDeleted to markAsDeletedAndClose. + * storage/DatabaseTask.cpp: + (WebCore::DatabaseCloseTask::DatabaseCloseTask): New task. + (WebCore::DatabaseCloseTask::doPerformTask): Call close on the Database. + (WebCore::DatabaseCloseTask::debugTaskName): Return "DatabaseCloseTask". + * storage/DatabaseTask.h: Add DatabaseCloseTask. + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::deleteDatabaseFile): Call the renamed + markAsDeletedAndClose. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30184 to Safari-3-1-branch. + + 2008-02-12 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler + + Fix for <rdar://problem/5737692> - Database API needs to support SuccessCallback + + Layout tests will come shortly with a mess of DRT changes + + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): Standardize on "empty string" instead of null string + as different paths of constructing a SecurityOrigin were causing different hashes for the "same" + SecurityOrigin + + * storage/Database.cpp: + (WebCore::Database::changeVersion): Pass in the successCallback + (WebCore::Database::transaction): Ditto + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::SQLTransaction): + (WebCore::SQLTransaction::debugStepName): + (WebCore::SQLTransaction::performNextStep): Update ASSERTs for the new valid steps + (WebCore::SQLTransaction::performPendingCallback): Ditto + (WebCore::SQLTransaction::postflightAndCommit): Schedule the success callback if it exists - otherwise + skip straight to cleanupAfterSuccessCallback() + (WebCore::SQLTransaction::deliverSuccessCallback): Deliver success callback on the main thread, then + schedule cleanupAfterSuccessCallback() + (WebCore::SQLTransaction::cleanupAfterSuccessCallback): Cleanup and end the transaction + (WebCore::SQLTransaction::handleTransactionError): + (WebCore::SQLTransaction::deliverTransactionErrorCallback): + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): + * storage/SQLTransaction.h: + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30179 to Safari-3-1-branch. + + 2008-02-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix http://bugs.webkit.org/show_bug.cgi?id=17041 + <rdar://problem/5709660> Eastern Asian fonts do not display without specific box in Control Panel + + Revised the system fallback font lookup logic to use MLang font linking + again. To avoid reintroducing bug 16548 and <rdar://problem/5280188>, + for CJK characters, try linking based on a single code page at a time, + starting with the user's default code page (if it is one of the CJK + code pages) followed by the other CJK code pages in a prescribed order + that matches what Firefox does. + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::getCJKCodePageMasks): Added. Returns the search order for CJK + code pages, with the user's default code page first. + (WebCore::currentFontContainsCharacter): Factored out of + getFontDataForCharacters(). + (WebCore::createMLangFont): Ditto. + (WebCore::FontCache::getFontDataForCharacters): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30174 to Safari-3-1-branch. + + 2008-02-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Timothy Hatcher. + + - <rdar://problem/5738175> Remove workaround for <rdar://problem/5539388> from post-Tiger builds + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setShadow): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30173 to Safari-3-1-branch. + + 2008-02-12 Brady Eidson <beidson@apple.com> + + Release build fix + + * storage/DatabaseTask.cpp: + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30172 to Safari-3-1-branch. + + 2008-02-12 Alexey Proskuryakov <ap@webkit.org> and Brady Eidson <beidson@apple.com> + + Reviewed by Brady. + + http://bugs.webkit.org/show_bug.cgi?id=17177 + <rdar://problem/5729619> Storage tasks are getting lost + + <rdar://problem/5729445> REGRESSION: Cannot schedule more than one transaction at a time + + <rdar://problem/5729446> Major thread safety issue in Database code + + * platform/MessageQueue.h: Added a thread-safe queue abstraction. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + Added MessageQueue.h. + + * dom/Document.cpp: + (WebCore::Document::~Document): Fixed a race condition resulting in a hanging reference. + + * storage/Database.idl: Fixed parameter declarations to actually match implementation + (which is custom, so it got out of sync). + + * storage/DatabaseTask.h: + (WebCore::DatabaseTask::database): + (WebCore::DatabaseTransactionTask::transaction): + Changed tasks to hold more information internally. Added helpers for better debug logging. + + * storage/DatabaseTask.cpp: + (WebCore::DatabaseTask::DatabaseTask): + (WebCore::DatabaseTask::performTask): + (WebCore::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::DatabaseOpenTask::doPerformTask): + (WebCore::DatabaseOpenTask::debugTaskName): + (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): + (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask): + (WebCore::DatabaseTransactionTask::doPerformTask): + (WebCore::DatabaseTransactionTask::debugTaskName): + (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): + (WebCore::DatabaseTableNamesTask::doPerformTask): + (WebCore::DatabaseTableNamesTask::debugTaskName): + Implementation for the above. + + (WebCore::DatabaseTask::lockForSynchronousScheduling): + (WebCore::DatabaseTask::waitForSynchronousCompletion): + Fixed a potential race condition: if the task completed before we entered a wait, we'd never + wake up. There was an assertion guarding against this, but no actual guarantee that I could see. + + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::DatabaseThread): + (WebCore::DatabaseThread::requestTermination): + (WebCore::DatabaseThread::databaseThread): + (WebCore::DatabaseThread::scheduleTask): + (WebCore::DatabaseThread::scheduleImmediateTask): + (WebCore::DatabaseThread::unscheduleDatabaseTasks): + * storage/DatabaseThread.h: + Changed to use MessageQueue. + + * storage/Database.cpp: + (WebCore::guidMutex): + (WebCore::guidToVersionMap): + (WebCore::guidToDatabaseMap): + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::~Database): + (WebCore::Database::openAndVerifyVersion): + (WebCore::guidForOriginAndName): + (WebCore::Database::changeVersion): + (WebCore::Database::transaction): + (WebCore::Database::scheduleTransaction): + (WebCore::Database::scheduleTransactionStep): + (WebCore::Database::scheduleTransactionCallback): + (WebCore::Database::version): + (WebCore::Database::deliverPendingCallback): + (WebCore::Database::tableNames): + * storage/Database.h: + Changed m_transactionQueue to a MessageQueue. + Got rid of callback tracking - these can take care of themselves. + Got rid of a DatabaseThread member, as the Document can be asked for it. + Moved private static members and helpers out of the header. + Lost CurrentThreadSetter debug helper on the way. We may need to re-add something like that later. + + * storage/SQLTransaction.h: + * storage/SQLTransaction.cpp: Added a lot of debug logging. + (WebCore::SQLTransaction::scheduleToRunStatements): Removed "m_currentStatement = 0" assignment, + as it created a race condition. Everything seems to work better without it, although a real fix + would be to get rid of this variable - it's evil shared data that isn't even protected in any way. + + * manual-tests/database-threading-stress-test-2.html: Added. + * manual-tests/database-threading-stress-test.html: Added. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30171 to Safari-3-1-branch. + + 2008-02-12 Adam Roben <aroben@apple.com> + + Fix Bug 17328: REGRESSION (r30147): Inspector is unstyled on Windows + + <http://bugs.webkit.org/show_bug.cgi?id=17328> + <rdar://5737946> + + Reviewed by Mitz. + + Test: fast/loader/local-css-allowed-in-strict-mode.html + + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::ResourceResponse::doUpdateResourceResponse): Add a case for + .css files. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30162 to Safari-3-1-branch. + + 2008-02-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=17320 + <rdar://problem/5736953> :last-child does not set the "uses sibling rules" flag + + Test: fast/css/last-child-style-sharing.html + + * css/CSSGrammar.y: Changed to call setUsesSiblingRules(true) for all + CSS3 selectors that require it. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30157 to Safari-3-1-branch. + + 2008-02-11 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Make the cross-domain security model more closely match Firefox by always returning the + native built-in functions when accessing functions cross-domain. + + Fixes for: + <rdar://problem/5735497> Match Firefox's cross-domain model more accurately by return the built-in version of functions even if they have been overridden + <rdar://problem/5735443> Crash when setting the Window objects prototype to a custom Object and then calling a method on it + + Tests: fast/dom/Window/window-custom-prototype-crash.html + fast/dom/Window/window-function-frame-getter-precedence.html + http/tests/security/cross-frame-access-get-override.html + http/tests/security/cross-frame-access-location-get-override.html + http/tests/security/cross-frame-access-location-get.html + http/tests/security/cross-frame-access-location-put.html + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + - Return the native-built in version of an cross-domain allowed function (eg. window.focus) whether or + not it has been overridden, instead of undefined. + - When doing findEntry lookup, use the the tables directly (JSDOMWindowPrototype::info.propHashTable) + instead of calling the virtual classInfo() method to avoid the unnecessary overhead. + - Allow access to the native toString function cross-domain. It always returns "[object Window]". + - Use the new nonCachingStaticFunctionGetter when return allowed functions cross-frame so that + the function an overridden function is not inadvertantly returned from the PropertyMap.\ + + * bindings/js/JSHistoryCustom.cpp: + (WebCore::JSHistory::customGetOwnPropertySlot): + - Implement the same model as described above for the History object, always returning the + native built-in function cross-domain. + - Allow access to the native toString function cross-domain. + - Clean up the code to make it clear that the custom functionality is only there for cross-domain + access. + + * bindings/js/JSLocation.cpp: + (WebCore::JSLocation::getOwnPropertySlot): + - Match the generated classes by moving all the custom logic into a separate customGetOwnPropertySlot + function. This will help moving to a generated class in the future. + (WebCore::JSLocation::customGetOwnPropertySlot): + - Implement the same model as described above for the Location object, always returning the + native built-in function cross-domain. + - Clean up the code to make it clear that the custom functionality is only there for cross-domain + access. + (WebCore::JSLocation::put): + (WebCore::JSLocation::deleteProperty): + (WebCore::JSLocation::getPropertyNames): + * bindings/js/JSLocation.h: + - Clean up to match the rest of the file a little better. + + * bindings/js/kjs_binding.cpp: + (WebCore::allowsAccessFromFrame): + (WebCore::printErrorMessageForFrame): + (WebCore::nonCachingStaticFunctionGetter): + (WebCore::objectToStringFunctionGetter): + * bindings/js/kjs_binding.h: + - Put common functionality related to cross-domain access here to serve as a central shared point. + This includes moving and augmenting the allowsAccessFromFrame method that was in both JSHistoryCustom.cpp + and JSLocation.cpp. + + * bindings/js/kjs_dom.cpp: + (WebCore::checkNodeSecurity): + - Use the new allowsAccessFromFrame method. + + * bindings/js/kjs_window.cpp: + (KJS::Window::childFrameGetter): Cleanup. + (KJS::Window::namedItemGetter): Cleanup. + (KJS::Window::getOwnPropertySlot): + - Do the prototype lookup early to match Firefox in having function lookup have a higher precedence + than the index or shortcut name getters. + - Cleanup function to make it more understandable and slightly more efficient. + (KJS::Window::allowsAccessFrom): + - Add a new variant of this method that takes a reference to a String, which, on failure, will + contain the error message to print out. The caller can then pass this to printErrorMessage. + This allows for code to check allowsAccessFrom and act on the result without printing out the + error message. For convenience, a version with out the String parameter has been left which + prints out the message automatically. + (KJS::Window::printErrorMessage): + * bindings/js/kjs_window.h: + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30154 to Safari-3-1-branch. + + 2008-02-11 Timothy Hatcher <timothy@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/5733069> Many m_quotaMap uses do not hold the m_quotaMapGuard + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::hasEntryForOrigin): Hold m_quotaMapGuard when using m_quotaMap. + (WebCore::DatabaseTracker::origins): Ditto. + (WebCore::DatabaseTracker::setQuota): Ditto. + (WebCore::DatabaseTracker::deleteAllDatabases): Call origins() and itterate over the + origins to call deleteOrigin(). + (WebCore::DatabaseTracker::deleteOrigin): Hold m_quotaMapGuard when using m_quotaMap. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30153 to Safari-3-1-branch. + + 2008-02-11 David Hyatt <hyatt@apple.com> + + Fix for bug 17286, crash accessing a null RenderStyle. Add a simple null check. + + Reviewed by aroben + + Added fast/css/empty-generated-content.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30146 to Safari-3-1-branch. + + 2008-02-11 Adam Roben <aroben@apple.com> + + Fix Bug 14316: Inspector's Console truncates long strings + + <http://bugs.webkit.org/show_bug.cgi?id=14316> + <rdar://5357695> + + We no longer call Object.describe to format all the output of commands + enetered into the Console. The ConsolePanel object now has a set of + formatting functions that append a formatted representation of the + passed-in object to the passed-in container node. + + Reviewed by Sam. + + * page/inspector/ConsolePanel.js: + (WebInspector.ConsolePanel._onEnterPressed): Updated for rename of + _outputToNode to _format. + (WebInspector.ConsolePanel._format): Renamed from _outputToNode. Use + Object.type to get the type of the object, then call the appropriate + formatting function. + (WebInspector.ConsolePanel._formatvalue): Added. + (WebInspector.ConsolePanel._formatstring): Added. This function + contains the actual fix for the bug, since it doesn't truncate the + string no matter how long it is. + (WebInspector.ConsolePanel._formatregexp): Added. + (WebInspector.ConsolePanel._formatarray): Added. This is a bit more + functional than Object.describe for arrays, since it recursively + formats each item in the array. One advantage of this is that Nodes in + arrays will be linkified instead of just turning into "[Object + HTMLBodyElement]" or similar. + (WebInspector.ConsolePanel._formatnode): Added. + (WebInspector.ConsolePanel._formatobject): Added. + (WebInspector.ConsolePanel. + * page/inspector/utilities.js: + (Object.type): Added. Code was pulled out of Object.describe and + reorganized slightly. + (Object.describe): Call Object.type. There should be no change in + behavior of this function. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30116 to Safari-3-1-branch. + + 2008-02-09 David Hyatt <hyatt@apple.com> + + Fix for bug 17254, nth-* selectors do not work with negative coefficients. + + Reviewed by Mitz. + + fast/css/negative-nth-child.html + + * css/CSSStyleSelector.cpp: + (WebCore::parseNth): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30112 to Safari-3-1-branch. + + 2008-02-09 David Hyatt <hyatt@apple.com> + + Fix for bug 17203, high CPU usage loading HTML5 spec. This patch significantly improves the performance + of CSS3 selectors. + + (1) Split the notion of being affected by positional rules into "forward" and "backward." The "forward" + selectors do not need to re-resolve during parsing, since children are appended on the end. Only the + "backward" selectors like last-child or nth-last-child have to re-resolve when a close tag is encountered. + + (2) Extend childrenChanged to specify whether the children were changed by the parser or not. This allows + Element::childrenChanged to know when the parser is adding children so that it can ignore those adds when + possible. + + (3) Make sure all Elements now know whether or not their children are currently parsing. Backwards selectors + like last-child will always return false when children are still being parsed. When an Element finishes + parsing its children, finishParsingChildren() gets called and will make sure the children re-resolve properly. + + (4) Added a beginParsingChildren method and renamed finishParsing to finishedParsingChildren. + + (5) Eliminated one-off hacks that did the same thing in HTMLObjectElement and HTMLAppletElement. + + (6) Patched many incorrect implementations of finishedParsingChildren that did not properly call into their + base class (mostly new SVG elements that got added for SVG fonts around the time this became a requirement). + + Reviewed by Eric + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkSelector): + (WebCore::CSSStyleSelector::checkOneSelector): + * dom/Attr.cpp: + (WebCore::Attr::childrenChanged): + * dom/Attr.h: + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::addChild): + * dom/Document.cpp: + (WebCore::Document::childrenChanged): + * dom/Document.h: + * dom/Element.cpp: + (WebCore::Element::Element): + (WebCore::Element::recalcStyle): + (WebCore::checkFirstChildRules): + (WebCore::checkLastChildRules): + (WebCore::checkEmptyRules): + (WebCore::checkStyleRules): + (WebCore::Element::childrenChanged): + (WebCore::Element::finishParsingChildren): + * dom/Element.h: + (WebCore::Element::finishedParsingChildren): + (WebCore::Element::beginParsingChildren): + * dom/Node.cpp: + * dom/Node.h: + (WebCore::Node::finishParsingChildren): + (WebCore::Node::beginParsingChildren): + (WebCore::Node::childrenChanged): + * dom/StyledElement.cpp: + (WebCore::StyledElement::StyledElement): + * dom/StyledElement.h: + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::startElementNs): + (WebCore::XMLTokenizer::endElementNs): + (WebCore::): + * html/HTMLAppletElement.cpp: + (WebCore::HTMLAppletElement::HTMLAppletElement): + (WebCore::HTMLAppletElement::finishParsingChildren): + * html/HTMLAppletElement.h: + * html/HTMLElementFactory.cpp: + (WebCore::objectConstructor): + * html/HTMLGenericFormElement.cpp: + (WebCore::HTMLFormControlElementWithState::finishParsingChildren): + * html/HTMLGenericFormElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::HTMLObjectElement): + (WebCore::HTMLObjectElement::finishParsingChildren): + (WebCore::HTMLObjectElement::childrenChanged): + * html/HTMLObjectElement.h: + * html/HTMLOptGroupElement.cpp: + (WebCore::HTMLOptGroupElement::childrenChanged): + * html/HTMLOptGroupElement.h: + * html/HTMLOptionElement.cpp: + (WebCore::HTMLOptionElement::childrenChanged): + * html/HTMLOptionElement.h: + * html/HTMLParser.cpp: + (WebCore::HTMLParser::insertNode): + (WebCore::HTMLParser::pushBlock): + (WebCore::HTMLParser::popOneBlockCommon): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::childrenChanged): + (WebCore::HTMLScriptElement::finishParsingChildren): + * html/HTMLScriptElement.h: + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::childrenChanged): + * html/HTMLSelectElement.h: + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::finishParsingChildren): + (WebCore::HTMLStyleElement::childrenChanged): + * html/HTMLStyleElement.h: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::childrenChanged): + * html/HTMLTextAreaElement.h: + * html/HTMLTitleElement.cpp: + (WebCore::HTMLTitleElement::childrenChanged): + * html/HTMLTitleElement.h: + * rendering/RenderApplet.cpp: + (WebCore::RenderApplet::createWidgetIfNecessary): + * rendering/RenderPartObject.cpp: + (WebCore::RenderPartObject::updateWidget): + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::RenderStyle): + * rendering/RenderStyle.h: + (WebCore::RenderStyle::childrenAffectedByForwardPositionalRules): + (WebCore::RenderStyle::setChildrenAffectedByForwardPositionalRules): + (WebCore::RenderStyle::childrenAffectedByBackwardPositionalRules): + (WebCore::RenderStyle::setChildrenAffectedByBackwardPositionalRules): + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::finishParsingChildren): + * svg/SVGAnimationElement.h: + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::childrenChanged): + * svg/SVGClipPathElement.h: + * svg/SVGDefinitionSrcElement.cpp: + (WebCore::SVGDefinitionSrcElement::childrenChanged): + * svg/SVGDefinitionSrcElement.h: + * svg/SVGElement.cpp: + (WebCore::SVGElement::finishParsingChildren): + * svg/SVGElement.h: + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::childrenChanged): + * svg/SVGFontFaceElement.h: + * svg/SVGFontFaceFormatElement.cpp: + (WebCore::SVGFontFaceFormatElement::childrenChanged): + * svg/SVGFontFaceFormatElement.h: + * svg/SVGFontFaceSrcElement.cpp: + (WebCore::SVGFontFaceSrcElement::childrenChanged): + * svg/SVGFontFaceSrcElement.h: + * svg/SVGFontFaceUriElement.cpp: + (WebCore::SVGFontFaceUriElement::childrenChanged): + * svg/SVGFontFaceUriElement.h: + * svg/SVGGElement.cpp: + (WebCore::SVGGElement::childrenChanged): + * svg/SVGGElement.h: + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::childrenChanged): + * svg/SVGGradientElement.h: + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::childrenChanged): + * svg/SVGMarkerElement.h: + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::childrenChanged): + * svg/SVGMaskElement.h: + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::childrenChanged): + * svg/SVGPatternElement.h: + * svg/SVGStyleElement.cpp: + (WebCore::SVGStyleElement::finishParsingChildren): + (WebCore::SVGStyleElement::childrenChanged): + * svg/SVGStyleElement.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::childrenChanged): + * svg/SVGStyledElement.h: + * svg/SVGTitleElement.cpp: + (WebCore::SVGTitleElement::childrenChanged): + * svg/SVGTitleElement.h: + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::childrenChanged): + * svg/SVGUseElement.h: + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30104 to Safari-3-1-branch. + + 2008-02-08 Timothy Hatcher <timothy@apple.com> + + Reviewed by Brady Eidson. + + <rdar://problem/5640896> Removing database then trying + to recreate it causes trouble + + Added open Database support to DatabaseTracker. So any Database that + is deleted will be marked as deleted and will fail to open any transaction + or execute any new SQL queries. + + * storage/Database.cpp: + (WebCore::Database::Database): Call DatabaseTracker::addOpenDatabase. + (WebCore::Database::~Database): Call DatabaseTracker::removeOpenDatabase. + (WebCore::Database::markAsDeleted): Set the m_deleted flag. + (WebCore::Database::version): Return a null String if m_deleted is true. + * storage/Database.h: + (WebCore::Database::deleted): Return m_deleted. + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::addOpenDatabase): Add the Database to a map of origins and names. + (WebCore::DatabaseTracker::removeOpenDatabase): Remove the Database from the map. + (WebCore::DatabaseTracker::deleteDatabaseFile): Call markAsDeleted on all the open Databases + matching the origin/name. + * storage/DatabaseTracker.h: + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::setDatabaseDeletedError): Set the error about the user deleting the database. + * storage/SQLStatement.h: + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::executeSQL): If the Database is deleted, call setDatabaseDeletedError. + (WebCore::SQLTransaction::openTransactionAndPreflight): Set the error about the user deleting the database + if the Database was marked as deleted. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30101 to Safari-3-1-branch. + + 2008-02-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Mitz. + + <rdar://problem/5650446> + http://bugs.webkit.org/show_bug.cgi?id=16102 + Crash in FrameLoader::stopLoadingSubframes() on IMDB page + + Store the child frame in a RefPtr to prevent it from being deleted when the + frame tree changes while calling stopAllLoaders(). + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoadingSubframes): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30098 to Safari-3-1-branch. + + 2008-02-08 Alp Toker <alp@atoker.com> + + Reviewed by Adam Roben. + + Avoid null-dereference crasher noticed in the GTK+ port and also + affecting the Win release build. + + Covered by existing tests. + + * dom/Document.cpp: + (WebCore::Document::userStyleSheet): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30097 to Safari-3-1-branch. + + 2008-02-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + <rdar://problem/5724188> + REGRESSION: PLT 0.7% slower due to 29926 (change Text::createWithLengthLimit to take a UChar pointer) + + Revert r29926 which caused the regression. + + * dom/Text.cpp: + (WebCore::Text::createWithLengthLimit): + * dom/Text.h: + * html/HTMLParser.cpp: + (WebCore::HTMLParser::parseToken): + * loader/TextDocument.cpp: + (WebCore::TextTokenizer::write): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30096 to Safari-3-1-branch. + + 2008-02-08 Sam Weinig <sam@webkit.org> + + Reviewed by Hyatt. + + Fix for <rdar://problem/5732491> + http://bugs.webkit.org/show_bug.cgi?id=17213 + The querySelectorAll method on an element node does not search only the element's descendants + + Test: fast/dom/SelectorAPI/elementRoot.html + + * dom/Node.cpp: + (WebCore::Node::querySelector): Make sure to stay within the root node when traversing the tree. + * dom/SelectorNodeList.cpp: + (WebCore::SelectorNodeList::SelectorNodeList): ditto. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30087 to Safari-3-1-branch. + + 2008-02-06 Kimmo Kinnunen <kimmok@iki.fi> + + Reviewed by Tim Hatcher. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=17191 + HTML5: Client-side database queries should return values of type number + Test: storage/sql-data-types.html + + Make the DB queries return a value as a number if it was inserted + as a number to the database. + * platform/sql/SQLiteStatement.cpp: + (WebCore::SQLiteStatement::getColumnValue): new member function to return SQLValues + * platform/sql/SQLiteStatement.h: + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::execute): use getColumnValue instead of getColumnText + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30085 to Safari-3-1-branch. + + 2008-02-07 Ada Chan <adachan@apple.com> + + <rdar://problem/5292433> certificate authentication support broken in Safari 3.0 + Added mechanism to communicate client certificate info back to CFNetwork. + + Reviewed by Adam. + + * platform/network/ResourceHandle.h: + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::clientCerts): Keep a mapping of hosts to client certificates. + (WebCore::makeFinalRequest): If we have a client certificate for the host, pass it + to CFNetwork by setting it in the SSL properties. + (WebCore::ResourceHandle::setClientCertificate): Map client certificate to the host. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30081 to Safari-3-1-branch. + + 2008-02-07 Adam Roben <aroben@apple.com> + + Fix Bug 17138: REGRESSION: Node highlight not updated properly + + <http://bugs.webkit.org/show_bug.cgi?id=17138> + <rdar://problem/5719869> + + Reviewed by Darin. + + No test possible. + + * page/InspectorController.cpp: + (WebCore::InspectorController::drawNodeHighlight): Update the + overlayRect after scrolling to make sure that we translate the context + by the correct amount. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30080 to Safari-3-1-branch. + + 2008-02-07 Adam Roben <aroben@apple.com> + + Qt and GTK+ build fixes + + * platform/gtk/FileSystemGtk.cpp: Added a missing #include. + * platform/qt/FileSystemQt.cpp: Ditto. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30079 to Safari-3-1-branch. + + 2008-02-07 Adam Roben <aroben@apple.com> + + Some cleanup of Mac-only user stylesheet code + + I moved UserStyleSheetLoader out of Frame.cpp into its own files, and + moved some Mac-only Frame methods to FrameMac.mm. + + Reviewed by Darin. + + * WebCore.xcodeproj/project.pbxproj: Added new files to project. + * loader/mac/UserStyleSheetLoader.cpp: Added. + (UserStyleSheetLoader::UserStyleSheetLoader): + (UserStyleSheetLoader::~UserStyleSheetLoader): + * loader/mac/UserStyleSheetLoader.h: Added. + * page/Frame.cpp: Removed setUserStyleSheet[Location] + * page/mac/FrameMac.mm: + (WebCore::Frame::setUserStyleSheetLocation): Moved here from + Frame.cpp. + (WebCore::Frame::setUserStyleSheet): Ditto. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30078 to Safari-3-1-branch. + + 2008-02-07 Adam Roben <aroben@apple.com> + + Fix <rdar://5555260> GMail never loads when a user stylesheet is + specified + + The fix in r29841 did not guarantee that the user stylesheet would not + still be loading by the time GMail called document.write, and so was + not a complete fix. + + This change reworks the user stylesheet loading mechanism on non-Mac + platforms to load the stylesheet synchronously from disk, and then + keeps it in memory. This obsoletes the issue of what our behavior + should be before the user stylesheet has loaded and what should happen + when it finishes loading, as the user stylesheet will always be + available when the Document first asks for it. Note, however, that + this removes the ability to specify a non-file: URL for the user + stylesheet. This change was not made for the Mac platform because it's + possible that WebKit clients are relying on non-file: URLs for user + stylesheets. It would also be nice to move back to an asynchronous + loading model someday, but that is not currently possible since we + don't have an asynchronous loading mechanism that is not tied to a + particular Frame. + + The responsibility of loading and storing the user stylesheet has + moved from Frame to Page, since the user stylesheet URL is set on the + Page-level Settings object. + + Reviewed by Darin. + + * dom/Document.cpp: + (WebCore::Document::Document): Changed to call userStyleSheet(). + (WebCore::Document::setUserStyleSheet): Made Mac-only. + (WebCore::Document::userStyleSheet): Changed to call up to Page on + non-Mac platforms. + (WebCore::Document::recalcStyleSelector): Changed to call + userStyleSheet(). + * dom/Document.h: + - Made setUserStyleSheet and the m_usersheet member Mac-only + - Changed userStyleSheet to return a String instance instead of a + String reference, since we now might return a new null String. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::begin): Made the call to + Frame::setUserStyleSheetLocation Mac-only. + * page/Frame.cpp: Made UserStyleSheetLoader and related code Mac-only. + (WebCore::Frame::~Frame): Ditto. + (WebCore::Frame::reapplyStyles): Made the call to + setUserStyleSheet[Location] Mac-only. On non-Mac platforms the + Document will pick up the new stylesheet in Document::reapplyStyles. + (WebCore::FramePrivate::FramePrivate): Made m_userStyleSheetLoader + Mac-only. + * page/Frame.h: Made setUserStyleSheet[Location] Mac-only. + * page/FramePrivate.h: Made m_userStyleSheetLoader Mac-only. + * page/Page.cpp: + (WebCore::Page::Page): Initialize new members. + (WebCore::Page::userStyleSheetLocationChanged): Added. Does nothing on + Mac. On non-Mac, resets all members relating to the user stylesheet so + we'll know to load it again the next time it's asked for. + (WebCore::Page::userStyleSheet): Added. Loads the user stylesheet if + the user stylesheet location has changed since the last time we loaded + it, or if the file has been modified since we last loaded it, then + returns the contents of the user stylesheet as a String. + * page/Page.h: Added new methods/members. + * page/Settings.cpp: + (WebCore::Settings::setUserStyleSheetLocation): Changed to call + Page::userStyleSheetLocationChanged. + * page/Settings.h: Changed userStyleSheetLocation to return the KURL + by reference instead of making a copy. + * platform/FileSystem.h: Added declaration for getFileModificationTime. + * platform/KURL.h: Added declaration for fileSystemPath method. + * platform/cf/KURLCFNet.cpp: + (WebCore::KURL::fileSystemPath): Added. + * platform/posix/FileSystemPOSIX.cpp: + (WebCore::getFileModificationTime): Added. + * platform/qt/KURLQt.cpp: + (WebCore::KURL::fileSystemPath): Stubbed out. + * platform/win/FileSystemWin.cpp: + (WebCore::getFileModificationTime): Added. + * platform/qt/FileSystemQt.cpp: Stubbed out getFileModificationTime. + * platform/gtk/FileSystemGtk.cpp: Ditto. + * platform/wx/FileSystemWx.cpp: Ditto. + * platform/qt/TemporaryLinkStubs.cpp: Stubbed out + SharedBuffer::createWithContentsOfFile. + * platform/gtk/TemporaryLinkStubs.cpp: Ditto, along with + KURL::fileSystemPath. + * platform/wx/TemporaryLinkStubs.cpp: Ditto. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30077 to Safari-3-1-branch. + + 2008-02-07 Adam Roben <aroben@apple.com> + + Clean up FileSystemWin.cpp + + This cleanup also makes us call _wstat64 instead of _wstat32i64. The + only difference between these two functions is that _wstat64 gives + 64-bit time values, while _wstat32i64 only gives 32-bit time values. + + Reviewed by Darin. + + All tests pass. + + * platform/win/FileSystemWin.cpp: + (WebCore::statFile): New static helper that wraps _wstat64. + (WebCore::getFileSize): Changed to call statFile. + (WebCore::fileExists): Ditto. + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30076 to Safari-3-1-branch. + + 2008-02-07 Adam Roben <aroben@apple.com> + + Rename fileSize to getFileSize + + Rubberstamped by Darin. + + * platform/FileSystem.h: + * platform/gtk/FileSystemGtk.cpp: + * platform/network/cf/FormDataStreamCFNet.cpp: + (WebCore::setHTTPBody): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::setupPOST): + * platform/posix/FileSystemPOSIX.cpp: + * platform/qt/FileSystemQt.cpp: + * platform/win/FileSystemWin.cpp: + * platform/wx/FileSystemWx.cpp: + * storage/Database.cpp: + (WebCore::Database::databaseSize): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::usageForDatabase): + * storage/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::diskUsage): + +2008-02-15 Mark Rowe <mrowe@apple.com> + + Merge r30075 to Safari-3-1-branch. + + 2008-02-06 Adam Roben <aroben@apple.com> + + Make KURL::isLocalFile treat the URL's protocol case-insensitively + + Reviewed by Darin. + + * platform/KURL.cpp: + (WebCore::KURL::isLocalFile): Use equalIgnoringCase instead of ==. + +2008-02-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + - roll out changes to CSS2 system colors from r28775 + + * css/CSSStyleSelector.cpp: + (WebCore::): + (WebCore::colorForCSSValue): + * rendering/RenderTheme.cpp: + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + +2008-02-07 David Hyatt <hyatt@apple.com> + + Fix for bug 6248, implement the nth-* CSS3 selectors. Patch based on original KHTML work from Allan Jensen + and improved upon by Nick Shanks. + + Reviewed by Eric + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::lex): + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::parseNth): + (WebCore::matchNth): + (WebCore::CSSStyleSelector::checkOneSelector): + * css/tokenizer.flex: + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::RenderStyle): + * rendering/RenderStyle.h: + (WebCore::RenderStyle::childIndex): + (WebCore::RenderStyle::setChildIndex): + +2008-02-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5729411> REGRESSION (r29834): Float contained in relative-positioned block is painted twice + + Test: fast/block/float/relative-painted-twice.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverhangingFloats): Added another case where + the child should not take over painting the float: when they do not have + the same enclosing layer. In that case, the float is already being + painted by one of its closer ancestors. + +2008-02-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=17194 + Changing text to bold changes font family + + Test: platform/mac/fast/text/family-for-font-matched-by-name.html + + * platform/mac/WebFontCache.mm: + (+[WebFontCache internalFontWithFamily:traits:size:]): Changed to use + the family of the font whose name matches the desired family if there + is no exact family match. + +2008-02-07 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoff. + + Fix for <rdar://problem/5697882> Traffic or Street View button on + Google Maps is sometimes not positioned correctly (17000) + + On the Mac, timers fire in the order that they are registered. + Geoff and I discovered that this is not necessarily true on + Windows, and that turned out to be the cause of this intermittent + layout problem at Google Maps. This patch adds a new member + variable to Timer to remember the timer's insertion point into the + heap. Now when comparing timers, if two timers were registered at + the same time, their insertion orders are compared to determine + which should fire first. This code actually never runs on Debug + builds on the Mac; the system clock on the Mac is accurate enough + that it knows that the two timers were not registered at *exactly* + the same time. This is not the case on Windows. In theory, if we + sped up Javascript enough on the Mac, this code would run and would + prevent misrenderings such as the one found on Google Maps. + + * platform/Timer.cpp: + (WebCore::operator<): + (WebCore::TimerBase::setNextFireTime): + * platform/Timer.h: + +2008-02-06 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5195056> Huge plain text pastes are slow + + This was fixed in r27369 and then r29367 and r29667 caused performance to + regress. + + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): Only updateLayout() for high level commands. + (WebCore::EditCommand::unapply): Ditto. + (WebCore::EditCommand::reapply): Ditto. + * editing/Editor.cpp: + (WebCore::Editor::appliedEditing): Added a note about shouldChangeSelection calls + that shouldn't be made, a bug I filed as <rdar://problem/5729315>. + (WebCore::Editor::unappliedEditing): Ditto. + (WebCore::Editor::reappliedEditing): Ditto. + * editing/SelectionController.cpp: + (WebCore::SelectionController::nodeWillBeRemoved): Don't try to test the selection + base and extent with the expensive isCandidate operation if the node that will + be removed is in a fragment, since such a removal is guaranteed to have no effect + on a selection. This is to speed up the paste operation, which does many removes from + a fragment. + +2008-02-06 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Darin Adler. + + Rather than directly handing scroll wheel events, use + PlatformWheelEvent to send them to WebCore first, so that + mouse wheel scrolling info can be retrieved via JavaScript. + + http://bugs.webkit.org/show_bug.cgi?id=17179 + + * platform/ScrollView.h: + * platform/wx/MouseWheelEventWx.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::bindEvents): + (WebCore::ScrollView::wheelEvent): + (WebCore::ScrollView::maximumScroll): + +2008-02-06 Mark Rowe <mrowe@apple.com> + + Fix Windows builds. + + * WebCore.vcproj/WebCore.vcproj: Unbreak the XML of the project file. + +2008-02-06 Mark Rowe <mrowe@apple.com> + + Mac build fix. Track rename that happened in r30056. + + * platform/graphics/mac/GraphicsContextMac.mm: + +2008-02-06 Brent Fulgham <bfulgham@gmail.com> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=16979 + Conditionalize CoreGraphics vs Cairo support in Windows port. + + * WebCore.vcproj/WebCore.vcproj: + * bridge/win/FrameCGWin.cpp: Copied from WebCore/bridge/win/FrameWin.cpp. + (WebCore::imageFromSelection): + * bridge/win/FrameCairoWin.cpp: Added. + (WebCore::imageFromSelection): + * bridge/win/FrameWin.cpp: + (WebCore::computePageRectsForFrame): + * platform/graphics/SimpleFontData.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Copied from WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp. + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): + (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer): + (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::savePlatformState): + (WebCore::GraphicsContext::restorePlatformState): + * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed. + * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Copied from WebCore/platform/graphics/cg/GraphicsContextPlatformPrivate.h. + * platform/graphics/win/FontCGWin.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp. + (WebCore::Font::drawGlyphs): + * platform/graphics/win/FontCairoWin.cpp: Added. + (WebCore::Font::drawGlyphs): + * platform/graphics/win/FontWin.cpp: + * platform/graphics/win/GraphicsContextCGWin.cpp: Copied from WebCore/platform/graphics/win/GraphicsContextWin.cpp. + (WebCore::CGContextWithHDC): + (WebCore::GraphicsContext::inTransparencyLayer): + (WebCore::GraphicsContext::getWindowsContext): + (WebCore::GraphicsContext::releaseWindowsContext): + (WebCore::GraphicsContextPlatformPrivate::scale): + (WebCore::GraphicsContextPlatformPrivate::rotate): + (WebCore::GraphicsContextPlatformPrivate::translate): + (WebCore::GraphicsContextPlatformPrivate::concatCTM): + (WebCore::setCGStrokeColor): + (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): + * platform/graphics/win/GraphicsContextCairoWin.cpp: Added. + (WebCore::GraphicsContext::GraphicsContext): + (WebCore::GraphicsContext::getWindowsContext): + (WebCore::GraphicsContext::inTransparencyLayer): + (WebCore::GraphicsContext::releaseWindowsContext): + (WebCore::GraphicsContext::concatCTM): + * platform/graphics/win/GraphicsContextWin.cpp: + * platform/graphics/win/ImageCGWin.cpp: Copied from WebCore/platform/graphics/win/ImageWin.cpp. + (WebCore::BitmapImage::getHBITMAPOfSize): + (WebCore::BitmapImage::drawFrameMatchingSourceSize): + * platform/graphics/win/ImageCairoWin.cpp: Added. + (WebCore::BitmapImage::getHBITMAPOfSize): + (WebCore::BitmapImage::drawFrameMatchingSourceSize): + * platform/graphics/win/ImageWin.cpp: + * platform/graphics/win/SimpleFontDataCGWin.cpp: Copied from WebCore/platform/graphics/win/SimpleFontDataWin.cpp. + (WebCore::scaleEmToUnits): + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/win/SimpleFontDataCairoWin.cpp: Added. + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/graphics/win/SimpleFontDataWin.cpp: + (WebCore::SimpleFontData::setShouldApplyMacAscentHack): + (WebCore::SimpleFontData::shouldApplyMacAscentHack): + * platform/win/DragImageCGWin.cpp: Copied from WebCore/platform/win/DragImageWin.cpp. + (WebCore::scaleDragImage): + (WebCore::createDragImageFromImage): + * platform/win/DragImageCairoWin.cpp: Added. + (WebCore::scaleDragImage): + (WebCore::createDragImageFromImage): + * platform/win/DragImageWin.cpp: + +2008-02-06 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin. + + Change httpBodyFromStream to take the request instead of the stream. + + * platform/network/cf/FormDataStreamCFNet.cpp: + (WebCore::httpBodyFromRequest): + * platform/network/cf/FormDataStreamCFNet.h: + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::ResourceRequest::doUpdateResourceRequest): + +2008-02-06 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Darin. + + - Added manual tests for <rdar://problem/5556374> REGRESSION: cross-domain error when + one URL uses an explicit port number and another doesn't + + * manual-tests/Default-port-frame.html: Added. + * manual-tests/resources/Default-port-frame-contents.html: Added. + +2008-02-06 Oliver Hunt <oliver@apple.com> + + Reviewed by NOBODY (Build fix). + + Fix windows build + + * WebCore.vcproj/build-generated-files.sh: + +2008-02-06 Kevin McCullough <kmccullough@apple.com> + + Rubberstamped by Darin. + + <rdar://problem/5727708> REGRESSION (r29952): Can't send message from Yahoo Mail beta + - Reverted the change that caused the regression. + + * dom/Document.cpp: + (WebCore::Document::createElement): + (WebCore::Document::createElementNS): + (WebCore::Document::getElementById): + (WebCore::Document::parseQualifiedName): + (WebCore::Document::createAttributeNS): + * dom/Document.idl: + +2008-02-06 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Fixed <rdar://problem/5728081> REGRESSION: Many leaks on buildbot + + The problem was refCount underflow in NamedAttrMap. + + Neither our regression tests nor the stress test have yet discovered + another instance of this problem. + + * dom/NamedAttrMap.cpp: + (WebCore::NamedAttrMap::addAttribute): Changed to use PassRefPtr, + for fast and correct refCount management. Also, change a rediculously + slow malloc to a slightly less rediculously slow realloc. + + * dom/NamedAttrMap.h: + (WebCore::NamedAttrMap::insertAttribute): Changed to use PassRefPtr, + for fast and correct refCount management. + + * html/HTMLTokenizer.cpp: + (WebCore::Token::addAttribute): Use a RefPtr, to guarantee that the + object starts with a refCount of 1. + +2008-02-06 Darin Adler <darin@apple.com> + + Reviewed by Tim Hatcher. + + - fix <rdar://problem/5723293> NULL-deref crash in PropertyMap::put opening web inspector + with View Source window as target + + * page/InspectorController.cpp: + (WebCore::canPassNodeToJavaScript): Added. Returns false if the node is in a document with + JavaScript disabled. + (WebCore::InspectorController::inspect): Check canPassNodeToJavaScript and do nothing if + it returns false. + +2008-02-06 David Hyatt <hyatt@apple.com> + + Fix for bug 16799, object elements should return absolute URLs from .data. + + Reviewed by Mark Rowe + + * dom/Document.cpp: + (WebCore::Document::completeURL): + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::href): + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::data): + +2008-02-05 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + <rdar://problem/5726340> + <video autoplay controls> left in unplayable state if navigated away, then back to, before video finished loading + + When moving document in and out from the page cache: + - Cancel incomplete load by deleting the media player. This guarantees everything is in consistent state. + - Restart the load if it was aborted in the middle. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::~HTMLMediaElement): + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::willSaveToCache): + (WebCore::HTMLMediaElement::didRestoreFromCache): + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::player): + +2008-02-06 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - replace calls to put to set up properties with calls to putDirect, to + prepare for a future change where put won't take attributes any more, + and for a slight performance boost + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): Use putDirect instead of put. + * bindings/js/JSEventTargetBase.h: + (WebCore::JSEventTargetPrototype::self): Ditto. + * bindings/js/JSHTMLOptionElementConstructor.cpp: + (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto. + * bindings/js/JSSQLResultSetRowListCustom.cpp: + (WebCore::JSSQLResultSetRowList::item): Ditto. + +2008-02-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?17093 + 'border-color' does not animate to the value of 'color' when unspecified + + Test: fast/css/transition-color-unspecified.html + + * page/AnimationController.cpp: + (WebCore::ImplicitAnimation::animate): Changed to use the value of the + 'color' property in the source or destination style as the source or + destination value of properties whose inital value is defined to be the + computed value of 'color'. + +2008-02-06 Dan Bernstein <mitz@apple.com> + + Build fix. + + * svg/svgtags.in: + +2008-02-05 Oliver Hunt <oliver@apple.com> + + Build fix -- touch generate-bindings to trigger regeneration of bindings + + * bindings/scripts/generate-bindings.pl: + +2008-02-05 Oliver Hunt <oliver@apple.com> + + RS=Eric. + + Re-enable foreignObject by default as it is needed for a number of + non-fO related SVG tests and none of the old known crashes occur + anymore. + + * Configurations/WebCore.xcconfig: + * WebCore.vcproj/WebCore.vcproj: + +2008-02-05 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=8080 + NodeList (and other DOM lists) items are not enumeratable using for..in + + - Match Firefox when enumerating DOM interfaces with indexGetters (support for + the array bracket, nodeList[0], notation) by including all the items in the + list before the attributes and methods of the interface. + + Test: fast/dom/domListEnumeration.html + + * ForwardingHeaders/kjs/PropertyNameArray.h: Added. + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetPropertyNames): Use the new custom method model. + * bindings/js/JSHistoryCustom.cpp: + (WebCore::JSHistory::customGetPropertyNames): ditto. + * bindings/scripts/CodeGeneratorJS.pm: Instead of just adding a declaration of + getProperyNames and implementing the method in the Custom.cpp, move to a the + model used by generated getOwnPropertySlot() and put() where the custom code + is written in a separate customGetPropertyNames which returns a bool indicating + whether to call up to the base class. This enables adding the list indexes + to the PropertyNameArray for interfaces with indexGetters automatically. + +2008-02-05 Samuel Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/5726604> + dom-checker: deleting properties of the window object cross-domain should not be allowed + + Fix flaw found while testing with dom-checker testing tool (http://code.google.com/p/dom-checker/). + + Test: http/tests/security/cross-frame-access-delete.html + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::deleteProperty): Override deleteProperty to not delete cross-domain. + * bindings/js/JSHistoryCustom.cpp: + (WebCore::JSHistory::deleteProperty): ditto. + * bindings/js/JSLocation.cpp: + (WebCore::JSLocation::deleteProperty): ditto. + * bindings/js/JSLocation.h: + + * bindings/scripts/CodeGeneratorJS.pm: Add deleteProperty declaration when CustomDeleteProperty is used. + * page/DOMWindow.idl: Add CustomDeleteProperty extended attribute. + * page/History.idl: ditto. + +2008-02-05 Alp Toker <alp@atoker.com> + + Rubber-stamped by Mark Rowe. + + Fix a "missing sentinel in function call" warning by using NULL + instead of 0. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::caretBlinkFrequency): + +2008-02-05 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Fix dynamic updates of <circle> element's properties. + + Added tests: svg/dynamic-updates/SVGCircleElement* + + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::svgAttributeChanged): Mixed up cxAttr/xAttr etc. + * svg/SVGCircleElement.h: + +2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com> + + Wx build fix. Add WebCore/plugins to the include path. + + * webcore-base.bkl: + +2008-02-05 Mark Rowe <mrowe@apple.com> + + Mac build fix. Update the Xcode project to follow a moved file, + and track a rename in two files that were missed earlier. + + * WebCore.xcodeproj/project.pbxproj: + * page/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge canProvideDocumentSource]): + * platform/mac/PlugInInfoStoreMac.mm: + (WebCore::PluginInfoStore::pluginNameForMIMEType): + +2008-02-05 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Holger. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=17185 + Fix dynamic SVG DOM updates of <a> element's href property. + + This commit also introduces a new SVG Tests framework: LayoutTests/svg/dynamic-updates + Its purpose is to provide dynamic updating tests for each SVG class & property, aka. + one test per property per class. As a first pass it's sufficient to add testcases for all + SVG*Element classes, and their properties - and only common-used base-class properties. + + For SVGAElement - for example - it makes most sense to test scripting its parent + SVGURIReference object ('href' property) and its own property 'target'. + + Adding tests to see - for example - if SVGAElement reacts on changes on ie. its parent + SVGExternalResourcesRequired interface, should really be done in a second pass. + + All tests within the new framework are supposed to be created using make-js-tests-wrappers. + + Added test: svg/dynamic-updates/SVGAElement-dom-href-attr.js + Added test: svg/dynamic-updates/SVGAElement-dom-target-attr.js + Added test: svg/dynamic-updates/SVGAElement-svgdom-href-prop.js + Added test: svg/dynamic-updates/SVGAElement-svgdom-target-prop.js + + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::parseMappedAttribute): Move any setChanged() handling in svgAttributeChanged. + (WebCore::SVGAElement::svgAttributeChanged): + (WebCore::SVGAElement::defaultEventHandler): Use href() not getAttribute(hrefAttr) - otherwhise SVG DOM updates fail! + * svg/SVGAElement.h: + +2008-02-05 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/5685601> webkit-block-placeholder class on placeholders seems unnecessary (12317) + + * editing/CompositeEditCommand.cpp: + (WebCore::createBlockPlaceholderElement): The khtml-block-placeholder class was needed + when the editing code actively looked for <br>s of that type in order to handle them + specially. That is no longer the case. + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): Fixed a bug where an extra block + would be inserted when hitting return inside an editable root held open by a placeholder + <br> or '\n'. Added test cases for the bug and for the special case code that was incorrectly + triggered to cause the bug. + +2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Anders Carlsson. + + Part one of http://bugs.webkit.org/show_bug.cgi?id=16924. + Shared PluginDatabase, PluginInfoStore and PluginPackage implementations. + + Remove the Win suffix on several plugin-related classes that will + soon be refactored to be more portable. + + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/kjs_navigator.cpp: + (KJS::PluginBase::cachePluginDataIfNecessary): + * bindings/js/kjs_window.cpp: + * bridge/win/FrameWin.cpp: + (WebCore::Frame::createScriptInstanceForWidget): + * dom/Clipboard.cpp: + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createDocument): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldUsePlugin): + * page/DragController.cpp: + * platform/PlugInInfoStore.h: Removed. + * platform/gtk/TemporaryLinkStubs.cpp: + (PluginInfoStore::createPluginInfoForPluginAtIndex): + (PluginInfoStore::pluginCount): + (PluginInfoStore::pluginNameForMIMEType): + (WebCore::PluginInfoStore::supportsMIMEType): + * platform/qt/PlugInInfoStoreQt.cpp: + (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex): + (WebCore::PluginInfoStore::pluginCount): + (WebCore::PluginInfoStore::pluginNameForMIMEType): + (WebCore::PluginInfoStore::supportsMIMEType): + * platform/qt/TemporaryLinkStubs.cpp: + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): + * platform/wx/TemporaryLinkStubs.cpp: + (PluginInfoStore::createPluginInfoForPluginAtIndex): + (PluginInfoStore::pluginCount): + (WebCore::PluginInfoStore::supportsMIMEType): + (PluginInfoStore::pluginNameForMIMEType): + * plugins/PluginDatabase.h: Copied from WebCore/plugins/win/PluginDatabaseWin.h. + * plugins/PluginInfoStore.cpp: Copied from WebCore/plugins/win/PlugInInfoStoreWin.cpp. + (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex): + (WebCore::PluginInfoStore::pluginCount): + (WebCore::PluginInfoStore::pluginNameForMIMEType): + (WebCore::PluginInfoStore::supportsMIMEType): + (WebCore::refreshPlugins): + * plugins/PluginInfoStore.h: Copied from WebCore/platform/PlugInInfoStore.h. + * plugins/PluginPackage.h: Copied from WebCore/plugins/win/PluginPackageWin.h. + (WebCore::PluginPackageHash::hash): + (WebCore::PluginPackageHash::equal): + (WTF::): + * plugins/PluginView.h: Copied from WebCore/plugins/win/PluginViewWin.h. + (WebCore::PluginView::plugin): + * plugins/npapi.cpp: Copied from WebCore/plugins/win/npapi.cpp. + (pluginViewForInstance): + (NPN_UserAgent): + * plugins/win/PlugInInfoStoreWin.cpp: Removed. + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::PluginDatabase::installedPlugins): + (WebCore::PluginDatabase::addExtraPluginPath): + (WebCore::PluginDatabase::refresh): + (WebCore::PluginDatabase::plugins): + (WebCore::addPluginsFromRegistry): + (WebCore::PluginDatabase::getPluginsInPaths): + (WebCore::PluginDatabase::defaultPluginPaths): + (WebCore::PluginDatabase::isMIMETypeRegistered): + (WebCore::PluginDatabase::pluginForMIMEType): + (WebCore::PluginDatabase::MIMETypeForExtension): + (WebCore::PluginDatabase::findPlugin): + (WebCore::PluginDatabase::createPluginView): + * plugins/win/PluginDatabaseWin.h: Removed. + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::~PluginPackage): + (WebCore::PluginPackage::freeLibrarySoon): + (WebCore::PluginPackage::freeLibraryTimerFired): + (WebCore::PluginPackage::PluginPackage): + (WebCore::PluginPackage::compareFileVersion): + (WebCore::PluginPackage::storeFileVersion): + (WebCore::PluginPackage::isPluginBlacklisted): + (WebCore::PluginPackage::fetchInfo): + (WebCore::PluginPackage::load): + (WebCore::PluginPackage::unload): + (WebCore::PluginPackage::unloadWithoutShutdown): + (WebCore::PluginPackage::createPackage): + (WebCore::PluginPackage::hash): + (WebCore::PluginPackage::equal): + * plugins/win/PluginPackageWin.h: Removed. + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginRequest::PluginRequest): + (WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin): + (WebCore::registerPluginView): + (WebCore::PluginViewWndProc): + (WebCore::PluginView::popPopupsStateTimerFired): + (WebCore::PluginView::wndProc): + (WebCore::PluginView::updateWindow): + (WebCore::PluginView::windowClipRect): + (WebCore::PluginView::setFrameGeometry): + (WebCore::PluginView::geometryChanged): + (WebCore::PluginView::setFocus): + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + (WebCore::PluginView::paintMissingPluginIcon): + (WebCore::PluginView::dispatchNPEvent): + (WebCore::PluginView::paint): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::handleEvent): + (WebCore::PluginView::setParent): + (WebCore::PluginView::attachToWindow): + (WebCore::PluginView::detachFromWindow): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::start): + (WebCore::PluginView::stop): + (WebCore::PluginView::setCurrentPluginView): + (WebCore::PluginView::currentPluginView): + (WebCore::PluginView::performRequest): + (WebCore::PluginView::requestTimerFired): + (WebCore::PluginView::scheduleRequest): + (WebCore::PluginView::load): + (WebCore::PluginView::getURLNotify): + (WebCore::PluginView::getURL): + (WebCore::PluginView::handlePost): + (WebCore::PluginView::postURLNotify): + (WebCore::PluginView::postURL): + (WebCore::PluginView::newStream): + (WebCore::PluginView::write): + (WebCore::PluginView::destroyStream): + (WebCore::PluginView::userAgent): + (WebCore::PluginView::status): + (WebCore::PluginView::getValue): + (WebCore::PluginView::setValue): + (WebCore::PluginView::invalidateTimerFired): + (WebCore::PluginView::invalidateRect): + (WebCore::PluginView::invalidateRegion): + (WebCore::PluginView::forceRedraw): + (WebCore::PluginView::pushPopupsEnabledState): + (WebCore::PluginView::popPopupsEnabledState): + (WebCore::PluginView::arePopupsAllowed): + (WebCore::PluginView::bindingInstance): + (WebCore::PluginView::~PluginView): + (WebCore::PluginView::disconnectStream): + (WebCore::PluginView::determineQuirks): + (WebCore::PluginView::setParameters): + (WebCore::PluginView::PluginView): + (WebCore::PluginView::init): + (WebCore::PluginView::didReceiveResponse): + (WebCore::PluginView::didReceiveData): + (WebCore::PluginView::didFinishLoading): + (WebCore::PluginView::didFail): + (WebCore::PluginView::setCallingPlugin): + (WebCore::PluginView::isCallingPlugin): + * plugins/win/PluginViewWin.h: Removed. + * plugins/win/npapi.cpp: Removed. + +2008-02-05 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=17158 + Setting innerHTML in a detached XHTML element doesn't use the right namespace + + Test: fast/dom/innerHTML-detached-element.xhtml + + * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::XMLTokenizer): Take parent element namespace + into account. + +2008-02-05 Antti Koivisto <antti@apple.com> + + Reviewed by Geoff. + + Fix <rdar://problem/5698200> + eBay photo uploading hangs and causes slow script warning to pop up + + In a case like this + + var f = window.parent.parentFunction; + document.domain = document.domain; // this makes window.parent inaccessible + f(); + + Firefox allows parentFunction to access parents properties. Match this behavior. + + In a domain security check against the dynamic global object fails for the specific reason that one of + the frames has written to the document.domain property and another has not (but they match otherwise), + then recheck against the lexical global object. + + Test: http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW.html + http/tests/security/cross-frame-access-callback-explicit-domain-DENY.html + + * bindings/js/kjs_window.cpp: + (KJS::Window::allowsAccessFrom): + (KJS::Window::printErrorMessage): + * bindings/js/kjs_window.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldAllowNavigation): + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::canAccess): + * platform/SecurityOrigin.h: + (WebCore::SecurityOrigin::): + +2008-02-05 Adam Roben <aroben@apple.com> + + Remove an unused member from Document + + Reviewed by Mitz. + + * dom/Document.cpp: + (WebCore::Document::recalcStyleSelector): There's no need to take + m_printSheet into account anymore as it's never anything but the null + string. + * dom/Document.h: Removed m_printSheet and methods relating to it. + +2008-02-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebCore part of <rdar://problem/5724303> Should implement writing direction shortcuts + + * WebCore.base.exp: Added Editor::setBaseWritingDirection() and + Frame::baseWritingDirectionForSelectionStart(). + * page/mac/WebCoreFrameBridge.h: Removed + -baseWritingDirectionForSelectionStart. + * page/mac/WebCoreFrameBridge.mm: Ditto. + +2008-02-05 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver Hunt. + + Update versioning to support the mysterious future. + + * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060. + +2008-02-05 Mark Rowe <mrowe@apple.com> + + Fix the wxWidget Mac build by avoiding using ICU functions that were added after ICU 3.2. + + * editing/SmartReplaceICU.cpp: + (WebCore::addAllCodePoints): Implement a replacement for uset_addAllCodePoints. + (WebCore::getSmartSet): Use addAllCodePoints instead of uset_addAllCodePoints. + +2008-02-05 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Oliver Hunt. + + 30,000! + + * ChangeLog: Point out revision 30,000. + +2008-02-04 Mark Rowe <mrowe@apple.com> + + Unreviewed Gtk build fix. + + wchar_t is only convertible to UChar on Windows. Use WebCore's String class + to get the UChars out of a C string in a portable fashion. + + * editing/SmartReplaceICU.cpp: + (WebCore::getSmartSet): + +2008-02-04 Tony Chang <idealisms@gmail.com> + + Reviewed by Darin Adler. + + Port the CoreFoundation version of WebCore::isCharacterSmartReplaceExempt + for other platforms by using ICU directly. + + * GNUmakefile.am: Add SmartReplaceICU.cpp. + * WebCore.pro: Ditto. + * WebCoreSources.bkl: Ditto. + * editing/SmartReplace.cpp: Don't use this empty implementation when ICU is available. + * editing/SmartReplaceICU.cpp: + (getSmartSet): + (WebCore::isCharacterSmartReplaceExempt): + +2008-02-04 Robert Sesek <rsesek@bluestatic.org> + + Reviewed by Darin Adler. + + Fix http://bugs.webkit.org/show_bug.cgi?id=17042 + forms without action attributes submit to the <base> href instead of the originating page + + Test: fast/forms/missing-action.html + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::submit): Submit to origin if there is no action + +2008-02-04 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Gtk build fix. Use std::numeric_limits in place of ULLONG_MAX as + some Linux machines do not have ULLONG_MAX. + + OriginUsageRecord::unknownDiskUsage becomes a static function to avoid + the global initialiser which would otherwise be generated. + + * storage/OriginUsageRecord.cpp: + (WebCore::OriginUsageRecord::unknownDiskUsage): + (WebCore::OriginUsageRecord::addDatabase): + (WebCore::OriginUsageRecord::removeDatabase): + (WebCore::OriginUsageRecord::markDatabase): + (WebCore::OriginUsageRecord::diskUsage): + * storage/OriginUsageRecord.h: + +2008-02-04 Mark Rowe <mrowe@apple.com> + + Speculative Gtk build fix. + + * storage/OriginUsageRecord.cpp: + +2008-02-04 Brady Eidson <beidson@apple.com> + + Attempt to fix build of all non-Mac platforms + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + +2008-02-04 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Fix for <rdar://problem/5628468> - Quotas need to be implemented per-origin, and not per-database + + To accomplish this, we need to track the sizes of all databases in an origin to constantly keep an up to date + count of the origin's total disk usage. I've introduced the OriginQuotaManager and OriginUsageRecord classes + to accomplish this. + + Whenever a transaction is known to mutate the size of a database (tracked by the DatabaseAuthorizer), it marks + that database as unknown in the OriginQuotaManager. When a transaction later comes along to ask the + OriginQuotaManager the usage for that origin, it stat's all of the unknown databases in the origin and returns + the result. + + Since the OriginQuotaManager is interesting from both the main thread and a DatabaseThread, all accessors it + provides require it to be locked first. ASSERTs help guarantee this is always the case. + + Layout test will involve adding functionality to DRT on multiple platforms and will be coming up shortly + + * WebCore.xcodeproj/project.pbxproj: + + * platform/SecurityOrigin.h: Changed to be ThreadSafeShared instead of RefCounted + + * storage/Database.cpp: + (WebCore::Database::databaseSize): Return the current filesize of this database on disk + (WebCore::Database::maximumSize): Added - calculates maximum size of this database based on quota and usage + * storage/Database.h: Add databaseSize() accessor, and get rid of unused declared methods that *were* going + to be the solution for this bug. + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::originQuotaManager): Accessor to the OriginQuotaManager which is lazily created + (WebCore::DatabaseTracker::canEstablishDatabase): Fetch the usage for this database slightly earlier, which + will ensure that the OriginQuotaManager is primed to track this origin + (WebCore::DatabaseTracker::fullPathForDatabase): Ditto + (WebCore::DatabaseTracker::populateOrigins): Create the OriginQuotaManager here. + (WebCore::DatabaseTracker::usageForOrigin): Use the OriginQuotaManager instead of looping through each database + in the origin + (WebCore::DatabaseTracker::deleteOrigin): Remove this origin from the OriginQuotaManager as it is no longer + interesting + (WebCore::DatabaseTracker::deleteDatabase): Remove this database from the OriginQuotaManager as it is no longer + interesting + * storage/DatabaseTracker.h: + + * storage/OriginQuotaManager.cpp: Added. + (WebCore::OriginQuotaManager::OriginQuotaManager): + (WebCore::OriginQuotaManager::lock): + (WebCore::OriginQuotaManager::unlock): + (WebCore::OriginQuotaManager::trackOrigin): Add an origin to be tracked. Useful for when the very first database + in a new origin is still in the process of being created + (WebCore::OriginQuotaManager::tracksOrigin): + (WebCore::OriginQuotaManager::addDatabase): + (WebCore::OriginQuotaManager::removeDatabase): + (WebCore::OriginQuotaManager::removeOrigin): Removes all records in a certain origin from being tracked + (WebCore::OriginQuotaManager::markDatabase): Mark a specific database as having an unknown size - called when the + DatabaseAuthorizer in a SQLTransaction knows the file size might change. + (WebCore::OriginQuotaManager::diskUsage): Returns the disk usage for the given origin + * storage/OriginQuotaManager.h: Added. + + * storage/OriginUsageRecord.cpp: Added. + (WebCore::OriginUsageRecord::OriginUsageRecord): + (WebCore::OriginUsageRecord::addDatabase): Adds an entry for the database in this origin's record + (WebCore::OriginUsageRecord::removeDatabase): Removes that entry + (WebCore::OriginUsageRecord::markDatabase): Marks the database as of unknown size + (WebCore::OriginUsageRecord::diskUsage): Returns the cached disk usage value, or recalculates it if any databases + are marked + * storage/OriginUsageRecord.h: Added. + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::openTransactionAndPreflight): Use Database::maximumSize() instead of attributing the + entire quota to each database. + (WebCore::SQLTransaction::runStatements): Use Database::maximumSize() instead of attributing the entire quota + to each database. + (WebCore::SQLTransaction::runCurrentStatement): Mark this databases's size as unknown in the + OriginQuotaManager if this statement will change the size of the database + * storage/SQLTransaction.h: + +2008-02-04 David Harrison <harrison@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5607381> CrashTracer: [REGRESSION] 1748 crashes in Safari at com.apple.WebCore: WebCore::Image::width const + 24 + + Use an empty image when the local image file could not be loaded. + + No test case because it would require forcing tiff load failure. + + * editing/DeleteButtonController.cpp: + (WebCore::DeleteButtonController::createDeletionUI): + Do not present the deletion UI in the (odd) event that the delete button could not be loaded. + + * platform/graphics/mac/ImageMac.mm: + (WebCore::Image::loadPlatformResource): + Return an empty image instead of 0 if the load fails. + +2008-02-04 Darin Adler <darin@apple.com> + + * dom/Document.cpp: + (WebCore::Document::completeURL): Fixed misleading comment. + +2008-02-04 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Darin. + + Blacklist Silverlight versions older than min required, not newer. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackageWin::isPluginBlacklisted): + +2008-02-04 David Hyatt <hyatt@apple.com> + + Fix for bug 16751, misparsing of html*.test in CSS. + + Reviewed by darin + + Added fast/css/simple-selector-chain-parsing.html + + * css/CSSGrammar.y: + +2008-02-04 Darin Adler <darin@apple.com> + + Suggested by Geoff and Maciej. + + * bindings/js/JSCustomSQLTransactionCallback.cpp: Reworded a misleading + comment to be correct. + +2008-02-04 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Steve, Anders. + + <rdar://problem/5211187> QuickTime and Flash plug-ins draw outside of + content area when inside an iframe or div with overflow when playing a + movie and scrolling the iframe/div area + + Clip the update region to the zero rect when scrolling. Don't do this + for Java, because it results in repaint problems. + + * plugins/PluginQuirkSet.h: Added the DontClipToZeroRectWhenScrolling + quirk + (WebCore::): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::updateWindow): Readded the old behavior of + clipping to the zero rect when updating the window during a scroll. + Added plug-in quirk to ignore this behavior for Java. Swapped order of + the SetWindowRgn() and MoveWindow() calls to prevent Java from painting + outside of its container during a scroll. + (WebCore::PluginViewWin::determineQuirks): If this is Java, add the + DontClipToZeroRectWhenScrolling quirk. + +2008-02-04 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/5722972> Leopard needs to statically link SQLite + + * Configurations/Base.xcconfig: Always have a header search path for WebCoreSQLite3. + * Configurations/DebugRelease.xcconfig: Ditto. + * Configurations/WebCore.xcconfig: Always link against WebCoreSQLite3. + +2008-02-04 Adam Roben <aroben@apple.com> + + Windows build fix + + * bindings/scripts/CodeGeneratorCOM.pm: Touched to force a rebuild of + the COM bindings. + +2008-02-04 David Harrison <harrison@apple.com> + + Reviewed by Tim Hatcher. + + - fix <rdar://problem/5715481> REGRESSION (r26499): JavaScript document.lastModified is not supported + + Re-add attribute inadvertantly lost by r26499. + + Test: fast/js/lastModified.html: Added. + + * dom/Document.idl: + Add lastModified. + +2008-02-04 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix <rdar://problem/5713621> Threading issue when destroying database transaction callback + + Do main-thread-only stuff on the main thread. + + Not clear how to make a regression test for this. + + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::Data::Data): Added. + (WebCore::JSCustomSQLTransactionCallback::Data::callback): Added. + (WebCore::JSCustomSQLTransactionCallback::Data::frame): Added. + (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Put data into a + separate Data object; we'll destroy it on the main thread. + (WebCore::JSCustomSQLTransactionCallback::deleteData): Added. + (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): Call the + deleteData function on the main thread. + (WebCore::JSCustomSQLTransactionCallback::handleEvent): Updated to get at fields through the + m_data object. + * bindings/js/JSCustomSQLTransactionCallback.h: Declare deleteData, Data, and m_data rather + than m_callback and m_frame. + +2008-02-04 Adam Roben <aroben@apple.com> + + Fix the search field if the inpsected Document has overridden + Document.evaluate or Document.querySelectorAll + + Reviewed by Darin. + + * manual-tests/inspector-document-methods-override.html: Added. + * page/InspectorController.cpp: + (WebCore::InspectorController::didCommitLoad): Reworded a comment to + force WebCore.vcproj to build. + * page/inspector/inspector.js: Call + Document.prototype.{evaluate,querySelectorAll}.call instead of calling + the functions directly on the inspected Document. This ensures we are + calling the version of these functions we intended to. + +2008-02-04 Darin Adler <darin@apple.com> + + Reviewed by Tim Hatcher. + + - possible fix for <rdar://problem/5714030> Crash in Database::deliverAllPendingCallbacks() + reloading a page quickly + + I don't fully understand the cause of the crash, but I think this might + be a helpful change. + + * platform/sql/SQLiteTransaction.cpp: + (WebCore::SQLiteTransaction::commit): If the commit fails, don't leave this + transaction and database both marked as "still in progress". As far as I can + tell this does no good, and also seems to do harm. + (WebCore::SQLiteTransaction::rollback): Ditto. + + * storage/Database.cpp: + (WebCore::Database::performTransactionStep): Add some assertions to + detect databases stuck in the "transaction in progress" state. + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::openTransactionAndPreflight): Ditto. + (WebCore::SQLTransaction::postflightAndCommit): Ditto. + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto. + +2008-02-04 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix <rdar://problem/5715692> REGRESSION (r28570): JavaScript window.scrollTo() + calls no longer accept 'undefined' values + + By default, we should accept non-numeric parameters and non-integral numbers for + parameters that expect integers, without throwing exceptions. + + While creating the test for this, I ran into a couple minor bugs with the + functions involved, and this patch fixes those too. + + Test: fast/dom/non-numeric-values-numeric-parameters.html + + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + (WebCore::JSHTMLOptionsCollection::add): Added. This function has unusual behavior + when passed non-integral values for its second parameter, so it needs to be written + by hand. I think that [Custom] is better here than inventing a new keyword. + + * bindings/scripts/CodeGeneratorJS.pm: Changed default for "long" and "unsigned long" + to ignore errors rather than failing due to type differences. Also changed a couple + functions to use hashes. + + * css/CSSStyleSheet.h: + (WebCore::CSSStyleSheet::removeRule): Remove overload of removeRule without a second + parameters. While we do allow this from JavaScript, it's not a true optional parameter, + but rather just a case of "you can omit parameters and they are treated as undefined" + combined with "undefined turns into 0 when passed to a function that takes an integer". + * css/CSSStyleSheet.idl: Removed [Optional] on the index parameter for removeRule. + This is not truly an optional parameter. + + * dom/ProgressEvent.cpp: + (WebCore::ProgressEvent::initProgressEvent): Updated this function to match other + DOM event init functions -- important to do nothing if this is called on the an + already-dispatched event and we need to respect the bubble and cancelable arguments. + Also removed initProgressEventNS. We don't support namespaced events, and if we add + support, it should be across all event classes, not just ProgressEvent. + * dom/ProgressEvent.h: Removed initProgressEventNS. + * dom/ProgressEvent.idl: Ditto. + + * dom/Range.cpp: + (WebCore::Range::createContextualFragment): Added a check for 0. This can happen + if the passed-in start container is a node that's not an HTML element and also + does not have a parent. + + * html/HTMLOptionsCollection.idl: Added the [Custom] attribute to add, since the + rules for processing its parameters are unusual. + + * page/DOMSelection.cpp: Removed the version of setPosition that has only + one parameter. The offset is not really optional. + * page/DOMSelection.h: Ditto. + * page/DOMSelection.idl: Removed the [Optional] keyword for the second parameter of + setPosition. It's not a true optional parameter (see discussion of removeRule above). + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::adjustWindowRect): Simplified logic for constraining the X + and Y coordinates, in a way that makes them work even when the window coordinates + are infinite. Also strengthened the assertion. + +2008-02-04 Alp Toker <alp@atoker.com> + + Rubber-stamped by Mark Rowe. + + Remove all trailing whitespace in the GTK+ port and related + components. + + * GNUmakefile.am: + * page/gtk/DragControllerGtk.cpp: + (WebCore::DragController::dragOperation): + (WebCore::DragController::maxDragImageSize): + * page/gtk/EventHandlerGtk.cpp: + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + (WebCore::EventHandler::createDraggingClipboard): + * page/gtk/FrameGtk.cpp: + (WebCore::Frame::dragImageForSelection): + * platform/graphics/cairo/AffineTransformCairo.cpp: + (WebCore::AffineTransform::mapRect): + (WebCore::AffineTransform::isIdentity): + (WebCore::AffineTransform::operator== ): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawLine): + * platform/graphics/cairo/ImageBufferCairo.cpp: + * platform/graphics/cairo/ImageCairo.cpp: + * platform/graphics/cairo/ImageSourceCairo.cpp: + (WebCore::createDecoder): + * platform/graphics/gtk/FontCacheGtk.cpp: + * platform/graphics/gtk/FontGtk.cpp: + * platform/graphics/gtk/FontPlatformData.h: + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: + * platform/graphics/gtk/IconGtk.cpp: + * platform/graphics/gtk/ImageGtk.cpp: + * platform/graphics/gtk/SimpleFontDataGtk.cpp: + * platform/gtk/ClipboardGtk.h: + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::createNativeMenuItem): + * platform/gtk/CursorGtk.cpp: + * platform/gtk/DragDataGtk.cpp: + * platform/gtk/DragImageGtk.cpp: + (WebCore::createDragImageIconForCachedImage): + * platform/gtk/FileChooserGtk.cpp: + (WebCore::stringByAdoptingFileSystemRepresentation): + * platform/gtk/FileSystemGtk.cpp: + (WebCore::fileExists): + (WebCore::deleteFile): + (WebCore::deleteEmptyDirectory): + * platform/gtk/KeyEventGtk.cpp: + * platform/gtk/KeyboardCodes.h: + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::inputElementAltText): + (WebCore::resetButtonDefaultLabel): + (WebCore::fileButtonChooseFileLabel): + (WebCore::fileButtonNoFileSelectedLabel): + (WebCore::contextMenuItemTagOpenImageInNewWindow): + * platform/gtk/MIMETypeRegistryGtk.cpp: + (WebCore::): + * platform/gtk/MouseEventGtk.cpp: + * platform/gtk/PasteboardGtk.cpp: + (WebCore::PasteboardSelectionData::markup): + (WebCore::Pasteboard::writeSelection): + * platform/gtk/PasteboardHelper.h: + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::screenDepth): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + (WebCore::screenAvailableRect): + * platform/gtk/PlatformScrollBar.h: + * platform/gtk/PlatformScrollBarGtk.cpp: + (PlatformScrollbar::PlatformScrollbar): + (PlatformScrollbar::updateThumbPosition): + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenu::updateFromElement): + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::windowToContents): + (WebCore::ScrollView::contentsToWindow): + (WebCore::ScrollView::scrollbarUnderMouse): + * platform/gtk/SearchPopupMenuGtk.cpp: + * platform/gtk/SharedTimerGtk.cpp: + * platform/gtk/SystemTimeLinux.cpp: + (WebCore::currentTime): + * platform/gtk/TemporaryLinkStubs.cpp: + (PlugInInfoStore::pluginNameForMIMEType): + * platform/gtk/ThreadingGtk.cpp: + (WebCore::establishIdentifierForThread): + (WebCore::threadForIdentifier): + (WebCore::clearThreadForIdentifier): + (WebCore::ThreadCondition::ThreadCondition): + * platform/gtk/WheelEventGtk.cpp: + * platform/gtk/WidgetGtk.cpp: + * platform/network/curl/ResourceHandleCurl.cpp: + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::setupPOST): + * platform/network/curl/ResourceHandleManager.h: + * platform/network/curl/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + * platform/network/curl/ResourceResponse.h: + +2008-02-03 Christian Dywan <christian@imendio.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=17046 + [GTK] Context menu fixes and customisation suport + + Provide standard GTK+ context menu items where appropriate. + + Note that this change makes direct use of WebKit from WebCore which is + against WebKit/GTK+ guidelines. The ContextMenu abstraction should be + fixed at some point. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * platform/ContextMenu.cpp: + (WebCore::createAndAppendInputMethodsSubMenu): + (WebCore::): + (WebCore::insertControlCharacter): + (WebCore::createAndAppendUnicodeSubMenu): + (WebCore::ContextMenu::populate): + (ContextMenu::checkOrEnableIfNeeded): + * platform/ContextMenuItem.h: + (WebCore::): + * platform/LocalizedStrings.h: + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::gtkStockIDFromContextMenuAction): + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::gtkStockLabel): + (WebCore::contextMenuItemTagCopy): + (WebCore::contextMenuItemTagDelete): + (WebCore::contextMenuItemTagSelectAll): + (WebCore::contextMenuItemTagUnicode): + (WebCore::contextMenuItemTagInputMethods): + (WebCore::contextMenuItemTagGoBack): + (WebCore::contextMenuItemTagGoForward): + (WebCore::contextMenuItemTagStop): + (WebCore::contextMenuItemTagCut): + (WebCore::contextMenuItemTagPaste): + (WebCore::contextMenuItemTagBold): + (WebCore::contextMenuItemTagItalic): + (WebCore::contextMenuItemTagUnderline): + +2008-02-03 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej. + + Bug 17169: Support transform on Canvas + + Nice and simple patch as the cross-platform code to apply + a transform was already there. + + Tests: fast/canvas/canvas-transform-identity.html + fast/canvas/canvas-transform-infinity.html + fast/canvas/canvas-transform-multiply.html + fast/canvas/canvas-transform-nan.html + fast/canvas/canvas-transform-skewed.html + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::transform): + * html/CanvasRenderingContext2D.h: + * html/CanvasRenderingContext2D.idl: + +2008-02-03 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Fix mistake in SVGImageElement, breaking "Dock" example of carto.net + It was comparing against the wrong attribute names in svgAttributeChanged(). + + Added testcase: svg/custom/js-update-image.svg + + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::svgAttributeChanged): + +2008-02-03 Eric Seidel <eric@webkit.org> + + Reviewed by darin. + + Acid3 expects textNode.localName === null + http://bugs.webkit.org/show_bug.cgi?id=17060 + + Test: fast/dom/Node/initial-values.html + + * dom/Comment.cpp: remove localName implementation + * dom/Comment.h: + * dom/Node.cpp: return nullAtom instead of emptyAtom + * dom/Text.cpp: remove localName implementation + * dom/Text.h: + +2008-02-03 Eric Seidel <eric@webkit.org> + + Reviewed by darin. + + Make createElementNS and createAttributeNS follow the (vague) DOM Core 2 spec + by throwing exceptions for more types of invalid qualified names. + http://bugs.webkit.org/show_bug.cgi?id=16833 + + Tests: fast/dom/Document/createAttributeNS-namespace-err.html + fast/dom/Document/createElementNS-namespace-err.html + + * dom/Document.cpp: + (WebCore::Document::createElement): + (WebCore::hasNamespaceError): + (WebCore::Document::createElementNS): + (WebCore::Document::createAttributeNS): + * dom/Document.idl: + +2008-02-03 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=15394 + + Dramatically improve dynamic update performance in DOM / SVG DOM. + + The notifyAttributeChange() sledgehammer is gone now. It was implemented on quite a lot of + SVG*Element classes and blindly reacted on any property change caused by DOM / SVG DOM + by rebuilding style/renderer etc. without actually checking what changed. SVG used a hack + for years that attributeChanged() called notifyAttributeChange() - which results in poor + scripting performance and/or dynamic creation/modification of elements using SVG DOM. + + Properly implement childrenChanged / attributeChanged in SVG with some derivation from the HTML code. + Our SVG* element classes implement "svgAttributeChanged(const QualifiedName&)" instead of + "attributeChanged(Attribute*...)" to be able to unify DOM / SVG DOM updates. SVG DOM classes + are aware of the attribute name they belong to. So when using "rectElement.transform.baseVal.getItem(0).setRotate(45)" + SVG DOM updates the <rect> element by calling svgAttributeChanged(SVGNames::transformAttr) on the corresponding + SVGRectElement. So we're now able to handle fast dynamic updates in a unified way - leading to less bugs. + + HTML dynamic updates vs. SVG dynamic updates: + + HTML: + 1) setAttribute("foo", "bar") -> attributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout + 2) someObject.foo = "bar" -> HTML code maps to setAttribute calls, ends up taking the same route as 1) + 3) someObject.style.foo = "bar" -> setChanged -> recalcStyle (possible relayout) + + SVG: + 1) setAttribute("foo", "bar") -> attributeChanged -> svgAttributeChanged -> parseMappedAttribute -> setChanged/setNeedsLayout + 2) same, currently most functions are not yet converted to this new system! (most noticeable in SVGMarkerElement::setOrientToAngle) + 3) same + 4) someRectElement.x.baseVal.value = 100 -> svgAttributeChanged -> setChanged/setNeedsLayout (special SVG DOM updating) + + The new SVG DOM updating concept 4) uses the same updating logic as 1) and 2), so we're actually modelling the HTML way. + SVG handles calling setChanged/setNeedsLayout in svgAttributeChanged, unlike HTML which uses parseMappedAttribute for that. + + Only updated all elements necessary to let us pass layout tests w/o regressions. Need to crawl through + all SVG*Element classes and implement svgAttributeChanged / childrenChanged anywhere needed in a follow-up patch. + + * bindings/js/JSSVGPODTypeWrapper.h: + (WebCore::JSSVGPODTypeWrapperCreatorReadWrite::commitChange): + (WebCore::JSSVGPODTypeWrapperCreatorReadOnly::commitChange): + (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList): + (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType): + (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange): + * bindings/js/JSSVGPathSegListCustom.cpp: + (WebCore::JSSVGPathSegList::clear): + (WebCore::JSSVGPathSegList::initialize): + (WebCore::JSSVGPathSegList::insertItemBefore): + (WebCore::JSSVGPathSegList::replaceItem): + (WebCore::JSSVGPathSegList::removeItem): + (WebCore::JSSVGPathSegList::appendItem): + * bindings/js/JSSVGPointListCustom.cpp: + (WebCore::JSSVGPointList::clear): + (WebCore::JSSVGPointList::initialize): + (WebCore::JSSVGPointList::getItem): + (WebCore::JSSVGPointList::insertItemBefore): + (WebCore::JSSVGPointList::replaceItem): + (WebCore::JSSVGPointList::removeItem): + (WebCore::JSSVGPointList::appendItem): + * bindings/js/JSSVGTransformListCustom.cpp: + (WebCore::JSSVGTransformList::clear): + (WebCore::JSSVGTransformList::initialize): + (WebCore::JSSVGTransformList::getItem): + (WebCore::JSSVGTransformList::insertItemBefore): + (WebCore::JSSVGTransformList::replaceItem): + (WebCore::JSSVGTransformList::removeItem): + (WebCore::JSSVGTransformList::appendItem): + * bindings/scripts/CodeGeneratorJS.pm: + * rendering/RenderSVGGradientStop.cpp: + (WebCore::RenderSVGGradientStop::setStyle): + * rendering/RenderSVGGradientStop.h: + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::defaultEventHandler): + * svg/SVGAElement.h: + * svg/SVGAngle.cpp: + * svg/SVGAngle.h: + (WebCore::SVGAngle::associatedAttributeName): + * svg/SVGAnimatedTemplate.h: + (WebCore::SVGAnimatedTemplate::SVGAnimatedTemplate): + (WebCore::SVGAnimatedTemplate::wrapperCache): + (WebCore::SVGAnimatedTemplate::associatedAttributeName): + (WebCore::lookupOrCreateWrapper): + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::parseBeginOrEndValue): + * svg/SVGAnimationElement.h: + * svg/SVGCircleElement.cpp: + (WebCore::SVGCircleElement::svgAttributeChanged): + * svg/SVGCircleElement.h: + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::svgAttributeChanged): + (WebCore::SVGClipPathElement::childrenChanged): + (WebCore::SVGClipPathElement::canvasResource): + * svg/SVGClipPathElement.h: + (WebCore::SVGClipPathElement::isValid): + (WebCore::SVGClipPathElement::rendererIsNeeded): + * svg/SVGComponentTransferFunctionElement.cpp: + (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): + * svg/SVGComponentTransferFunctionElement.h: + * svg/SVGCursorElement.cpp: + * svg/SVGElement.cpp: + (WebCore::SVGElement::insertedIntoDocument): + (WebCore::SVGElement::attributeChanged): + * svg/SVGElement.h: + (WebCore::SVGElement::svgAttributeChanged): + * svg/SVGEllipseElement.cpp: + (WebCore::SVGEllipseElement::svgAttributeChanged): + * svg/SVGEllipseElement.h: + * svg/SVGExternalResourcesRequired.cpp: + (WebCore::SVGExternalResourcesRequired::isKnownAttribute): + * svg/SVGExternalResourcesRequired.h: + * svg/SVGFEBlendElement.cpp: + * svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): + * svg/SVGFEComponentTransferElement.cpp: + * svg/SVGFECompositeElement.cpp: + * svg/SVGFEDiffuseLightingElement.cpp: + * svg/SVGFEDisplacementMapElement.cpp: + * svg/SVGFEFloodElement.cpp: + * svg/SVGFEGaussianBlurElement.cpp: + * svg/SVGFEImageElement.cpp: + * svg/SVGFELightElement.cpp: + * svg/SVGFEMergeNodeElement.cpp: + * svg/SVGFEOffsetElement.cpp: + * svg/SVGFESpecularLightingElement.cpp: + * svg/SVGFETileElement.cpp: + * svg/SVGFETurbulenceElement.cpp: + * svg/SVGFilterElement.cpp: + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + * svg/SVGFitToViewBox.cpp: + (WebCore::SVGFitToViewBox::isKnownAttribute): + * svg/SVGFitToViewBox.h: + * svg/SVGForeignObjectElement.cpp: + * svg/SVGGElement.cpp: + (WebCore::SVGGElement::svgAttributeChanged): + (WebCore::SVGGElement::childrenChanged): + * svg/SVGGElement.h: + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::SVGGradientElement): + (WebCore::SVGGradientElement::svgAttributeChanged): + (WebCore::SVGGradientElement::childrenChanged): + (WebCore::SVGGradientElement::buildStops): + * svg/SVGGradientElement.h: + * svg/SVGImageElement.cpp: + (WebCore::SVGImageElement::parseMappedAttribute): + (WebCore::SVGImageElement::svgAttributeChanged): + * svg/SVGImageElement.h: + * svg/SVGLangSpace.cpp: + (WebCore::SVGLangSpace::isKnownAttribute): + * svg/SVGLangSpace.h: + * svg/SVGLengthList.cpp: + (WebCore::SVGLengthList::SVGLengthList): + * svg/SVGLengthList.h: + * svg/SVGLineElement.cpp: + (WebCore::SVGLineElement::svgAttributeChanged): + * svg/SVGLineElement.h: + * svg/SVGLinearGradientElement.cpp: + (WebCore::SVGLinearGradientElement::svgAttributeChanged): + * svg/SVGLinearGradientElement.h: + * svg/SVGList.h: + (WebCore::SVGList::SVGList): + (WebCore::SVGList::associatedAttributeName): + (WebCore::SVGPODList::SVGPODList): + * svg/SVGMarkerElement.cpp: + (WebCore::SVGMarkerElement::svgAttributeChanged): + (WebCore::SVGMarkerElement::childrenChanged): + * svg/SVGMarkerElement.h: + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::svgAttributeChanged): + (WebCore::SVGMaskElement::childrenChanged): + * svg/SVGMaskElement.h: + * svg/SVGNumberList.cpp: + (WebCore::SVGNumberList::SVGNumberList): + * svg/SVGNumberList.h: + * svg/SVGPathElement.cpp: + (WebCore::SVGPathElement::svgAttributeChanged): + (WebCore::SVGPathElement::pathSegList): + * svg/SVGPathElement.h: + * svg/SVGPathSeg.h: + (WebCore::SVGPathSeg::associatedAttributeName): + * svg/SVGPathSegList.cpp: + (WebCore::SVGPathSegList::SVGPathSegList): + * svg/SVGPathSegList.h: + * svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::SVGPatternElement): + (WebCore::SVGPatternElement::svgAttributeChanged): + (WebCore::SVGPatternElement::childrenChanged): + * svg/SVGPatternElement.h: + * svg/SVGPointList.cpp: + (WebCore::SVGPointList::SVGPointList): + * svg/SVGPointList.h: + * svg/SVGPolyElement.cpp: + (WebCore::SVGPolyElement::SVGPolyElement): + (WebCore::SVGPolyElement::points): + (WebCore::SVGPolyElement::parseMappedAttribute): + (WebCore::SVGPolyElement::svgAttributeChanged): + * svg/SVGPolyElement.h: + * svg/SVGPolygonElement.cpp: + * svg/SVGPolygonElement.h: + * svg/SVGPolylineElement.cpp: + * svg/SVGPolylineElement.h: + * svg/SVGPreserveAspectRatio.cpp: + * svg/SVGPreserveAspectRatio.h: + (WebCore::SVGPreserveAspectRatio::associatedAttributeName): + * svg/SVGRadialGradientElement.cpp: + (WebCore::SVGRadialGradientElement::svgAttributeChanged): + * svg/SVGRadialGradientElement.h: + * svg/SVGRectElement.cpp: + (WebCore::SVGRectElement::svgAttributeChanged): + * svg/SVGRectElement.h: + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::parseMappedAttribute): + (WebCore::SVGSVGElement::svgAttributeChanged): + * svg/SVGSVGElement.h: + * svg/SVGStopElement.cpp: + (WebCore::SVGStopElement::parseMappedAttribute): + (WebCore::SVGStopElement::createRenderer): + * svg/SVGStopElement.h: + * svg/SVGStringList.cpp: + (WebCore::SVGStringList::SVGStringList): + * svg/SVGStringList.h: + * svg/SVGStylable.cpp: + * svg/SVGStylable.h: + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::isKnownAttribute): + (WebCore::SVGStyledElement::svgAttributeChanged): + (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain): + (WebCore::SVGStyledElement::childrenChanged): + * svg/SVGStyledElement.h: + * svg/SVGStyledLocatableElement.cpp: + * svg/SVGStyledLocatableElement.h: + * svg/SVGStyledTransformableElement.cpp: + (WebCore::SVGStyledTransformableElement::SVGStyledTransformableElement): + (WebCore::SVGStyledTransformableElement::parseMappedAttribute): + (WebCore::SVGStyledTransformableElement::isKnownAttribute): + * svg/SVGStyledTransformableElement.h: + * svg/SVGTests.cpp: + (WebCore::SVGTests::requiredFeatures): + (WebCore::SVGTests::requiredExtensions): + (WebCore::SVGTests::systemLanguage): + (WebCore::SVGTests::isKnownAttribute): + * svg/SVGTests.h: + * svg/SVGTextContentElement.cpp: + * svg/SVGTextElement.cpp: + (WebCore::SVGTextElement::SVGTextElement): + * svg/SVGTextElement.h: + * svg/SVGTextPathElement.cpp: + * svg/SVGTextPathElement.h: + * svg/SVGTextPositioningElement.cpp: + (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): + * svg/SVGTextPositioningElement.h: + * svg/SVGTransformList.cpp: + (SVGTransformList::SVGTransformList): + * svg/SVGTransformList.h: + * svg/SVGTransformable.cpp: + (WebCore::SVGTransformable::isKnownAttribute): + * svg/SVGTransformable.h: + * svg/SVGURIReference.cpp: + (WebCore::SVGURIReference::isKnownAttribute): + * svg/SVGURIReference.h: + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::insertedIntoDocument): + (WebCore::SVGUseElement::svgAttributeChanged): + (WebCore::SVGUseElement::childrenChanged): + (WebCore::SVGUseElement::buildPendingResource): + * svg/SVGUseElement.h: + * svg/SVGViewElement.cpp: + (WebCore::SVGViewElement::SVGViewElement): + (WebCore::SVGViewElement::viewTarget): + (WebCore::SVGViewElement::parseMappedAttribute): + * svg/SVGViewElement.h: + * svg/SVGViewSpec.cpp: + (WebCore::SVGViewSpec::SVGViewSpec): + * svg/SVGViewSpec.h: + * svg/SVGZoomAndPan.cpp: + (WebCore::SVGZoomAndPan::isKnownAttribute): + * svg/SVGZoomAndPan.h: + * svg/graphics/SVGResource.cpp: + (WebCore::SVGResource::invalidate): + (WebCore::SVGResource::invalidateClients): + (WebCore::SVGResource::addClient): + * svg/graphics/SVGResource.h: + * svg/graphics/SVGResourceMasker.cpp: + (WebCore::SVGResourceMasker::invalidate): + * svg/graphics/cg/SVGPaintServerGradientCg.cpp: + (WebCore::SVGPaintServerGradient::invalidate): + * svg/graphics/filters/SVGFEImage.cpp: + (WebCore::SVGFEImage::imageChanged): + +2008-02-03 Kevin Ollivier <kevino@theolliviers.com> + + Build fix for last wx commit (a couple things were not committed). + + * platform/ScrollView.h: + * platform/Widget.h: + +2008-02-03 Kevin Ollivier <kevino@theolliviers.com> + + Clean up overlooked coding guideline issues from last commit. + + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): + (WebCore::ScrollView::update): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::resizeContents): + (WebCore::ScrollView::adjustScrollbars): + (WebCore::ScrollView::setScrollbarsMode): + (WebCore::ScrollView::setHScrollbarMode): + (WebCore::ScrollView::setVScrollbarMode): + (WebCore::ScrollView::suppressScrollbars): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::setCursor): + +2008-02-03 Kevin Watters <kevinwatters@gmail.com> + + Reviewed by Kevin Ollivier. + + * platform/wx/RenderThemeWx.cpp: + (WebCore::RenderThemeWx::paintButton): + * platform/wx/ScrollViewWx.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::bindEvents): + (WebCore::ScrollView::ScrollViewPrivate::OnMouseWheelEvents): + (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): + (WebCore::ScrollView::ScrollView): + (WebCore::ScrollView::setNativeWindow): + (WebCore::ScrollView::updateContents): + (WebCore::ScrollView::update): + (WebCore::ScrollView::visibleWidth): + (WebCore::ScrollView::visibleHeight): + (WebCore::ScrollView::setContentsPos): + (WebCore::ScrollView::scrollBy): + (WebCore::ScrollView::resizeContents): + (WebCore::ScrollView::contentsX): + (WebCore::ScrollView::contentsY): + (WebCore::ScrollView::contentsWidth): + (WebCore::ScrollView::contentsHeight): + (WebCore::ScrollView::AdjustScrollbars): + (WebCore::ScrollView::setScrollbarsMode): + (WebCore::ScrollView::setHScrollbarMode): + (WebCore::ScrollView::setVScrollbarMode): + (WebCore::ScrollView::suppressScrollbars): + (WebCore::ScrollView::inWindow): + (WebCore::ScrollView::wheelEvent): + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + (WebCore::ScrollView::children): + (WebCore::ScrollView::scrollRectIntoViewRecursively): + (WebCore::ScrollView::scrollbarUnderMouse): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::nativeWindow): + (WebCore::Widget::setNativeWindow): + +2008-02-02 David Hyatt <hyatt@apple.com> + + Fix for bug 5468, support CSS3 :only-child and :only-of-type selectors. + + Reviewed by olliej + + Added fast/css/only-child-pseudo-class.html, fast/css/only-of-type-pseudo-class.html + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): + +2008-02-02 Darin Adler <darin@apple.com> + + Reviewed by Geoff Garen. + + PLT speedup related to <rdar://problem/5659272> REGRESSION: PLT .4% + slower due to r28884 (global variable symbol table optimization) + + * history/CachedPage.cpp: + (WebCore::CachedPage::CachedPage): Removed saveSymbolTable call. + (WebCore::CachedPage::restore): Removed restoreSymbolTable call. + (WebCore::CachedPage::clear): Removed clear of m_windowSymbolTable. + + * history/CachedPage.h: Removed m_windowSymbolTable, since save/restoreLocalStorage + now takes care of the symbol table. Also removed many unnecessary includes. + +2008-02-02 Tony Chang <idealisms@gmail.com> + + Reviewed by eseidel. + + Add an include for for <objidl.h> which isn't included + by default with WIN32_LEAN_AND_MEAN. + * platform/graphics/FontCache.h: + +2008-02-02 Kevin Watters <kevin@dotsyntax.com> + + Reviewed by Kevin Ollivier. + + wxFont is reference counted and meant to be used as as a value + object; when using wxFont*, ref-counting was not happening properly + and the font object would be destroyed while still in use. + + Also, fix memory leak in wx's FrameData::clear() method. + + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::getWxFont): + * platform/graphics/wx/FontPlatformData.h: + (WebCore::FontPlatformData::): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::font): + (WebCore::FontPlatformData::hash): + (WebCore::FontPlatformData::operator==): + (WebCore::FontPlatformData::computeHash): + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::fontFamilyToWxFontFamily): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/wx/SimpleFontDataWx.cpp: + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + +2008-02-02 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Adam Roben. + + On MSW, the wx port internally uses callbacks for wxTimer, so the + wx port suffers from the same crash problem that was fixed + in r28500 for the Windows port. For now, use the SharedTimerWin.cpp + impl. for wx too on MSW, until a version of wx is released that + fixes the issue by reworking wxTimer. + + * page/Page.h: + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): + * webcore-wx.bkl: + +2008-02-02 Mark Rowe <mrowe@apple.com> + + Qt build fix. + + * platform/qt/ThreadingQt.cpp: Fix typo. + +2008-02-02 Kevin Ollivier <kevino@theolliviers.com> + + Blind build fix for Qt port. Add Threading.h include. + + * platform/qt/ThreadingQt.cpp: + +2008-02-02 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix - add missing include file. + + * platform/wx/ThreadingWx.cpp: + +2008-02-02 David Hyatt <hyatt@apple.com> + + Fix for bug 4812. Support last-child and last-of-type CSS3 selectors. Brings Acid3 score up to 68/100. + + Reviewed by olliej + + Added fast/css/last-child-pseudo-class.html, fast/css/last-of-type-pseudo-class.html + + * css/CSSGrammar.y: + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): + +2008-02-01 David Hyatt <hyatt@apple.com> + + Make :first-child and :first-of-type properly dynamic when the DOM changes. Brings the Acid3 score up + to 66/100. + + Reviewed by olliej + + Added fast/css/first-child-pseudo-class.html, fast/css/first-of-type-pseudo-class.html, fast/css/empty-body-test.html + + * css/CSSGrammar.y: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): + * dom/Element.cpp: + (WebCore::Element::recalcStyle): + (WebCore::Element::childrenChanged): + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::RenderStyle): + * rendering/RenderStyle.h: + (WebCore::RenderStyle::childrenAffectedByFirstChildRules): + (WebCore::RenderStyle::setChildrenAffectedByFirstChildRules): + (WebCore::RenderStyle::childrenAffectedByLastChildRules): + (WebCore::RenderStyle::setChildrenAffectedByLastChildRules): + (WebCore::RenderStyle::childrenAffectedByPositionalRules): + (WebCore::RenderStyle::setChildrenAffectedByPositionalRules): + (WebCore::RenderStyle::firstChildState): + (WebCore::RenderStyle::setFirstChildState): + (WebCore::RenderStyle::lastChildState): + (WebCore::RenderStyle::setLastChildState): + +2008-02-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix <rdar://problem/5720637> Missing characters in right-to-left complex text where different fonts are used in the same run + + * platform/graphics/win/UniscribeController.cpp: + (WebCore::UniscribeController::advance): Fixed an off-by-1 error in the + start offset of sub-runs of RTL runs. Changed to update + m_currentCharacter to the first character of the sub-run before calling + itemizeShapeAndPlace. In RTL runs, m_currentCharacter decreases as + sub-runs are processed from left to right. + (WebCore::UniscribeController::itemizeShapeAndPlace): Removed the + updating of m_currentCharacter because advance() does it now. + +2008-02-01 Brady Eidson <beidson@apple.com> + + Reviewed by Darin's rubberstamp + + Move the SecurityOriginHash out into a separate header as it will soon be used in different places + + * WebCore.xcodeproj/project.pbxproj: + * platform/SecurityOriginHash.h: Added. + (WebCore::SecurityOriginHash::hash): + (WebCore::SecurityOriginHash::equal): + (WebCore::SecurityOriginTraits::deletedValue): + (WebCore::SecurityOriginTraits::emptyValue): + * storage/DatabaseTracker.cpp: + +2008-02-01 Darin Adler <darin@apple.com> + + Reviewed by Tim. + + - fixed mistake in the JSLock fix that caused an assertion every time + + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): Added JSLock. + (WebCore::unprotectOnMainThread): Ditto. + +2008-02-01 Anders Carlsson <andersca@apple.com> + + Reviewed by Antti and Darin. + + Change Text::createWithLengthLimit to take a UChar pointer instead of a string. This + lets us avoid making a copy of the buffer in TextDocument.cpp. + + * dom/Text.cpp: + (WebCore::Text::createWithLengthLimit): + * dom/Text.h: + * html/HTMLParser.cpp: + (WebCore::HTMLParser::parseToken): + * loader/TextDocument.cpp: + (WebCore::TextTokenizer::write): + +2008-02-01 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::loadsBlocked): Fix grammar and word typo. + +2008-02-01 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - fix <rdar://problem/4527931> showModalDialog calls from onload functions fail (Aspect) + + No automated regression test because showModalDialog doesn't work in DumpRenderTree. + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::CallbackGuard::CallbackGuard): Added. + (WebCore::CallbackGuard::~CallbackGuard): Added. + (WebCore::ResourceHandle::supportsBufferedData): Simplified to take advantage of how + static initialization works in C++. + (WebCore::ResourceHandle::loadsBlocked): Always return false on Leopard. The problem in + NSURLConnection that created the need to block loads is fixed in Leoaprd. This is the + bug fix. + (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): + Use CallbackGuard instead of directly incrementing the count; allows us to omit the code + entirely on Leopard. + (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): + Ditto. + (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): + Ditto. + (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): + Ditto. + (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): + Ditto. + (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): + Ditto. + (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): + Ditto. + (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): + Ditto. + (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): + Ditto. Fixes a problem where this could leave inNSURLConnectionCallback set + permanently in one of the code paths; this would break showModalDialog from that + point on. This problem doesn't affect Safari. + +2008-02-01 Darin Adler <darin@apple.com> + + * platform/network/mac/ResourceHandleMac.mm: + (WebCore::ResourceHandle::loadsBlocked): Roll out accidentally checked in file. + +2008-02-01 Darin Adler <darin@apple.com> + + Reviewed by Geoff and Brady. + + - fix <rdar://problem/5680469> Each database worker thread takes a JSLock, + which slows down all JavaScript execution until the thread terminates + + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): + Explicitly gcProtect, since we aren't using ProtectedPtr any more. + (WebCore::unprotectOnMainThread): Added. + (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): + Use unprotectOnMainThread rather than doing a gcUnprotect here. + * bindings/js/JSCustomSQLTransactionCallback.h: Changed m_callback from + a ProtectedPtr to a plain old JSObject*; we gcProtect by hand now. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::notifyPendingLoadDecisionsOnMainThread): + Renamed. Changed to takea a void* with the icon database pointer. + (WebCore::IconDatabase::notifyPendingLoadDecisions): Renamed. + (WebCore::IconDatabase::performURLImport): Updated name, and pass the + icon database pointer in. + * loader/icon/IconDatabase.h: Renamed and added void* parameter. + + * platform/Threading.h: Changed callOnMainThread to take a function with a + single parameter rather than a function with no parameters. Added a typedef. + + * platform/gtk/ThreadingGtk.cpp: + (WebCore::callFunctionOnMainThread): Changed to use a structure with both + a function pointer and a context pointer, and delete it after calling. + (WebCore::callOnMainThread): Changed to create the structure with both + the function and context pointer. + + * platform/mac/Threading.mm: + (-[WebCoreFunctionWrapper initWithFunction:context:]): Added context. + (-[WebCoreFunctionWrapper invoke]): Updated to do both function and context. + Renamed from _call. + (WebCore::callOnMainThread): Updated to take both function and context. + + * platform/qt/ThreadingQt.cpp: + (WebCore::PerformFunctionEvent::PerformFunctionEvent): Added context. + (WebCore::PerformFunctionEvent::invoke): Added. Calls function with context pointer. + (WebCore::MainThreadInvoker::event): Changed to call invoke. + (WebCore::callOnMainThread): Updated to take both function and context. + + * platform/win/ThreadingWin.cpp: Added FunctionWithContext. + (WebCore::callFunctionsOnMainThread): Changed to pass call function with context. + (WebCore::callOnMainThread): Updated to queue both function and context. + + * platform/wx/ThreadingWx.cpp: + (WebCore::callOnMainThread): Updated to take both function and context. + + * storage/Database.cpp: + (WebCore::Database::scheduleTransactionCallback): Pass 0 for context. + (WebCore::Database::deliverAllPendingCallbacks): Changed to take ignored context pointer. + * storage/Database.h: Added void* parameter to deliverAllPendingCallbacks. + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::scheduleForNotification): Pass 0 for context. + (WebCore::DatabaseTracker::notifyDatabasesChanged): Changed to take ignored context pointer. + * storage/DatabaseTracker.h: Added void* parameter to notifyDatabasesChanged. + +2008-02-01 Jon Honeycutt <jhoneycutt@apple.com> + + Rubber-stamped by Ollie. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackageWin::load): Fix two function pointers + +2008-02-01 Geoffrey Garen <ggaren@apple.com> + + Reviewed by John Sullivan, Oliver Hunt. + + Fixed <rdar://problem/5688039> REGRESSION (r29428): Weather widget + fails to load due to reliance on "var location" quirk + + Added a Dashboard quirk. + + * bindings/js/kjs_window.cpp: + (KJS::Window::put): In DB backwards compatibility mode, make assignment + to window.location in top-level windows shadow the DOM location API + instead of performing a navigation. This makes a reasonable amount of + sense, because widgets can't navigate their top-level frames, anyway. + +2008-02-01 David Hyatt <hyatt@apple.com> + + Fix for bug 11387, CSS3 :empty selector is not dynamic. + + Add support for dynamically updating elements whose style is affected by :empty when the child count changes. + + Reviewed by olliej, mitzpettel + + fast/css/empty-pseudo-class.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::locateSharedStyle): + (WebCore::CSSStyleSelector::checkOneSelector): + * dom/Element.cpp: + (WebCore::Element::childrenChanged): + * dom/Element.h: + * rendering/RenderStyle.h: + (WebCore::RenderStyle::affectedByEmpty): + (WebCore::RenderStyle::emptyState): + (WebCore::RenderStyle::setEmptyState): + +2008-02-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - switch line breaking from using Carbon Unicode Utilities to using ICU + on Leopard + <http://bugs.webkit.org/show_bug.cgi?id=4628> + + fast/text/international/thai-line-breaks.html results do not change. + + * rendering/break_lines.cpp: + (WebCore::nextBreakablePosition): Changed to use Carbon only on Tiger. + +2008-02-01 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Darin. + + Update npfunctions.h to export the proper function signatures for UNIX and add + the appropriate #if around the Windows versions + + * plugins/npfunctions.h: + +2008-02-01 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver. + + Add getSVGDocument to frame and iframe. + + Test: svg/custom/frame-getSVGDocument.html + + * html/HTMLEmbedElement.cpp: + * html/HTMLEmbedElement.h: + * html/HTMLFrameElement.idl: + * html/HTMLFrameOwnerElement.cpp: + (WebCore::HTMLFrameOwnerElement::getSVGDocument): + * html/HTMLFrameOwnerElement.h: + * html/HTMLIFrameElement.idl: + * html/HTMLObjectElement.cpp: + * html/HTMLObjectElement.h: + +2008-01-30 Eric Seidel <eric@webkit.org> + + Reviewed by darin. + + Beat CSSParser with the RefPtr stick. Hopefully squashing any leaks in the process. + (Deploy RefPtr and PassRefPtr throughout CSSParser) + http://bugs.webkit.org/show_bug.cgi?id=17108 + + No functional changes, thus no tests. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseColor): + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::addBackgroundValue): + (WebCore::CSSParser::parseBackgroundShorthand): + (WebCore::CSSParser::addTransitionValue): + (WebCore::CSSParser::parseTransitionShorthand): + (WebCore::CSSParser::parseBackgroundPosition): + (WebCore::CSSParser::parseBackgroundProperty): + (WebCore::CSSParser::parseTransitionProperty): + (WebCore::CSSParser::parseFontFaceSrc): + (WebCore::ShadowParseContext::ShadowParseContext): + (WebCore::CSSParser::parseShadow): + (WebCore::BorderImageParseContext::BorderImageParseContext): + (WebCore::BorderImageParseContext::commitBorderImage): + * css/CSSParser.h: + * css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGValue): + +2008-01-31 Oliver Hunt <oliver@apple.com> + + RS=Brady. + + Add platform/Locker.h to vcproj + + * WebCore.vcproj/WebCore.vcproj: + +2008-01-31 Brady Eidson <beidson@apple.com> + + Build fix + + * WebCore.xcodeproj/project.pbxproj: Header -> WebKit + +2008-01-31 Brady Eidson <beidson@apple.com> + + Reviewed by Maciej + + Abstracted the concept of a "Locker" as upcoming work will rely on it. + + * platform/Locker.h: Added. Template class to "lock()" and "unlock()" some arbitrary object + (WebCore::Locker::Locker): Lock the object + (WebCore::Locker::~Locker): Unlock it + * platform/Threading.h: `class MutexLocker` is now `typedef Locker<Mutex>` + * WebCore.xcodeproj/project.pbxproj: + +2008-01-31 Kevin McCullough <kmccullough@apple.com> + + <rdar://problem/5716912> REGRESSION (r29816): Can't navigate back to + Gmail Inbox from Gmail Compose page + Rolling out the change that caused the regression. + + * WebCore.base.exp: + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::open): + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createHTMLDocument): + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + (WebCore::Document::open): + (WebCore::Document::write): + (WebCore::Document::clear): + * dom/Document.h: + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): + * history/HistoryItem.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didExplicitOpen): + (WebCore::FrameLoader::load): + (WebCore::FrameLoader::reloadAllowingStaleData): + (WebCore::FrameLoader::reload): + (WebCore::FrameLoader::tokenizerProcessedData): + (WebCore::FrameLoader::post): + (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): + (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): + (WebCore::FrameLoader::loadItem): + * loader/FrameLoader.h: + * platform/text/CharacterNames.h: + * xml/DOMParser.cpp: + (WebCore::DOMParser::parseFromString): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::getResponseXML): + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): + +2008-01-31 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Tim Hatcher. + + Bug 14960: Cannot copy text in Web Inspector Network panel + http://bugs.webkit.org/show_bug.cgi?id=14960 + + * page/inspector/inspector.css: + +2008-01-31 Matt Lilek <webkit@mattlilek.com> + + Reviewed by Adam Roben. + + Bug 14514: Add full URL view on mouseOver in the network page + http://bugs.webkit.org/show_bug.cgi?id=14514 + <rdar://problem/5712841> + + * page/inspector/inspector.js: + +2008-01-31 Alp Toker <alp@atoker.com> + + Rubber-stamped Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=17006 + [GTK] Header path should be webkit/webkit.h + + Move the GTK+ API sources as needed and update the build systems. + + * GNUmakefile.am: + * WebCore.pro: + +2008-01-31 Sam Weinig <sam@webkit.org> + + Reviewed by Geoff Garen. + + No need to get the prototype just to compare compare property names. + + * bindings/js/JSHistoryCustom.cpp: + (WebCore::JSHistory::customGetOwnPropertySlot): + +2008-01-31 Sam Weinig <sam@webkit.org> + + Fix non-mac builds. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + +2008-01-31 David Hyatt <hyatt@apple.com> + + Fix for bug 17101. + + List items need to ignore the line box shrinking quirk, since IE and Firefox both do. + + Reviewed by Eric + + fast/lists/list-item-line-height.html + + * rendering/InlineFlowBox.h: + (WebCore::InlineFlowBox::InlineFlowBox): + +2008-01-31 Samuel Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Fix for <rdar://problem/5708993> Mutability of the History object + + - Don't allow cross-domain get access to any of the history objects properties + except the back(), forward() and go() methods. + - Don't allow cross-domain put access to any of the history objects properties. + - Don't allow cross-domain enumeration of the History or Location objects. + + Tests: http/tests/security/cross-frame-access-history-get-override.html + http/tests/security/cross-frame-access-history-get.html + http/tests/security/cross-frame-access-history-put.html + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowCustom.cpp: Remove unnessary KJS::'s + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + (WebCore::JSDOMWindow::customPut): + (WebCore::JSDOMWindow::getPropertyNames): Moved implementation from KJS::Window now that the declaration is autogenerated + using the new CustomGetPropertyNames. + (WebCore::JSDOMWindow::postMessage): + + * bindings/js/JSHistoryCustom.cpp: Added. + (WebCore::allowsAccessFromFrame): + (WebCore::JSHistory::customGetOwnPropertySlot): Only allow getting the declared functions back(), forward() and go() from cross-domain. + Deny all other gets. + (WebCore::JSHistory::customPut): Don't allow putting cross-domain. + (WebCore::JSHistory::getPropertyNames): Don't allow enumeration cross-domain. + + * bindings/js/JSLocation.cpp: + (WebCore::allowsAccessFromFrame): + (WebCore::JSLocation::getPropertyNames): Don't allow enumeration cross-domain. + * bindings/js/JSLocation.h: + + * bindings/js/kjs_window.cpp: + * bindings/js/kjs_window.h: + + * bindings/scripts/CodeGeneratorJS.pm: + Add support for new CustomGetPropertNames extended attribute and changed the logic of CustomPutFunction + to create an overrided put() function even if no read-write properties exist. + + * page/DOMWindow.idl: Added CustomGetPropertNames + * page/History.idl: Added CustomGetPropertNames + +2008-01-30 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail + + * page/mac/WebCoreFrameBridge.h: Re-exposed smartInsertForString:, it's used by a WebKit method used by Mail. + +2008-01-31 Adam Roben <aroben@apple.com> + + Add line box drawing code to InspectorController::drawNodeHighlight + + This makes drawNodeHighlight a complete replacement for the painting + code in WebKit/mac/WebNodeHighlightView.mm, and also brings line box + rects to Windows for the first time. + + Reviewed by Darin. + + * dom/Node.h: Changed isSVGElement to always exist, but to only be + virtual when ENABLE(SVG) is true. This way you can always call + node->isSVGElement() without checking ENABLE(SVG). + * page/InspectorController.cpp: + (WebCore::InspectorController::drawNodeHighlight): Ported line box + rect code from the Mac implementation in WebNodeHighlightView.mm. + +2008-01-31 Adam Roben <aroben@apple.com> + + Put more knowledge about the node highlight in WebCore + + InspectorController now calculates the overlay rect and node rect when + drawing the node highlight instead of having them be passed in. + InspectorController now holds onto the highlighted node so that it can + determine these rects. + + Once all platforms are calling down to drawNodeHighlight instead of + drawing the highlight themselves, we can change + InspectorClient::highlight(Node*) to something like + InspectorClient::updateAndShowHighlight(). + + This also fixes Bug 14264: Node highlight makes it impossible to + scroll the page + <http://bugs.webkit.org/show_bug.cgi?id=14264> + <rdar://5712788> + + Reviewed by Darin. + + * page/InspectorController.cpp: + (WebCore::InspectorController::highlight): Store the node for use in + drawNodeHighlight. + (WebCore::InspectorController::drawNodeHighlight): Changed to be a + const instance method. Now calculates the overlay rect and node rect + instead of having them passed in. + * page/InspectorController.h: + +2008-01-31 Adam Roben <aroben@apple.com> + + Add node highlight drawing code to InspectorController + + The code came from WebKit/win/WebNodeHighlight.cpp. It's not quite as + complete as the Mac implementation (in particular, it doesn't handle + line-box rects), but it's a start. + + Reviewed by Darin. + + * page/InspectorController.cpp: + (WebCore::InspectorController::drawNodeHighlight): Added. + * page/InspectorController.h: + +2008-01-31 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=17107 + <rdar://problem/5716722> REGRESSION (r29834): Article text on redhat.com magazine site appears to be painting twice + + Test: fast/block/float/intruding-painted-twice.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): Pass 'false' for the new + makeChildPaintOtherFloats parameter to addOverhangingFloats() because at + this point we are only taking away floats from the child. + (WebCore::RenderBlock::layoutBlockChildren): Pass 'true' for the new + makeChildPaintOtherFloats parameter to addOverhangingFloats() iff the + child was not laid out again. Only in that case, it may have overhanging + floats that it does not paint because they used to be overhanging from + the parent, but now they are not. + (WebCore::RenderBlock::addOverhangingFloats): Refined the conditions for + making the child paint the float: require that the float be a descendant + of the child (the other case is when it intrudes into the child from + another sibling) and that it does not have a layer (in which case it + paints itself). In addition, do the check only if the caller passed + 'true' for the makeChildPaintOtherFloats parameter. + * rendering/RenderBlock.h: + +2008-01-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - change the interpretation of unicode-range values in "from-to" form + to include the "to" character. + + Test: fast/css/font-face-unicode-range.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFontFaceUnicodeRange): + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::overlayRange): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::initializePage): + * platform/graphics/SegmentedFontData.cpp: + (WebCore::SegmentedFontData::fontDataForCharacter): + (WebCore::SegmentedFontData::containsCharacters): + +2008-01-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - prune references to custom fonts' SimpleFontData from the glyph page + tree when they are destroyed + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::pruneTable): + +2008-01-30 Darin Adler <darin@apple.com> + + Reviewed by Tim Hatcher. + + New fix for <rdar://problem/5688428> Reproducible assertion failure + in SQLTransaction::performNextStep() (16876) + + Fixes a deadlock that was happening for all Database use. All + storage layout tests pass. + + * storage/Database.cpp: + (WebCore::CurrentThreadSetter::CurrentThreadSetter): New helper class + to set the current thread and zero it on destruction. + (WebCore::CurrentThreadSetter::~CurrentThreadSetter): Set threadIdentifierStorage to 0. + (WebCore::Database::Database): Set m_transactionStepThread to 0. + (WebCore::Database::performTransactionStep): Set m_transactionStepThread to currentThread(). + (WebCore::Database::scheduleTransactionCallback): Assert m_transactionStepThread + is currentThread(). + * storage/Database.h: Add m_transactionStepThread for debug builds + to track which thread performTransactionStep() was called on. + +2008-01-30 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + ASSERTION FAILED: JSLock::lockCount() > 0 when opening the + Web Inspector on a page with a Database. + + Fix the ASSERT by taking a JSLock before calling toJS(). + + * page/InspectorController.cpp: + (WebCore::InspectorController::addDatabaseScriptResource): + +2008-01-30 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5598609> CrashTracer: [USER] 626 crashes in + Safari at com.apple.WebCore: WebCore::FrameView::needsFullRepaint + const + 6 + + The real problem here is tracked by rdar://5598072, which is that + frames can lose sync between their view and their document when a + non-HTML view is loaded (such as bookmarks view or a PDF). That can + cause this crash if the layout timer fires before things have fixed + themselves. This fix turns an ASSERT in FrameView::layout() into an + early return to cause graceful failure until the root of the + problem is addressed. + + * page/FrameView.cpp: + (WebCore::FrameView::layout): + +2008-01-30 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5700414> REGRESSION (Adama-ToT): Selecting "Header 1" style in Leopard Server wiki inserts newline + + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::doApply): If the selected paragraph was empty, + we may still need to call moveParagrah to remove the line break that holds that + paragraph open because the new block of the requested type needs to to replace it. + +2008-01-30 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876) + + Revised fix to use the globalCallbackMutex() mutex and hold the mutex + for the entire function scope. + + * storage/Database.cpp: + (WebCore::Database::performTransactionStep): + +2008-01-30 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Make ResourceTreeElement inherit the prototype of TreeElement. + + * page/inspector/Resource.js: + +2008-01-30 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Don't include SecurityOrigin.h in Document.h so that we can avoid massive + recompilation when changing the SecurityOrigin. + + * dom/Document.cpp: + (WebCore::Document::setSecurityOrigin): + * dom/Document.h: + +2008-01-30 Tim Omernick <timo@apple.com> + + Reviewed by Tim Hatcher and Brady. + + <rdar://problem/5688428> Reproducible assertion failure in SQLTransaction::performNextStep() (16876) + + * storage/Database.cpp: + (WebCore::Database::performTransactionStep): Do not perform the next transaction if + a global callback is already scheduled. + +2008-01-30 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Darin. + + <rdar://problem/5669317> Crash closing pop up window with Real Player + content + + Some RealPlayer versions hang on unload. To prevent this hang, don't + unload versions since the last known unloadable version. + <rdar://problem/5713147> tracks revisiting this when the bug in + RealPlayer is fixed and we can again unload the plug-in. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackageWin::compareFileVersion): Compare the plug-in's + file version to the passed file version, returning -1, 0, or 1 if the + plug-in's version is less than, equal to, or greater than the version + passed. + (WebCore::PluginPackageWin::isPluginBlacklisted): Use + compareFileVersion() + * plugins/win/PluginPackageWin.h: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::determineQuirks): If the plug-in version is + newer than the last-known unloadable version, add the DontUnloadPlugin + quirk + +2008-01-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Look for headers relative to NEXT_ROOT so that build-root picks up the WebCoreSQLite + version of sqlite3.h rather than the older system version. + + * Configurations/Base.xcconfig: + +2008-01-29 Dan Bernstein <mitz@apple.com> + + - build fix + + * loader/CachedFont.cpp: + (WebCore::CachedFont::CachedFont): + +2008-01-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Brady Eidson. + + Add the correct directory to the header search paths in Production builds. + + * Configurations/Base.xcconfig: + +2008-01-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=17085 + <rdar://problem/5714136> REGRESSION (r29839): All remote fonts are treated as SVG fonts + + Test: fast/css/font-face-remote.html + + Added an isSVGFont method to CachedFont and use it to decide how to + process the font data. Currently whether the data is SVG is determined + based on the format property in the @font-face rule, but in the future + the MIME type or other metadata may be used when the format is + unspecified. + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): Changed to parse the data as + SVG only if the CachedFont is an SVG font. + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): Mark the CachedFont as an + SVG font based on format. + * loader/CachedFont.cpp: + (WebCore::CachedFont::CachedFont): Initialize m_isSVGFont to false. + (WebCore::CachedFont::ensureCustomFontData): + (WebCore::CachedFont::ensureSVGFontData): + (WebCore::CachedFont::getSVGFontById): + * loader/CachedFont.h: + (WebCore::CachedFont::isSVGFont): Added. + (WebCore::CachedFont::setSVGFont): Added. + +2008-01-29 Antti Koivisto <antti@apple.com> + + Some comment cleanup. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWin::load): + (QTMovieWin::disableUnsupportedTracks): + +2008-01-29 Adele Peterson <adele@apple.com> + + Reviewed by Antti. + + Fix for <rdar://5683527> media/{audio,video|-controls-rendering.html failing + + * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::isControlStyled): + Don't treat all media controls as styled. This causes builds with an old version of SafariTheme to have different metrics for these controls. + +2008-01-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - make Font instances cache their primary font + + * WebCore.base.exp: + * platform/graphics/Font.cpp: + (WebCore::Font::Font): + (WebCore::Font::operator=): + (WebCore::Font::cachePrimaryFont): + (WebCore::Font::update): + * platform/graphics/Font.h: + (WebCore::Font::primaryFont): + +2008-01-29 Dan Bernstein <mitz@apple.com> + + - Leopard build fix + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): + +2008-01-29 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + <rdar://problem/5600926> WebCore on Tiger must link to its own copy of SQLite 3.4 or newer (so HTML database behavior will be correct). + + * Configurations/Base.xcconfig: Update the header search path on Tiger. + * Configurations/DebugRelease.xcconfig: Update the header search path on Tiger. + * Configurations/WebCore.xcconfig: Link against libWebCoreSQLite3.a when building on Tiger. + * WebCore.xcodeproj/project.pbxproj: Update the header search path in Production builds on Tiger. + +2008-01-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben and Oliver Hunt. + + - fix <rdar://problem/5713131> REGRESSION (r29246): Many SVG font tests are failing + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): Use double instead of float + for consistent rounding behavior between Mac OS X and Windows. + +2008-01-29 Adam Roben <aroben@apple.com> + + Fix <rdar://5713302> Web Inspector on Windows is not using the + localized strings + + Reviewed by Steve. + + * WebCore.vcproj/WebCore.vcproj: Copy InspectorLocalizedStrings.js to + $WebKitOutputDir. + * page/InspectorController.cpp: Touch this to force the project to + build. + +2008-01-29 Eric Seidel <eric@webkit.org> + + Reviewed by Nikolas. + + Acid3 after double-attach + http://bugs.webkit.org/show_bug.cgi?id=17058 + + I believe SVGTextPathElement::buildPendingResource() was entirely + bogus, removing it did not cause any tests to fail. + + Test: svg/custom/textPath-assert.svg + + * svg/SVGTextPathElement.cpp: + (WebCore::SVGTextPathElement::insertedIntoDocument): remove buildPendingResource() + * svg/SVGTextPathElement.h: + +2008-01-29 Adam Roben <aroben@apple.com> + + Fix Bug 16234: Inspector should support searching for elements by CSS selectors + + <http://bugs.webkit.org/show_bugs.cgi?id=16234> + <rdar://5712862> + + Reviewed by Tim. + + * page/inspector/inspector.js: Use Document.querySelectorAll to search + for elements by CSS selector. Also store a custom property on nodes + being added to the search results to avoid showing the same node more + than once. + +2008-01-29 Adam Roben <aroben@apple.com> + + Fix <rdar://5711136> Full-screen Flash on 1up.com is unresponsive + + Reviewed by Anders and Darin. + + No test possible. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::wndProc): Set/release capture on mouse + down/up, like Firefox does. + +2008-01-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - make isSVGFont non-virtual + + * platform/graphics/FontData.h: + * platform/graphics/SegmentedFontData.cpp: + * platform/graphics/SegmentedFontData.h: + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::isSVGFont): + +2008-01-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix <rdar://problem/5700824> Chunky scrolling + scrolling artifacts @ netflix.com/Notebook + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::valueChanged): Send the scroll + event before updating the window, thus giving event handlers a chance + to update layout for the new scroll position, eliminating the jitter. + +2008-01-28 Adam Roben <aroben@apple.com> + + Fix <rdar://5555260> Gmail doesn't load when a user stylesheet is specified + + Reviewed by Darin. + + A null value exception was being thrown in Gmail's JS code because a + call to document.write failed. document.write failed because + Document::close had not yet been called. Document::close was not + called because the Document was considered to not be "complete" in + FrameLoader::checkComplete because the user stylesheet was in the + process of loading. The user stylesheet was loading because it had + previously been evicted from the cache and was loading fresh from + disk. It had been evicted from the cache because the calculation of + the expiration date was incorrectly casting/overflowing in + ResourceResponseCFNet.cpp. + + We now calculate the expiration date in a way that does not cause us + to overflow a time_t, and we correctly clamp the value to the range of + a time_t. I also made the fix for the last modified date, though that + was not causing any bug I am aware of. + + In the long-term it seems like whether or not Document::close is + called should not be dependent upon whether the user stylesheet has + finished loading or not. + + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::toTimeT): Added. Converts from CFAbsoluteTime to time_t and + clamps to the range of time_t. + (WebCore::ResourceResponse::doUpdateResourceResponse): Call toTimeT. + +2008-01-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Nikolas Zimmermann. + + - fix leaks introduced in r29838 + + * svg/SVGFont.cpp: + (WebCore::floatWidthMissingGlyphCallback): + (WebCore::drawTextMissingGlyphCallback): + +2008-01-28 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric, Dan & Oliver. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=16980 + + Support external SVG Fonts, by reusing the custom font handling logic. + This enables us - as first engine - to render HTML pages using SVG Fonts. + + Fixes fonts-elem-03-b.svg / fonts-elem-04-b.svg / fonts-elem-07-b.svg + Add new testcase svg-fonts-in-html.html. + + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontFaceSource.h: + * css/CSSFontFaceSrcValue.cpp: + (WebCore::CSSFontFaceSrcValue::isSVGFontFaceSrc): + (WebCore::CSSFontFaceSrcValue::isSupportedFormat): + * css/CSSFontFaceSrcValue.h: + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + * loader/CachedFont.cpp: + (WebCore::CachedFont::~CachedFont): + (WebCore::CachedFont::ensureSVGFontData): + (WebCore::CachedFont::extractFontFromSVGData): + (WebCore::CachedFont::platformDataFromSVGData): + * loader/CachedFont.h: + * platform/graphics/Font.cpp: + (WebCore::Font::offsetForPosition): + * platform/graphics/Font.h: + * svg/SVGFont.cpp: + (WebCore::floatWidthOfSubStringUsingSVGFont): + (WebCore::Font::drawTextUsingSVGFont): + (WebCore::Font::offsetForPositionForTextUsingSVGFont): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::rebuildFontFace): + * svg/SVGFontFaceElement.h: + * svg/SVGFontFaceUriElement.cpp: + (WebCore::SVGFontFaceUriElement::srcValue): + +2008-01-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix svg/W3C-SVG-1.1/fonts-glyph-04-t.svg failure on Windows + + The results differed between Mac OS X and Windows because the code was + using a 0-size font, which Mac OS X changes to 12pt. + + * svg/SVGFont.cpp: + (WebCore::floatWidthMissingGlyphCallback): Use the font description of + the primary font to initialize the fallback font. + (WebCore::drawTextMissingGlyphCallback): Ditto. + +2008-01-28 Eric Seidel <eric@webkit.org> + + Reviewed by Nikolas Zimmermann. + + Use class instead of struct to appease MSVC. + + * history/HistoryItem.h: + * loader/FrameLoaderClient.h: + * page/InspectorController.h: + * platform/network/ResourceRequestBase.h: + * platform/network/mac/ResourceRequest.h: + +2008-01-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16774 + REGRESSION (r27464-r27504) javascript popup menu does not display 'close' button + + Test: fast/dynamic/float-no-longer-overhanging.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addOverhangingFloats): If a child's float turns + out not to be overhanging at this time, ensure that the child paints it. + +2008-01-28 Oliver Hunt <oliver@apple.com> + + More wx fixes + + * platform/graphics/wx/AffineTransformWx.cpp: + +2008-01-28 Oliver Hunt <oliver@apple.com> + + And another Wx build fix + + * platform/graphics/wx/AffineTransformWx.cpp: + (WebCore::AffineTransform::mapRect): + +2008-01-28 Oliver Hunt <oliver@apple.com> + + Yet another Wx build fix + + * platform/graphics/wx/GraphicsContextWx.cpp: + +2008-01-28 Oliver Hunt <oliver@apple.com> + + Wx build fix + + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::getCTM): + +2008-01-28 Oliver Hunt <oliver@apple.com> + + Gtk build fix + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + +2008-01-27 Oliver Hunt <oliver@apple.com> + + Reviewed by Sam Weinig. + + Bug 16629: <canvas> does not support isPointInPath() + + Relatively trivial change to implement pointInPath and add + it to the bindings. Most of this patch is the addition of + GraphicsContext::getCTM() by pulling the various platform + implementations from CanvasRenderingContext2D::willDraw + + Test: fast/canvas/pointInPath.html + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::isPointInPath): + (WebCore::CanvasRenderingContext2D::willDraw): + * html/CanvasRenderingContext2D.h: + * html/CanvasRenderingContext2D.idl: + * platform/graphics/AffineTransform.cpp: + (WebCore::AffineTransform::mapPoint): + Support mapping of FloatRects + * platform/graphics/AffineTransform.h: + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::getCTM): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::getCTM): + +2008-01-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=17014 + REGRESSION: EUC-CN code A3A0 is mapped to U+E5E5 instead of U+3000 + + Test: fast/encoding/char-decoding.html + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::decode): Added a workaround that we used to have in Mac code. + + * platform/text/mac/TextCodecMac.cpp: + (WebCore::TextCodecMac::decode): Corrected a comment. + +2008-01-27 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=17029 + Use of deprecated class function but declares GTK_DISABLE_DEPRECATED + + Sync gtkdrawing.h (1.51) and gtk2drawing.c (1.71) from Mozilla + upstream. + + Adapt RenderThemeGtk.cpp to track minor changes. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::gtkTextDirection): + (WebCore::adjustMozStyle): + (WebCore::setMozState): + (WebCore::paintMozWidget): + * platform/gtk/gtk2drawing.c: + (setup_widget_prototype): + (ensure_hpaned_widget): + (ensure_vpaned_widget): + (ensure_toggle_button_widget): + (ensure_combo_box_entry_widget): + (ensure_dropdown_entry_widget): + (moz_gtk_get_dropdown_button): + (ensure_arrow_widget): + (ensure_toolbar_separator_widget): + (ensure_statusbar_widget): + (ensure_frame_widget): + (ensure_menu_separator_widget): + (ensure_tree_view_widget): + (ensure_tree_header_cell_widget): + (ensure_expander_widget): + (ConvertGtkState): + (moz_gtk_button_paint): + (moz_gtk_widget_get_focus): + (moz_gtk_splitter_get_metrics): + (moz_gtk_toggle_paint): + (moz_gtk_scrollbar_button_paint): + (moz_gtk_scrollbar_trough_paint): + (moz_gtk_scrollbar_thumb_paint): + (moz_gtk_spin_paint): + (moz_gtk_spin_updown_paint): + (moz_gtk_scale_paint): + (moz_gtk_scale_thumb_paint): + (moz_gtk_gripper_paint): + (moz_gtk_hpaned_paint): + (moz_gtk_vpaned_paint): + (moz_gtk_entry_paint): + (moz_gtk_treeview_paint): + (moz_gtk_tree_header_cell_paint): + (moz_gtk_tree_header_sort_arrow_paint): + (moz_gtk_treeview_expander_paint): + (moz_gtk_expander_paint): + (moz_gtk_option_menu_paint): + (moz_gtk_downarrow_paint): + (moz_gtk_dropdown_arrow_paint): + (moz_gtk_container_paint): + (moz_gtk_toggle_label_paint): + (moz_gtk_toolbar_paint): + (moz_gtk_toolbar_separator_paint): + (moz_gtk_tooltip_paint): + (moz_gtk_resizer_paint): + (moz_gtk_frame_paint): + (moz_gtk_progressbar_paint): + (moz_gtk_progress_chunk_paint): + (moz_gtk_get_tab_thickness): + (moz_gtk_tab_paint): + (moz_gtk_tabpanels_paint): + (moz_gtk_menu_bar_paint): + (moz_gtk_menu_popup_paint): + (moz_gtk_menu_separator_paint): + (moz_gtk_menu_item_paint): + (moz_gtk_menu_arrow_paint): + (moz_gtk_check_menu_item_paint): + (moz_gtk_window_paint): + (moz_gtk_get_widget_border): + (moz_gtk_get_dropdown_arrow_size): + (moz_gtk_get_toolbar_separator_width): + (moz_gtk_get_expander_size): + (moz_gtk_get_treeview_expander_size): + (moz_gtk_get_menu_separator_height): + (moz_gtk_widget_paint): + (moz_gtk_shutdown): + * platform/gtk/gtkdrawing.h: + +2008-01-27 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=14811 + [gtk] [request] add a webkit_gtk_page_go_to_history_item function + + Added webkit/gtk webkitwebbackforwardlist and webkitwebhistoryitem + + * WebCore.pro: + +2008-01-27 Matt Perry <mpComplete@gmail.com> + + Reviewed and tweaked quite a bit by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=14959 + No back forward entry added for pages created in javascript + + A new HistoryItem is created for calls to Document::open. Calls to + Document::write save the written data to a SharedBuffer that is also + stored on the HistoryItem. When the user navigates back to a + HistoryItem that has a valid buffer, that data is used for the page + content. + + Tests: http/tests/navigation/document-open-adds-history-item.html + http/tests/navigation/document-open-delayed-adds-history-item.html + http/tests/navigation/document-open-new-window-adds-history-item.html + http/tests/navigation/document-open-replace-no-history-item.html + + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::JSHTMLDocument::open): Pass a MIME type of either "text/html" or + "text/plain" and a boolean for "replace" in rather than always setting replace + to true and the MIME type to "text/html". + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::createHTMLDocument): Pass in MIME type and + replace boolean explicitly, since we don't want to rely on Document::open()'s + default. + + * dom/Document.cpp: + (WebCore::Document::open): Correctly determine the "replace" boolean. + Pass along the MIME type, replace boolean, and shared buffer to the + frame loader's didExplicitOpen function. + (WebCore::Document::write): Pass MIME type and replace boolean explicitly + to the open function so we don't do treat it as replace if you write without + an open. Store text written by the script so it can be used later for history. + (WebCore::Document::clear): Drop the text written byt he script. + + * dom/Document.h: Added MIME type and replace boolean parameters for open. + Had to keep the old version for the sake of DOM bindings. Added the shared + buffer used for text written by script. + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): Copy m_substituteData. + (WebCore::HistoryItem::substituteData): Added. + (WebCore::HistoryItem::setSubstituteData): Added. + * history/HistoryItem.h: Added m_substituteData, getter, and setter. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didExplicitOpen): Added code to create or update the + history item, including attaching the shared buffer that will contain all + the data written by script. + (WebCore::FrameLoader::load): Added a SubstituteData parameter, passed through + when creating the document loader. + (WebCore::FrameLoader::reloadAllowingStaleData): Create the document loader + with the substitute data from the current history item. + (WebCore::FrameLoader::reload): Ditto. + (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): If the current history + item has substitute data, then consider the URL from the substitute data + rather than the one in the history item itself. + (WebCore::FrameLoader::loadItem): Pass in the history item's substitute data. + * loader/FrameLoader.h: Added parameters to load and didExplicitOpen. + + * platform/text/CharacterNames.h: Added byteOrderMark, and also added it under + its other official name, zeroWidthNoBreakSpace. + + * xml/DOMParser.cpp: + (WebCore::DOMParser::parseFromString): Pass in MIME type and replace boolean + explicitly, since we don't want to rely on Document::open()'s default. + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::getResponseXML): Ditto. + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. + +2008-01-25 Eric Seidel <eric@webkit.org> + + Reviewed by Sam and Darin. + + Fire a warning shot in DeprecatedChar's direction. + + Remove DeprecatedChar::isSpace() usage, in preparation for removing DeprecatedChar + Remove a needless String -> DeprecatedString -> String conversion for <script> tags + + * css/MediaQueryEvaluator.cpp: + (WebCore::parseAspectRatio): + * css/SVGCSSParser.cpp: + * dom/Position.cpp: + (WebCore::Position::leadingWhitespacePosition): + (WebCore::Position::trailingWhitespacePosition): + * editing/TextIterator.cpp: + (WebCore::WordAwareIterator::advance): + * html/HTMLFontElement.cpp: + (WebCore::parseFontSizeNumber): + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::scriptHandler): + (WebCore::HTMLTokenizer::scriptExecution): + (WebCore::HTMLTokenizer::notifyFinished): + * html/HTMLTokenizer.h: + * loader/CachedCSSStyleSheet.cpp: + * loader/TextResourceDecoder.cpp: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + * platform/mac/ClipboardMac.mm: + (WebCore::ClipboardMac::getData): + * platform/network/HTTPParsers.cpp: + (WebCore::extractMIMETypeFromMediaType): + * platform/text/PlatformString.h: + * platform/text/StringImpl.cpp: + (WebCore::parseLength): + (WebCore::StringImpl::stripWhiteSpace): + (WebCore::StringImpl::simplifyWhiteSpace): + (WebCore::StringImpl::toInt): + (WebCore::StringImpl::toInt64): + (WebCore::StringImpl::toUInt64): + * platform/text/StringImpl.h: + (WebCore::isSpaceOrNewline): + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::updateFirstLetter): + * rendering/bidi.cpp: + (WebCore::RenderBlock::computeHorizontalPositionsForLine): + * svg/SVGFontFaceElement.cpp: + (WebCore::mapAttributeToCSSProperty): + * svg/SVGLength.cpp: + * svg/SVGStyledElement.cpp: + (WebCore::mapAttributeToCSSProperty): + * xml/XPathParser.cpp: + +2008-01-25 Stephanie Lewis <slewis@apple.com> + + Reviewed by Tim. + + expand workaround for <rdar://5695848> to include js files so that the + web inspector can work + + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::ResourceResponse::doUpdateResourceResponse): + +2008-01-25 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + (this is for r29798, my commit failed to include the log) + + Windows fix to match r29773 + If the media is playing and the load stalls the playback wont restart by seeking backwards. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::updateStates): + +2008-01-25 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - fix <rdar://problem/5691072> ASSERTION FAILED: isPrepared() when executing an empty statement + + For empty statements, SQLite returns 0 for the statement. We have to cope with that. + + Test: storage/empty-statement.html + + * platform/sql/SQLiteStatement.cpp: + (WebCore::sqlite3_prepare16_v2): Added overload so we don't need an #if inside the prepare + function. + (WebCore::SQLiteStatement::SQLiteStatement): Initialize the m_isPrepared boolean. Removed + the code to add a null character to the end of the string; instead we will use + charactersWithNullTermination. + (WebCore::SQLiteStatement::prepare): Set m_isPrepared based on the error value returned. + Use the error value from sqlite3_prepare16_v2, not from lastError(). + (WebCore::SQLiteStatement::step): Assert that the statement is prepared rather than checking + it at runtime. However, in the case where this is called with m_statement of 0, return + success rather than an error. That's needed for empty statements. + (WebCore::SQLiteStatement::finalize): Use early return idiom for clarity. When there is no + statement, return SQLITE_OK instead of calling lastError(). + (WebCore::SQLiteStatement::reset): Use early return idiom for clarity. When there is no + statement, return SQLITE_OK rather than SQLITE_ERROR, but assert the statement is prepared. + (WebCore::SQLiteStatement::executeCommand): Adjust the code that does a prepare so that it + will work for empty statements. Do we really need to allow calling this without prepare? + It would be simpler to just be able to assert that it's prepared. + (WebCore::SQLiteStatement::returnsAtLeastOneResult): Ditto. + (WebCore::SQLiteStatement::bindBlob): Added some assertions. Return SQLITE_ERROR if this + is called with m_statement of 0 (should not be possible without assertions firing first). + Return the actual error code rather than lastError(). + (WebCore::SQLiteStatement::bindText): Ditto. Also simplified the special case for empty + strings, since it requires any non-null pointer, not a pointer to a global zero character. + (WebCore::SQLiteStatement::bindInt64): Ditto. + (WebCore::SQLiteStatement::bindDouble): Ditto. + (WebCore::SQLiteStatement::bindNull): Ditto. + (WebCore::SQLiteStatement::bindValue): Moved default case out of the switch to take + advantage of the gcc compiler warning for unhandled enum values in a switch. + (WebCore::SQLiteStatement::bindParameterCount): Added assertion and code to handle the + empty statement case. + (WebCore::SQLiteStatement::columnCount): Added assertion and changed the code to use + the early-return idiom. + (WebCore::SQLiteStatement::getColumnName): Removed getColumnName16 -- we always use 16-bit + characters and have no reason to ever use the 8-bit function. Added assertions about the + passed-in column number. It's a little strange that this function checks the column number + for too-large column numbers, but not for negative ones. I didn't change that for now. + (WebCore::SQLiteStatement::getColumnText): Ditto. + (WebCore::SQLiteStatement::getColumnDouble): Ditto. + (WebCore::SQLiteStatement::getColumnInt): Ditto. + (WebCore::SQLiteStatement::getColumnInt64): Ditto. + (WebCore::SQLiteStatement::getColumnBlobAsVector): Ditto. + (WebCore::SQLiteStatement::getColumnBlob): Tightened up function a bit, including use of + the early-return idiom and replacing the multiple "size = 0" with a single one at the + start of the function. + (WebCore::SQLiteStatement::returnTextResults): Added a failure case when the prepare + call doesn't work. Cleared the vector earlier to make the failure code simpler. Moved + the declaration of the result boolean down lower to make it clearer what it's for. + Changed use of lastError() to call on the database, to make it clearer that there's + no per-statement last error kept around. It'd be even better to not use lastError() here. + (WebCore::SQLiteStatement::returnIntResults): Ditto. + (WebCore::SQLiteStatement::returnInt64Results): Ditto. + (WebCore::SQLiteStatement::returnDoubleResults): Ditto. + (WebCore::SQLiteStatement::isExpired): Changed to use || rather than ?: because I think + it's slightly easier to read that way. + + * platform/sql/SQLiteStatement.h: Removed unneeded includes and forward declarations. + Also removed unnneeded functions isPrepared, getColumnName16, getColumnText16, + returnTextResults16, lastError, and lastErrorMsg. Changed prepareAndStep so that it + checks the result of prepare before callling step. Added a debug-only m_isPrepared boolean. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::checkIntegrity): Remove 16 suffix from text-related function names. + (WebCore::IconDatabase::performURLImport): Ditto. + (WebCore::IconDatabase::pruneUnretainedIcons): Ditto. + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::clearAllTables): Ditto. + * storage/Database.cpp: + (WebCore::retrieveTextResultFromDatabase): Ditto. + (WebCore::Database::performGetTableNames): Ditto. + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::fullPathForDatabase): Ditto. + (WebCore::DatabaseTracker::populateOrigins): Ditto. + (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto. + (WebCore::DatabaseTracker::addDatabase): Ditto. + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::execute): Ditto. + + * platform/sql/SQLiteDatabase.h: Removed unneeded includes. + * storage/SQLResultSet.h: Ditto. + * storage/SQLResultSetRowList.h: Ditto. + +2008-01-25 Adele Peterson <adele@apple.com> + + Reviewed by Sam. + + Fix for <rdar://problem/5679452> Finish tweaking layout/alignment of media controls slider to match QuickTime plug-in + + * css/html4.css: Add horizontal padding to the media slider. + * rendering/RenderSlider.cpp: + (WebCore::HTMLSliderThumbElement::defaultEventHandler): Replace use of absoluteBoundingBox() with width() and height() + (WebCore::RenderSlider::positionForOffset): ditto. Also, use the trackSize() for the maximum offset. + (WebCore::RenderSlider::layout): Use contentWidth() and contentHeight() to take padding into account. + (WebCore::RenderSlider::trackSize): ditto. + +2008-01-24 Adam Roben <aroben@apple.com> + + Better fix for Bug 16996 + + Rubberstamped by Mitz. + + * loader/CachedFont.cpp: + (WebCore::CachedFont::ensureCustomFontData): Don't call + createFontCustomPlatformData if m_data is null. + * platform/graphics/gtk/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): Added an assertion. + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): Ditto. + * platform/graphics/qt/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): Ditto. + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): Ditto. + +2008-01-24 Adam Roben <aroben@apple.com> + + Fix Bug 16996: Crash in createFontCustomPlatformData when loading + 0-byte font via @font-face + + <http://bugs.webkit.org/show_bug.cgi?id=16996> + + Reviewed by Hyatt. + + Test: fast/loader/font-face-empty.html + + * platform/graphics/win/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): Null-check the buffer + parameter. + +2008-01-24 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + <rdar://problem/5588807> Crash in Flash when destroying plug-in (found + using yahoo beta mail) + + Flash can dereference NULL in the call to NPP_URLNotify if a request + made with NPN_PostURLNotify fails before NPP_NewStream is called. + + Work around this by creating a quirk, PluginQuirkFlashURLNotifyBug, and + checking for this quirk before calling NPP_URLNotify for any request + made with NPN_PostURLNotify. If the quirk is present, call NPP_NewStream + and NPP_DestroyStream before calling NPP_URLNotify. + + * WebCore.vcproj/WebCore.vcproj: + * plugins/PluginQuirkSet.h: Added. Moved quirks out of PluginViewWin so + PluginViewWin and PluginStream could share it. Created a class, + PluginQuirkSet, to store plug-in quirks + (WebCore::): + (WebCore::PluginQuirkSet::PluginQuirkSet): + (WebCore::PluginQuirkSet::add): + (WebCore::PluginQuirkSet::contains): + * plugins/PluginStream.cpp: + (WebCore::PluginStream::PluginStream): Copy the PluginQuirkSet for this + plug-in + (WebCore::PluginStream::destroyStream): Check for the FlashURLNotifyBug + quirk + * plugins/PluginStream.h: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::performRequest): Pass the quirks when creating + the PluginStream + (WebCore::PluginViewWin::didReceiveResponse): Same + (WebCore::PluginViewWin::wndProc): Use add / contains instead of + bit ops + (WebCore::PluginViewWin::userAgent): Same + (WebCore::PluginViewWin::invalidateRect): Same + (WebCore::PluginViewWin::~PluginViewWin): Same + (WebCore::PluginViewWin::determineQuirks): Same + (WebCore::PluginViewWin::setParameters): Same + (WebCore::PluginViewWin::PluginViewWin): Same + (WebCore::PluginViewWin::init): Same + (WebCore::PluginViewWin::setCallingPlugin): Same + * plugins/win/PluginViewWin.h: + +2008-01-24 David Hyatt <hyatt@apple.com> + + http://bugs.webkit.org/show_bug.cgi?id=16982 + + Make sure to make <head> the current block if it is created before a <body> already exists. + + Reviewed by Dan + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::createHead): + +2008-01-24 Alexey Proskuryakov <ap@webkit.org> + + http://bugs.webkit.org/show_bug.cgi?id=16993 + <rdar://problem/5704331> REGRESSION: Loading page leads to many unexpected redirections + + Rolled out r29590, which was not a correct fix for <rdar://problem/5692566>. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::clear): + +2008-01-24 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + If the media is playing and the load stalls the playback wont restart by seeking backwards. + + We should be in CAN_PLAY state if the current time is less than the maximum loaded time. Rate + tricks were for streaming case and are not necessary now since that is now disabled. + + Windows patch coming separately. + + Test: http/tests/media/video-play-stall-seek.html + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::updateStates): + +2008-01-24 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + Fix <rdar://problem/5684815> + After navigating back to the page that contains a <audio> that has been muted, the audio is still heard + + - get rid of the separate muted state in MediaPlayer, maintain the state in the cross platform code only + - remove volumeChanged() callbacks from HTMLMediaElement and OS X MediaPlayer, they were not used for anything + - rename updateMediaPlayer -> updatePlayState which tells more about what it actually does + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + (WebCore::HTMLMediaElement::setVolume): + (WebCore::HTMLMediaElement::setMuted): + (WebCore::HTMLMediaElement::checkIfSeekNeeded): + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): + (WebCore::HTMLMediaElement::updateVolume): + (WebCore::HTMLMediaElement::updatePlayState): + (WebCore::HTMLMediaElement::setPausedInternal): + * html/HTMLMediaElement.h: + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::MediaPlayer): + * platform/graphics/MediaPlayer.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovie): + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: + * platform/graphics/win/QTMovieWin.cpp: + * platform/graphics/win/QTMovieWin.h: + +2008-01-24 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Fix "QObject::startTimer: QTimer can only be used with threads started with QThread" + * The JSC GCController gets automatically destructed on application exit, it will stop + its timer and we try to schedule the next timer. Now the GCController can get destructed + after our QApplication is gone. This will trigger the above warning, we can avoid this + by checking if our qApp is still around. + + * platform/qt/SharedTimerQt.cpp: + (WebCore::setSharedTimerFireTime): + +2008-01-24 Morten Johan Sørvig <msorvig@trolltech.com> + + Reviewed by Simon. + + Qt/Mac: Make sure the scrollbars does not overlap the grow box. + + When showing only one scrollbar we need to move it so it doesn't overlap the + grow box. This is similar to the code in QAbstractScrollArea. + + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::updateScrollbars): + +2008-01-15 Michael Goddard <michael.goddard@trolltech.com> + + Reviewed by Darin. + + While parsing -webkit-border-image, store + the border widths as naked pointers rather + than as OwnPtrs, since they point to the + middle of an array. + + Test: fast/css/border-image-crash.html + + * css/CSSParser.cpp: + +2008-01-24 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Attempt to fix showing of popup again after a popup has been shown but + the user did not select any item (e.g. clicked outside of the popup) + * Keep track of the popup status using the virtuals showPopup and hidePopup + and do not go into recursion when hiding a popup. + + * platform/qt/QWebPopup.cpp: + (WebCore::QWebPopup::showPopup): + (WebCore::QWebPopup::hidePopup): + * platform/qt/QWebPopup.h: + +2008-01-24 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Assert the presence of the PopupMenuClient + + * platform/qt/QWebPopup.cpp: + (WebCore::QWebPopup::QWebPopup): + (WebCore::QWebPopup::hideEvent): + (WebCore::QWebPopup::activeChanged): + +2008-01-23 David Kilzer <ddkilzer@apple.com> + + <rdar://problem/5702947> WebCore: CGContextDrawPDFDocument will be deprecated + + Reviewed by Darin. + + No test cases added since there is no change in behavior. + + * platform/graphics/cg/PDFDocumentImage.cpp: + (WebCore::PDFDocumentImage::draw): Replace CGContextDrawPDFDocument() with + calls to CG methods that perform the equivalent work. + +2008-01-23 Antti Koivisto <antti@apple.com> + + Reviewed by Hyatt, Adele. + + Timers for media controls keep running when the page is in the page cache. + + Stop timers in RenderMedia and get rid of the controls tree when the page goes to the cache. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::willSaveToCache): + (WebCore::HTMLMediaElement::didRestoreFromCache): + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::inPageCache): + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::updateControls): + +2008-01-23 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + Video that had already played to the end would start playing (from beginning) on back/forward navigation. + + Use setPausedInternal() instead of pause(). This avoid generating pause/play events and matches specification text. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::willSaveToCache): + +2008-01-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + <rdar://problem/4200075> Missing support for accented chars in mailto forms + + With some combinations of form parameters, this was resulting in regressed behavior. + + Tests: fast/forms/mailto/get-non-ascii-text-plain-latin-1.html + fast/forms/mailto/post-text-plain-with-accept-charset.html + fast/forms/mailto/post-text-plain.html + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::formData): Ignore accept-charset for mailto forms, which are always + encoded as UTF-8. + (WebCore::HTMLFormElement::isMailtoForm): Added. + (WebCore::HTMLFormElement::dataEncoding): Added (factored out from formData). + (WebCore::HTMLFormElement::submit): When round-tripping in text/plain case, use utf-8 encoding. + * html/HTMLFormElement.h: Added a isMailtoForm() function. It may be a bit unfortunate that + its result is calculated repeatedly, but this doesn't seem to be anywhere near hot code. + +2008-01-22 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Alice Liu. + + <rdar://problem/5658727> Undo/redo for pasted or typed text in yahoo mail becomes disabled after one round of being selected + + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::updateFromElement): If value == text() and + m_innerText is empty, then value and text() are "". In that case both DOM + mutations are no-ops and there is no reason to clear the Undo stack. + +2008-01-23 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/5698732> Copyright strings should include 2008 + + Reviewed by Sam. + + * WebCore.vcproj/QTMovieWin.rc: + +2008-01-23 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/5699509> Allow file upload dialog to be localized. + + Reviewed by Darin. + + * platform/LocalizedStrings.h: + * platform/win/FileChooserWin.cpp: + (WebCore::FileChooser::openFileChooser): + +2008-01-23 Adam Roben <aroben@apple.com> + + Fix behavior of type-to-select in <select> menus + + In r27825 we started posting both a WM_KEYDOWN and WM_CHAR message + whenever a key was pressed in the dropdown menu. However, since posted + messages go through TranslateMessage, the WM_KEYDOWN was generating + another WM_CHAR message, so two WM_CHAR messages in a row would reach + the WebView. This caused the searching to happen twice for each key, + so typing "dog" would search for "ddoogg". + + Reviewed by Darin. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupWndProc): Repost the WM_KEYDOWN message to the WebView. + This is will generate a WM_CHAR message which will trigger the + type-to-select behavior. This is very similar to our behavior prior to + r27825, except that we're now calling PostMessage instead of + SendMessage. + +2008-01-23 Alp Toker <alp@atoker.com> + + Rubber-stamped by Mark Rowe. + + Remove whitespace after -I in automake include lists. + + * GNUmakefile.am: + +2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + * Rubber stamped by Simon + + * Load images incrementally. This will show warnings on the console + and we want to fix them for Qt4.4. If that happens we have to remove + the comment from the enum inside the ImageDecoderQt.cpp + + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::setData): + +2008-01-23 Lars Knoll <lars@trolltech.com> + + Reviewed by Holger Freyther <holger.freyther@trolltech.com>. + + Fix rendering of the Scrollbar as well as mouse handling for some styles. + + The QStyle expects that that painter is set up to clip to the scrollbar bounds + and some of the styles seem to paint somewhat outside of these bounds. Clipping to + the scrollbar bounds before drawing removes some artifacts. + + Also set m_opt.rect.topLeft to (0/0) in the mouse handlers. Fixes some issues with + the oxygen style. + + + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::paint): + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + (WebCore::PlatformScrollbar::handleMousePressEvent): + +2008-01-23 Michael Brasser <michael.brasser@trolltech.com> + + Reviewed by Simon. + + Rendering fixes for Qtopia. + + Make the focus ring work with line breaks (until we have QPainterPath::simplify) and + call QStyle with better arguments when painting themed elements. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawFocusRing): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintButton): + (WebCore::RenderThemeQt::applyTheme): + +2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * FormData::flatten does not include to be uploaded files. Create our own QIODevice + for the QNetworkAccessManager and feed the complete content of the FormData* to + the (HTTP) backend. + * Try to optimize the ::readData implementation to fill the buffer as best as possible + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::FormDataIODevice::FormDataIODevice): + (WebCore::FormDataIODevice::~FormDataIODevice): + (WebCore::FormDataIODevice::moveToNextElement): + (WebCore::FormDataIODevice::readData): + (WebCore::FormDataIODevice::writeData): + (WebCore::FormDataIODevice::setParent): + (WebCore::FormDataIODevice::isSequential): + (WebCore::FormDataIODevice::slotFinished): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: + +2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Coding-Style fixes + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + +2008-01-23 Michael Brasser <michael.brasser@trolltech.com> + + Reviewed by Simon. + + use PopupClient's font for popup menu. Otherwise, in Qtopia, the popup's font is much bigger (QApplication::font()?) and the text doesn't fit. + + * platform/qt/QWebPopup.cpp: + (WebCore::QWebPopup::QWebPopup): + +2008-01-23 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Implemented FrameLoaderClient::startDownload() and FrameLoaderClient::download(). + + Added two signals to QWebPage to handle downloading of links and handling of + unsupported content. + + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::release): + * platform/network/qt/QNetworkReplyHandler.h: + +2008-01-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16905 + <rdar://problem/5692407> REGRESSION (3.0.4-TOT): "menu" pseudocolor is badly chosen + + The regression test for this is fast/css/css2-system-color.html which + is currently disabled. + + * rendering/RenderThemeMac.mm: + (WebCore::menuBackgroundColor): Added. Uses HIThemeDrawMenuBackground + to draw the menu item background into a bitmap graphics context and + returns the color of the pixel at (0, 0). + (WebCore::RenderThemeMac::systemColor): Changed to call + menuBackgroundColor for the CSS2 menu color. + +2008-01-22 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + - turn full repainting back on for <canvas> until we get incremental + repaint working properly + + Ollie and I came up with a plan for testing this, but for now we should + just fall back on the "repaint everything" behavior we have always had. + + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::willDraw): Just call repaint. + +2008-01-22 Alp Toker <alp@atoker.com> + + GTK+/qmake build fix. + + * WebCore.pro: + +2008-01-22 Adam Roben <aroben@apple.com> + + Add HTMLFrameOwnerElement::scrollingMode + + This new virtual method is overridden by HTMLFrameElementBase to + provide the scrolling mode set on the frame or iframe element. Object + elements always have scrolling=auto, so there's no need to override + this method for HTMLPlugInElement. + + Reviewed by Hyatt. + + * html/HTMLFrameElementBase.h: Declare scrollingMode as virtual. + * html/HTMLFrameOwnerElement.h: + (WebCore::HTMLFrameOwnerElement::scrollingMode): Added. + +2008-01-22 David Hyatt <hyatt@apple.com> + + Fix for <rdar://problem/5698481> REGRESSION: Web Inspector source view gutter double divider and no padding + + Now that cellpadding cascades properly on <td>s, we need to make the view source padding rules in the user + agent sheet have !important in order to override author settings. + + Reviewed by Tim + + * css/view-source.css: + +2008-01-22 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Alp. + + Allow to use SVGPaintServerSolid without RenderObject/RenderStyle. Used later to draw SVG Fonts in HTML. + + * svg/graphics/SVGPaintServer.cpp: + (WebCore::SVGPaintServer::sharedSolidPaintServer): + * svg/graphics/SVGPaintServer.h: + * svg/graphics/cg/SVGPaintServerCg.cpp: + (WebCore::SVGPaintServer::renderPath): + (WebCore::SVGPaintServer::fillPath): + (WebCore::SVGPaintServer::clipToFillPath): + * svg/graphics/cg/SVGPaintServerSolidCg.cpp: + (WebCore::SVGPaintServerSolid::setup): + +2008-01-22 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Alp. + + Initialize missing variables, m_lineGap / m_lineSpacing. + Only noticeable when trying to render HTML text using SVG Fonts (which is not possible with trunk, but with my local version). + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): + +2008-01-22 Alp Toker <alp@atoker.com> + + Reviewed by Nikolas. + + Fix Cairo SVG fonts following changes in r29700. + + Set the font description's details as needed in FontPlatformData and + eliminate GraphicsContext::setPlatformFont() since it was redundant + and assumed all fonts were Cairo fonts. + + * platform/graphics/GraphicsContext.cpp: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2008-01-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Eric. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16967 + <rdar://problem/5699344> Reproducible crash when navigating back to a page using SVG fonts + + Test: svg/custom/font-platformDestroy-crash.svg + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::~SimpleFontData): Changed to call + platformDestroy() only if platformInit() was called from the + constructor. + +2008-01-22 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + cleanup the CookieJarQt implementation and implement cookiesEnabled. + + * platform/qt/CookieJarQt.cpp: + (WebCore::cookieJar): + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookiesEnabled): + +2008-01-22 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + Ported the font implementation to use the new QFont features of Qt 4.4. + + + * platform/graphics/Font.h: + (WebCore::Font::setWordSpacing): + (WebCore::Font::setLetterSpacing): + (WebCore::Font::font): + (WebCore::Font::): + * platform/graphics/qt/FontQt.cpp: + (WebCore::Font::Font): + (WebCore::Font::setWordSpacing): + (WebCore::Font::setLetterSpacing): + (WebCore::qstring): + (WebCore::setupLayout): + (WebCore::Font::drawText): + (WebCore::Font::width): + (WebCore::Font::floatWidth): + (WebCore::Font::offsetForPosition): + (WebCore::Font::selectionRectForText): + (WebCore::generateComponents): + (WebCore::cursorToX): + (WebCore::Font::~Font): + (WebCore::Font::operator=): + (WebCore::Font::operator==): + (WebCore::Font::update): + +2008-01-21 Eric Seidel <eric@webkit.org> + + Reviewed by Nikolas & Oliver. + + Tested by svg/custom/svg-features.html + + * dom/DOMImplementation.cpp: + (WebCore::isSVG10Feature): use ENABLE(SVG_*) conditionals + (WebCore::isSVG11Feature): use ENABLE(SVG_*) conditionals + +2008-01-21 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej Stachowiak. + + Adapted WebCore to the fix for http://bugs.webkit.org/show_bug.cgi?id=16909 + REGRESSION: Amazon.com crash (ActivationImp) + + * bindings/js/kjs_proxy.cpp: + (WebCore::KJSProxy::~KJSProxy): No convenient way to make this assertion + anymore. (It wasn't firing for anyone, anyway, so it's no big loss.) + + * bindings/objc/WebScriptObject.mm: + (+[WebScriptObject throwException:]): Use the ExecState stack, instead + of currentExec. + (-[WebScriptObject setException:]): ditto. Also, a slight change in + behavior: If no ExecStates are active, we no longer throw an exception + in the global ExecState. The JavaScriptCore ChangeLog explains why. + This also matches the behavior of +throwException. + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Try to fix Qt build, after the rmdir() fixes.c + + * platform/graphics/qt/SimpleFontDataQt.cpp: + (WebCore::SimpleFontData::SimpleFontData): + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Another Wx build fix. + + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::drawGlyphs): + +2008-01-21 Darin Adler <darin@apple.com> + + - try to fix Qt build + + * platform/qt/FileSystemQt.cpp: + (WebCore::deleteEmptyDirectory): QDir::root().rmdir() instead of QDir::rmdir(). + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Yet another win/gtk build fix. + + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::drawGlyphs): + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Another build fix for Gtk/Linux & Wx/Mac. + + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Build fix for Qt/Gtk & Wx. + + * css/CSSFontSelector.cpp: + * platform/graphics/SegmentedFontData.cpp: + (WebCore::SegmentedFontData::isSVGFont): Remove SVG_FONTS block, it's a pure virtual function in the base class. + * platform/graphics/SegmentedFontData.h: + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Build fix for ports that don't build SVG: wx. + + * css/CSSFontFaceSource.h: Wrap include in ENABLE(SVG_FONTS) blocks. + * css/CSSFontFaceSrcValue.h: Ditto. + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Build fix for Qt/Gtk. + + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::svgFontData): + (WebCore::SimpleFontData::isSVGFont): + +2008-01-21 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. Older parts reviewed by Dan. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=16880 (SVGCSSFontFace should die, instead integrate within the FontCache.) + Fixes: http://bugs.webkit.org/show_bug.cgi?id=16784 (In-document fonts work only as the first child to font-face-src) + + Proper integration of SVG Fonts within the existing custom font concept, removing the need for a custom SVGCSSFontFace. + Integrate within the CSSFontFaceSource logic for caching support, as well as the framework for external SVG Fonts. + + Proper handling of missing glyphs, using <missing-glyph> element. If that is not specified in a font, fallback to non-SVG font rendering. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontFaceSource.h: + (WebCore::CSSFontFaceSource::svgFontFaceElement): + (WebCore::CSSFontFaceSource::setSVGFontFaceElement): + * css/CSSFontFaceSrcValue.h: + (WebCore::CSSFontFaceSrcValue::m_isLocal): + (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue): + (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): + (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement): + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + * css/SVGCSSFontFace.cpp: Removed. + * css/SVGCSSFontFace.h: Removed. + * platform/graphics/Font.cpp: + (WebCore::Font::ascent): + (WebCore::Font::descent): + (WebCore::Font::lineSpacing): + (WebCore::Font::xHeight): + (WebCore::Font::fontSelector): + * platform/graphics/Font.h: + * platform/graphics/FontData.h: + * platform/graphics/SegmentedFontData.cpp: + (WebCore::SegmentedFontData::isSVGFont): + * platform/graphics/SegmentedFontData.h: + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::SimpleFontData): + * platform/graphics/SimpleFontData.h: + (WebCore::SimpleFontData::ascent): + (WebCore::SimpleFontData::descent): + (WebCore::SimpleFontData::lineSpacing): + (WebCore::SimpleFontData::lineGap): + (WebCore::SimpleFontData::xHeight): + (WebCore::SimpleFontData::isSVGFont): + (WebCore::SimpleFontData::svgFontData): + * platform/graphics/gtk/FontPlatformData.h: + (WebCore::FontPlatformData::size): + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData): + * platform/graphics/mac/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::size): + * platform/graphics/win/FontPlatformData.h: + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::relativeBBox): + * svg/SVGFont.cpp: + (WebCore::convertEmUnitToPixel): + (WebCore::isCompatibleGlyph): + (WebCore::svgFontAndFontFaceElementForFontData): + (WebCore::SVGTextRunWalker::SVGTextRunWalker): + (WebCore::SVGTextRunWalker::walk): + (WebCore::floatWidthUsingSVGFontCallback): + (WebCore::floatWidthMissingGlyphCallback): + (WebCore::floatWidthOfSubStringUsingSVGFont): + (WebCore::drawTextUsingSVGFontCallback): + (WebCore::drawTextMissingGlyphCallback): + (WebCore::Font::drawTextUsingSVGFont): + * svg/SVGFontData.cpp: Added. + (WebCore::SVGFontData::SVGFontData): + (WebCore::SVGFontData::~SVGFontData): + * svg/SVGFontData.h: Added. + (WebCore::SVGFontData::svgFontFaceElement): + (WebCore::SVGFontData::horizontalOriginX): + (WebCore::SVGFontData::horizontalOriginY): + (WebCore::SVGFontData::horizontalAdvanceX): + (WebCore::SVGFontData::verticalOriginX): + (WebCore::SVGFontData::verticalOriginY): + (WebCore::SVGFontData::verticalAdvanceY): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::unitsPerEm): + (WebCore::SVGFontFaceElement::xHeight): + (WebCore::SVGFontFaceElement::horizontalOriginX): + (WebCore::SVGFontFaceElement::horizontalOriginY): + (WebCore::SVGFontFaceElement::horizontalAdvanceX): + (WebCore::SVGFontFaceElement::verticalOriginX): + (WebCore::SVGFontFaceElement::verticalOriginY): + (WebCore::SVGFontFaceElement::verticalAdvanceY): + (WebCore::SVGFontFaceElement::ascent): + (WebCore::SVGFontFaceElement::descent): + (WebCore::SVGFontFaceElement::fontFamily): + (WebCore::SVGFontFaceElement::associatedFontElement): + (WebCore::SVGFontFaceElement::rebuildFontFace): + * svg/SVGFontFaceElement.h: + * svg/SVGGlyphElement.cpp: + (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): + (WebCore::parseSVGGlyphAttribute): + (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier): + (WebCore::SVGGlyphElement::buildGlyphIdentifier): + * svg/SVGGlyphElement.h: + * svg/SVGMissingGlyphElement.cpp: + * svg/svgattrs.in: + +2008-01-21 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases + + - remove the default database quota setting + + - simplify the quota-related client calls by merging the one for a new database with + the one for an existing database, adding a feature where you can get details about + a database being created using the same functions that work on the other databases, + and removing the parameters and return values, instead having clients use a function + to set the quota + + - fix unsafe multi-thread access to the database tracker's quota map + - fix bug in deleteAllDatabases where it would iterate a HashMap while modifying it + + The tracker database is now only created when we set the quota for a database origin. + Thus asking for info about databases won't cause anything to be written to disk. + + * WebCore.base.exp: Updated. + + * bindings/js/GCController.cpp: Added an #if to get rid of an unused function warning. + + * page/Chrome.cpp: Removed database-related functions. There's no problem having the + code deal directly with the client. + * page/Chrome.h: Ditto. Also made Chrome inherit from Noncopyable. + + * page/ChromeClient.h: Replaced the two quota-related functions with a single one. + The details about the state of databases in the origin are now available by asking + for database details. There's also no need to pass the security origin, since + it's easy to get that from the frame's document. + + * page/Settings.cpp: Removed the default quota setting. + * page/Settings.h: Ditto. + + * platform/FileSystem.h: Added deleteEmptyDirectory. + * platform/gtk/FileSystemGtk.cpp: + (WebCore::deleteEmptyDirectory): Added. + * platform/posix/FileSystemPOSIX.cpp: + (WebCore::deleteEmptyDirectory): Added. + * platform/qt/FileSystemQt.cpp: + (WebCore::deleteEmptyDirectory): Added. + * platform/win/FileSystemWin.cpp: + (WebCore::deleteEmptyDirectory): Added. + * platform/wx/FileSystemWx.cpp: + (WebCore::deleteEmptyDirectory): Added placeholder. + + * storage/DatabaseDetails.h: Removed the isValid() function since its name is + confusing -- we removed our other isValid() functions. For the few callers that + need this, it's fine to just check name().isEmpty(). Made the member functions + all const. + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::DatabaseTracker): Removed m_defaultQuota initialization. + Added m_proposedDatabase and m_thread. + (WebCore::DatabaseTracker::setDatabaseDirectoryPath): Got rid of code that would + open the tracker database here. This might slightly speed up launch time, since + we won't do the I/O until we have to, and before we were actually creating an SQL + database in this code that's run when we go to the first webpage. + (WebCore::DatabaseTracker::trackerDatabasePath): Added. + (WebCore::DatabaseTracker::openTrackerDatabase): Added a boolean parameter telling + this function whether to create the database. Made this function safe to call if + the database is already open. Also made the function fail quietly if the path has + not been set yet. + (WebCore::DatabaseTracker::canEstablishDatabase): Got rid of the call to the + establishEntryForOrigin function. The origin is now put in the tracker database + when the quota is set to a non-zero value. When judging if there's enough space + for the new database, require at least one byte even if estimatedSize is 0, and + check for overflow. Also added code here to populate the origins map, which + guarantees it will be ready when the database uses it on another thread later. + Also changed this to call the new ChromeClient function. + (WebCore::DatabaseTracker::hasEntryForDatabase): Added code to open the + tracker database, since that's no longer done by setDatabaseDirectoryPath. + (WebCore::DatabaseTracker::originPath): Added. + (WebCore::DatabaseTracker::fullPathForDatabase): Added code so that this will + return a null string for the proposed database if called from within the + ChromeClient function. Also switched from empty string to null string for the + error cases. + (WebCore::DatabaseTracker::populateOrigins): Added code to open the tracker + database. + (WebCore::DatabaseTracker::databaseNamesForOrigin): Ditto. + (WebCore::DatabaseTracker::detailsForNameAndOrigin): Ditto. Also added code that + will return the details of the proposed database if called from within the + ChromeClient function. This is how the client can learn of the display name and + the estimated size of the new database. + (WebCore::DatabaseTracker::setDatabaseDetails): Added code to open the tracker + database. + (WebCore::DatabaseTracker::quotaForOrigin): Made this code OK to call on a non-main + thread by using m_quotaMapGuard to guard access to the map. Other code runs on the + main thread only, and only functions that write to the map use the lock. + (WebCore::DatabaseTracker::setQuota): Changed this function so it can insert the + initial quota as well as updating an existing quota. Added locking since this + function modifies the quota map. Added code to open the tracker database. Added + an early exit if the quota is already correct, which is guarantees that if you + set a quota to 0 it won't trigger creation of a tracker database. + (WebCore::DatabaseTracker::addDatabase): Added code to open the tracker database. + (WebCore::DatabaseTracker::deleteAllDatabases): Made a copy of the quota map before + iterating it to find all the origins. This fixes a problem with the old code where + it would modify the map while iterating it, which gives assertions in debug builds + and unpredictable results. + (WebCore::DatabaseTracker::deleteOrigin): Replaced deleteDatabasesWithOrigin with + this function. Added code to open the tracker database if needed. Added code to + delete the origin from the tracker database, and to close the tracker database + and delete files and directories as needed if we are deleting the final origin. + (WebCore::DatabaseTracker::deleteDatabase): Added code to open the tracker database + if needed. + + * storage/DatabaseTracker.h: Renamed databasePath to databaseDirectoryPath for + clarity, including the data member, and the getter and setter functions. + Replaced deleteDatabasesWithOrigin with deleteOrigin. Removed the functions + dealing with default origin quota. There is no default any more; origins start + with no quota and the client must set a quota. Added trackerDatabasePath and + originPath helper functions. Added a boolean parameter to openTrackerDatabase + to tell it whether to create the database or not. Removed the + establishEntryForOrigin function. Renamed m_originQuotaMap to just m_quotaMap, + and added m_quotaMapGuard. Added a QuotaMap typedef. Added m_proposedDatabase, + which holds the origin and details for the current proposed database during + the client callback function that must decide whether to grant quota. Added a + m_thread data member for debugging use to assert if functions that can only + be called on a single thread are misused. + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Changed to call the + new exceededDatabaseQuota function instead of the old one. + + * svg/graphics/SVGImageEmptyClients.h: Updated for the change to ChromeClient. + +2008-01-21 David Hyatt <hyatt@apple.com> + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16935 + + Fix a bug in layers where the positioned ancestor was being computed incorrectly (the root should not + automatically be included). + + Reviewed by olliej + + Added fast/layers/positioned-inside-root-with-margins.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::stackingContext): + (WebCore::RenderLayer::enclosingPositionedAncestor): + +2008-01-21 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix KURL to QUrl conversion. + + Stick to the encoded version of the URL and in addition to KURL we encode the + characters mentioned in section 2.4.3 of RFC 2396 as QUrl requires these, too. + + This fixes fast/css/import-rule-regression-11590.html, + fast/css/import-style-update.html, svg/hixie/processing-model/003.xml and + svg/hixie/processing-model/004.xml. + + + * platform/qt/KURLQt.cpp: + (WebCore::toHex): + (WebCore::KURL::operator QUrl): + +2008-01-21 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix focus chain handling and cycling through focusable objects (links) using tab/backtab. + + * Fix GraphicsContext::drawFocusRing to also draw single focus rects. + * Implemented QWebPage::focusNextPrevChild by sending fake tab/shift-tab events + and make the return value depend on whether we successfully determined a focusable + node or not. + * Changed QWebView::focusNextPrevChild() to call the base QWidget implementation correctly + if we could not handle the focus chain ourselves. + * Changed the focus policy of QWebView to correctly use WheelFocus instead of ClickFocus. + * Made ChromeClientQt::canTakeFocus() and takeFocus() dummy method since they are only + used to control the situation of stepping out of the focus chain inside the page. + * Made inclusion of links in the focus chain configurable through QWebSettings::LinksIncludedInFocusChain. + The layout tests expect this to be disabled but for the user it seems sensible to have it + on by default, hence the default in qwebsettings.cpp + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::drawFocusRing): + +2008-01-21 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix access key support and fast/forms/legend-access-key.html + + SVN revision 26664 changed the default access key for the non-mac build to Alt + while this test relies on Ctrl. + + * page/EventHandler.cpp: + +2008-01-21 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix error reporting when parsing X(HT)ML fragments. + + We use the regular XMLTokenizer write()/.../end() sequence to parse those + fragments, but we should not report any parsing errors inline inside the + content. Instead we should just return the error and the DOM layer will take + care of throwing an exception. + + This fixes fast/innerHTML/innerHTML-changing-document-properties.xhtml + + + * dom/XMLTokenizer.cpp: + (WebCore::createXHTMLParserErrorHeader): + +2008-01-21 Holger Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + Fix some issues with redirections. + + * Ensure that we deliver the response to the ResourceHandleClient only once by + setting m_responseSent back to false only before calling start() for the + redirection + * Added 307 as another HTTP status code that causes a redirection after POST to + become get, just like in MainResourceLoader::isPostOrRedirectAfterPost + * Also set the HTTP method on the ResourceRequest to GET before passing it to + willSendRequest. + * willSendRequest's newRequest argument is actually an in/out argument and could be + modified in theory, so set m_request accordingly after the call. + + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2008-01-21 Holger Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + Fixed WebCore::cookies() to return all cookies, not only the first one. + + Fixes login into mail.yahoo.com. + + + * platform/qt/CookieJarQt.cpp: + (WebCore::cookies): + +2008-01-20 Oliver Hunt <oliver@apple.com> + + Reviewed by Mitz. + + Fix http://bugs.webkit.org/show_bug.cgi?id=16816 , rdar://problem/5682985 + + Correctly trigger willPerformDragDestinationAction when a drop causes a + load to occur. The logic that originally did this was lost during the + great drag migration of '07. + + * page/DragController.cpp: + (WebCore::DragController::performDrag): + +2008-01-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16951 + Assertion failure in FrameView::scheduleRelayout (!m_frame->document() || !m_frame->document()->inPageCache()) when going back from a page with a focused popup + + * dom/Document.cpp: + (WebCore::Document::setFocusedNode): Bail out if the document is in the + page cache. Documents in the back/forward cache are "frozen" and should + not change state. + +2008-01-20 Collin Jackson <webkit@collinjackson.com> + + Reviewed by Sam Weinig. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16775 + + We now use frame()->loader()->url() for postMessage, preventing a + malicious sender from overwriting the uri property (using a <base> tag, + for example). Also, use frame->loader()->url().host() instead of + instead of document()->SecurityOrigin()->domain() to reflect a recent + clarification in the HTML5 spec. + + Tests: http/tests/security/postMessage/domain-affected-by-document-domain.html + http/tests/security/postMessage/domain-and-uri-unaffected-by-base-tag.html + http/tests/security/postMessage/javascript-page-still-sends-domain.html + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::postMessage): + +2008-01-20 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Fix <rdar://problem/5695451> + Middle part of the media timeline missing on Windows if load failed + + Add some null checking to avoid getting garbage results from the functions. + + * platform/graphics/MediaPlayer.cpp: + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWin::duration): + (QTMovieWin::currentTime): + (QTMovieWin::setCurrentTime): + (QTMovieWin::maxTimeLoaded): + +2008-01-19 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=16944 + Use of GST_PLUGIN_DEFINE_STATIC results in a module-level constructor + + http://bugzilla.gnome.org/show_bug.cgi?id=510547 + Epiphany/Webkit fails to start due to initializing threads twice + + Don't call GST_PLUGIN_DEFINE_STATIC() as it performs g_thread_init() + in the global initializer, breaking subsequent calls to + g_thread_init() in applications. + + * platform/graphics/gtk/VideoSinkGStreamer.cpp: + +2008-01-19 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Remove any fragment part from the URL to be requested just before + passing it to curl, otherwise curl sends it as part of the HTTP/local + file request, causing page loads to fail. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::startJob): + +2008-01-19 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp Toker. + + Add svg foreign object and svg experimental to the GTK+/autotools + build system. + + * GNUmakefile.am: + +2008-01-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - fix <rdar://problem/5645813> CrashTracer: [USER] 6 crashes in Safari at com.apple.WebCore: WebCore::RenderBox::destroy + 116 + + Test: editing/selection/inconsistent-in-removeChildNode.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::nodeWillBeRemoved): If the selection + base or extent are not visible any more, adjust the selection. + +2008-01-19 Oliver Hunt <oliver@apple.com> + + Reviewed by Eric Seidel. + + Build fix for --svg-foreign-object path + + * svg/SVGForeignObjectElement.idl: + +2008-01-18 Stephanie <slewis@apple.com> + + Reviewed by Oliver. + + Workaround for <rdar://problem/5695848>. Set mime_type for local files based on file extension. + + * platform/network/cf/ResourceResponseCFNet.cpp: + (WebCore::ResourceResponse::doUpdateResourceResponse): + +2008-01-18 Ada Chan <adachan@apple.com> + + <rdar://problem/5682340> REGRESSION (r28188): Context menu appears at wrong place when clicking in iframe whose parent is scrolled (16827) + Calling absolutePosition() in EventHandler::hitTestResultAtPoint() is extremely inefficient and passing in + true as fixed before was wrong. Use HitTestResult::localPoint() instead, and take into account border and padding widths. + + Reviewed by Hyatt and Darin. + + * page/EventHandler.cpp: + (WebCore::EventHandler::hitTestResultAtPoint): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::operator=): + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Darin, landed by Beth. + + - fixed http://bugs.webkit.org/show_bug.cgi?id=15765 + + The call to HTMLTokenizer::write might result in a call to ::end which will invoke + HTMLParser::finished() or Document::finishedParsing(). HTMLParser::finished() will eventually + call Document::finishedParsing. The Document will delete the calling HTMLTokenizer and from the deleted + tokenizer we will call into FrameLoader::tokenizerProcessedData. + -) FrameLoader::tokenizerProcessedData calls FrameLoader::checkCompleted which gets called from the Document::finishedParsing + (FrameLoader::finishedParsing). + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::timerFired): + +2008-01-18 David Hyatt <hyatt@apple.com> + + Don't apply the border/margin/padding check to root line boxes, since their renderers + are blocks. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + +2008-01-18 Geoffrey Garen <ggaren@apple.com> + + Not reviewed: rolling out a previous patch. + + Fixed <rdar://problem/5695439> Crash during GCController destructor on + quitting browser + + Used svn merge to roll out r29603 because it introduced some crashes + on quit. + + GC relies on static hash tables, so it's not safe to GC from a static + destructor, which might run after the static hash tables' destructors. + + * bindings/js/GCController.cpp: + (WebCore::GCController::garbageCollectNow): + * bindings/js/GCController.h: + +2008-01-18 David Hyatt <hyatt@apple.com> + + Fix for http://bugs.webkit.org/show_bug.cgi?id=15665 + + Building on Beth's earlier work to start building line boxes for empty inlines, this patch makes more + empty inline cases work. Empty inlines on lines by themselves now set isLineEmpty to false so that + bidiReorderLine will get properly called. In addition, the "shrink boxes with no text children" quirk + needs to be disabled for inlines with padding, margins or borders. + + Reviewed by Beth + + Added fast/inline/inline-padding-disables-text-quirk.html + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::computeLogicalBoxHeights): + (WebCore::InlineFlowBox::placeBoxesVertically): + (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): + * rendering/RenderObject.h: + (WebCore::RenderObject::hasBordersPaddingOrMargin): + * rendering/bidi.cpp: + (WebCore::inlineFlowRequiresLineBox): + (WebCore::RenderBlock::findNextLineBreak): + +2008-01-18 David Hyatt <hyatt@apple.com> + + Fix for http://bugs.webkit.org/show_bug.cgi?id=14975 + + Computed size of padding is incorrect because we default padding to auto. This is a made-up value that + was only used to implement cellpadding on tables. We needed this made-up value in order to tell that + padding wasn't set so that we could then apply cellpadding. + + This patch rewrites cellpadding to be like other browsers. Instead of being a setting on the table + renderer that applies to all cells (even ones that were not <td>s), cellpadding is now mapped into the + style of <td>s. With this change it effectively becomes a content model feature and not a rendering + feature. + + For example, a <td> will pick up cellpadding even when it is not a cell and/or the enclosing <table> is + not a table. Anonymous cells and CSS-display-type cells will now never pick up cellpadding. This behavior + is all consistent with other browsers. + + Reviewed by Antti + + Added fast/css/padding-no-renderer.html + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::styleForElement): + * css/CSSStyleSelector.h: + * dom/StyledElement.cpp: + * dom/StyledElement.h: + (WebCore::StyledElement::canHaveAdditionalAttributeStyleDecls): + (WebCore::StyledElement::additionalAttributeStyleDecls): + * html/HTMLTableCellElement.cpp: + (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls): + * html/HTMLTableCellElement.h: + (WebCore::HTMLTableCellElement::canHaveAdditionalAttributeStyleDecls): + * html/HTMLTableColElement.cpp: + (WebCore::HTMLTableColElement::additionalAttributeStyleDecls): + * html/HTMLTableColElement.h: + (WebCore::HTMLTableColElement::canHaveAdditionalAttributeStyleDecls): + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): + (WebCore::HTMLTableElement::additionalAttributeStyleDecls): + (WebCore::HTMLTableElement::addSharedCellDecls): + (WebCore::HTMLTableElement::addSharedCellBordersDecl): + (WebCore::HTMLTableElement::addSharedCellPaddingDecl): + (WebCore::HTMLTableElement::addSharedGroupDecls): + (WebCore::HTMLTableElement::attach): + * html/HTMLTableElement.h: + (WebCore::HTMLTableElement::canHaveAdditionalAttributeStyleDecls): + * html/HTMLTableSectionElement.cpp: + (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls): + * html/HTMLTableSectionElement.h: + (WebCore::HTMLTableSectionElement::canHaveAdditionalAttributeStyleDecls): + * rendering/AutoTableLayout.cpp: + (WebCore::AutoTableLayout::recalcColumn): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::paddingTop): + (WebCore::RenderObject::paddingBottom): + (WebCore::RenderObject::paddingLeft): + (WebCore::RenderObject::paddingRight): + * rendering/RenderStyle.cpp: + (WebCore::StyleSurroundData::StyleSurroundData): + * rendering/RenderStyle.h: + (WebCore::RenderStyle::initialPadding): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::RenderTable): + * rendering/RenderTable.h: + +2008-01-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5615307> Repro crash in WebKit!WebCore::RenderContainer::destroyLeftoverChildren + + Test: fast/table/insert-row-before-form.html + + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): Changed to ensure that the + object a new cell is inserted before is a child of the row, and + added an assertion that that object is either a cell or a form. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): Changed to ensure that the + object a new row is inserted before is a child of the table section, and + added an assertion that that object is either a table row or a form. + +2008-01-18 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Brady Eidson. + + Fixed <rdar://problem/5622424> World Leak dialog when closing a page + that has a Database + + The problem was that each transaction and SQL statement would hold on + to its callback indefinitely. By design, callbacks often establish + reference cycles to temporarily protect their execution environments. + To break the cycle, we need to explicitly release each callback as soon + as it is no longer needed. + + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::performCallback): Release our callback objects + after performing our callback. + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::postflightAndCommit): Release our callback + objects after the transaction has terminated. + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): ditto. + +2008-01-18 Adele Peterson <adele@apple.com> + + Reviewed by Antti. + + Fix for <rdar://problem/5679490> media controls fade in and out too jerkily and too slowly + + * rendering/RenderMedia.cpp: Shorten the duration for the fade in/out animation. + +2008-01-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Oliver. + + Disables SVG foreign object for <rdar://problem/5686989> turn off + SVG foreignobject because it does not repaint/dirty correctly + + * DerivedSources.make: + * WebCore.SVG.ForeignObject.exp: Added. + * WebCore.SVG.exp: + * bindings/js/JSSVGElementWrapperFactory.cpp: + (WebCore::createJSSVGWrapper): + * rendering/RenderForeignObject.cpp: + * rendering/RenderForeignObject.h: + * svg/SVGForeignObjectElement.cpp: + * svg/SVGForeignObjectElement.h: + * svg/SVGForeignObjectElement.idl: + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::nearestViewportElement): + (WebCore::SVGLocatable::farthestViewportElement): + * svg/SVGUseElement.cpp: + (WebCore::isDisallowedElement): + * svg/svgtags.in: + +2008-01-18 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Adam Roben. + + Fix mixed line endings in FileSystemWin.cpp and set svn:eol-style to native + to try and keep them consistent in the future. + + * platform/win/FileSystemWin.cpp: + (WebCore::fileSize): + (WebCore::fileExists): + (WebCore::deleteFile): + (WebCore::pathByAppendingComponent): + (WebCore::fileSystemRepresentation): + (WebCore::makeAllDirectories): + (WebCore::homeDirectoryPath): + (WebCore::bundleName): + (WebCore::storageDirectory): + (WebCore::cachedStorageDirectory): + +2008-01-18 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + Fix unreachable code warning in RenderVideo on Windows. + + Make switch cases explicit. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::isWidthSpecified): + (WebCore::RenderImage::isHeightSpecified): + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::isWidthSpecified): + (WebCore::RenderVideo::isHeightSpecified): + +2008-01-18 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/5693558> REGRESSION (r29581): no form field focus + rings and inactive text selection after loading a page + Bug 16910: [GTK] REGRESSION: keyboard cursor doesn't blink + Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance + + * page/FocusController.cpp: + (WebCore::FocusController::setActive): Use focusedOrMainFrame() instead of focusedFrame() + to call selectionController()->pageActivationChanged() for cases when the focusedFrame() + has not been set yet. + +2008-01-18 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Brady. + + Database origin tracking is broken. + + * storage/DatabaseTracker.cpp: (WebCore::DatabaseTracker::populateOrigins): + Move reading from statement back into the loop (broken in r29386). + +2008-01-18 Marius Storm-Olsen <marius@trolltech.com> + + Reviewed by Simon Hausmann <hausmann@webkit.org>. + + Add use of precompiled header, when building inside Qt. + + Compiling WebKit was taking forever; 17 minutes on my machine for _one_ build! Adding the PCH at least brings it down to 12 minutes for one build, for me. + + + * WebCore.pro: + +2008-01-18 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix fast/forms/button-state-restore.html + + Similar to the fix for fast/forms/form-post-urlencoded.html transform POST + requests to data urls into GET. + + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + +2008-01-18 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix LayoutTests/fast/cookies/local-file-can-set-cookies.html + + In WebCore::cookies() don't return the full raw form but only the name=value + part. This fixes the getter part of the above test. The above test also + requires a parsing fix in Qt 4.4's QNetworkCookie to fully pass. + + + * platform/qt/CookieJarQt.cpp: + (WebCore::cookies): + +2008-01-18 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix svg/custom/path-getTotalLength.svg + + Path::apply creates a PathElement and its points array on the stack, + to fill it in from the QPainterPath data and then use the platform + independent path applier functions to calculate properties such as + the length. For converting a QPainterPath::CurveToElement we need + three points in the path element. However we allocated only two + on the stack and as a result we got memory corruption and the + failing test. + + + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::apply): + +2008-01-18 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix LayoutTests/fast/dom/document-attribute-js-null.html + + Don't crash when trying to get/set cookies without a frameloader. + + + * platform/qt/CookieJarQt.cpp: + (WebCore::setCookies): + (WebCore::cookies): + +2008-01-18 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix fast/dom/xmlhttprequest-get.xhtml + + For local file requests remove the content length and the last-modified + headers in the response. + + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + +2008-01-18 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Fix fast/forms/form-post-urlencoded.html. + + Post requests on files don't really make sense, but for + fast/forms/form-post-urlencoded.html we still need to retrieve the file, + which means we map it to a Get instead. + + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + +2008-01-18 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Make QNetworkReplyHandler::abort() more robust against multiple invocations. + + During DRT runs I see cancel() being called on the same handle multiple times. Guard + against this a bit better by setting m_reply to 0 after we called abort() on it. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::abort): + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * httpBody() can return 0 and other ports (cf/mac) check for this condition + * Looking at the cf/mac implementation we might need to call setHTTPBody somewhere + as well. + + + WARNING: NO TEST CASES ADDED OR CHANGED + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + +2008-01-18 Prasanth Ullattil <prasanth.ullattil@trolltech.com> + + Reviewed by Simon Hausmann <hausmann@webkit.org>. + + Fix compilation in Win64(3): Due to the size of size_t cast the return value explicitly to double() to make sure the right Value() constructor is called. + + * xml/XPathFunctions.cpp: + (WebCore::XPath::FunCount::evaluate): + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Remove our windowClipRect reimplementation and instead have our own + Widget::invalidate implementation that is invalidating + IntRect(0, 0, width(), height()) without trying to clip it (in contrast + to Widget::invalidateRect) + + * platform/qt/PlatformScrollBar.h: + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::invalidate): + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Change the coordinate transformation in the PlatformMouseEvent handlers + * We want to convert from coordinates of the containing window to our local + position on the scrollbar. + + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + (WebCore::PlatformScrollbar::handleMousePressEvent): + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Make the qDebug more usable. Do not have an additional newline and print + the untranslated coordinates as well. + + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + (WebCore::PlatformScrollbar::handleMousePressEvent): + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Dead code, remove it + + * platform/qt/PlatformScrollBarQt.cpp: + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Coding-Style fixes. + + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::PlatformScrollbar): + +2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Coding-Style fix + + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::ReadContext::ReadContext): + +2008-01-17 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Fixed: lots of WebCore leaks reported when quitting Safari + + If we're quitting with a GC still scheduled, do the GC before quitting. + That way, WebCore's leak counters won't count objects that were + scheduled for GC. + + * bindings/js/GCController.cpp: + (WebCore::GCController::~GCController): + (WebCore::GCController::garbageCollectNow): + * bindings/js/GCController.h: + +2008-01-17 Alp Toker <alp@atoker.com> + + Reviewed by Oliver Hunt. + + gdk_screen_get_font_options() returns NULL if no default options are + set so we always have to NULL check to avoid crashes later on since + Cairo doesn't accept NULL font options. + + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2008-01-17 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Windows fix for <rdar://problem/5605682> + Disallow streaming protocols for media elements + and <rdar://problem/5668711> + Limit the container and codec types that the <video> tag supports + + - Disable unsupported QuickTime tracks types. + - Disallow streaming protocols (for now). + + * WebCore.vcproj/WebCore.vcproj: + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::updateStates): + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWin::load): + (QTMovieWin::disableUnsupportedTracks): + * platform/graphics/win/QTMovieWin.h: + +2008-01-17 Oliver Hunt <oliver@apple.com> + + Support smart copy and paste during drag and drop + + Reviewed by Alice + + In order for the drag and drop tests in Windows DRT to pass + we need to support smart cut and paste operations during + drag and drop on windows. + + There is no layout test as drag and drop is still unsupported + on windows. Once supported smart drag/drop is tested by existing + tests + + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::smartPasteFormat): + * platform/win/ClipboardUtilitiesWin.h: + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::writeRange): + * platform/win/DragDataWin.cpp: + +2008-01-17 Oliver Hunt <oliver@apple.com> + + Reviewed by Anders. + + <rdar://problem/5692940> Crash when attempting to get text properties in + SVG with no renderer + + We use the element renderer to calculate the text element bounds, + however there was no check against the possibility of the text dimension + properties being requested on a element with no renderer (eg. unattached, + display: none). + + Test: svg/text/text-property-with-display-none.html + + * svg/SVGTextContentElement.cpp: + (WebCore::rootInlineBoxForTextContentElement): + +2008-01-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver. + + <rdar://problem/5636742> + CrashTracer: [USER] 1302 crashes in Safari at com.apple.WebCore: WTF::Vector<char, 0ul>::reserveCapacity + 78 + + When loading full-frame plug-ins, disable buffering data for the main resource loader. Otherwise, this can cause us + to crash when loading large files such as movies in the browser. We already do this for embedded plug-ins. + + * WebCore.base.exp: + * loader/DocumentLoader.h: + (WebCore::DocumentLoader::mainResourceLoader): + New accessor method. + + * loader/PluginDocument.cpp: + (WebCore::PluginTokenizer::writeRawData): + Disable buffering for the main resource loader. + + * loader/ResourceLoader.cpp: + (WebCore::ResourceLoader::setShouldBufferData): + * loader/ResourceLoader.h: + Have this free the buffer when disabling buffering. + +2008-01-17 Adam Roben <aroben@apple.com> + + More Qt/GTK+ build fixing. + + * platform/gtk/ScrollViewGtk.cpp: + * platform/qt/ScrollViewQt.cpp: + +2008-01-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16902 + <rdar://problem/5692566> fast/encoding/mailto-always-utf-8.html fails when run after + fast/dom/Window/window-property-shadowing.html + + Test: fast/dom/Window/window-property-shadowing_.html + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Clear the frame name, too. + +2008-01-17 Adam Roben <aroben@apple.com> + + Qt/GTK+ build fix. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::ScrollViewPrivate::isActive): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::isActive): + +2008-01-16 Adam Roben <aroben@apple.com> + + Update scroll bars/form controls when FocusController::isActive changes + + Part of <rdar://5006915> Inactive look for Aqua controls + + Reviewed by Darin. + + All tests pass. + + * page/FocusController.cpp: + (WebCore::FocusController::setActive): Update control tints when the + active state changes. + * page/FrameView.cpp: + (WebCore::FrameView::updateControlTints): On Windows, we have to ask + ScrollView to paint so that the outermost scroll bars will paint. On + Mac, the outermost scroll bars are taken care of by NSScroller. + * platform/PopupMenu.h: Updated for ScrollBarClient changes. + * platform/ScrollBar.h: Added a new ScrollBarClient method. + * platform/win/PlatformScrollBarSafari.cpp: + (WebCore::PlatformScrollbar::paint): Invalidate when updating control + tints so that we can paint with the new tint later. + (WebCore::PlatformScrollbar::paintButton): Pass the active state down + to SafariTheme. + (WebCore::PlatformScrollbar::paintTrack): Ditto. + (WebCore::PlatformScrollbar::paintThumb): Ditto. + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::isActive): Added. + (WebCore::ScrollView::paint): Pass paint calls on down if we're + updating control tints so the scroll bars can invalidate. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::isActive): Added. + * rendering/RenderLayer.h: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::isActive): Added. + * rendering/RenderListBox.h: + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isActive): Added. + * rendering/RenderTheme.h: + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::determineState): Pass the active state + down to SafariTheme. + +2008-01-16 Adam Roben <aroben@apple.com> + + Move focused/active state from Frame to SelectionController/FocusController + + This is the first part of <rdar://5006915> Inactive look for Aqua + controls. + + The following methods were moved/renamed: + - Frame::setIsActive -> FocusController::setActive + - Frame::isActive -> SelectionController::isActiveAndFocused + - Frame::setWindowHasFocus -> SelectionController::setFocused + + Active state is now correctly a Page-level concept. + + The Mac parts of this patch were written by Darin. + + Reviewed by Darin. + + All tests pass. + + * WebCore.base.exp: Updated for method renames. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): Ditto. + * editing/SelectionController.cpp: + (WebCore::SelectionController::SelectionController): Initialize new + member. + (WebCore::SelectionController::focusedOrActiveStateChanged): New + private method. Most of this code came from Frame::setIsActive. + (WebCore::SelectionController::pageActivationChanged): Added. + (WebCore::SelectionController::setFocused): Added. Replaces + Frame::setWindowHasFocus. + (WebCore::SelectionController::isFocusedAndActive): Added. Replaces + Frame::isActive. + * editing/SelectionController.h: + * page/FocusController.cpp: + (WebCore::FocusController::FocusController): Initialize new member. + (WebCore::FocusController::setFocusedFrame): Changed to just call + SelectionController::setFocused, since active state has doesn't change + when the focused frame changes. + (WebCore::FocusController::setActive): Added. Replaces + Frame::setIsActive. + * page/FocusController.h: + (WebCore::FocusController::isActive): Added. + * page/Frame.cpp: + (WebCore::Frame::setDocument): Updated for method renames. + (WebCore::Frame::setFocusedNodeIfNeeded): Ditto. + (WebCore::Frame::updateSecureKeyboardEntryIfActive): Ditto. + (WebCore::FramePrivate::FramePrivate): Removed initialization of + removed members. + * page/Frame.h: + * page/FramePrivate.h: + * page/mac/WebCoreFrameBridge.h: Removed -selectionColor. + * page/mac/WebCoreFrameBridge.mm: Ditto. + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::paintItemForeground): Updated for method + renames. + (WebCore::RenderListBox::paintItemBackground): Ditto. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::selectionBackgroundColor): Ditto. + (WebCore::RenderObject::selectionForegroundColor): Ditto. + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Ditto. + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::isFocused): Ditto. + +2008-01-17 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Make the nice 'safari' feature work on our port. When viewing a single image, clicking + on the image will zoom it. + * It seems like our platform can only determine the size of the image once it is completely + loaded. Call m_doc->imageChanged on the last chunk of data as well. + + * loader/ImageDocument.cpp: + (WebCore::ImageTokenizer::finish): + +2008-01-17 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Set the library version of QtWebKit to the Qt version. + + * WebCore.pro: + +2008-01-17 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Re-enable gzip compression as accepted encoding, now that the bug is fixed in Qt 4.4's network module. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + +2008-01-17 Simon Hausmann <hausmann@webkit.org> + + Another Windows build fix, setCookies accidentially had a const + Document pointer. + + * platform/network/win/CookieJarWin.cpp: + +2008-01-17 Simon Hausmann <hausmann@webkit.org> + + MSVC Windows build fix. Forward declaring Document in CookieJar.h + seems not enough for MSVC. + + * platform/network/win/CookieJarWin.cpp: + +2008-01-17 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Maciej, Lars, Holger. + + http://bugs.webkit.org/show_bug.cgi?id=16589 + + Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled. + + * WebCore.pro: + * bindings/js/kjs_navigator.cpp: + (KJS::Navigator::getValueProperty): + * dom/Document.cpp: + (WebCore::Document::cookie): + * platform/CookieJar.h: + * platform/gtk/CookieJarGtk.cpp: + (WebCore::setCookies): + (WebCore::cookies): + * platform/mac/CookieJar.mm: + * platform/network/win/CookieJarWin.cpp: + * platform/qt/CookieJarQt.cpp: + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookiesEnabled): + * platform/wx/TemporaryLinkStubs.cpp: + +2008-01-17 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Windows build fix. (use localtime_r again instead of _s) + + * loader/FTPDirectoryDocument.cpp: + (WebCore::processFileDateString): + +2008-01-17 Frans Englich <fenglich@trolltech.com> + + Reviewed by Simon Hausmann <hausmann@webkit.org>. + + Fix linking on MinGW and at least one MSVC platform by having gmtimeQt in the correct namespace. + + * loader/FTPDirectoryDocument.cpp: + +2008-01-17 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Holger. + + Don't link QtWebKit against libQtXml when building against Qt 4.4. + + This is not necessary anymore since QXmlStream has been moved into QtCore. + + * WebCore.pro: + +2008-01-17 Håvard Wall <hwall@trolltech.com> + + Reviewed by Simon Hausmann <hausmann@webkit.org>. + + Fix compilation on arm + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::endTransparencyLayer): + +2008-01-17 Simon Hausmann <shausman@trolltech.com> + + Reviewed by Holger. + + Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build. + + * WebCore.pro: + * platform/network/qt/ResourceHandleQt.cpp: + * platform/qt/MIMETypeRegistryQt.cpp: + * platform/qt/PlugInInfoStoreQt.cpp: + +2008-01-17 Frans Englich <fenglich@trolltech.com> + + Reviewed by Simon Hausmann <hausmann@webkit.org>. + + Fixes compilation with MinGW. + Neither localtime_r nor localtime_s are available on MingW, so instead of + calling back to the thread-unsafe localtime use QDateTime instead. + + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryTokenizer::WebCore::processFilesizeString): + (WebCore::FTPDirectoryTokenizer::WebCore::wasLastDayOfMonth): + (WebCore::FTPDirectoryTokenizer::WebCore::WebCore::gmtimeQt): + * loader/FTPDirectoryParser.cpp: + (WebCore::parseOneFTPLine): + +2008-01-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix determinePitch for segmented fonts + + Covered by fast/css/font-face-implicit-local-font.html + + * platform/graphics/FontFallbackList.cpp: + (WebCore::FontFallbackList::determinePitch): If the primary font is + segmented, treat as fixed pitch only if it has only one segment + and that segment is fixed-pitch. + +2008-01-16 David Hyatt <hyatt@apple.com> + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16611 + + Make sure vertical-align length values are offset from their parents rather than being absolute to the + line. + + Reviewed by olliej + + Added fast/css/vertical-align-lengths.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getVerticalPosition): + +2008-01-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix for @font-face rules with unicode-range: always use a local font where not + explicitly overlaid. + + Test: fast/css/font-face-implicit-local-font.html + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): Changed to insert an implicit + @font-face rule with the local font the matches the family and description before + any explicit @font-face rules that overlay specific ranges of the same font. + * css/CSSSegmentedFontFace.h: + (WebCore::CSSSegmentedFontFace::numRanges): Addded. + +2008-01-16 Antti Koivisto <antti@apple.com> + + Fix Tiger build. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): + +2008-01-16 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + OS X fix for <rdar://problem/5605682> + Disallow streaming protocols for media elements + and <rdar://problem/5668711> + Limit the container and codec types that the <video> tag supports + + - Disable unsupported QuickTime tracks types. + - Disallow streaming protocols (for now). + - Set QTMovie QTMoviePreventExternalURLLinksAttribute and QTSecurityPolicyNoCrossSiteAttribute + to limit QuickTime's access to external resources. + + Windows patch coming up. + + Tests: media/broken-video.html + media/unsupported-rtsp.html + media/unsupported-tracks.html + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovie): + (WebCore::MediaPlayerPrivate::updateStates): + (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): + +2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16897 + Add shared plugins directory to INCLUDE path + + Add the plugins directory to INCLUDEPATH + + * GNUmakefile.am: + * WebCore.pro: + +2008-01-16 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Added a debug counter for SQL transactions. This helped me debug an SQL + leak. + + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::): + (WebCore::JSCustomSQLTransactionCallbackCounter::~JSCustomSQLTransactionCallbackCounter): + (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): + (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback): + * bindings/js/JSCustomSQLTransactionCallback.h: + + * bindings/js/kjs_window.cpp: Removed a silly comment. + +2008-01-16 David Hyatt <hyatt@apple.com> + + Fix for http://bugs.webkit.org/show_bug.cgi?id=14846, cell padding can't be changed dynamically. + + Reviewed by Eric Seidel + + Added fast/table/dynamic-cellpadding.html + + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): + * rendering/RenderTable.cpp: + (WebCore::RenderTable::setCellPadding): + * rendering/RenderTable.h: + +2008-01-16 David Hyatt <hyatt@apple.com> + + Fix for <rdar://problem/5681647> Item pages on http://www.stendmarsofa.com/ hang Safari + + This regression was caused by an attempt to implement a WinIE quirk in RenderBlock::calcInlinePrefWidths. + The original patch introduced pathological O(n^2) behavior into this function even when the quirk didn't need + to apply. In addition the quirk was only partially implemented (the full quirk did not care what was adjacent + to images and also needed bidi.cpp patched, since the quirk applies both when computing pref widths and when + laying out). + + This new patch rewrites the quirk to be complete. The original test case attached to the bug that tested a variety + of image/text combinations now fully matches WinIE. + + Reviewed by Beth + + Added fast/table/unbreakable-images-quirk.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::calcInlinePrefWidths): + * rendering/bidi.cpp: + (WebCore::RenderBlock::findNextLineBreak): + +2008-01-16 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Jon Honeycutt + + Move isPluginBlacklisted to PluginPackageWin.cpp, to avoid + a circular dependency on PluginDatabaseWin + Remove the getFileVersion method, and just check the versions directly + in isPluginBlacklisted, as it was the only caller + + http://bugs.webkit.org/show_bug.cgi?id=16884 + + * plugins/win/PluginDatabaseWin.cpp: + * plugins/win/PluginDatabaseWin.h: + * plugins/win/PluginPackageWin.cpp: + * plugins/win/PluginPackageWin.h: + +2008-01-16 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars. + + * Set the cursor on the containingWindow() instead of the + nativeWidget() + * This should be safe even with plugins as the cursor is set + on the mouse events. + + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::setCursor): + +2008-01-16 Brad Hughes <bhughes@trolltech.com> + + Reviewed by Lars. + + Improve the sqlite3 dependency when building WebKit inside Qt. + + Build sqlite3 into QtWebKit if a system sqlite3 development package + can't be found. + + * WebCore.pro: + +2008-01-16 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>. + + Implement GraphicsContext::clipOut and fix transparency layers. + + Transparency layers where broken in two ways: It always used the + complete device rect as the size of the layer pixmap and the pixmaps + where not correctly initialized to transparent. + + This fixes the worst drawing errors in the Inspector and makes drawing it + 10 times faster. + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::toQtLineJoin): + (WebCore::TransparencyLayer::TransparencyLayer): + (WebCore::GraphicsContextPlatformPrivate::p): + (WebCore::GraphicsContext::platformContext): + (WebCore::GraphicsContext::savePlatformState): + (WebCore::GraphicsContext::restorePlatformState): + (WebCore::GraphicsContext::drawRect): + (WebCore::GraphicsContext::drawLine): + (WebCore::GraphicsContext::drawEllipse): + (WebCore::GraphicsContext::strokeArc): + (WebCore::GraphicsContext::drawConvexPolygon): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::fillRoundedRect): + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::drawFocusRing): + (WebCore::GraphicsContext::beginTransparencyLayer): + (WebCore::GraphicsContext::endTransparencyLayer): + (WebCore::GraphicsContext::clearRect): + (WebCore::GraphicsContext::strokeRect): + (WebCore::GraphicsContext::setLineCap): + (WebCore::GraphicsContext::setLineJoin): + (WebCore::GraphicsContext::setMiterLimit): + (WebCore::GraphicsContext::setAlpha): + (WebCore::GraphicsContext::setCompositeOperation): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::translate): + (WebCore::GraphicsContext::origin): + (WebCore::GraphicsContext::rotate): + (WebCore::GraphicsContext::scale): + (WebCore::GraphicsContext::clipOutEllipseInRect): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + (WebCore::GraphicsContext::setPlatformStrokeStyle): + (WebCore::GraphicsContext::setPlatformStrokeThickness): + (WebCore::GraphicsContext::setPlatformFillColor): + (WebCore::GraphicsContext::setUseAntialiasing): + +2008-01-16 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>. + + Trivially implement the themed search field by mapping it to a text field + + Also add a bunch of notImplemented warnings for other places where we don't + have an implementatin in RenderTheme. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintTextField): + (WebCore::RenderThemeQt::paintMenuListButton): + (WebCore::RenderThemeQt::adjustMenuListButtonStyle): + (WebCore::RenderThemeQt::paintSliderTrack): + (WebCore::RenderThemeQt::paintSliderThumb): + (WebCore::RenderThemeQt::paintSearchField): + (WebCore::RenderThemeQt::adjustSearchFieldStyle): + (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeQt::paintSearchFieldCancelButton): + (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle): + (WebCore::RenderThemeQt::paintSearchFieldDecoration): + (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle): + (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration): + +2008-01-16 Holger Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Follow the EventHandlerWin.cpp and always return true in the handlers. + * Match the windows implementation more closely as well. + * This is fixing "selection" bugs with the Web Inspector + + * page/qt/EventHandlerQt.cpp: + (WebCore::EventHandler::focusDocumentView): + (WebCore::EventHandler::passMousePressEventToSubframe): + (WebCore::EventHandler::passMouseMoveEventToSubframe): + (WebCore::EventHandler::passMouseReleaseEventToSubframe): + (WebCore::EventHandler::passMousePressEventToScrollbar): + +2008-01-16 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Fix crashes in the new networking code. + + When the ResourceLoader cancels the handle we have to make sure not to access + the resource handle afterwards again. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::forwardData): + +2008-01-16 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + add conversion methods from and to QUrl to KURL. + + Use them in the places I found at the moment. Fixes a bug + where form data was encoded twice. + Also fix QWebSettings to take a QUrl for the user style sheet + location. + + * WebCore.pro: + * platform/KURL.h: + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + * platform/network/qt/ResourceRequestQt.cpp: + (WebCore::ResourceRequest::toNetworkRequest): + * platform/qt/KURLQt.cpp: Added. + (WebCore::KURL::KURL): + (WebCore::KURL::operator QUrl): + +2008-01-15 Darin Adler <darin@apple.com> + + Rubber-stamped by Maciej Stachowiak and Oliver Hunt. + + - fix <rdar://problem/5689748> REGRESSION: Cannot redirect to protocols handled by external applications + + Put navigation policy delegate calls back for redirects. + Just rolled out the change where I took them out. + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::callContinueAfterNavigationPolicy): + (WebCore::MainResourceLoader::continueAfterNavigationPolicy): + (WebCore::MainResourceLoader::willSendRequest): + * loader/MainResourceLoader.h: + +2008-01-15 Adele Peterson <adele@apple.com> + + Reviewed by Sam. + + Remove unused variable for old media control background drawing code. + + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::RenderThemeMac): + (WebCore::RenderThemeMac::~RenderThemeMac): + +2008-01-15 Sam Weinig <sam@webkit.org> + + Reviewed by Geoffrey Garen. + + Fix <rdar://problem/5595552> r27608 introduced a 20% increase in JS binary size, 4% increase in WebCore binary size + + - Update JS Function implementations to use a static function based method. This decreases + the binary size of an Intel only build by 1013.5K. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + * bindings/js/JSEventTargetBase.cpp: + (WebCore::jsEventTargetAddEventListener): + (WebCore::jsEventTargetRemoveEventListener): + (WebCore::jsEventTargetDispatchEvent): + (WebCore::retrieveEventTargetAndCorrespondingNode): + * bindings/js/JSEventTargetBase.h: + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange): + (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): + * bindings/js/JSHTMLInputElementBase.h: + * bindings/js/JSLocation.cpp: + (WebCore::JSLocation::getOwnPropertySlot): + (WebCore::jsLocationProtoFuncReplace): + (WebCore::jsLocationProtoFuncReload): + (WebCore::jsLocationProtoFuncAssign): + (WebCore::jsLocationProtoFuncToString): + * bindings/js/JSLocation.h: + * bindings/js/JSXMLHttpRequest.cpp: + (KJS::jsXMLHttpRequestPrototypeFunctionAbort): + (KJS::jsXMLHttpRequestPrototypeFunctionGetAllResponseHeaders): + (KJS::jsXMLHttpRequestPrototypeFunctionGetResponseHeader): + (KJS::jsXMLHttpRequestPrototypeFunctionOpen): + (KJS::jsXMLHttpRequestPrototypeFunctionSend): + (KJS::jsXMLHttpRequestPrototypeFunctionSetRequestHeader): + (KJS::jsXMLHttpRequestPrototypeFunctionOverrideMIMEType): + (KJS::jsXMLHttpRequestPrototypeFunctionAddEventListener): + (KJS::jsXMLHttpRequestPrototypeFunctionRemoveEventListener): + (KJS::jsXMLHttpRequestPrototypeFunctionDispatchEvent): + * bindings/js/JSXMLHttpRequest.h: + * bindings/js/JSXSLTProcessor.cpp: + (KJS::jsXSLTProcessorPrototypeFunctionImportStylesheet): + (KJS::jsXSLTProcessorPrototypeFunctionTransformToFragment): + (KJS::jsXSLTProcessorPrototypeFunctionTransformToDocument): + (KJS::jsXSLTProcessorPrototypeFunctionSetParameter): + (KJS::jsXSLTProcessorPrototypeFunctionGetParameter): + (KJS::jsXSLTProcessorPrototypeFunctionRemoveParameter): + (KJS::jsXSLTProcessorPrototypeFunctionClearParameters): + (KJS::jsXSLTProcessorPrototypeFunctionReset): + * bindings/js/JSXSLTProcessor.h: + * bindings/js/kjs_events.cpp: + (WebCore::jsClipboardPrototypeFunctionClearData): + (WebCore::jsClipboardPrototypeFunctionGetData): + (WebCore::jsClipboardPrototypeFunctionSetData): + (WebCore::jsClipboardPrototypeFunctionSetDragImage): + * bindings/js/kjs_events.h: + * bindings/js/kjs_navigator.cpp: + (KJS::pluginsFunctionRefresh): + (KJS::navigatorProtoFuncJavaEnabled): + * bindings/js/kjs_navigator.h: + * bindings/js/kjs_window.cpp: + (KJS::Window::getOwnPropertySlot): + (KJS::windowProtoFuncAToB): + (KJS::windowProtoFuncBToA): + (KJS::windowProtoFuncOpen): + (KJS::windowProtoFuncSetTimeout): + (KJS::windowProtoFuncClearTimeout): + (KJS::windowProtoFuncSetInterval): + (KJS::windowProtoFuncAddEventListener): + (KJS::windowProtoFuncRemoveEventListener): + (KJS::windowProtoFuncShowModalDialog): + (KJS::windowProtoFuncNotImplemented): + * bindings/js/kjs_window.h: + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorJS.pm: + +2008-01-15 Adele Peterson <adele@apple.com> + + Reviewed by Dan. + + Fix for <rdar://problem/5682492> With the <video> element, the audio is heard when forwarding or rewinding a movie while it's playing + + * rendering/MediaControlElements.cpp: (WebCore::MediaControlSeekButtonElement::defaultEventHandler): + Instead of pausing the media when you stop seeking on mouse up, pause the video when you first start seeking on mouse down. + +2008-01-15 Alp Toker <alp@atoker.com> + + Rubber-stamped by Anders. + + Make the HTTP backend configurable in the GTK+ port. curl is currently + the only option. + + * GNUmakefile.am: + +2008-01-15 Adele Peterson <adele@apple.com> + + Build fix. + + * rendering/RenderThemeSafari.cpp: Removing MediaBackgroundAppearance. + +2008-01-14 Samuel Weinig <sam@webkit.org> + + Reviewed by Darin. + + Fix for <rdar://problem/5671040> + REGRESSION: 6% HTML iBench regression from r28722 (getElementsByClassName) + + On my most consistent tests, this brings the HTML iBench from 1.46 -> 1.41, + which does not completely make up reported regression, but I was not able to + reproduce those findings either. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::matchRules): + (WebCore::CSSStyleSelector::checkOneSelector): + * dom/ClassNames.cpp: + (WebCore::ClassNames::parseClassAttribute): + * dom/ClassNames.h: + (WebCore::ClassNames::contains): + (WebCore::ClassNames::operator[]): + +2008-01-15 Adele Peterson <adele@apple.com> + + Build fix. This time for real. + + * rendering/RenderThemeSafari.cpp: + +2008-01-15 Adele Peterson <adele@apple.com> + + Build fix. + + * rendering/RenderThemeSafari.cpp: + +2008-01-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5666926> svg/custom/use-css-no-effect-on-shadow-tree.svg is failing + + * svg/SVGPreserveAspectRatio.cpp: + (WebCore::SVGPreserveAspectRatio::getCTM): Changed the arguments' type + from float to double in order to make the values passed to scale() and + translate() on Mac OS X and on Windows the same. + * svg/SVGPreserveAspectRatio.h: + +2008-01-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + <rdar://problem/5342813> REGRESSION: Safari encodes mailto URLs incorrectly + + Test: fast/encoding/mailto-always-utf-8.html + + * platform/KURL.cpp: (WebCore::encodeRelativeString): Always use UTF-8 for mailto URLs. + +2008-01-15 Adele Peterson <adele@apple.com> + + Reviewed by Adam and Antti. + + WebCore part of fix for <rdar://problem/5619062> Add load progress indicator to video controls + + * WebCore.base.exp: Removed symbol for wkGetMediaControlBackgroundImageData. Added symbol for wkDrawMediaSliderTrack. + * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Removed case for MediaBackgroundAppearance. + * css/html4.css: Removed -webkit-appearance: media-background rule for the media panel element. Removed unnecessary margin for slider. + * rendering/RenderStyle.h: (WebCore::): Removed MediaBackgroundAppearance. + + * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): + Call updateMediaPlayer more frequently so the load progress control gets updated appropriately. + * platform/mac/WebCoreSystemInterface.h: Removed wkGetMediaControlBackgroundImageData. Added wkDrawMediaSliderTrack. + * platform/mac/WebCoreSystemInterface.mm: ditto. + + * rendering/RenderTheme.h: Removed paintMediaBackground. Added paintMediaSliderTrack. + * rendering/RenderTheme.cpp: (WebCore::RenderTheme::paint): Call paintMediaSliderTrack for elements with MediaSliderAppearance. + * rendering/RenderThemeMac.h: Removed paintMediaBackground. Added paintMediaSliderTrack. + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::adjustSliderThumbSize): Added different sizes for the media slider thumb. + (WebCore::RenderThemeMac::paintMediaSliderTrack): Added. Calls wkDrawMediaSliderTrack with the percentage the media has loaded. + * rendering/RenderThemeSafari.cpp: ditto. + (WebCore::RenderThemeSafari::adjustSliderThumbSize): + (WebCore::RenderThemeSafari::paintMediaSliderTrack): + * rendering/RenderThemeSafari.h: + +2008-01-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Mark Rowe. + + Some logging channels weren't initialized from user defaults. + + * platform/mac/LoggingMac.mm: (WebCore::InitializeLoggingChannelsIfNecessary): + Initialize LogPlatformLeaks, LogStorageAPI, LogMedia, LogPlugin. + +2008-01-14 Steve Falkenburg <sfalken@apple.com> + + Use shared vsprops for most vcproj properties. + + Reviewed by Darin. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/WebCore.vcproj: + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWin::initializeQuickTime): Fix compiler warning. + +2008-01-14 Eric Seidel <eric@webkit.org> + + Reviewed by mjs. + + Remove a couple more uses of DeprecatedString + + No functional changes, thus no test case. + + * dom/Document.cpp: + (WebCore::Document::write): + (WebCore::Document::writeln): + (WebCore::Document::recalcStyleSelector): + * dom/Document.h: + +2008-01-14 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk> + + Reviewed by Alp Toker. + + Build fix: missing symbols when compiling WebKit/Gtk+ with --enable-svg-filters + http://bugs.webkit.org/show_bug.cgi?id=16874 + + * GNUmakefile.am: + * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Added. + (WebCore::SVGResourceFilter::createPlatformData): + (WebCore::SVGResourceFilter::prepareFilter): + (WebCore::SVGResourceFilter::applyFilter): + +2008-01-14 Finnur Thorarinsson <finnur.webkit@gmail.com> + + Reviewed by hyatt & eseidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16844 + RenderText::addLineBoxRects erroneously includes last char for boundingBox + + This patch fixes an issue with addLineBoxRects not correctly calculating the + rects due to an off-by-one error in using box->end(). We were assuming that + end() gives the index past the last character, when in fact it gives the + index _of_ the last character. + + Eric Seidel and I could not find a way to test this via DRT. This method is + only used by WebKit or Safari for displaying selection rects AFAICT. + + * rendering/RenderText.cpp: + (WebCore::RenderText::addLineBoxRects): + +2008-01-14 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - fix crash seen in layout tests + + * html/HTMLFrameSetElement.cpp: + (WebCore::HTMLFrameSetElement::attach): + Remove incorrect cast to HTMLElement* for parentNode(). The parent is either an + HTMLElement or a Document, not necessarily an HTMLElement. + +2008-01-14 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - fix mistakes Sam noticed in my re-speed-up patch + + * dom/Element.cpp: + (WebCore::Element::virtualHasTagName): Moved out of header file. No reason to make + this inline. + * dom/Element.h: Moved virtualHasTagName out of header file. + + * dom/Node.cpp: + (WebCore::Node::virtualHasTagName): Moved out of header file. No reason to make + this inline. + * dom/Node.h: Removed incorrect "virtual" on hasTagName and moved virtualHasTagName + out of header file. + + * platform/text/StringBuffer.h: Added. Has just the new StringBuffer class. + + * platform/text/StringImpl.h: Removed StringBuffer class. + + * loader/DocumentLoader.cpp: Added StringBuffer.h include. + * platform/text/String.cpp: Ditto. + * platform/text/StringImpl.cpp: Ditto. + * platform/text/TextCodecLatin1.cpp: Ditto. + * platform/text/TextCodecUTF16.cpp: Ditto. + * platform/text/TextCodecUserDefined.cpp: Ditto. + + * WebCore.vcproj/WebCore.vcproj: Added StringBuffer.h. + * WebCore.xcodeproj/project.pbxproj: Ditto. + +2008-01-14 Dave Hyatt <hyatt@apple.com> + + Clean up all the misplaced graphics files after the recent file moves. Clean up the project to + accurately reflect the location of all the graphics files. + + Reviewed by Adam + + * WebCore.vcproj/WebCore.vcproj: + * platform/graphics/win/GraphicsContextWin.cpp: Copied from platform/win/GraphicsContextWin.cpp. + * platform/graphics/win/UniscribeController.cpp: Copied from platform/win/UniscribeController.cpp. + * platform/graphics/win/UniscribeController.h: Copied from platform/win/UniscribeController.h. + * platform/win/GraphicsContextWin.cpp: Removed. + * platform/win/UniscribeController.cpp: Removed. + * platform/win/UniscribeController.h: Removed. + +2008-01-14 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Some cleanup to my last patch. + + Removed one unused setter declaration and one unused setter definition. + + Renamed DoNotCheckDomainSecurityOnRead to DoNotCheckDomainSecurityOnGet + because "get" is all over the IDL files, and "read" is not. + + * bindings/scripts/CodeGeneratorJS.pm: + * page/DOMWindow.h: + (WebCore::DOMWindow::defaultstatus): + * page/DOMWindow.idl: + +2008-01-14 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Alice Liu. + + - remove reference to nonexistent file + + * WebCore.vcproj/WebCore.vcproj: Removed reference to SVGFont.h. + +2008-01-14 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - re-speed-up the page load test (my StringImpl change slowed it down) + <rdar://problem/5677241> 1.5% PLT regression from r29098 + + To reverse the slowdown I caused by changing StringImpl, I tightened it up, + and also did a little optimization in the HTML tokenizer and in other clients + of Vector. + + * WebCore.base.exp: Removed export of a now-inline function. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTransitionProperty): Removed use of DeprecatedString + to get property ID. This could be sped up even more by writing a fast path + to use a local Vector<char> rather than allocating a string. + (WebCore::convertASCIIToFloat): Added. Allows numeric conversion without + allocating a string object to hold the number. + (WebCore::CSSParser::lex): Changed to call convertASCIIToFloat instead of + DeprecatedString::toFloat. + + * dom/Element.h: + (WebCore::Element::hasTagName): Made this non-virtual and inline if you have + an Element*. It's still virtual if you have a Node*. + (WebCore::Element::virtualHasTagName): Virtual version that makes the Node* + case work. + + * dom/Node.h: + (WebCore::Node::hasTagName): Made this non-virtual and inline so that Element + can override it with an inline. This is the same technique we use for + firstChild and lastChild. + (WebCore::Node::virtualHasTagName): This is the private virtual that Element + overrides. + + * dom/Text.cpp: + (WebCore::Text::splitText): Clean up by using a RefPtr here instead of a + PassRefPtr. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseSpecial): Use the new advancePastNonNewline(), + which is more efficient in cases where we know the character is not a newline + and hence we don't have to update the line number. + (WebCore::HTMLTokenizer::parseComment): Ditto. + (WebCore::HTMLTokenizer::parseServer): Ditto. + (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. + (WebCore::HTMLTokenizer::parseText): Ditto. + (WebCore::HTMLTokenizer::parseEntity): Ditto. + (WebCore::HTMLTokenizer::parseTag): Ditto. Also streamline the QuotedValue case + so there's one less branch taken for non-punctuation characters since this + code path is *so* hot. + (WebCore::HTMLTokenizer::write): More of the same. + + * loader/Cache.cpp: + (WebCore::Cache::lruListFor): Use Vector::grow instead of resize. + + * loader/DocumentLoader.cpp: + (WebCore::canonicalizedTitle): Use StringBuffer instead of Vector<UChar>. + + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::checkForCSSCharset): Use Vector::grow instead of resize. + (WebCore::TextResourceDecoder::checkForHeadCharset): Ditto. + (WebCore::TextResourceDecoder::decode): Use Vector::grow and shrink instead of resize. + (WebCore::TextResourceDecoder::flush): Use Vector::shrink instead of resize. + + * platform/KURL.cpp: + (WebCore::KURL::decode_string): Use Vector::grow instead of resize. + + * platform/SharedBuffer.cpp: + (WebCore::SharedBuffer::clear): Use Vector::shrink instead of resize. + + * platform/graphics/BitmapImage.cpp: + (WebCore::BitmapImage::cacheFrame): Use Vector::grow instead of resize. + + * platform/network/FormData.cpp: + (WebCore::FormData::appendData): Use Vector::grow instead of resize. + (WebCore::FormData::flatten): Ditto. + + * platform/text/AtomicString.cpp: + (WebCore::CStringTranslator::translate): Use a new StringImpl constructor made just + for use by AtomicString. Avoids setting fields twice, and also preserves reference + count behavior (which I changed for the other constructors, since they're entirely + private and used only inside the class). + (WebCore::UCharBufferTranslator::translate): Ditto. + + * platform/text/Base64.cpp: + (WebCore::base64Encode): Use Vector::grow instead of resize. + (WebCore::base64Decode): Use Vector::grow and shrink instead of resize. + + * platform/text/PlatformString.h: + (WebCore::String::adopt): Added an overload for the new StringBuffer class. Also + made both versions inline. + + * platform/text/SegmentedString.h: + (WebCore::SegmentedString::advancePastNewline): Added. One less branch for case + where the character is known to be a newline. + (WebCore::SegmentedString::advancePastNonNewline): Added. Less code for case where + the character is known not to be a newline. + + * platform/text/String.cpp: + (WebCore::String::append): Use StringBuffer instead of Vector<UChar>. + (WebCore::String::insert): Ditto. + (WebCore::String::truncate): Ditto. + (WebCore::String::remove): Ditto. + (WebCore::String::format): Use Vector::grow instead of resize. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::StringImpl): Changed constructors to start with a refCount + of 1 instead of 0, and made them all inline. Eliminates the WithOneRef constructor + since they all behave this way now. The only exceptions are the constructors for + AtomicString, which retain the old behavior. + (WebCore::StringImpl::empty): Simplified, since we no longer need to use the + special WithOneRef constructor. + (WebCore::StringImpl::toCoordsArray): Use StringBuffer instead of Vector<UChar>. + (WebCore::StringImpl::lower): Ditto. + (WebCore::StringImpl::upper): Ditto. + (WebCore::StringImpl::secure): Ditto. + (WebCore::StringImpl::foldCase): Ditto. + (WebCore::StringImpl::simplifyWhiteSpace): Ditto. Also change to use Vector::shrink + instead of resize (since half of the function uses Vector<UChar>). + (WebCore::StringImpl::capitalize): Use StringBuffer instead of Vector<UChar>. + (WebCore::StringImpl::replace): Ditto. + (WebCore::StringImpl::ascii): Streamlined a bit. + (WebCore::StringImpl::createStrippingNullCharacters): Use StringBuffer insetad of + Vector<UChar>. Took out checks for null characters and 0 length that aren't needed. + Coded the check for null characters in a slightly more efficient way. Since this + is so hot, didn't call adopt at all, putting the code right in here, including + the call to the StringImpl constructor and adoptRef (for the fast case). + (WebCore::StringImpl::adopt): Added a version for the new StringBuffer class. + Removed the attempt to resize the buffer at the time we adopt based on measuring + actual use and realizing that it's just a character here or there and not worth + a call to fastRealloc. Changed to use adoptRef since the constructor now starts + with a refCount of 1. + (WebCore::StringImpl::create): Changed to use adoptRef since the constructor now + starts with a refCount of 1. + (WebCore::StringImpl::createWithTerminatingNullCharacter): Ditto. + (WebCore::StringImpl::copy): Ditto. Also made non-inline since the constructor + itself is now inline. + + * platform/text/StringImpl.h: Added a StringBuffer class that's useful for + putting characters into a buffer before creating an immutable string. Not good + at resizing the way Vector<UChar> is, so only useful for things that rarely need + to be resized. Added a new AdoptBuffer constructor and empty constructor, but + made all constructors private so they can be inlined and only used inside the + StringImpl class. Added two new constructors for AtomicString. Made copy() + no longer inline. Changed the type of the [] operator to unsigned instead of + int and added an assertion. Made the hash functions inline. + + * platform/text/TextCodecICU.cpp: + (WebCore::TextCodecICU::encode): Use Vector::grow instead of resize. + + * platform/text/TextCodecLatin1.cpp: + (WebCore::TextCodecLatin1::decode): Use StringBuffer instead of Vector<UChar>. + (WebCore::encodeComplexWindowsLatin1): Use Vector::grow instead of resize. + + * platform/text/TextCodecUTF16.cpp: + (WebCore::TextCodecUTF16::decode): Use StringBuffer instead of Vector<UChar>. + + * platform/text/TextCodecUserDefined.cpp: + (WebCore::TextCodecUserDefined::decode): Use StringBuffer instead of Vector<UChar>. + (WebCore::encodeComplexUserDefined): Use Vector::grow instead of resize. + + * platform/text/TextEncoding.cpp: + (WebCore::TextEncoding::encode): Use Vector::grow instead of resize. + + * platform/text/TextStream.cpp: + (WebCore::TextStream::operator<<): Use Vector::grow instead of resize. + + * platform/text/mac/TextCodecMac.cpp: + (WebCore::TextCodecMac::encode): Use Vector::grow instead of resize. + + * rendering/AutoTableLayout.cpp: + (WebCore::AutoTableLayout::insertSpanCell): Use Vector::grow instead of resize. + + * rendering/RenderFrameSet.h: + (WebCore::FrameEdgeInfo::FrameEdgeInfo): Allocate vectors with the correct initial + size instead of calling resize on them after allocating empty. + + * rendering/RenderListMarker.cpp: + (WebCore::RenderListMarker::paint): Use Vector::grow instead of resize. + + * rendering/RenderStyle.cpp: Removed CursorList::operator==. + * rendering/RenderStyle.h: + (WebCore::CursorList::operator==): Implemented using the Vector ==. + (WebCore::CursorList::operator!=): Ditto. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::splitColumn): Use Vector::grow instead of resize. + (WebCore::RenderTable::appendColumn): Ditto. + + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::ensureRows): Use Vector::grow instead of resize. + + * rendering/bidi.cpp: + (WebCore::addMidpoint): Use Vector::grow instead of resize. + + * xml/XPathNodeSet.h: + (WebCore::XPath::NodeSet::clear): Use Vector::shrink instead of resize. + +2008-01-13 Steve Falkenburg <sfalken@apple.com> + + Share common files across projects. + + Unify vsprops files + Debug: common.vsprops, debug.vsprops + Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops + Release: common.vsprops, release.vsprops + + Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops. + debug_internal.vsprops will be mostly empty except for file path prefix modifiers. + + Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools. + + Reviewed by Adam Roben. + + * WebCore.vcproj/PRODUCTVERSION: Removed. + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/VERSION: Removed. + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/auto-version.sh: Removed. + * WebCore.vcproj/debug.vsprops: Removed. + * WebCore.vcproj/debug_internal.vsprops: Removed. + * WebCore.vcproj/release.vsprops: Removed. + +2008-01-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16865 + fast/layers/resize-layer-deletion-crash.html crashes under GuardMalloc + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::destroy): Removed the call to + RenderLayer::destroy() from here, because ~RenderLayer() calls + RenderObject() methods. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::destroy): Added the call to + RenderLayer::destroy() here. + +2008-01-13 Eric Seidel <eric@webkit.org> + + Reviewed by darin. + + Range.insertNode does not update endContainer endIndex correctly + in the case where it had to split a text node. + http://bugs.webkit.org/show_bug.cgi?id=16765 + + Darin pointed out during review that we still don't handle the dynamic + range case (where the dom tree changes not using range methods) + Thus this code will get ripped out when we add that. The test cases + are still valid and useful however, so I'm landing this as-is. + + Tests: fast/dom/Range/range-insertNode-separate-endContainer.html + fast/dom/Range/range-insertNode-splittext.html + + * dom/Range.cpp: + (WebCore::Range::insertNode): handle the splitText case correctly. + +2008-01-13 Darin Adler <darin@apple.com> + + Reviewed by Eric. + + - http://bugs.webkit.org/show_bug.cgi?id=16861 + get rid of unnecessary string copying + + * dom/Document.cpp: + (WebCore::Document::setDomain): Removed unneeded call to copy. + (WebCore::Document::parseQualifiedName): Removed unneeded call to copy, and + unneeded length argument to substring, which stops at the end of the string + if you don't specify a length. + (WebCore::Document::createAttributeNS): Replaced code that was calling copy + with more-efficient code using the substring function. + * dom/StyledElement.cpp: + (WebCore::StyledElement::addCSSColor): Removed unneeded call to copy. + * editing/InsertIntoTextNodeCommand.cpp: + (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Removed + unneeded copy and also initialized text instead of assigning to it. + (WebCore::InsertIntoTextNodeCommand::doApply): Removed redundant assertions. + (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto. + + * editing/htmlediting.cpp: + (WebCore::stringWithRebalancedWhitespace): Removed unneeded call to copy. + This one was particularly bad since we just turned around and copied it again! + + * editing/markup.cpp: + (WebCore::stringValueForRange): Removed unneeded call to copy. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::performOpenInitialization): Changed logging code to not + get the path from the database object. This was the only reason the database + had to keep its path around. + + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::open): Use a local variable instead of a data member to + convert the string to a null-terminated one. + (WebCore::SQLiteDatabase::close): Removed the code to clear out m_path. + * platform/sql/SQLiteDatabase.h: Removed the m_path data member and the path + functio member. Also tweaked formatting and comments a bit. Removed the unused + escapeSQLString function. + + * platform/text/String.cpp: (WebCore::operator+): Removed uneeded calls to copy. + +2008-01-13 Oliver Hunt <oliver@apple.com> + + Attempt to fix QT build + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::willDraw): + +2008-01-13 Oliver Hunt <oliver@apple.com> + + Reviewed by Mark Rowe. + + Avoid repainting the entire canvas element when possible. + + http://bugs.webkit.org/show_bug.cgi?id=16859 + + We now only register the dirty regions of a canvas for repainting, rather + than the entire element (though repaint coalescing may choose to combine + these regions). This doesn't cause a measurable regression in the worst + case (clearing the canvas repeatedly), but is a moderate-large win if only + a minor update has occurred. If there is any CSS scaling applied to the + canvas almost any update short of clearing the entire element is substantially + faster. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::willDraw): + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::willDraw): + +2008-01-13 Michael Goddard <michael.goddard@trolltech.com> + + Reviewed by Anders Carlsson. + + Move RuntimeObjectImp creations into Instance. + Make the ctor protected, and Instance a friend class, so + that all creation of RuntimeObjectImps goes through + one place. + + * bindings/js/kjs_dom.cpp: + (WebCore::getRuntimeObject): + +2008-01-12 Rodney Dawes <dobey@wayofthemonkey.com> + + Gtk debug build fix. Reviewed by Mark Rowe. + + Add plugin logging channel, and use it rather than Win32-specific debugging methods _RPTF1 _RPTF2 and _CRT_WARN. + + * WebCore.pro: Add plugins directory to DEPENDPATH so dependencies are correctly tracked. + * platform/Logging.cpp: + * platform/Logging.h: + * plugins/PluginDebug.h: + +2008-01-12 Adam Barth <hk9565@gmail.com> + + Reviewed by Maciej (and also tweaked a little bit). + + - more thorough fix for some crashing tests + http://bugs.webkit.org/show_bug.cgi?id=16782 + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::urlSelected): + (WebCore::FrameLoader::submitForm): + (WebCore::FrameLoader::executeIfJavaScriptURL): + * loader/FrameLoader.h: + +2008-01-12 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Sam. + + - fixed <rdar://problem/5556374> REGRESSION: cross-domain error when one URL uses an explicit port number and another doesn't + + * platform/SecurityOrigin.cpp: + (WebCore::isDefaultPortForProtocol): + (WebCore::SecurityOrigin::SecurityOrigin): + +2008-01-11 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Fixed <rdar://problem/5665251> REGRESSION (r28880-r28886): Global + variable access (16644) + + Removed the ReadOnly bit from some properties, to match Firefox. Also + removed status-related setters, to allow using their names as variable + names. + + * bindings/scripts/CodeGeneratorJS.pm: Added support for properties that + are one-way across domain boundaries, to match Firefox. + + * bindings/js/kjs_window.cpp: Changed ReadOnly declarations to match FF. + + * bindings/scripts/CodeGeneratorJS.pm: Don't use JSObject:: because + we don't know that JSObject is our base class. + + * page/DOMWindow.idl: Replaced lots of readonly declarations with + [Replaceable] declarations. + + * page/DOMWindow.h: Removed interfaces for setting status text via the + DOM. (They were getting in the way of, e.g., "var status" + declarations.) By default, IE 7 and FF disable these interfaces in order + to defend against phishing attacks that try to spoof domain names in the + statusbar. + * page/DOMWindow.cpp: + +2008-01-11 Anyang Ren <anyang.ren@gmail.com> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=15960 + The view source mode should skip an empty attribute value only if + the attribute name is not followed by an equal sign (=). + + Test: fast/frames/viewsource-empty-attribute-value.html + + * html/HTMLViewSourceDocument.cpp: + (WebCore::HTMLViewSourceDocument::addViewSourceToken): + +2008-01-11 Sylvain Pasche <sylvain.pasche@gmail.com> + + Reviewed by Alp Toker. + + [Gtk] Uneven glyph spacing with subpixel antialiasing + http://bugs.webkit.org/show_bug.cgi?id=16715 + + Use cairo font options from the default GDK screen when creating a + scaled font. + + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2008-01-11 Cameron Zwarich <cwzwarich@uwaterloo.ca> + + Reviewed by Maciej. + + Added a new forwarding header, because Activation.h has been separated + from function.h + + * ForwardingHeaders/kjs/Activation.h: Added. + +2008-01-11 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16729 + [cURL] Allow multiple files for upload + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + * platform/network/curl/ResourceHandleCurl.cpp: + (WebCore::ResourceHandleInternal::~ResourceHandleInternal): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::readCallback): added + (WebCore::ResourceHandleManager::setupPOST): setup for streaming the POST + (WebCore::ResourceHandleManager::startJob): + (WebCore::ResourceHandleManager::cancel): revert the previous patch for regression + * platform/network/curl/ResourceHandleManager.h: + +2008-01-11 Christian Dywan <christian@imendio.com> + + Reviewed by Alp Toker. + + [Gtk] Menu items need underscores + http://bugs.webkit.org/show_bug.cgi?id=16817 + + Add underscores to appropriate menu labels. + Also adjust strings slightly. + + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::createNativeMenuItem): + * platform/gtk/LocalizedStringsGtk.cpp: + (WebCore::searchableIndexIntroduction): + (WebCore::fileButtonChooseFileLabel): + (WebCore::fileButtonNoFileSelectedLabel): + (WebCore::contextMenuItemTagOpenLinkInNewWindow): + (WebCore::contextMenuItemTagDownloadLinkToDisk): + (WebCore::contextMenuItemTagCopyLinkToClipboard): + (WebCore::contextMenuItemTagOpenImageInNewWindow): + (WebCore::contextMenuItemTagDownloadImageToDisk): + (WebCore::contextMenuItemTagCopyImageToClipboard): + (WebCore::contextMenuItemTagOpenFrameInNewWindow): + (WebCore::contextMenuItemTagCopy): + (WebCore::contextMenuItemTagGoBack): + (WebCore::contextMenuItemTagGoForward): + (WebCore::contextMenuItemTagStop): + (WebCore::contextMenuItemTagReload): + (WebCore::contextMenuItemTagCut): + (WebCore::contextMenuItemTagPaste): + (WebCore::contextMenuItemTagIgnoreSpelling): + (WebCore::contextMenuItemTagLearnSpelling): + (WebCore::contextMenuItemTagSearchWeb): + (WebCore::contextMenuItemTagLookUpInDictionary): + (WebCore::contextMenuItemTagOpenLink): + (WebCore::contextMenuItemTagIgnoreGrammar): + (WebCore::contextMenuItemTagSpellingMenu): + (WebCore::contextMenuItemTagShowSpellingPanel): + (WebCore::contextMenuItemTagCheckSpelling): + (WebCore::contextMenuItemTagCheckSpellingWhileTyping): + (WebCore::contextMenuItemTagCheckGrammarWithSpelling): + (WebCore::contextMenuItemTagFontMenu): + (WebCore::contextMenuItemTagBold): + (WebCore::contextMenuItemTagItalic): + (WebCore::contextMenuItemTagUnderline): + (WebCore::contextMenuItemTagOutline): + (WebCore::contextMenuItemTagWritingDirectionMenu): + (WebCore::contextMenuItemTagDefaultDirection): + (WebCore::contextMenuItemTagLeftToRight): + (WebCore::contextMenuItemTagRightToLeft): + (WebCore::contextMenuItemTagInspectElement): + (WebCore::searchMenuClearRecentSearchesText): + +2008-01-11 Ada Chan <adachan@apple.com> + + <rdar://problem/5681557> On Windows Safari, mouse events are ignored after clicking on link that triggers download + Moved the call to cache page from provisionalLoadStarted() to commitProvisionalLoad(), since + provisionalLoadStarted() can be called for cases that do not result in a page navigation, for example, + when a link to download a file has been clicked. + + Reviewed by John and Anders. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::provisionalLoadStarted): + (WebCore::FrameLoader::commitProvisionalLoad): + +2008-01-11 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + <rdar://problem/5683529> plugins/embed-inside-object.html is timing + out/failing + + Revert to using FrameTree::find() so that frame aliases like "_self" and + "_current" are interpreted properly + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::performRequest): + (WebCore::PluginViewWin::load): + +2008-01-11 Alp Toker <alp@atoker.com> + + Reviewed by Dave Hyatt and Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=16089 + [GTK] Support custom fonts, CachedFont::platformDataFromCustomData() + + Add support for CSS2 @font-face custom/downloadable fonts to the GTK+ + port. + + * GNUmakefile.am: + * WebCore.pro: + * loader/CachedFont.cpp: + (WebCore::CachedFont::~CachedFont): + (WebCore::CachedFont::ensureCustomFontData): + (WebCore::CachedFont::platformDataFromCustomData): + (WebCore::CachedFont::allReferencesRemoved): + * platform/graphics/gtk/FontCustomPlatformData.cpp: Added. + (WebCore::FontCustomPlatformData::~FontCustomPlatformData): + (WebCore::FontCustomPlatformData::fontPlatformData): + (WebCore::releaseData): + (WebCore::createFontCustomPlatformData): + * platform/graphics/gtk/FontCustomPlatformData.h: Added. + (WebCore::FontCustomPlatformData::FontCustomPlatformData): + * platform/graphics/gtk/FontPlatformData.h: + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::init): + (WebCore::FontPlatformData::isFixedPitch): + * platform/graphics/gtk/SimpleFontDataGtk.cpp: + (WebCore::SimpleFontData::platformDestroy): + +2008-01-11 Adam Roben <aroben@apple.com> + + Remove FrameLoader::committedFirstRealDocumentLoad + + This method no longer has any callers. + + Reviewed by Hyatt. + + * loader/FrameLoader.h: + +2008-01-11 Antti Koivisto <antti@apple.com> + + Add a standalone version of the blog post video player as a manual test. + + * manual-tests/resources/touch-poster.png: Added. + * manual-tests/video-player.html: Added. + +2008-01-10 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + Fix <rdar://problem/5682767> + Video does not show up in http://webkit.org/blog/140/html5-media-support/ on Windows + + Take care that GWorld is created and deletes when needed as size or visibility changes. + + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::load): + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWinPrivate::QTMovieWinPrivate): + (QTMovieWinPrivate::updateGWorld): + (QTMovieWinPrivate::setSize): + (QTMovieWin::setVisible): + (QTMovieWin::initializeQuickTime): + +2008-01-11 David Hyatt <hyatt@apple.com> + + Fix for bug 11188, setting hspace on a table overrides align=center. Fix align=center to be done using + mapped attributes so that it does not get overridden by hspace all the time. + + Reviewed by mitz + + Added fast/table/table-hspace-align-center.html + + * css/html4.css: + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): + +2008-01-11 Mark Rowe <mrowe@apple.com> + + Qt build fix. + + * platform/qt/TemporaryLinkStubs.cpp: Include CString.h. + +2008-01-11 Mark Rowe <mrowe@apple.com> + + Qt build fix. Add link stubs for the new FileSystem.h functions introduced + in r29399. + + * platform/qt/TemporaryLinkStubs.cpp: + (WebCore::openTemporaryFile): + +2008-01-11 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Anders Carlsson. + + Bug 16779: Make the PluginStream implementation be shared across platforms + http://bugs.webkit.org/show_bug.cgi?id=16779 + + Add the new shared PluginStream files to the GTK+ and Win32 builds. + Add PluginStreamClient class for the streamDidFinishLoading method. + Add open/close/write methods to FileSystem for temporary file handling. + Add PluginDebug.h and npfunctions.h for shared PluginStream. + Add shared PluginStream. + Remove PluginStreamWin. + Update PluginViewWin to use shared PluginStream and PluginStreamClass. + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * platform/FileSystem.h: + * platform/gtk/FileSystemGtk.cpp: + * platform/win/FileSystemWin.cpp: + * plugins/PluginDebug.h: + * plugins/PluginStream.cpp: + * plugins/PluginStream.h: + * plugins/npfunctions.h: + * plugins/win/PluginDebug: Moved to PluginDebug.h. + * plugins/win/PluginStreamWin.cpp: Moved to PluginStream.cpp. + * plugins/win/PluginStreamWin.h: Moved to PluginStream.h + * plugins/win/PluginViewWin.cpp: + * plugins/win/PluginViewWin.h: + * plugins/win/npfunctions.h: Moved to npfunctions.h + +2008-01-11 Geoffrey Garen <ggaren@apple.com> + + Try to fix Mac build: Edit the right .exp file. + + * WebCore.base.exp: + +2008-01-11 Geoffrey Garen <ggaren@apple.com> + + Try to fix Qt build: don't use pthreads if they're not available. + + * bindings/js/GCController.cpp: + +2008-01-10 Geoffrey Garen <ggaren@apple.com> + + Reviewed by John Sullivan. + + Fixed some world leak reports: + * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript + Interpreter after running cvs-base suite + + * <rdar://problem/5669423> PLT complains about world leak if browser + window is open when PLT starts + + These were both bugs in the reporting mechanism, so I took the + opportunity to do some house cleaning there. + + Stupid class, I kill you: + * bridge/JavaScriptStatistics.cpp: Removed. + * bridge/JavaScriptStatistics.h: Removed. + + * bindings/js/GCController.h: Adopted the only useful features of + JavaScriptStatistics, since they were GC-related. + * bindings/js/GCController.cpp: + +2008-01-10 Eric Seidel <eric@webkit.org> + + Reviewed by Adele. + + No functional changes, only code cleanup. + + * css/MediaQueryEvaluator.cpp: + (WebCore::compareValue): renamed from cmpvalue + (WebCore::colorMediaFeatureEval): + (WebCore::device_aspect_ratioMediaFeatureEval): + (WebCore::device_pixel_ratioMediaFeatureEval): + (WebCore::gridMediaFeatureEval): + (WebCore::device_heightMediaFeatureEval): + (WebCore::device_widthMediaFeatureEval): + (WebCore::heightMediaFeatureEval): + (WebCore::widthMediaFeatureEval): + +2008-01-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - fix a crash when calling alert() from a repeating timer + + On non-Mac platforms, the PageGroupLoadDeferrer pauses DOM timers during + alert() and other similar functions, which deletes the actual + DOMWindowTimer objects and replaces them with new objects when resuming. + + * bindings/js/kjs_window.cpp: + (KJS::Window::timerFired): Re-fetch the timer object from the map in + case it has been deleted or replaced. + +2008-01-10 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Sam. + + - remove SecurityOriginData and fold its functionality into SecurityOrigin + + * GNUmakefile.am: + * WebCore.base.exp: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::postMessage): + * dom/Document.cpp: + (WebCore::Document::domain): + * page/Chrome.cpp: + (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): + (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): + * page/Chrome.h: + * page/ChromeClient.h: + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::copy): + (WebCore::SecurityOrigin::createFromIdentifier): + (WebCore::SecurityOrigin::stringIdentifier): + * platform/SecurityOrigin.h: + (WebCore::SecurityOrigin::host): + (WebCore::SecurityOrigin::protocol): + (WebCore::SecurityOrigin::port): + (WebCore::SecurityOrigin::equal): + * platform/SecurityOriginData.cpp: Removed. + * platform/SecurityOriginData.h: Removed. + * storage/Database.cpp: + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::securityOriginCopy): + * storage/Database.h: + * storage/DatabaseTracker.cpp: + (WebCore::SecurityOriginHash::hash): + (WebCore::SecurityOriginHash::equal): + (WebCore::SecurityOriginTraits::deletedValue): + (WebCore::SecurityOriginTraits::emptyValue): + (WebCore::DatabaseTracker::canEstablishDatabase): + (WebCore::DatabaseTracker::hasEntryForOrigin): + (WebCore::DatabaseTracker::hasEntryForDatabase): + (WebCore::DatabaseTracker::establishEntryForOrigin): + (WebCore::DatabaseTracker::fullPathForDatabase): + (WebCore::DatabaseTracker::populateOrigins): + (WebCore::DatabaseTracker::origins): + (WebCore::DatabaseTracker::databaseNamesForOrigin): + (WebCore::DatabaseTracker::detailsForNameAndOrigin): + (WebCore::DatabaseTracker::setDatabaseDetails): + (WebCore::DatabaseTracker::usageForDatabase): + (WebCore::DatabaseTracker::usageForOrigin): + (WebCore::DatabaseTracker::quotaForOrigin): + (WebCore::DatabaseTracker::setQuota): + (WebCore::DatabaseTracker::addDatabase): + (WebCore::DatabaseTracker::deleteAllDatabases): + (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): + (WebCore::DatabaseTracker::deleteDatabase): + (WebCore::DatabaseTracker::deleteDatabaseFile): + (WebCore::notificationQueue): + (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): + (WebCore::DatabaseTracker::notifyDatabasesChanged): + * storage/DatabaseTracker.h: + * storage/DatabaseTrackerClient.h: + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::openTransactionAndPreflight): + (WebCore::SQLTransaction::runStatements): + (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): + (WebCore::SQLTransaction::postflightAndCommit): + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): + * svg/graphics/SVGImageEmptyClients.h: + (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase): + (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation): + +2008-01-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Use the correct frame loader load method. Using the old method would not cause a + new window to be open if the frame navigation was not allowed. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::performRequest): + +2008-01-10 Alp Toker <alp@atoker.com> + + SVG font build fix for GTK+/autotools. + + * GNUmakefile.am: + +2008-01-10 Adam Barth <hk9565@gmail.com> + + Reviewed by Sam Weinig and Anders Carlsson. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522 + <rdar://problem/5657355> + + This patch makes two changes: + + 1) Java calls FrameLoader::load in a slightly different way than + JavaScript, which previously let a malicious web site bypass the + shouldAllowNavigation check. This patch adds that check to that + code path. + + 2) FrameLoader now wraps calls to m_frame->tree()->find(name) with + findFrameForNavigation, which calls shouldAllowNavigation. This + treats disallowed frame navigations as if the named frame did not + exist, resulting in a popup window when appropriate. + + Tests: http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html + http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation.html + + * WebCore.base.exp: + * bindings/js/kjs_window.cpp: + (KJS::WindowProtoFuncOpen::callAsFunction): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::createWindow): + (WebCore::FrameLoader::load): + (WebCore::FrameLoader::post): + (WebCore::FrameLoader::findFrameForNavigation): + * loader/FrameLoader.h: + +2008-01-10 John Sullivan <sullivan@apple.com> + + Written by Hyatt, reviewed by me + + - fixed <rdar://problem/5654297> Mail crashes occurs at WebCore::FontFallbackList::fontDataAt() when attempting to display + a <video> element that uses controls attribute + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): + force the render style to inherit from the media element's style; Hyatt filed 5682383 to cover cleaning + up this architecture, but this one-line fix will prevent the crash in the meantime + +2008-01-10 Ada Chan <adachan@apple.com> + + Fix fast/forms/input-radio-checked-tab.html + Meta key is not the same as Alt key on windows. + + Reviewed by Darin. + + * platform/win/KeyEventWin.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2008-01-10 Anders Carlsson <andersca@apple.com> + + Reviewed by Jon. + + Fix an assert that would happen when a plug-in tries to load a URL while a provisional load is going. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::performRequest): + Move document loader check here since we don't start loading until here and a new document load could have started in the meantime. + + (WebCore::PluginViewWin::requestTimerFired): + Don't leak the plugin requests. + + (WebCore::PluginViewWin::load): + +2008-01-10 Anders Carlsson <andersca@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/5455889> + REGRESSION: BumperCar crashes when attempting to load a long invalid URL + + Make sure to call FrameLoader::receivedMainResourceError before calling + FrameLoader::didFailToLoad. The call to receivedMainResourceError takes care of + clearing out the provisional document loader so that we won't call the didFail + ResourceLoadDelegate method twice. This also makes us call the FrameLoadDelegate method + didFailPrivisionalLoad before calling the ResourceLoadDelegate method, which Safari 2.0 does. + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::receivedError): + +2008-01-10 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Fix <rdar://problem/5658048> + After <video> has finished playing, dragging the scroller on different location of controller starts to play movie + + - Move to paused state if the playback had ended and the controller is used to seek to earlier time + - Pause video playback during drag so the knob does not constantly try to escape from the mouse pointer + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::updateMediaPlayer): + (WebCore::HTMLMediaElement::setPausedInternal): + * html/HTMLMediaElement.h: + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlTimelineElement::defaultEventHandler): + +2008-01-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adam Roben. + + <rdar://problem/5667003> fast/dom/xmlhttprequest-html-response-encoding.html is failing + + * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Do not disable sniffing for file:// + requests, as CFNetwork doesn't perform extension to MIME type mapping then. + +2008-01-10 Adam Roben <aroben@apple.com> + + Fixes to allow multiple FrameViews on Windows + + Reviewed by Hyatt. + + * page/FrameView.cpp: + (WebCore::FrameView::FrameView): Added a new constructor that takes an + IntSize to specify the FrameView's initial size. + (WebCore::FrameView::scheduleRelayout): Added an assertion that our + Document is not in the page cache. + * page/FrameView.h: + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::~Widget): Add a warm, fuzzy ASSERT. + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::~Widget): Ditto. + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::setWidget): Make sure to remove any existing + Widget from the Widget hierarchy before deleting it. One instance + where this is needed is when setWidget is called during FrameView + creation on Windows. + +2008-01-10 Alp Toker <alp@atoker.com> + + Include math.h to get ceilf(). Part of the SVG font GTK+ build fix. + + * svg/SVGFontFaceElement.cpp: + +2008-01-10 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Alice Liu. + + <rdar://problem/5658603> Crash in InsertNodeBefore::doUnapply() on Undo in Yahoo Mail + <rdar://problem/5658709> Crash in RenderView::setSelection on Undo in Yahoo Mail + + Make sure we have an updated layout before we perform any editing work. + + * editing/EditCommand.cpp: + (WebCore::EditCommand::apply): + (WebCore::EditCommand::unapply): + (WebCore::EditCommand::reapply): + +2008-01-10 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + Back out r29206 which was causing regressions in curl http job + cancellation. + + * platform/network/curl/ResourceHandleManager.cpp + (ResourceHandleManager::cancel): + +2008-01-10 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Darin, Sam, and Adam. + + - <rdar://problem/5654486> REGRESSION (Safari 3.0.4-TOT): clicking on + - link in gmail message displays JavaScript alert falsely complaining + about pop-up blocking + - When trying to open a new window, we now see if the user gesture + occurred in the global dynamic object instead of the frame since that is + the only place an event can occur. + + * bindings/js/kjs_window.cpp: - Check the dynamic global object instead + of the frame. + (KJS::allowPopUp): + (KJS::showModalDialog): + (KJS::WindowProtoFuncOpen::callAsFunction): + +2008-01-10 David Hyatt <hyatt@apple.com> + + Fix for bug 16247, visibility:hidden not honored when hit testing inline replaced elements. + + Reviewed by adele + + Added fast/css/visibility-hit-test.html test case. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::nodeAtPoint): + +2008-01-10 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + rename QWebPageHistory to QWebHistory. + + * WebCore.pro: + +2008-01-10 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + fix the drawing errors that where introduced due to refactoring. + + Correctly clip to the rectangle we want to draw in ScrollView::paint(). + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::paint): + +2008-01-10 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Temporarily disable gzip decompression in qhttp due to a bug. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + +2008-01-10 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + http://bugs.webkit.org/show_bug.cgi?id=16588 + + Added a (last) Frame argument to ResourceHandle::loadResourceSynchronously. + This allows implementing the synchronous loading correctly for the Qt port where the networking + backend is bound to the page. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::loadResourceSynchronously): + * platform/network/ResourceHandle.h: + * platform/network/cf/ResourceHandleCFNet.cpp: + * platform/network/curl/ResourceHandleCurl.cpp: + * platform/network/mac/ResourceHandleMac.mm: + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): + +2008-01-10 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix for changes in r29328 + + * WebCoreSources.bkl: + +2008-01-09 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Sam. + + - refactor SecurityOrigin in preparation for merging with SecurityOriginData + + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::SecurityOrigin): + (WebCore::SecurityOrigin::create): + (WebCore::SecurityOrigin::createForFrame): + * platform/SecurityOrigin.h: + +2008-01-09 Ada Chan <adachan@apple.com> + + Tabs with ctrl, meta, or altgraph modifier key down should not advance focus. + + Reviewed by Darin. + + Test: fast/forms/tabs-with-modifiers.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::defaultKeyboardEventHandler): + (WebCore::EventHandler::defaultTabEventHandler): bail if ctrl, meta, or altgraph key is down. + Clean up the code a bit. + * page/EventHandler.h: + * page/FocusController.cpp: Remove the advanceFocus() that takes in a KeyboardEvent. It was + only called in EventHandler::defaultTabEventHandler() but we have cleaned up the code there and + no longer needs it. + * page/FocusController.h: + +2008-01-09 Antti Koivisto <antti@apple.com> + + Reviewed by Mitz. + + Fix http://bugs.webkit.org/show_bug.cgi?id=16376 + <rdar://problem/5665206> + <video> element fails to play frames when navigating back to page (16376) + + Don't make MediaPlayer visible when it is actually in page cache. + + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::updatePlayer): + +2008-01-09 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin. + + <rdar://problem/5532361> + CrashTracer: 9840 crashes in Safari at com.apple.JavaScriptCore: KJS::Bindings::CInstance::~CInstance [in-charge deleting] + 35 + + Clear the frame's plugin root objects so that they don't outlive the plugin bundle. + + * page/Frame.cpp: + (WebCore::Frame::pageDestroyed): + +2008-01-09 John Sullivan <sullivan@apple.com> + + Reviewed by Adam Roben and Anders Carlsson + + - fixed <rdar://problem/5469398> Repro assertion failure in context menu code due to + missing-but-expected Reload item + + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::populate): + use isLoadingInAPISense when deciding whether to include Stop or Reload in context + menu, to match the WebKit API + +2008-01-09 Mark Rowe <mrowe@apple.com> + + Fix Windows debug build for opensource developers. + + * WebCore.vcproj/QTMovieWin.vcproj: Use the correct library suffix. + +2007-10-01 Allan Sandfeld Jensen <sandfeld@kde.org> + + Reworked by Eric, Reviewed by Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=9454 + Add support for :lang inheritance and xml:lang support. + + Tests: fast/selectors/lang-inheritance.html + fast/selectors/lang-inheritance2.html + fast/selectors/lang-vs-xml-lang.html + fast/selectors/lang-vs-xml-lang-xhtml.xhtml + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): Do not share style between elements with + different LANG-attribute. + (WebCore::CSSStyleSelector::checkOneSelector): Change :lang() to recursively check the LANG attribute + for all the elements parents and the content-language of the document. + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): Parse MIME Content-Language + * dom/Document.h: + (WebCore::Document::contentLanguage): + (WebCore::Document::setContentLanguage): + +2008-01-08 Timothy Hatcher <timothy@apple.com> + + Reviewed by Brady. + + Bug 16678: Unreproducible crash in KJS::JSObject::inherits() after using Web Inspector + http://bugs.webkit.org/show_bug.cgi?id=16678 + + Add a NULL check for controller before calling JSObjectSetPrivate. + + * page/InspectorController.cpp: + (WebCore::InspectorController::~InspectorController): + +2008-01-08 Xan Lopez <xan@gnome.org> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=15610 + [GTK] Text rendering using Pango + + Use Pango to render Complex path text. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::utf16_to_utf8): + (WebCore::convertUniCharToUTF8): + (WebCore::setPangoAttributes): + (WebCore::Font::drawGlyphs): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + +2008-01-08 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5665860> With the web inspector displayed, a crash occurs + at WebCore::Frame::document() when navigating back to previous page + + This fixes the crash, but the inspector was totally broken with back/forward. + So this also fixes back/forward navigation so the right main resource shows + up in the inspector. + + * page/InspectorController.cpp: + (WebCore::addSourceToFrame): Add some null checks for the frame when + getting the textEncoding. This was the crash. + (WebCore::InspectorController::addScriptResource): Create a script object + only if needed, and always add it by calling addResource. + (WebCore::InspectorController::didCommitLoad): Check if the loader is + loading from the page cache, and clear m_mainResource. If the load is + normal, then call addAndUpdateScriptResource with the main resource. + (WebCore::InspectorController::identifierForInitialRequest): If the load + is from the page cache and the resource is the main resource call + addAndUpdateScriptResource since didCommitLoad did not do it. + +2008-01-08 Alp Toker <alp@atoker.com> + + Back out VIDEO by default in the GTK+ qmake build. The build bot + doesn't have the necessary libraries installed. + + * WebCore.pro: + +2008-01-08 Alp Toker <alp@atoker.com> + + Win build fix for breakage introduced in r29328. + + * WebCore.vcproj/WebCore.vcproj: + +2008-01-08 Alp Toker <alp@atoker.com> + + Rubber-stamped by Mark Rowe. + + Enable VIDEO by default in the GTK+ qmake build. + + * WebCore.pro: + +2008-01-08 Alp Toker <alp@atoker.com> + + GTK+ VIDEO build fix for breakage introduced in r29328. + + Issue noticed by Ori_B. + + * GNUmakefile.am: + * WebCore.pro: + +2008-01-08 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + HTMLAudioElement needs generated constructor. Otherwise video instanceof HTMLAudioElement is true which is + bit strange. + + Renamed custom constructor JSHTMLAudioElementConstructor to JSAudioConstructor to avoid name clashes. + + Test: media/constructors.html + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSAudioConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.cpp. + (WebCore::JSAudioConstructor::JSAudioConstructor): + (WebCore::JSAudioConstructor::implementsConstruct): + (WebCore::JSAudioConstructor::construct): + * bindings/js/JSAudioConstructor.h: Copied from WebCore/bindings/js/JSHTMLAudioElementConstructor.h. + * bindings/js/JSHTMLAudioElementConstructor.cpp: Removed. + * bindings/js/JSHTMLAudioElementConstructor.h: Removed. + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): + * html/HTMLAudioElement.idl: + +2008-01-08 Anders Carlsson <andersca@apple.com> + + Reviewed by Mitz. + + Don't add the applet widget to the view, that's done later by RenderApplet. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::createJavaAppletWidget): + +2008-01-08 Antti Koivisto <antti@apple.com> + + Reviewed by Weinig. + + Add security check for Audio constructor. + + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): + +2008-01-08 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/5676515> List of scripts and images missing when opening Web Inspector from new window (16567) + + InspectorController::didLoadResourceFromMemoryCache was not being called for + resources that loaded from the memory cache that the FrameLoader's client + has already been notified about. This fix always calls the InspectorController + when loading a memory cached resource. No test possible for the Web Inspector. + + * loader/DocLoader.cpp: + (WebCore::DocLoader::checkCacheObjectStatus): Moved most of the logic to + FrameLoader::loadedResourceFromMemoryCache so the InspectorController can always be notified. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didTellClientAboutLoad): Renamed from didTellBridgeAboutLoad. + (WebCore::FrameLoader::haveToldClientAboutLoad): Renamed from haveToldBridgeAboutLoad. + (WebCore::FrameLoader::loadResourceSynchronously): Call the renamed didTellClientAboutLoad. + (WebCore::FrameLoader::loadedResourceFromMemoryCache): Only takes a CachedResource now. + Always call InspectorController. If the resource's sendResourceLoadCallbacks is false or + didTellClientAboutLoad is true, do an early return. Otherwise call the client and call + didTellClientAboutLoad. + (WebCore::FrameLoader::dispatchDidLoadResourceFromMemoryCache): Removed, work now done + in FrameLoader::loadedResourceFromMemoryCache. + * loader/FrameLoader.h: Renamed {didTell,haveTold}BridgeAboutLoad to {didTell,haveTold}ClientAboutLoad. + Made loadedResourceFromMemoryCache only take a CachedResource. Renamed m_urlsBridgeKnowsAbout to + m_urlsClientKnowsAbout. + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::load): Call the renamed didTellClientAboutLoad. + +2008-01-08 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Sam Weinig. + + - prefix all member variables in CSSStyleSelector with m_ + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::init): + (WebCore::CSSStyleSelector::setEncodedURL): + (WebCore::CSSStyleSelector::loadDefaultStyle): + (WebCore::CSSStyleSelector::matchRules): + (WebCore::CSSStyleSelector::matchRulesForList): + (WebCore::CSSStyleSelector::initElementAndPseudoState): + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::CSSStyleSelector::canShareStyleWithElement): + (WebCore::CSSStyleSelector::locateSharedStyle): + (WebCore::CSSStyleSelector::matchUARules): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSStyleSelector::pseudoStyleForElement): + (WebCore::CSSStyleSelector::updateFont): + (WebCore::CSSStyleSelector::cacheBorderAndBackground): + (WebCore::CSSStyleSelector::checkSelector): + (WebCore::CSSStyleSelector::checkOneSelector): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapBackgroundImage): + (WebCore::CSSStyleSelector::mapBackgroundSize): + (WebCore::CSSStyleSelector::mapBackgroundXPosition): + (WebCore::CSSStyleSelector::mapBackgroundYPosition): + (WebCore::CSSStyleSelector::checkForTextSizeAdjust): + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::): + (WebCore::CSSRuleData::CSSRuleData): + (WebCore::CSSRuleDataList::CSSRuleDataList): + (WebCore::CSSRuleDataList::append): + * css/SVGCSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applySVGProperty): + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::isStyleAvailable): + +2008-01-08 David D. Kilzer <ddkilzer@apple.com> + + Removed unnecessary files from Copy Bundle Resources build phase. + + Reviewed by Sam. + + * WebCore.xcodeproj/project.pbxproj: Files removed from build phase: + DOMCoreException.idl + EventException.idl + MessageEvent.idl + SVGAElement.idl + SVGAngle.idl + SVGAnimateColorElement.idl + SVGAnimateElement.idl + SVGAnimateTransformElement.idl + SVGAnimatedAngle.idl + SVGAnimatedBoolean.idl + SVGAnimatedEnumeration.idl + SVGAnimatedInteger.idl + SVGAnimatedLength.idl + SVGAnimatedLengthList.idl + SVGAnimatedNumber.idl + SVGAnimatedNumberList.idl + SVGAnimatedPathData.idl + SVGAnimatedPoints.idl + SVGAnimatedPreserveAspectRatio.idl + SVGAnimatedRect.idl + SVGAnimatedString.idl + SVGAnimatedTransformList.idl + SVGAnimationElement.idl + SVGCSSPropertyNames.in + SVGCSSValueKeywords.in + SVGCircleElement.idl + SVGClipPathElement.idl + SVGColor.idl + SVGComponentTransferFunctionElement.idl + SVGCursorElement.idl + SVGDefinitionSrcElement.idl + SVGDefsElement.idl + SVGDescElement.idl + SVGDocument.idl + SVGElement.idl + SVGElementInstance.idl + SVGElementInstanceList.idl + SVGEllipseElement.idl + SVGException.idl + SVGExternalResourcesRequired.idl + SVGFEBlendElement.idl + SVGFEColorMatrixElement.idl + SVGFEComponentTransferElement.idl + SVGFECompositeElement.idl + SVGFEDiffuseLightingElement.idl + SVGFEDisplacementMapElement.idl + SVGFEDistantLightElement.idl + SVGFEFloodElement.idl + SVGFEFuncAElement.idl + SVGFEFuncBElement.idl + SVGFEFuncGElement.idl + SVGFEFuncRElement.idl + SVGFEGaussianBlurElement.idl + SVGFEImageElement.idl + SVGFEMergeElement.idl + SVGFEMergeNodeElement.idl + SVGFEOffsetElement.idl + SVGFEPointLightElement.idl + SVGFESpecularLightingElement.idl + SVGFESpotLightElement.idl + SVGFETileElement.idl + SVGFETurbulenceElement.idl + SVGFilterElement.idl + SVGFilterPrimitiveStandardAttributes.idl + SVGFitToViewBox.idl + SVGFontElement.idl + SVGFontFaceElement.idl + SVGFontFaceFormatElement.idl + SVGFontFaceNameElement.idl + SVGFontFaceSrcElement.idl + SVGFontFaceUriElement.idl + SVGForeignObjectElement.idl + SVGGElement.idl + SVGGlyphElement.idl + SVGGradientElement.idl + SVGImageElement.idl + SVGLangSpace.idl + SVGLength.idl + SVGLengthList.idl + SVGLineElement.idl + SVGLinearGradientElement.idl + SVGLocatable.idl + SVGMarkerElement.idl + SVGMaskElement.idl + SVGMatrix.idl + SVGMetadataElement.idl + SVGMissingGlyphElement.idl + SVGNumber.idl + SVGNumberList.idl + SVGPaint.idl + SVGPathElement.idl + SVGPathSeg.idl + SVGPathSegArcAbs.idl + SVGPathSegArcRel.idl + SVGPathSegClosePath.idl + SVGPathSegCurvetoCubicAbs.idl + SVGPathSegCurvetoCubicRel.idl + SVGPathSegCurvetoCubicSmoothAbs.idl + SVGPathSegCurvetoCubicSmoothRel.idl + SVGPathSegCurvetoQuadraticAbs.idl + SVGPathSegCurvetoQuadraticRel.idl + SVGPathSegCurvetoQuadraticSmoothAbs.idl + SVGPathSegCurvetoQuadraticSmoothRel.idl + SVGPathSegLinetoAbs.idl + SVGPathSegLinetoHorizontalAbs.idl + SVGPathSegLinetoHorizontalRel.idl + SVGPathSegLinetoRel.idl + SVGPathSegLinetoVerticalAbs.idl + SVGPathSegLinetoVerticalRel.idl + SVGPathSegList.idl + SVGPathSegMovetoAbs.idl + SVGPathSegMovetoRel.idl + SVGPatternElement.idl + SVGPoint.idl + SVGPointList.idl + SVGPolygonElement.idl + SVGPolylineElement.idl + SVGPreserveAspectRatio.idl + SVGRadialGradientElement.idl + SVGRect.idl + SVGRectElement.idl + SVGRenderingIntent.idl + SVGSVGElement.idl + SVGScriptElement.idl + SVGSetElement.idl + SVGStopElement.idl + SVGStringList.idl + SVGStylable.idl + SVGStyleElement.idl + SVGSwitchElement.idl + SVGSymbolElement.idl + SVGTRefElement.idl + SVGTSpanElement.idl + SVGTests.idl + SVGTextContentElement.idl + SVGTextElement.idl + SVGTextPathElement.idl + SVGTextPositioningElement.idl + SVGTitleElement.idl + SVGTransform.idl + SVGTransformList.idl + SVGTransformable.idl + SVGURIReference.idl + SVGUnitTypes.idl + SVGUseElement.idl + SVGViewElement.idl + SVGViewSpec.idl + SVGZoomAndPan.idl + SVGZoomEvent.idl + XMLHttpRequestException.idl + XPathException.idl + character-sets.txt + mac-encodings.txt + make-charset-table.pl + svgattrs.in + svgtags.in + xlinkattrs.in + +2008-01-08 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + Support copying the selected URL to the clipboard. + + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::writeURL): implemented + +2008-01-08 David D. Kilzer <ddkilzer@webkit.org> + + Renamed CharacterData::m_str to m_data + + Rubber-stamped by Adam again. + + No test cases added since there is no change in behavior. + + * dom/CDATASection.cpp: + * dom/CharacterData.cpp: + (WebCore::CharacterData::CharacterData): + (WebCore::CharacterData::setData): + (WebCore::CharacterData::substringData): + (WebCore::CharacterData::appendData): + (WebCore::CharacterData::insertData): + (WebCore::CharacterData::deleteData): + (WebCore::CharacterData::replaceData): + (WebCore::CharacterData::nodeValue): + (WebCore::CharacterData::containsOnlyWhitespace): + (WebCore::CharacterData::dispatchModifiedEvent): + (WebCore::CharacterData::checkCharDataOperation): + (WebCore::CharacterData::dump): + * dom/CharacterData.h: + * dom/Comment.cpp: + * dom/Text.cpp: + (WebCore::Text::splitText): + (WebCore::Text::createRenderer): + (WebCore::Text::recalcStyle): + +2008-01-08 Steve Falkenburg <sfalken@apple.com> + + Fix a couple of compiler warnings. + + Reviewed by Mitz. + + * platform/win/ThreadingWin.cpp: + * platform/win/UniscribeController.cpp: Remove unused function. + (WebCore::UniscribeController::advance): Fix bogus warning about un-initialized variable. + +2008-01-08 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5674667> fast/forms/slider-mouse-events.html is broken by media control checkin 29257 + + * rendering/RenderSlider.cpp: (WebCore::HTMLSliderThumbElement::defaultEventHandler): + After fixing a bug in EventHandler to make sure events always go to the capturing node, this bug was exposed. + MouseMove and MouseUp events were going to the thumb element, but not to the slider input element. + This change makes the input element the capturing node, and then the input element forwards the mouse events to the thumb element. + I also added a missing call to setDefaultHandled for the mousemove event. + +2008-01-08 Adele Peterson <adele@apple.com> + + Reviewed by Adam. + + * rendering/RenderThemeSafari.cpp: Use the SafariTheme version number to decide whether or not to + paint the media controls in RenderThemeSafari. + +2008-01-08 Oliver Hunt <oliver@apple.com> + + Reviewed by Adele and John. + + Fix <rdar://problem/5652740> Crash occurs at WebCore::Widget::getView() after + dragging file into window that contains web page ( http://www.econocraft.com/flood_arch.htm ) + + We hit this crash if the page reloads between DragController::dragUpdated + and DragController::performDrag, meaning that m_document starts pointing to + a now viewless document. This is picked up by an assertion in performDrag + which I have now replaced with an assignment given that the assertion is + invalid -- it is possible for m_document to be changed between dragUpdated + performDrag + + * page/DragController.cpp: + (WebCore::DragController::performDrag): + +2008-01-08 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + <rdar://problem/5659812> CrashTracer: 462 crashes in Safari at com.apple.WebCore: + WebCore::Node::setChanged + 96 + + Test: fast/dom/cssTarget-crash.html + + * dom/Node.cpp: (WebCore::Node::removedFromDocument): + Check to see if the node being removed is currently set as the Document's cssTarget. + If it is, clear the cssTarget to prevent a hanging reference to it. + +2008-01-08 Adam Roben <aroben@apple.com> + + * bindings/scripts/CodeGeneratorJS.pm: Touch this so the bindings will + rebuild on Windows now that the media elements are enabled. + +2008-01-08 Adam Roben <aroben@apple.com> + + * svg/svgtags.in: Touch this again for the sake of the Windows bots. + +2008-01-08 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Use JSRetainPtr in the Web Inspector everywhere we own a JSStringRef. + Also added some #pragma marks to help find places in the file. + + * page/InspectorController.cpp: + (WebCore::callSimpleFunction): Use JSRetainPtr<JSStringRef>. + And return the result of JSObjectCallAsFunction. + (WebCore::search): Use JSRetainPtr<JSStringRef>. + (WebCore::databaseTableNames): Ditto. + (WebCore::localizedStrings): Ditto. + (WebCore::InspectorController::~InspectorController): Ditto. + (WebCore::InspectorController::focusNode): Ditto. + (WebCore::InspectorController::windowScriptObjectAvailable): Ditto. + (WebCore::InspectorController::scriptObjectReady): Ditto. + (WebCore::addHeaders): Ditto. + (WebCore::InspectorController::addScriptResource): Ditto. + (WebCore::InspectorController::removeScriptResource): Ditto. + (WebCore::InspectorController::updateScriptResourceRequest): Ditto. + (WebCore::InspectorController::updateScriptResourceResponse): Ditto. + (WebCore::InspectorController::updateScriptResource): Ditto. + (WebCore::InspectorController::addDatabaseScriptResource): Ditto. + (WebCore::InspectorController::removeDatabaseScriptResource): Ditto. + (WebCore::InspectorController::addScriptConsoleMessage): Ditto. + +2008-01-08 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Sam Weinig. + + - rename FontDataBaseClass.{cpp,h} back to FontData.{cpp,h} + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * editing/Editor.cpp: + * platform/graphics/FontData.cpp: Copied from WebCore/platform/graphics/FontDataBaseClass.cpp. + * platform/graphics/FontData.h: Copied from WebCore/platform/graphics/FontDataBaseClass.h. + * platform/graphics/FontDataBaseClass.cpp: Removed. + * platform/graphics/FontDataBaseClass.h: Removed. + * platform/graphics/SegmentedFontData.h: + * platform/graphics/SimpleFontData.h: + +2008-01-08 Dan Bernstein <mitz@apple.com> + + Fix a Wx build error. + + * platform/graphics/wx/GlyphMapWx.cpp: + (WebCore::GlyphPage::fill): + +2008-01-08 Dan Bernstein <mitz@apple.com> + + Fix a Qt build error. + + * platform/graphics/qt/SimpleFontDataQt.cpp: + (WebCore::SimpleFontData::containsCharacters): + (WebCore::SimpleFontData::fontDataForCharacter): + (WebCore::SimpleFontData::isSegmented): + +2008-01-08 Adam Roben <aroben@apple.com> + + Windows build fix. + + Touch config.h to force a rebuild (apparently changing preprocessor + definitions in the .vcproj doesn't force a rebuild). + + * config.h: + +2008-01-08 Dan Bernstein <mitz@apple.com> + + Fix a Wx build failure. + + * webcore-wx.bkl: + +2008-01-08 Dan Bernstein <mitz@apple.com> + + Fix a Qt build failure. + + * WebCore.pro: + +2008-01-08 John Sullivan <sullivan@apple.com> + + Reviewed by Adam Roben + + - fixed <rdar://problem/5671668> REGRESSION (r28711-r28730): With caret in an empty form field, + Delete menu item is enabled but shouldn't be + + The enabled logic was incorrect for the Delete menu item. To fix this, I added an EditorCommandSource + parameter to the enabled functions so that they can have parallel logic to the execute functions. + + * editing/EditorCommand.cpp: + added EditorCommandSource parameter to isEnabled function prototype + (WebCore::enabled): + added unused EditorCommandSource parameter to these isEnabled functions: + (WebCore::enabledAnySelection): + (WebCore::enabledAnySelectionAndMark): + (WebCore::enableCaretInEditableText): + (WebCore::enabledCopy): + (WebCore::enabledCut): + + (WebCore::enabledDelete): + new function, uses logic previously used by Delete command for DOM sources; uses logic in enabledCut + for menu source + + added unused EditorCommandSource parameter to these isEnabled functions: + (WebCore::enabledInEditableText): + (WebCore::enabledInRichlyEditableText): + (WebCore::enabledPaste): + (WebCore::enabledRangeInEditableText): + (WebCore::enabledRangeInRichlyEditableText): + (WebCore::enabledRedo): + (WebCore::enabledUndo): + + (WebCore::CommandEntry::): + wire up new enabledDelete function as delete function for Delete command + + (WebCore::Editor::Command::isEnabled): + pass EditorCommandSource parameter to isEnabled function + +2008-01-08 Adam Roben <aroben@apple.com> + + Visual C++ Express build fix + + * WebCore.vcproj/QTMovieWin.vcproj: Explicitly link against user32.lib + and advapi32.lib. VS implicitly links against these, VC++ Express + doesn't. + +2008-01-08 Dan Bernstein <mitz@apple.com> + + - add bug number + + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): + +2008-01-08 Dan Bernstein <mitz@apple.com> + + Try to fix the Qt build. + + * WebCore.pro: + +2008-01-08 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Try to fix Qt builds after Timothy's inspector changes. + + * page/inspector/WebKit.qrc: + +2008-01-08 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Mark. + + - remove duplicate definition of getElementById from HTMLDocument IDL (and ObjC bindings) + + * bindings/objc/PublicDOMInterfaces.h: + * html/HTMLDocument.idl: + +2008-01-08 David D. Kilzer <ddkilzer@webkit.org> + + Renamed CharacterData::str to m_str to match coding style + + Rubber-stamped by Adam. + + No test cases added since there is no change in behavior. + + * dom/CDATASection.cpp: + * dom/CharacterData.cpp: + (WebCore::CharacterData::CharacterData): + (WebCore::CharacterData::setData): + (WebCore::CharacterData::substringData): + (WebCore::CharacterData::appendData): + (WebCore::CharacterData::insertData): + (WebCore::CharacterData::deleteData): + (WebCore::CharacterData::replaceData): + (WebCore::CharacterData::nodeValue): + (WebCore::CharacterData::containsOnlyWhitespace): + (WebCore::CharacterData::dispatchModifiedEvent): + (WebCore::CharacterData::checkCharDataOperation): + (WebCore::CharacterData::dump): + * dom/CharacterData.h: + * dom/Comment.cpp: + * dom/Text.cpp: + (WebCore::Text::splitText): + (WebCore::Text::createRenderer): + (WebCore::Text::recalcStyle): + +2008-01-08 Oliver Hunt <oliver@apple.com> + + Set the ENABLE_SVG_FONTS flag in Windows build, now builds, + I'm not sure if it just caused the right files to regenerate, + or if there's some configuration weirdness in the non-SVG-fonts + build. + + * WebCore.vcproj/WebCore.vcproj: + +2008-01-07 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Brady. + + - fixed <rdar://problem/5644300> Back/Forward Cache should not include pages with databases + + Track whether a document has ever opened a database; if so, exclude it from b/f caching (for now) + + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + (WebCore::Document::setHasOpenDatabases): + (WebCore::Document::hasOpenDatabases): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::canCachePage): + * storage/Database.cpp: + (WebCore::Database::openDatabase): + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix leaks seen on the build bot + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): Avoid creating a + CSSFontFaceSource for SVG font-face elements going into an + SVGCSSFontFace because it just leaks them. Avoid adding SVG font- + face elements to a CSSFontFace because it will not work as expected. + +2008-01-07 Mark Rowe <mrowe@apple.com> + + Tiger build fix. + + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): Only include this code on Leopard. + It's not needed on Tiger, and breaks the build. + +2008-01-07 Antti Koivisto <antti@apple.com> + + Reviewed by Steve. + + Re-enable media support in Windows build. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/build-generated-files.sh: + +2008-01-07 Steve Falkenburg <sfalken@apple.com> + + Add version resource to QTMovieWin.dll + + Reviewed by Adam. + + * WebCore.vcproj/PRODUCTVERSION: Copied from ../WebKit/win/WebKit.vcproj/PRODUCTVERSION. + * WebCore.vcproj/QTMovieWin.rc: Added. + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/VERSION: Copied from ../WebKit/win/WebKit.vcproj/VERSION. + * WebCore.vcproj/auto-version.sh: Copied from ../WebKit/win/WebKit.vcproj/auto-version.sh. + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Build fix. + + * platform/graphics/qt/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added. + Calls QFontDatabase::removeApplicationFont(). + * platform/graphics/qt/FontCustomPlatformData.h: + * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): Removed the + implementation because Qt does not use the WebCore glyph cache. + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix an assertion failure in svg/W3C-SVG-1.1/fonts-elem-03-b.svg on + Tiger and multiple SVG layout test failures on Leopard. + + * css/CSSSegmentedFontFace.cpp: + (WebCore::CSSSegmentedFontFace::getFontData): Avoid returning an + empty SegmentedFontData. + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::createFontCustomPlatformData): Avoid creating a font that + contains no glyphs. On Leopard, ATS might create such a font given + data in an unsupported format (such as SVG). + +2008-01-07 Steve Falkenburg <sfalken@apple.com> + + Build fix. + + * WebCore.vcproj/WebCore.sln: + * WebCore.vcproj/WebCore.submit.sln: + +2008-01-07 Oliver Hunt <oliver@apple.com> + + Reviewed by Niko. + + Fix painting of SVG <image> when the image must be scaled to retain aspect ratio + + Test: svg/custom/image-with-aspect-ratio-stretch.svg + + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::adjustRectsForAspectRatio): + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Build fix. + + * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): + +2008-01-07 Adele Peterson <adele@apple.com> + + Add missing newline. + + * rendering/MediaControlElements.cpp: + +2008-01-07 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Hyatt. + + <rdar://problem/5673489> Safari does not render windowless plugins in an + iframe when opacity < 1.0 + + Plugins in transparency layers handle their own world transforms, so + only apply the horizontal/vertical transform if we are not in a + transparency layer. + + * platform/graphics/GraphicsContext.h: Add a Windows-platform-only + inTransparencyLayer() function + * platform/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContext::getWindowsContext): Use inTransparencyLayer() + (WebCore::GraphicsContext::inTransparencyLayer): + (WebCore::GraphicsContext::releaseWindowsContext): Use + inTransparencyLayer() + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::paint): When retrieving the HDC, use the rect + relative to the window. Pass m_isTransparent to + get/releaseWindowsContext(). Only set the world transform if we are not + in a transparency layer. + +2008-01-07 Adele Peterson <adele@apple.com> + + Build fix. Need to wrap these classes in #if ENABLE(VIDEO) + + * rendering/MediaControlElements.cpp: + * rendering/MediaControlElements.h: + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Mark. + + Enable SVG_FONTS by default. + + * Configurations/WebCore.xcconfig: + * WebCore.vcproj/build-generated-files.sh: + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Build fix. + + * platform/graphics/qt/SimpleFontDataQt.cpp: + (WebCore::SimpleFontData::SimpleFontData): + (WebCore::SimpleFontData::~SimpleFontData): + +2008-01-07 Adam Barth <hk9565@gmail.com> + + Reviewed by Sam Weinig + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=16523 + <rdar://problem/5657447> + + When a frame is created with the URL "about:blank" or "", it should + inherit its SecurityOrigin from its opener. However, once it has + decided on that SecurityOrigin, it should not change its mind. + Prior to this patch, several events could induce the frame to change + its SecurityOrigin, permitting an attacker to inject script into an + arbitrary SecurityOrigin. + + This patch makes several changes: + + 1) Documents refuse to change from one SecurityOrigin to another + unless explicitly instructed to do so. + + 2) Navigating to a JavaScript URL that produces a value + preserves the current SecurityOrigin explicitly instead of + relying on the URL to preserve the origin (which fails for + about:blank URLs and SecurityOrigins with document.domain set). + + Ideally, we should not preserve the URL at all. Instead, the + frame's URL should be the JavaScript URL, as in Firefox, but this + would require changes that are too risky for this patch. I'll + file this as a separate issue. + + 3) Various methods of navigating to JavaScript URLs were not + properly handling JavaScript that returned a value (and should + therefore replace the current document). This patch unifies + those code paths with the path that works. + + There are still a handful of bugs relating to the handling of + JavaScript URLs, but I'll file those as separate issues. + + Tests: http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write.html + http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url.html + http/tests/security/aboutBlank/xss-DENIED-set-opener.html + + * dom/Document.cpp: + (WebCore::Document::initSecurityOrigin): + * dom/Document.h: + (WebCore::Document::setSecurityOrigin): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::changeLocation): + (WebCore::FrameLoader::urlSelected): + (WebCore::FrameLoader::requestFrame): + (WebCore::FrameLoader::submitForm): + (WebCore::FrameLoader::executeIfJavaScriptURL): + (WebCore::FrameLoader::begin): + * loader/FrameLoader.h: + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::setForURL): + (WebCore::SecurityOrigin::createForFrame): + * platform/SecurityOrigin.h: + +2008-01-07 Adele Peterson <adele@apple.com> + + Forgot to check in these changes in my last checkin. + + * rendering/RenderThemeSafari.cpp: + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Build fixes. + + * WebCore.pro: + * platform/graphics/qt/FontCacheQt.cpp: + (WebCore::FontCache::getCachedFontData): + +2008-01-07 Timothy Hatcher <timothy@apple.com> + + Reviewed by John Sullivan. + + <rdar://problem/5674119> Make the Web Inspector toolbar the normal size when not docked + + * page/inspector/inspector.css: Changed CSS rules to have the toolbar and buttons be + normal height when not docked, and small when docked. Also added some cursor properties + prevent showing the text cursor over areas that are not selectable. + * page/inspector/Images: A few images added and old ones removed or renamed. + +2008-01-07 Alp Toker <alp@atoker.com> + + Prospective GTK+ autotools/qmake VIDEO build fix for breakage + introduced in r29257. + + * GNUmakefile.am: + * WebCore.pro: + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Build fix affecting all builds - again related to the unicode-range addition. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + * css/SVGCSSFontFace.cpp: + (WebCore::SVGCSSFontFace::SVGCSSFontFace): + * css/SVGCSSFontFace.h: + * rendering/RenderSVGText.cpp: + * svg/SVGFont.cpp: + (WebCore::svgFontAndFontFaceElementForFontData): + (WebCore::floatWidthMissingGlyphCallback): + (WebCore::drawTextMissingGlyphCallback): + * svg/SVGFontFaceElement.cpp: + +2008-01-07 Adele Peterson <adele@apple.com> + + Reviewed by Antti, Adam, and Mitz. + + WebCore part of fix for + <rdar://problem/5619073> Updated look for <video> controls + <rdar://problem/5619057> Add volume control to video controls + + * WebCore.base.exp: Added symbols for WebKitSystemInterface drawing methods. + * WebCore.xcodeproj/project.pbxproj: Added MediaControlElements.h/cpp + * WebCore.vcproj/WebCore.vcproj: ditto. + + * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added cases for new appearances. + * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added cases for new types. + * css/CSSSelector.h: (WebCore::CSSSelector::): Added new pseudo elements. + * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector): ditto. + * css/CSSValueKeywords.in: Added keywords for new control appearance styles. + * css/html4.css: Added new styles for new controls. + + * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::canPlay): Added. Takes loading state into account. + * html/HTMLMediaElement.h: + + * page/EventHandler.cpp: (WebCore::EventHandler::updateMouseEventTargetNode): Make sure the events always go to the capturing node, if there is one. + + * platform/mac/WebCoreSystemInterface.h: Added drawing methods for controls. + * platform/mac/WebCoreSystemInterface.mm: ditto. + + * rendering/MediaControlElements.cpp: Added. + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): Moved from RenderMedia. Made this relatively positioned, instead of absolute. + (WebCore::MediaControlInputElement::MediaControlInputElement): Moved from RenderMedia. Removed call to updateFromElement, + since its too early to do this here, and causes crashes for the slider. + (WebCore::MediaControlInputElement::attachToParent): Moved from RenderMedia. + (WebCore::MediaControlInputElement::update): ditto. + (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): Added. + (WebCore::MediaControlMuteButtonElement::defaultEventHandler): ditto. + (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Moved from RenderMedia. + (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto. + (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): Added. + (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto. + (WebCore::MediaControlSeekButtonElement::seekTimerFired): ditto. + (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Moved from RenderMedia. + (WebCore::MediaControlTimelineElement::defaultEventHandler): ditto. + (WebCore::MediaControlTimelineElement::update): ditto. + (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Added. + (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto. + * rendering/MediaControlElements.h: Added. Moved from RenderMedia. + (WebCore::MediaControlShadowRootElement::isShadowNode): + (WebCore::MediaControlShadowRootElement::shadowParentNode): + (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot): + (WebCore::RenderMediaControlShadowRoot::setParent): + + * rendering/RenderMedia.cpp: Moved control element classes to MediaControlElements files. + (WebCore::RenderMedia::RenderMedia): No need to initialize RefPtrs. + (WebCore::RenderMedia::layout): Set the position for the controlsRenderer. + (WebCore::RenderMedia::createPanel): Added nil check for the renderer. + (WebCore::RenderMedia::createMuteButton): Added. + (WebCore::RenderMedia::createSeekBackButton): ditto. + (WebCore::RenderMedia::createSeekForwardButton): ditto. + (WebCore::RenderMedia::createTimeDisplay): Added nil check for the renderer. + (WebCore::RenderMedia::createFullscreenButton): Added. + (WebCore::RenderMedia::updateControls): Create, delete, and update new controls when appropriate. + (WebCore::RenderMedia::updateControlVisibility): Don't fade controls for audio controls. + (WebCore::RenderMedia::forwardEvent): Forward events for new controls. + * rendering/RenderMedia.h: Added new methods for creating new controls. + + * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Updated special case for media elements, which are replaced elements, + but also can contain children (the controls' container) that may need to look for the containing block. + + * rendering/RenderSlider.cpp: (WebCore::RenderSlider::createThumbStyle): Added case for MediaSliderAppearance. + + * rendering/RenderStyle.h: Added appearance constants and pseudo ids for new controls. + (WebCore::): + (WebCore::RenderStyle::): + + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::adjustStyle): Added cases for new appearances. + (WebCore::RenderTheme::paint): ditto. + * rendering/RenderTheme.h: Added new methods for painting new appearances. + (WebCore::RenderTheme::paintMediaBackground): + (WebCore::RenderTheme::paintMediaFullscreenButton): + (WebCore::RenderTheme::paintMediaPlayButton): + (WebCore::RenderTheme::paintMediaMuteButton): + (WebCore::RenderTheme::paintMediaSeekBackButton): + (WebCore::RenderTheme::paintMediaSeekForwardButton): + (WebCore::RenderTheme::paintMediaSliderThumb): + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::RenderThemeMac::RenderThemeMac): Initialize m_mediaControlBackgroundImage. + (WebCore::RenderThemeMac::~RenderThemeMac): Delete m_mediaControlBackgroundImage. + (WebCore::RenderThemeMac::paintCapsLockIndicator): Use LocalCurrentGraphicsContext here too, since we use it in all other painting methods. + (WebCore::RenderThemeMac::paintSliderTrack): Added case for MediaSliderAppearance. + (WebCore::RenderThemeMac::adjustSliderThumbSize): Added case for MediaSliderThumbAppearance. + (WebCore::RenderThemeMac::paintMediaBackground): Draws the new artwork for the controls. + (WebCore::RenderThemeMac::paintMediaFullscreenButton): ditto. + (WebCore::RenderThemeMac::paintMediaMuteButton): ditto. + (WebCore::RenderThemeMac::paintMediaPlayButton): ditto. + (WebCore::RenderThemeMac::paintMediaSeekBackButton): ditto. + (WebCore::RenderThemeMac::paintMediaSeekForwardButton): ditto. + (WebCore::RenderThemeMac::paintMediaSliderThumb): ditto. + * rendering/RenderThemeSafari.cpp: Draws the new artwork on Windows. + (WebCore::RenderThemeSafari::paintSliderTrack): + (WebCore::RenderThemeSafari::adjustSliderThumbSize): + (WebCore::RenderThemeSafari::paintMediaBackground): + (WebCore::RenderThemeSafari::paintMediaFullscreenButton): + (WebCore::RenderThemeSafari::paintMediaMuteButton): + (WebCore::RenderThemeSafari::paintMediaPlayButton): + (WebCore::RenderThemeSafari::paintMediaSeekBackButton): + (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): + (WebCore::RenderThemeSafari::paintMediaSliderThumb): + * rendering/RenderThemeSafari.h: + +2008-01-07 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + Fix ASSERTION FAILED: dstOffset + srcSegmentLength == static_cast<int>(data.size()) + when the replacment string is a different length. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::replace): Move the parenthesis to be around only the subtraction in + the Vector size calculation, correcting the order of math operations. + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. Hopefully fix build with mac tiger after the unicode-range addition. NSInteger not available there. + + * platform/graphics/mac/FontCacheMac.mm: + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. Fix build error introduced by Dan's unicode-range support patch & enabling SVG_FONTS by default. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::getFontData): + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Next try to fix wx/mac leopard build. + + * css/CSSFontSelector.cpp: Need to wrap a SVG* include in ENABLE(SVG) blocks, as this port doesn't build this generated file. + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::createFontData): Fix double<->float conversion issue. + * webcore-base.bkl: Undo svg/ include. + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - <rdar://problem/5665216> Support the unicode-range property in @font-face rules + + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/objc/DOM.mm: + * bridge/mac/WebCoreAXObject.mm: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSFontFace.cpp: + (WebCore::CSSFontFace::fontLoaded): Changed to call the owning segmented + font face. + (WebCore::CSSFontFace::getFontData): + * css/CSSFontFace.h: + (WebCore::CSSFontFace::CSSFontFace): + (WebCore::CSSFontFace::setSegmentedFontFace): + * css/CSSFontFaceSource.cpp: + (WebCore::CSSFontFaceSource::pruneTable): Removed the calls to + GlyphPageTreeNode::pruneTreeCustomFontData because the fonts in the + font table are not exposed in the glyph page tree. Only the segmented + font is, and that is taken care of by the segmented font face. + (WebCore::CSSFontFaceSource::getFontData): + * css/CSSFontFaceSource.h: + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): Changed to collect + @font-face rules with the same family and traits into a single + segmented font face, instead of just retaining the most recent one. + (WebCore::CSSFontSelector::fontLoaded): + (WebCore::CSSFontSelector::getFontData): + * css/CSSFontSelector.h: + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseFontFaceUnicodeRange): Added. Parses a unicode + range value. + * css/CSSParser.h: + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::): + * css/CSSPropertyNames.in: + * css/CSSSegmentedFontFace.cpp: Added. + (WebCore::CSSSegmentedFontFace::CSSSegmentedFontFace): + (WebCore::CSSSegmentedFontFace::~CSSSegmentedFontFace): + (WebCore::CSSSegmentedFontFace::pruneTable): + (WebCore::CSSSegmentedFontFace::isLoaded): + (WebCore::CSSSegmentedFontFace::isValid): + (WebCore::CSSSegmentedFontFace::fontLoaded): + (WebCore::CSSSegmentedFontFace::overlayRange): + (WebCore::CSSSegmentedFontFace::getFontData): + * css/CSSSegmentedFontFace.h: Added. + (WebCore::FontFaceRange::FontFaceRange): + (WebCore::FontFaceRange::from): + (WebCore::FontFaceRange::to): + (WebCore::FontFaceRange::fontFace): + (WebCore::CSSSegmentedFontFace::fontSelector): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSUnicodeRangeValue.cpp: Added. + (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue): + (WebCore::CSSUnicodeRangeValue::cssText): + * css/CSSUnicodeRangeValue.h: Added. + (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue): + (WebCore::CSSUnicodeRangeValue::from): + (WebCore::CSSUnicodeRangeValue::to): + * css/SVGCSSFontFace.cpp: + (WebCore::SVGCSSFontFace::getFontData): + * css/SVGCSSFontFace.h: + * editing/Editor.cpp: + (WebCore::Editor::fontForSelection): + * editing/Editor.h: + * page/mac/FrameMac.mm: + * page/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge fontForSelection:]): + * platform/graphics/Font.cpp: + (WebCore::WidthIterator::advance): + (WebCore::Font::glyphDataForCharacter): + (WebCore::Font::primaryFont): Changed to return the simple font data + used for the space character. + (WebCore::Font::fontDataAt): + (WebCore::Font::fontDataForCharacters): + (WebCore::Font::drawGlyphBuffer): + * platform/graphics/Font.h: + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::getCachedFontData): + (WebCore::FontCache::getFontData): + * platform/graphics/FontCache.h: + * platform/graphics/FontData.cpp: Renamed to SimpleFontData.cpp + * platform/graphics/FontData.h: Renamed to SimpleFontData.cpp. + * platform/graphics/FontDataBaseClass.cpp: Added. This will be renamed + FontData.cpp. + (WebCore::FontData::~FontData): + * platform/graphics/FontDataBaseClass.h: Added. This will be renamed + FontData.h. + * platform/graphics/FontFallbackList.cpp: + (WebCore::FontFallbackList::determinePitch): + (WebCore::FontFallbackList::fontDataAt): + (WebCore::FontFallbackList::fontDataForCharacters): + * platform/graphics/FontFallbackList.h: + (WebCore::FontFallbackList::primaryFont): + * platform/graphics/FontSelector.h: + * platform/graphics/GlyphBuffer.h: + (WebCore::GlyphBuffer::fontDataAt): + (WebCore::GlyphBuffer::swap): + (WebCore::GlyphBuffer::add): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): + (WebCore::GlyphPageTreeNode::initializePage): Added code to initialize + pages for segmented font data. + (WebCore::GlyphPageTreeNode::getChild): + (WebCore::GlyphPageTreeNode::pruneCustomFontData): + * platform/graphics/GlyphPageTreeNode.h: + (WebCore::GlyphPage::setGlyphDataForCharacter): + (WebCore::GlyphPage::setGlyphDataForIndex): + (WebCore::GlyphPageTreeNode::getRootChild): + * platform/graphics/SegmentedFontData.cpp: Added. + (WebCore::SegmentedFontData::~SegmentedFontData): + (WebCore::SegmentedFontData::fontDataForCharacter): + (WebCore::SegmentedFontData::containsCharacters): + (WebCore::SegmentedFontData::isCustomFont): + (WebCore::SegmentedFontData::isLoading): + (WebCore::SegmentedFontData::isSegmented): + * platform/graphics/SegmentedFontData.h: Added. + (WebCore::FontDataRange::FontDataRange): + (WebCore::FontDataRange::from): + (WebCore::FontDataRange::to): + (WebCore::FontDataRange::fontData): + (WebCore::SegmentedFontData::appendRange): + (WebCore::SegmentedFontData::numRanges): + (WebCore::SegmentedFontData::rangeAt): + * platform/graphics/SimpleFontData.cpp: Copied from WebCore/platform/graphics/FontData.cpp. + (WebCore::SimpleFontData::SimpleFontData): + (WebCore::SimpleFontData::~SimpleFontData): + (WebCore::SimpleFontData::ascent): + (WebCore::SimpleFontData::descent): + (WebCore::SimpleFontData::widthForGlyph): + (WebCore::SimpleFontData::fontDataForCharacter): + (WebCore::SimpleFontData::isSegmented): + * platform/graphics/SimpleFontData.h: Copied from WebCore/platform/graphics/FontData.h. + (WebCore::SimpleFontData::isCustomFont): + (WebCore::SimpleFontData::isLoading): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setPlatformFont): + * platform/graphics/gtk/FontCacheGtk.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/gtk/FontDataGtk.cpp: Renamed to + SimpleFontDataGtk.cpp. + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: + (WebCore::GlyphPage::fill): + * platform/graphics/gtk/SimpleFontDataGtk.cpp: Copied from WebCore/platform/graphics/gtk/FontDataGtk.cpp. + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + (WebCore::SimpleFontData::smallCapsFontData): + (WebCore::SimpleFontData::containsCharacters): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + (WebCore::SimpleFontData::setFont): + * platform/graphics/mac/FontCacheMac.mm: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/mac/FontDataMac.mm: Renamed to SimpleFontDataMac.mm. + * platform/graphics/mac/FontMac.mm: + (WebCore::initializeATSUStyle): + (WebCore::overrideLayoutOperation): + (WebCore::ATSULayoutParameters::initialize): + (WebCore::Font::drawGlyphs): + * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: + (WebCore::GlyphPage::fill): + * platform/graphics/mac/SimpleFontDataMac.mm: Copied from WebCore/platform/graphics/mac/FontDataMac.mm. + (WebCore::initFontData): + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + (WebCore::SimpleFontData::smallCapsFontData): + (WebCore::SimpleFontData::containsCharacters): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + (WebCore::SimpleFontData::checkShapesArabic): + * platform/graphics/qt/FontDataQt.cpp: Renamed to SimpleFontDataQt.cpp. + * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: + (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): + * platform/graphics/qt/SimpleFontDataQt.cpp: Copied from WebCore/platform/graphics/qt/FontDataQt.cpp. + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/win/FontDataWin.cpp: Renamed to + SimpleFontDataWin.cpp. + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/win/GlyphPageTreeNodeWin.cpp: + (WebCore::GlyphPage::fill): + * platform/graphics/win/SimpleFontDataWin.cpp: Copied from WebCore/platform/graphics/win/FontDataWin.cpp. + (WebCore::SimpleFontData::setShouldApplyMacAscentHack): + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + (WebCore::SimpleFontData::smallCapsFontData): + (WebCore::SimpleFontData::containsCharacters): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + (WebCore::SimpleFontData::scriptFontProperties): + * platform/graphics/wx/FontCacheWx.cpp: + (WebCore::FontCache::getFontDataForCharacters): + * platform/graphics/wx/FontDataWx.cpp: Renamed to SimpleFontDataWx.cpp. + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/wx/GlyphMapWx.cpp: + (WebCore::GlyphPage::fill): + * platform/graphics/wx/SimpleFontDataWx.cpp: Copied from WebCore/platform/graphics/wx/FontDataWx.cpp. + (WebCore::SimpleFontData::platformInit): + (WebCore::SimpleFontData::platformDestroy): + (WebCore::SimpleFontData::smallCapsFontData): + (WebCore::SimpleFontData::containsCharacters): + (WebCore::SimpleFontData::determinePitch): + (WebCore::SimpleFontData::platformWidthForGlyph): + * platform/mac/FileChooserMac.mm: + * platform/mac/PopupMenuMac.mm: + * platform/mac/WebCoreTextRenderer.mm: + * platform/win/PopupMenuWin.cpp: + * platform/win/UniscribeController.cpp: + (WebCore::UniscribeController::advance): + (WebCore::UniscribeController::itemizeShapeAndPlace): + (WebCore::UniscribeController::shapeAndPlaceItem): + (WebCore::UniscribeController::shape): + * platform/win/UniscribeController.h: + * svg/SVGFont.cpp: + (WebCore::Font::drawGlyphsWithSVGFont): + * svg/SVGFontElement.cpp: + (WebCore::SVGFontElement::collectGlyphs): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::createFontData): + * svg/SVGFontFaceElement.h: + * svg/SVGGlyphElement.cpp: + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Try to fix mac build by forcing SVGNames regeneration. + + * svg/svgtags.in: + +2008-01-07 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Proposed build fix for wx. + + * webcore-base.bkl: + +2008-01-07 Dan Bernstein <mitz@apple.com> + + 64-bit build fix + + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): Have to use a + cast here since FMGetFontFromATSFontRef() is not available on 64-bit. + +2008-01-06 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. Parts reviewed by Eric, David Hyatt & Dan & Alexey. + Fixes: http://bugs.webkit.org/show_bug.cgi?id=15741 (REGRESSION: svg/W3C-SVG-1.1/fonts-elem-03-b.svg shows worse behavior on TOT) + + Display SVG Fonts, fill svg/SVGFont.cpp with life by adding all needed code to + measure & render glyphs contained in SVG Fonts, including ligature lookup support. + + Implement floatWidth/selectionRectForText for SVG Fonts, fixing text selection. + + Support horiz-origin-x/y, horiz-adv-x, vert-adv-y, vert-origin-x/y & arabic-form. + Implement simple algorithm to determine the arabic forms for a string (initial, isolated, medial, terminal). + + Removed drawGlyphsWithSVGFont - create a new function drawTextWithSVGFont instead. + This doesn't involve creating/using a 'GlyphBuffer' object anymore, which is not + required for SVG Fonts anyway (we already know all our offsets/advances/etc..) + + Don't call it from drawSimpleText anymore, but directly in drawText - as Dan suggested. + + <glyph> elements now register themselves in the SVGFontElement's glyph cache. + (insertedIntoDocument / removedFromDocument take care of this) + + The cache is built once now, and is kept updated - it's not rebuild anymore + on painting (!) - which was a crude hack for testing. + + W3C testcase which include SVG Fonts: + svg/W3C-SVG-1.1/animate-elem-03-t.svg (Fixed, of course not the anim itself, but it's SVG Fonts usage) + svg/W3C-SVG-1.1/animate-elem-24-t.svg (Ditto) + svg/W3C-SVG-1.1/animate-elem-36-t.svg (Ditto) + svg/W3C-SVG-1.1/animate-elem-40-t.svg (Ditto) + svg/W3C-SVG-1.1/fonts-kern-01-t.svg (missing <vkern>/<hkern> support) + svg/W3C-SVG-1.1/fonts-desc-02-t.svg (Fixed, tests CSS font matching based on font-variant attribute) + svg/W3C-SVG-1.1/fonts-elem-01-t.svg (Fixed, basic SVG font test) + svg/W3C-SVG-1.1/fonts-elem-02-t.svg (Fixed, accuracy test for embedded SVG font) + svg/W3C-SVG-1.1/fonts-elem-05-t.svg (Fixed, checks horiz-origin-x support, note: W3C reference image is wrong) + svg/W3C-SVG-1.1/fonts-elem-06-t.svg (Fixed, checks horiz-adv-x support) + svg/W3C-SVG-1.1/fonts-glyph-02-t.svg (Fixed, checks arabic-form support) + svg/W3C-SVG-1.1/fonts-glyph-03-t.svg (Fixed, checks glyph matching based on xml:lang) + svg/W3C-SVG-1.1/masking-mask-01-b.svg (Fixed, SVG Fonts & masking) + svg/W3C-SVG-1.1/pservers-grad-08-b.svg (Fixed, SVG Fonts & gradient on fill/stroke) + svg/W3C-SVG-1.1/render-elems-06-t.svg (Fixed, simple 'fill' property test) + svg/W3C-SVG-1.1/render-elems-07-t.svg (Fixed, simple 'stroke' property test - shows SVG Font interprets stroke-width in glyph coordinate system, as demanded by spec) + svg/W3C-SVG-1.1/render-elems-08-t.svg (Fixed, simple 'fill' & 'stroke' property test) + svg/W3C-SVG-1.1/render-groups-01-b.svg (missing <vkern>/<hkern> support) + svg/W3C-SVG-1.1/render-groups-03-t.svg (Ditto) + svg/W3C-SVG-1.1/text-altglyph-01-b.svg (no <altGlyph> support yet) + svg/W3C-SVG-1.1/text-text-04-t.svg (Fixed, absolute placing of characters pixel perfect now) + svg/W3C-SVG-1.1/text-text-05-t.svg (FIXME: problem with text-anchor) + svg/W3C-SVG-1.1/text-text-06-t.svg (highlights problem with ligatures & absolute positioned characters) + + Questionable testcases: + svg/W3C-SVG-1.1/fonts-glyph-04-t.svg (tests that glyph selection is done in the order in the definition of the font element.) + I am not sure why this behaviour is desired, no comment given in spec - doesn't make much sense to me, ignoring it for now. + + Several other batik testcases fixed, which use SVG Fonts in combination with gradients & filters. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::addFontFaceRule): + (WebCore::CSSFontSelector::getFontData): + * platform/graphics/Font.cpp: + (WebCore::Font::lineSpacing): + (WebCore::Font::xHeight): + (WebCore::Font::canUseGlyphCache): + (WebCore::Font::drawGlyphBuffer): + (WebCore::Font::drawText): + (WebCore::Font::floatWidth): + (WebCore::Font::selectionRectForText): + * platform/graphics/Font.h: + (WebCore::TextRun::TextRun): + (WebCore::TextRun::activePaintServer): + (WebCore::TextRun::setActivePaintServer): + * platform/graphics/FontData.cpp: + (WebCore::FontData::lineSpacing): + (WebCore::FontData::lineGap): + (WebCore::FontData::xHeight): + * platform/graphics/FontData.h: + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::drawGlyphs): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::relativeBBox): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paintCharacters): + * rendering/SVGInlineTextBox.h: + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): + * svg/SVGFont.cpp: + (WebCore::): + (WebCore::processArabicFormDetection): + (WebCore::charactersWithArabicForm): + (WebCore::isCompatibleArabicForm): + (WebCore::isCompatibleGlyph): + (WebCore::svgFontAndFontFaceElementForFontData): + (WebCore::SVGTextRunWalker::SVGTextRunWalker): + (WebCore::SVGTextRunWalker::walk): + (WebCore::floatWidthUsingSVGFontCallback): + (WebCore::floatWidthMissingGlyphCallback): + (WebCore::floatWidthOfSubStringUsingSVGFont): + (WebCore::Font::floatWidthUsingSVGFont): + (WebCore::drawTextUsingSVGFontCallback): + (WebCore::drawTextMissingGlyphCallback): + (WebCore::Font::drawTextUsingSVGFont): + (WebCore::Font::selectionRectForTextUsingSVGFont): + * svg/SVGFontElement.cpp: + (WebCore::SVGFontElement::SVGFontElement): + (WebCore::SVGFontElement::addGlyphToCache): + (WebCore::SVGFontElement::removeGlyphFromCache): + (WebCore::SVGFontElement::firstMissingGlyphElement): + (WebCore::SVGFontElement::glyphIdentifiersForString): + * svg/SVGFontElement.h: + (WebCore::SVGFontElement::maximumHashKeyLength): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::createFontData): + (WebCore::SVGFontFaceElement::rebuildFontFace): + (WebCore::SVGFontFaceElement::associatedFontElement): + * svg/SVGFontFaceElement.h: + * svg/SVGGlyphElement.cpp: + (WebCore::SVGGlyphElement::insertedIntoDocument): + (WebCore::SVGGlyphElement::removedFromDocument): + (WebCore::parseArabicForm): + (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): + (WebCore::SVGGlyphElement::buildGlyphIdentifier): + * svg/SVGGlyphElement.h: + (WebCore::SVGGlyphIdentifier::): + (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): + (WebCore::SVGGlyphIdentifier::inheritedValue): + (WebCore::SVGGlyphIdentifier::operator==): + (WebCore::SVGGlyphElement::~SVGGlyphElement): + +2008-01-07 David Hyatt <hyatt@apple.com> + + Fix for bug 13095, CSS3 multiple backgrounds don't work on table cells. + + Reviewed by Dan + + * rendering/RenderBox.h: + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paintBackgroundsBehindCell): + +2008-01-07 Holger Freyther <zecke@selfish.org> + + Reviewed by Alp Toker. + + * Fix indention + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::~ContextMenu): + +2008-01-07 Holger Freyther <zecke@selfish.org> + + Reviewed by Alp Toker. + + * The ContextMenuController is going to live longer than the ContextMenu. It is + going to live as long as the WebCore::Page is around where the ContextMenu, specially + in the case of a SubMenu, is gone before we popup the menu. + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::menuItemActivated): + (WebCore::ContextMenu::appendItem): + +2008-01-07 Holger Freyther <zecke@selfish.org> + + Reviewed by Alp Toker. + + * Fix SubMenu handling + * Do not connect to the activated signal if we are a separator or submenu + * Change our type from ActionType to SubMenuType when we have a submenu + * Initialize the SubMenu + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::createNativeMenuItem): + (WebCore::ContextMenuItem::setSubMenu): + +2008-01-07 Holger Freyther <zecke@selfish.org> + + Reviewed by Alp Toker. + + * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable + actions. + * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed. + * Update the ContextMenuController to accept CheckableActionTypes as well. + * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable + was extracted from ContextMenu::checkOrEnableIfNeeded. + * Update the Qt and Windows port. + + + * page/ContextMenuController.cpp: + * platform/ContextMenu.cpp: + (WebCore::createAndAppendFontSubMenu): + (WebCore::createAndAppendSpellingAndGrammarSubMenu): + (WebCore::createAndAppendSpellingSubMenu): + (WebCore::createAndAppendWritingDirectionSubMenu): + * platform/ContextMenuItem.h: + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::createNativeMenuItem): + +2008-01-07 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16745 + [GTK] Context menu doesn't feel or look native - no icons + + Use GTK+ stock icons for menu items where possible. + + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::gtkStockIDFromContextMenuAction): + (WebCore::ContextMenuItem::createNativeMenuItem): + (WebCore::ContextMenuItem::setAction): + +2008-01-07 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - make the ATSUI code path work with custom fonts rather than crash + + * platform/graphics/mac/FontCustomPlatformData.cpp: + (WebCore::FontCustomPlatformData::fontPlatformData): + * platform/graphics/mac/FontMac.mm: + (WebCore::initializeATSUStyle): + +2008-01-07 Thiago Macieira <thiago.macieira@trolltech.com> + + Reviewed by Simon. + + abort() now emits the signals, so disconnect them before you abort() + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::abort): + +2008-01-07 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Use a faster and safer way of flattening the form data. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::start): + +2008-01-07 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Ported of the network backend of the Qt platform to Qt 4.4's new networking API. + + * WebCore.pro: + * platform/network/ResourceHandleInternal.h: + * platform/network/qt/QNetworkReplyHandler.cpp: Added. + (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): + (WebCore::QNetworkReplyHandler::abort): + (WebCore::QNetworkReplyHandler::finish): + (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): + (WebCore::QNetworkReplyHandler::forwardData): + (WebCore::QNetworkReplyHandler::start): + * platform/network/qt/QNetworkReplyHandler.h: Added. + (WebCore::QNetworkReplyHandler::reply): + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::cancel): + (WebCore::ResourceHandle::loadResourceSynchronously): + * platform/network/qt/ResourceRequest.h: + (WebCore::ResourceRequest::ResourceRequest): + * platform/network/qt/ResourceRequestQt.cpp: Added. + (WebCore::ResourceRequest::toNetworkRequest): + * platform/qt/MIMETypeRegistryQt.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/qt/PlugInInfoStoreQt.cpp: + (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex): + (WebCore::PlugInInfoStore::pluginCount): + (WebCore::PlugInInfoStore::pluginNameForMIMEType): + +2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars. + + * Remove m_dirtyRegion as it is not used as we pass every dirty region + directly to the ChromeClient + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::paint): + +2008-01-06 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Small CG paint server cleanups - use more GraphicsContext method where possible. + + * svg/graphics/cg/CgSupport.cpp: + (WebCore::applyStrokeStyleToContext): + (WebCore::strokeBoundingBox): + * svg/graphics/cg/CgSupport.h: + * svg/graphics/cg/RenderPathCg.cpp: + (WebCore::RenderPath::strokeContains): + * svg/graphics/cg/SVGPaintServerGradientCg.cpp: + (WebCore::SVGPaintServerGradient::setup): + * svg/graphics/cg/SVGPaintServerPatternCg.cpp: + (WebCore::SVGPaintServerPattern::setup): + * svg/graphics/cg/SVGPaintServerSolidCg.cpp: + (WebCore::SVGPaintServerSolid::setup): + +2008-01-06 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Dan. + + Use new helper function isArabicChar() - which also calls ublock_getCode() == UBLOCK_ARABIC on mac. + + * platform/graphics/mac/FontMac.mm: + (WebCore::ATSULayoutParameters::initialize): + +2008-01-06 Andrew Wellington <proton@wiretapped.net> + + Reviewed by Darin. + + DOMRange doesn't correctly re-size when inserting items (Acid3) + http://bugs.webkit.org/show_bug.cgi?id=16764 + + Update the offset for the range when inserting items into the range. + + Test: fast/dom/Range/range-modifycontents.html + + * dom/Range.cpp: + (WebCore::Range::insertNode): + +2008-01-06 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16731 + Incorrect node type for whitespace when setting innerHTML in an XHTML document + + Test: fast/dom/xhtml-fragment-whitespace.xhtml + + * dom/XMLTokenizer.cpp: (WebCore::parseXMLDocumentFragment): + Use balancedCharactersHandler for ignorable whitespace. + +2008-01-06 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16701 + <rdar://problem/5666580> REGRESSION: URL-encoded space (%20) in livejournal url + causes page load error + + Test: http/tests/misc/location-with-space.php + + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::ResourceRequest::doUpdatePlatformRequest): Do update its URL, too. + +2008-01-06 Andrew Wellington <proton@wiretapped.net> + + Reviewed by Darin. + + DOMRange.cloneContents does not work (Acid3 bug) + http://bugs.webkit.org/show_bug.cgi?id=16748 + + When cloning an empty range, return an empty DocmentFragment instead of + null or undefined. + + Test: fast/dom/Range/range-clone-empty.html + + * dom/Range.cpp: + (WebCore::Range::processContents): + +2008-01-06 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + Remove curl handles immediately if the timer is not running. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::cancel): + +2008-01-06 Alp Toker <alp@atoker.com> + + Reviewed by Eric. + + Cairo canvas refcounting fix. Reference the surface in the constructor + to match its destruction in the destructor. + + Fixes a crash triggered by leaving this page: + http://philip.html5.org/tests/canvas/misc/globalalpha-pattern.html + + * html/CanvasPattern.cpp: + (WebCore::CanvasPattern::CanvasPattern): + +2008-01-06 Eric Seidel <eric@webkit.org> + + Reviewed by darin. + + Make attr selectors case-insensitive for certain HTML attributes + http://bugs.webkit.org/show_bug.cgi?id=15470 + + Test: fast/css/html-attr-case-sensitivity.html + + * css/CSSStyleSelector.cpp: + (WebCore::addLocalNameToSet): + (WebCore::createHtmlCaseInsensitiveAttributesSet): + (WebCore::htmlAttributeHasCaseInsensitiveValue): + (WebCore::CSSStyleSelector::checkOneSelector): + +2008-01-06 Eric Seidel <eric@webkit.org> + + Reviewed by Sam. + + Fix :checked matching type='text' and add test case + http://bugs.webkit.org/show_bug.cgi?id=16750 + + Test: fast/dom/HTMLInputElement/checked-pseudo-selector.html + + * html/HTMLInputElement.h: isChecked() can only be true for RADIO or CHECKBOX + +2008-01-05 Sam Weinig <sam@webkit.org> + + Reviewed by Eric Seidel. + + Patch for http://bugs.webkit.org/show_bug.cgi?id=16758 + ASSERT when using TreeWalker methods for a current node outside of the root (Acid3) + + - Ensure that returned nodes are within the root node, or return 0, in adherence with the spec. + + Test: fast/dom/TreeWalker/TreeWalker-currentNode.html + + * dom/TreeWalker.cpp: + (WebCore::TreeWalker::parentNode): + (WebCore::TreeWalker::firstChild): + (WebCore::TreeWalker::lastChild): + (WebCore::TreeWalker::previousSibling): + (WebCore::TreeWalker::nextSibling): + (WebCore::TreeWalker::previousNode): + (WebCore::TreeWalker::nextNode): + +2008-01-04 Oliver Hunt <oliver@apple.com> + + Reviewed by Beth Dakin. + + Fix bounds computation bugs responsible for http://bugs.webkit.org/show_bug.cgi?id=16015 + and other image repaint bugs. + + We now cache the full local bounds for the <image> element, as otherwise certain + combinations of attribute changes could result in incorrect dirty rects. + Additionally we no longer use any of the integer bounds fields on RenderObject for + determining repaint bounds (this was the principle cause of bug #16015). + + I also removed the outline painting code as it was both wrong, and not correctly + repainted. I feel safe doing this as no other browser or viewer supports outline + properties on svg elements. + + I was unable to make a testcase for this unfortunately, despite seemingly deterministic + behaviour :( + + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::layout): + (WebCore::RenderSVGImage::paint): + (WebCore::RenderSVGImage::nodeAtPoint): + (WebCore::RenderSVGImage::calculateAbsoluteBounds): + * rendering/RenderSVGImage.h: + +2008-01-04 Beth Dakin <bdakin@apple.com> + + Reviewed by Oliver. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16704 input with + type="hidden" matches :enabled/:disabled (Acid3 bug) + + Prevent :enabled and :disabled from applying to input type="hidden" + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkOneSelector): Rather than + allowing :enabled and :disabled to apply to all controls, only + allow it to apply to non-"hidden" controls + * dom/Element.h: + (WebCore::Element::isInputTypeHidden): + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::isInputTypeHidden): + +2008-01-04 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + - Match the spec when calling getFloatValue, getStringValue, getCounterValue, + getRectValue and getRGBColorValue of CSSPrimitiveValue by throwing exceptions + if the type of the CSSPrimitiveValue is not the same as the type requested. + - Fix the intermittent assertion failure seen in svg/css/glyph-orientation-rounding-test.xhtml + + Test: fast/css/CSSPrimitiveValue-exceptions.html + + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::getDoubleValue): + (WebCore::CSSPrimitiveValue::getStringValue): + (WebCore::CSSPrimitiveValue::getCounterValue): + (WebCore::CSSPrimitiveValue::getRectValue): + (WebCore::CSSPrimitiveValue::getRGBColorValue): + (WebCore::CSSPrimitiveValue::getPairValue): + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::getFloatValue): + (WebCore::CSSPrimitiveValue::getIntValue): + (WebCore::CSSPrimitiveValue::getCounterValue): + (WebCore::CSSPrimitiveValue::getRectValue): + (WebCore::CSSPrimitiveValue::getDashboardRegionValue): + * css/CSSPrimitiveValue.idl: + +2008-01-04 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + Windows part of <rdar://problem/5647034> + Media tests crash if an old version of QuickTime is installed + + Check QuickTime version on Windows too. + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::isAvailable): + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: + (WebCore::MediaPlayerPrivate::isAvailable): + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: + (WebCore::MediaPlayerPrivate::isAvailable): + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: + * platform/graphics/win/QTMovieWin.cpp: + (QTMovieWin::initializeQuickTime): + +2008-01-04 Darin Adler <darin@apple.com> + + Reviewed by Maciej and Alice. + + - fix <rdar://problem/4404302> Borders where there should be none (canadasmountains.com) + + Test: fast/images/border.html + + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): Change the code that handles cases + where the border value is not a number to use the value "0" for the border width instead + of not setting the border width and style at all. This matches other browsers, and makes + more sense. + +2008-01-04 Antti Koivisto <antti@apple.com> + + Try to fix 64-bit build + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::isAvailable): + +2008-01-04 Stephanie <slewis@apple.com> + + Reviewed by Oliver. + + WARNING: NO TEST CASES ADDED OR CHANGED + + Fix another stringImpl leak. + + * platform/text/StringImpl.cpp: remove an extra allocation + (WebCore::StringImpl::StringImpl): + +2008-01-04 Alice Liu <alice.liu@apple.com> + + Reviewed by Mitz. + + * platform/graphics/win/FontCacheWin.cpp: + fix loop condition that was causing crash + +2008-01-04 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + <rdar://problem/5671059> Always show the Timeline and Console buttons in the Inspector + + * page/inspector/inspector.css: Remove styles related to the toggle button + and make the area always visible. + * page/inspector/inspector.html: Remove the toggle button. + * page/inspector/inspector.js: Remove code to toggle the status area. + +2008-01-04 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adam Roben. + + Temporarily restore BackwardDelete for Windows nightlies to work correctly. + + * editing/EditorCommand.cpp: (WebCore::CommandEntry::): + +2008-01-04 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077) + + Enable the fix on Windows. + + * xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::transformToString): + Always set a custom sort function, even if it doesn't implement proper collation on the platform. + + * xml/XSLTUnicodeSort.cpp: + (WebCore::xsltUnicodeSortFunction): + * xml/XSLTUnicodeSort.h: + If the platform does not use ICU, or ICU has collation support disabled, fall back to binary comparison. + +2008-01-04 Antti Koivisto <antti@apple.com> + + Fix build. + + * bindings/js/JSHTMLElementWrapperFactory.cpp: + +2008-01-04 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + Partial fix for <rdar://problem/5647034> + Media tests crash if an old version of QuickTime is installed + + Disable media support if QuickTime is not current enough (>=7.3). + + Windows patch coming soon. + + * bindings/js/JSHTMLElementWrapperFactory.cpp: + (WebCore::createJSHTMLWrapper): + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): + * html/HTMLElementFactory.cpp: + (WebCore::audioConstructor): + (WebCore::videoConstructor): + (WebCore::sourceConstructor): + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::isAvailable): + * platform/graphics/MediaPlayer.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::isAvailable): + +2008-01-04 Timothy Hatcher <timothy@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5604409> JavaScript privilege escalation when Web Inspector accesses page unsafely (16011) + + Check if the property is a getter before asking for the value. + If the property is a getter, we no longer show the value. + + * page/inspector/PropertiesSidebarPane.js: + * page/inspector/inspector.css: + +2008-01-04 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix synthetic bold and italic on Windows + + Covered by an existing test. + + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2008-01-04 Alp Toker <alp@atoker.com> + + GTK+ autotools build fix. Terminate empty rules. + + * GNUmakefile.am: + +2008-01-04 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + Remove most dependencies of Widget/ScrollView onto native QWidgets. + + This also brings the code closer in line with the Windows code. Seems + to work nicely on first try :) + + * page/qt/FrameQt.cpp: + (WebCore::Frame::createScriptInstanceForWidget): + * platform/Widget.h: + * platform/qt/PlatformScreenQt.cpp: + (WebCore::screenDepth): + (WebCore::screenDepthPerComponent): + (WebCore::screenIsMonochrome): + (WebCore::screenRect): + * platform/qt/PlatformScrollBarQt.cpp: + (WebCore::PlatformScrollbar::thumbPosition): + (WebCore::PlatformScrollbar::handleMouseMoveEvent): + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): + (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): + (WebCore::ScrollView::updateContents): + (WebCore::ScrollView::update): + (WebCore::ScrollView::scrollRectIntoViewRecursively): + (WebCore::ScrollView::updateScrollbars): + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + (WebCore::ScrollView::paint): + * platform/qt/WidgetQt.cpp: + (WebCore::WidgetPrivate::WidgetPrivate): + (WebCore::WidgetPrivate::~WidgetPrivate): + (WebCore::Widget::frameGeometry): + (WebCore::Widget::setFrameGeometry): + (WebCore::Widget::setCursor): + (WebCore::Widget::show): + (WebCore::Widget::hide): + (WebCore::Widget::nativeWidget): + (WebCore::Widget::setNativeWidget): + (WebCore::Widget::suppressInvalidation): + (WebCore::Widget::setSuppressInvalidation): + (WebCore::Widget::invalidateRect): + (WebCore::Widget::topLevel): + (WebCore::Widget::containingWindow): + +2008-01-04 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + make QWebPage a QObject and get things to compile. + + Nothing works currently though. + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::updateContents): + (WebCore::ScrollView::update): + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::qwidget): + (WebCore::Widget::invalidateRect): + +2008-01-04 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=16667 + make -j is failing with the autotools based system + + Support parallel code generation. Nearly every use of explicit + multiple targets was a potential concurrency bug, though in practice + the bison rules were the first to be noticed because they took longer + to complete and broke the build immediately. + + * GNUmakefile.am: + +2008-01-04 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Re-use a single static dummy surface rather than creating and + destroying a surface for each CairoPath. + + * platform/graphics/cairo/CairoPath.h: + (WebCore::CairoPath::CairoPath): + +2008-01-04 Mark Rowe <mrowe@apple.com> + + Tiger build fix. + + * platform/Threading.h: The OSAtomic functions take non-volatile pointers on Tiger. + +2008-01-03 Mark Rowe <mrowe@apple.com> + + Reviewed by Maciej Stachowiak. + + Use platform-provided atomic operations in place of inline assembly to + increase portability. + + * platform/Threading.h: + (WebCore::atomicIncrement): + (WebCore::atomicDecrement): + +2008-01-03 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej. + + Fix <rdar://problem/5668517> REGRESSION: Major under painting issues in SVG (carto.net dock example) + + We need to cache the absolute bounds of the <image>, + as there's no reliable way to recompute the old bounding + box one we have started layout. + + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::layout): + (WebCore::RenderSVGImage::calculateAbsoluteBounds): + * rendering/RenderSVGImage.h: + +2008-01-03 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Support building in Scratchbox, which has a version of make that fails + on wildcard syntax. Use a vpath to match IDL files instead. + + * GNUmakefile.am: + +2008-01-03 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Darin. + + <rdar://problem/5504775> PDF page will not load first time after Adobe + Reader install, unless browser is relaunched + + Refresh and re-search the plugin database if the MIME type is not + registered. + + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::PluginDatabaseWin::isMIMETypeRegistered): + * plugins/win/PluginDatabaseWin.h: + +2008-01-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16548 + <rdar://problem/5659452> REGRESSION(r28810): Font style and sizes are weird for Japanese text + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::linkedFontEnumProc): Added. This callback is used to fetch + a valid LOGFONT for a given family. + (WebCore::getLinkedFonts): Added. Returns a vector of font families + linked to the given font family by the Windows registry key + HKLM\Software\...\FontLink\SystemLink. The registry values typically + differ based on the installed language version of Windows. + (WebCore::FontCache::getFontDataForCharacters): Changed to not use MLang + font mapping, which is Windows code page based, except for characters in + the range U+2000..U+200F. Instead, this function gets the font Uniscribe + would use for the character. However, that font might not actually + contain the character, in which case GDI font linking would substitute a + different font. Therefore, this function walks the linked font list + until it finds a font that actually contains the character. + +2008-01-03 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16723 + tables/mozilla/bugs/bug30418.html test failing due to problems updating dynamic border rules + + Test: fast/table/border-changes.html + + * html/HTMLTableElement.h: + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): Check the border type before and after + parsing attributes, rather than doing this only for the rules attribute. + (WebCore::HTMLTableElement::cellBorders): Added. + (WebCore::HTMLTableElement::getSharedCellDecl): Changed to use cellBorders to factor out the + rule about what type of borders to use. + +2008-01-02 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + Pass the prototype of WebCore JS objects up the constructor chain + rather than explicitly setting using setPrototype. This removes many + redundant settings of the prototype on construction. To avoid a CG + hazard, the prototype must be constructed before calling the + constructor of the JS object. + + - JS objects that inherit from DOMObject, which all bindings objects + (except Window) do, now can't implicitly have a jsNull prototype, but + must explicitly pass it up the construction chain. + + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): + * bindings/js/JSDocumentCustom.cpp: + (WebCore::toJS): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSEventTargetNode.cpp: + (WebCore::JSEventTargetNode::JSEventTargetNode): + * bindings/js/JSEventTargetNode.h: + * bindings/js/JSHTMLAllCollection.h: + (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): + * bindings/js/JSHTMLAudioElementConstructor.cpp: + (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor): + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::getNamedItems): + (WebCore::toJS): + * bindings/js/JSHTMLElementWrapperFactory.cpp: + (WebCore::createJSHTMLWrapper): + * bindings/js/JSHTMLFormElementCustom.cpp: + (WebCore::JSHTMLFormElement::nameGetter): + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): + * bindings/js/JSHTMLInputElementBase.h: + * bindings/js/JSHTMLOptionElementConstructor.cpp: + (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): + * bindings/js/JSLocation.cpp: + (WebCore::JSLocation::JSLocation): + * bindings/js/JSLocation.h: + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): + * bindings/js/JSNamedNodesCollection.h: + * bindings/js/JSNodeCustom.cpp: + (WebCore::toJS): + * bindings/js/JSSVGElementWrapperFactory.cpp: + (WebCore::createJSSVGWrapper): + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): + * bindings/js/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequestConstructorImp::JSXMLHttpRequestConstructorImp): + (KJS::JSXMLHttpRequestConstructorImp::construct): + (KJS::JSXMLHttpRequest::JSXMLHttpRequest): + * bindings/js/JSXMLHttpRequest.h: + * bindings/js/JSXSLTProcessor.cpp: + (KJS::JSXSLTProcessor::JSXSLTProcessor): + (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp): + (KJS::XSLTProcessorConstructorImp::implementsConstruct): + (KJS::XSLTProcessorConstructorImp::construct): + * bindings/js/JSXSLTProcessor.h: + * bindings/js/kjs_binding.h: + (KJS::DOMObject::DOMObject): + (KJS::cacheDOMObject): + (KJS::cacheSVGDOMObject): + * bindings/js/kjs_css.cpp: + (WebCore::JSRGBColor::JSRGBColor): + (WebCore::getJSRGBColor): + * bindings/js/kjs_css.h: + * bindings/js/kjs_events.cpp: + (WebCore::JSClipboard::JSClipboard): + (WebCore::toJS): + * bindings/js/kjs_events.h: + * bindings/js/kjs_html.cpp: + (WebCore::ImageConstructorImp::ImageConstructorImp): + * bindings/js/kjs_navigator.cpp: + (KJS::Navigator::Navigator): + (KJS::PluginBase::PluginBase): + * bindings/js/kjs_navigator.h: + * bindings/js/kjs_window.cpp: + (KJS::Window::Window): + (KJS::Window::location): + (KJS::Window::getValueProperty): + * bindings/js/kjs_window.h: + * bindings/scripts/CodeGeneratorJS.pm: + +2008-01-03 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Alp. + + -This is from http://bugs.webkit.org/show_bug.cgi?id=16115 + + Change the Gtk ContextMenuItem code to generate the GtkMenuItem + or GtkCheckMenuItem on the fly. Currently we will create a + GtkCheckMenuItem if the ContextMenuItem has been checked. What needs + to be done is to change WebCore to tell the platform code if an item + is checkable or not. + + * platform/ContextMenuItem.h: + (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::ContextMenu::appendItem): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::createNativeMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::platformSubMenu): + (WebCore::ContextMenuItem::setSubMenu): + (WebCore::ContextMenuItem::setChecked): + +2008-01-03 Dan Bernstein <mitz@apple.com> + + Rubber-stamped by Adam Roben. + + - update the project hierarchy to match the on-disk organization of + the platform directory. + + * WebCore.vcproj/WebCore.vcproj: + +2008-01-03 Adam Roben <aroben@apple.com> + + Fix a buffer overrun and a leak introduced in r29098 + + Reviewed by Mark. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::StringImpl): Only allocate one buffer, and make + it be big enough to hold the string contents plus the null terminator. + +2008-01-03 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame. + + * WebCore.pro: + +2008-01-03 Alp Toker <alp@atoker.com> + + Suggested by Mark Rowe. + + Fix indentation and remove trailing whitespace. + + * platform/network/curl/ResourceHandleManager.cpp: + +2008-01-03 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + Fix HTTP POST-based logins to sites like Facebook, GMail by ensuring + that the two POST methods don't conflict. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::setupPOST): + +2008-01-02 Darin Adler <darin@apple.com> + + - touched some files to try to get the Windows buildbot building again + +2008-01-02 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix small caps rendering + + Covered by an existing test. + + * platform/graphics/win/FontDataWin.cpp: + (WebCore::FontData::smallCapsFontData): + +2008-01-02 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver. + + Calculate video position and size within the renderer box in WebCore. This + way the aspect ratio calculation is not needed in each MediaPlayer implementation. + + This fixes video aspect ratio on Windows. + + Covered by an existing pixel test. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovieView): + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::videoBox): + (WebCore::RenderVideo::paintReplaced): + (WebCore::RenderVideo::updatePlayer): + * rendering/RenderVideo.h: + +2008-01-02 Ada Chan <adachan@apple.com> + + Fix windows build. + + * WebCore.vcproj/WebCore.vcproj: + +2008-01-02 John Sullivan <sullivan@apple.com> + + Reviewed by Dan Bernstein + + - fixed <rdar://problem/5579010> REGRESSION: Safari inserts newlines in tab names when U+2028 is present + + * loader/DocumentLoader.cpp: + (WebCore::canonicalizedTitle): + in the code that replaces control characters with white space, also replace the unicode line separator + and paragraph separator characters + +2008-01-02 Darin Adler <darin@apple.com> + + - fix buffer overruns seen on buildbot + + * platform/text/StringImpl.cpp: + (WebCore::countCharacter): Added this. + (WebCore::StringImpl::toCoordsArray): Use countCharacter instead of incorrect find expression. + (WebCore::StringImpl::toLengthArray): Ditto. + (WebCore::StringImpl::replace): Added assertions. + +2008-01-02 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16657 + Acid3 failure since table.caption and table.thead do not work for nodes added by appendChild + - fix http://bugs.webkit.org/show_bug.cgi?id=16659 + Acid3 expects HTMLTableElement.rows to include a <tr> element that is an immediate child of the <table> + + Tests: dom/html/level2/html/HTMLCollection07.html + dom/html/level2/html/HTMLCollection08.html + dom/html/level2/xhtml/HTMLCollection07.xhtml + dom/html/level2/xhtml/HTMLCollection08.xhtml + fast/dom/HTMLTableElement/early-acid3-65-excerpt.html + fast/dom/HTMLTableElement/early-acid3-66-excerpt.html + + * GNUmakefile.am: Added HTMLTableRowsCollection. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + + * dom/XMLTokenizer.cpp: Took out stray include. + + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::itemAfter): Removed all the table rows code, since we now use + a separate class for that collection. Also got rid of the distinct types for custom collections + that don't need them (use Other for both). + * html/HTMLCollection.h: Also made firstItem non-virtual because it doesn't need to be virtual. + + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::HTMLFormCollection): Use Other instead of FormElements + for the HTMLCollection type. + + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::HTMLTableElement): Eliminated m_head, m_foot, m_firstBody, and m_caption. + (WebCore::HTMLTableElement::caption): Added non-inline version. Finds the caption rather than + keeping a pointer to it. + (WebCore::HTMLTableElement::setCaption): Rewrote. + (WebCore::HTMLTableElement::tHead): Ditto. + (WebCore::HTMLTableElement::setTHead): Ditto. + (WebCore::HTMLTableElement::tFoot): Ditto. + (WebCore::HTMLTableElement::setTFoot): Ditto. + (WebCore::HTMLTableElement::createTHead): Ditto. + (WebCore::HTMLTableElement::deleteTHead): Ditto. + (WebCore::HTMLTableElement::createTFoot): Ditto. + (WebCore::HTMLTableElement::deleteTFoot): Ditto. + (WebCore::HTMLTableElement::createCaption): Ditto. + (WebCore::HTMLTableElement::deleteCaption): Ditto. + (WebCore::HTMLTableElement::lastBody): Added. + (WebCore::HTMLTableElement::insertRow): Rewrote to use a loop based on code in HTMLTableRowsCollection. + This is different from the old code mainly in how it handles rows outside any section. + (WebCore::HTMLTableElement::deleteRow): Ditto. + (WebCore::HTMLTableElement::addChild): Removed code to set the various members. Keeping pointers to + these was a possible source of serious bugs too, including crashes with stale pointers, although I + didn't write any test cases to prove those bugs existed. + (WebCore::HTMLTableElement::parseMappedAttribute): Changed the rules code to visit all cells, not + just the cells of the first body. I believe this fixed rendering on some table tests. I think the code + visits too many cells and also the use of recursion is overkill, but I didn't try to fix that. + (WebCore::HTMLTableElement::rows): Changed to use the new HTMLTableRowsCollection. + * html/HTMLTableElement.h: Changed functions to return PassRefPtr, which can be important if strange + things like DOM mutation events take things ot of the tree before they are safely referenced by + JavaScript wrappers. Also changed functions to take PassRefPtr and added exceptions. Removed unneeded + firstTBody and setTBody functions and childrenChanged function override, as well as unused Rules and + Frame enums. Removed m_head, m_foot, m_firstBody, and m_caption, and added lastBody function. Removed + unneeded friend declaration for HTMLTableCellElement. + * html/HTMLTableElement.idl: Allow the setteres for caption, tHead, and tFoot to raise exceptions. + + * html/HTMLTableRowsCollection.cpp: Added. Implements the HTML 5 rule for which rows are in the + collection in which order. + * html/HTMLTableRowsCollection.h: Added. + + * loader/FTPDirectoryDocument.cpp: + (WebCore::FTPDirectoryTokenizer::appendEntry): Use the standard insertRow function instead of + coming up with our own way of inserting a row. Simplifies things -- we can remove the code to + create a tbody element. + +2008-01-02 Darin Adler <darin@apple.com> + + Reviewed by Alice and Tim. + + - try to fix GTK and Qt builds + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::scroll): Improve logic slightly for the case of + vertical scrolling when there's no vertical scroll bar. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::scroll): Copy the code from Windows. Maybe this + should be factored differently. + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::scroll): Ditto. + +2008-01-02 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - http://bugs.webkit.org/show_bug.cgi?id=16712 + change StringImpl to take and return PassRefPtr instead of raw pointers + + Also eliminated use of const StringImpl. Since StringImpl is immutable there + is no distinction between a const and non-const one at the moment. + + * WebCore.base.exp: Updated. + + * css/CSSHelper.cpp: + (WebCore::parseURL): Make String directly, not by making a StringImpl. + * dom/Attr.cpp: + (WebCore::Attr::createTextChild): Convert AtomicString to String with domString, + not via StringImpl. + (WebCore::Attr::setValue): Remove unneed call to impl() when passing a String + to a function that takes a String. + + * dom/CDATASection.cpp: Removed unused constructor. + (WebCore::CDATASection::cloneNode): Added a now-needed .get(). + (WebCore::CDATASection::createNew): Changed function to take a PassRefPtr. + * dom/CDATASection.h: + + * dom/CharacterData.cpp: + (WebCore::CharacterData::CharacterData): Removed unneeded initialization and + ref() now that the string is a RefPtr. Also updated to not call "new StringImpl". + (WebCore::CharacterData::~CharacterData): Removed unneeded deref() since it's + a RefPtr. + (WebCore::CharacterData::setData): More of that. + (WebCore::CharacterData::substringData): Ditto. + (WebCore::CharacterData::appendData): Ditto. + (WebCore::CharacterData::insertData): Ditto. + (WebCore::CharacterData::deleteData): Ditto. + (WebCore::CharacterData::replaceData): Ditto. + (WebCore::CharacterData::nodeValue): Ditto. + (WebCore::CharacterData::dispatchModifiedEvent): Ditto. + (WebCore::CharacterData::dump): Ditto. + * dom/CharacterData.h: Changed to use a RefPtr. I could have used a String + instead, but since String adds extra branches to handle 0, I figured it was + more conservative to just use RefPtr. Later it would be good to figure out + which is preferred style and be more consistent. Maybe we'll phase out + StringImpl, or maybe we'll go the other way and use it more since it can be + more efficient. + + * dom/DOMImplementation.cpp: + (WebCore::addString): Changed set to use String rather than StringImpl. + (WebCore::isSVG10Feature): Ditto. + (WebCore::isSVG11Feature): Ditto. + (WebCore::DOMImplementation::createDocument): Replaced custom code to + find a colon with a call to String::find. + + * dom/Range.cpp: + (WebCore::Range::insertNode): Updated since the result of splitText is now + a PassRefPtr. + + * dom/Text.cpp: + (WebCore::Text::splitText): Updated since str is now a RefPtr. Also made the + result of this function be a PassRefPtr. + (WebCore::Text::createRenderer): Ditto. + (WebCore::Text::createNew): Made the parameter and result both be PassRefPtr. + * dom/Text.h: + + * html/HTMLElement.cpp: + (WebCore::HTMLElement::nodeName): Use String::upper. + + * html/HTMLInputElement.cpp: + (WebCore::numGraphemeClusters): Remove now-unneeded const. + (WebCore::numCharactersInGraphemeClusters): Ditto. + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::processToken): Updated for function name change. + + * platform/text/AtomicString.cpp: + (WebCore::CStringTranslator::translate): Updated since there is no longer + a constructor that takes a string. + + * platform/text/PlatformString.h: Added new constructors that take + PassRefPtr and RefPtr. Removed misleading comment. + + * platform/text/String.cpp: + (WebCore::String::String): Changed to use StringImpl::create, which handles + the empty string automatically. + (WebCore::String::append): Ditto. + (WebCore::String::charactersWithNullTermination): Similar. + (WebCore::String::format): Ditto. + + * platform/text/StringHash.h: Took out unneeded const. + + * platform/text/StringImpl.cpp: + (WebCore::deleteUCharVector): Changed to take a const pointer since the + buffers are now const UChar buffers. + (WebCore::StringImpl::StringImpl): Removed some constructors. Got rid of the + separate init functions. The constructors are now private and used only in + the create functions and one or two other places. + (WebCore::StringImpl::containsOnlyWhitespace): Removed now-meaningless const. + (WebCore::StringImpl::substring): Ditto. Also changed return value to be a + PassRefPtr. + (WebCore::StringImpl::characterStartingAt): Ditto. + (WebCore::StringImpl::toLength): Ditto. + (WebCore::StringImpl::toCoordsArray): Ditto. + (WebCore::StringImpl::toLengthArray): Ditto. + (WebCore::StringImpl::isLower): Ditto. + (WebCore::StringImpl::lower): Ditto. Changed to use Vector and adopt so we + don't have to use new directly here. Makes empty string handling more consistent. + (WebCore::StringImpl::upper): Ditto. + (WebCore::StringImpl::secure): Ditto. + (WebCore::StringImpl::foldCase): Ditto. + (WebCore::StringImpl::stripWhiteSpace): Ditto. + (WebCore::StringImpl::simplifyWhiteSpace): Ditto. + (WebCore::StringImpl::capitalize): Ditto. + (WebCore::StringImpl::toInt): Removed now-meaningless const. + (WebCore::StringImpl::toInt64): Ditto. + (WebCore::StringImpl::toUInt64): Ditto. + (WebCore::StringImpl::toDouble): Ditto. + (WebCore::StringImpl::toFloat): Ditto. + (WebCore::StringImpl::find): Ditto. + (WebCore::StringImpl::reverseFind): Ditto. + (WebCore::StringImpl::endsWith): Ditto. + (WebCore::StringImpl::replace): Ditto. + (WebCore::equal): Ditto. + (WebCore::equalIgnoringCase): Ditto. + (WebCore::StringImpl::ascii): Ditto. + (WebCore::StringImpl::defaultWritingDirection): Ditto. + (WebCore::StringImpl::createStrippingNullCharacters): Ditto. + (WebCore::StringImpl::adopt): Added special case so this uses the shared + empty string like other functions. Also optimized the common case where the + vector happens to already have the right size so we don't do a fastRealloc + at all in those cases. + (WebCore::StringImpl::create): Added. These are now the public functions for + creating new StringImpl objects. They all implement the shared empty string. + (WebCore::StringImpl::createWithTerminatingNullCharacter): + * platform/text/StringImpl.h: + + * platform/text/cf/StringCF.cpp: + (WebCore::String::String): Use StringImpl::create instead of new StringImpl. + * platform/text/cf/StringImplCF.cpp: + (WebCore::StringImpl::createCFString): Removed now-obsolete const. + * platform/text/mac/StringImplMac.mm: + (WebCore::StringImpl::operator NSString *): Ditto. + * platform/text/mac/StringMac.mm: + (WebCore::String::String): Use StringImpl::create instead of new StringImpl. + * platform/text/qt/StringQt.cpp: + (WebCore::String::String): Ditto. + * platform/text/wx/StringWx.cpp: + (WebCore::String::String): Ditto. + * rendering/RenderBR.cpp: + (WebCore::RenderBR::RenderBR): Ditto. + + * rendering/RenderSVGInlineText.cpp: + (WebCore::RenderSVGInlineText::RenderSVGInlineText): Use PassRefPtr. + * rendering/RenderSVGInlineText.h: + + * rendering/RenderText.cpp: + (WebCore::charactersAreAllASCII): Removed now-unneeded const. + * rendering/RenderTextFragment.cpp: + (WebCore::RenderTextFragment::originalText): Use RefPtr. + +2008-01-02 Timothy Hatcher <timothy@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/5618086> WebInspector does not expand the DOM tree after being closed + + Closing the Web Inspector causes the DOM tree outline to be torn down, clearing the + internal element lookup tables. The represented DOM node object still holds the identifier + it was assigned, and a later call to findTreeElement will use that original identifier + against a cleared lookup table. In that case we need to fallback on DOM ancestor lookup. + + * page/inspector/treeoutline.js: + (TreeOutline.prototype.findTreeElement): If the DOM node already had a __treeElementIdentifier, + but the TreeOutline no longer has the element in the _knownTreeElements list do an ancestor lookup + instead of an early return. + +2008-01-02 Alice Liu <alice.liu@apple.com> + + Reviewed by Maciej. + + Fixed <rdar://5283861> (problems scrolling in gmail message content area) + + * platform/ScrollView.h: + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::scroll): + Changed return value to bool to reflect success of scroll attempt + +2008-01-02 Alexey Proskuryakov <ap@webkit.org> + + Fixed a typo (pointed out in review, but I somehow missed it at first). + + * editing/EditorCommand.cpp: (WebCore::executeDelete): + +2008-01-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + Resolved several FIXMEs in EditorCommand. + Made recently added commands hidden from JS again. + Removed BackwardDelete implementation, which used to be dead code, but got exposed now. + + Tests: editing/execCommand/delete-no-scroll.html + editing/execCommand/forward-delete-no-scroll.html + editing/execCommand/insert-line-break-no-scroll.html + + * editing/EditorCommand.cpp: + (WebCore::executeDelete): + (WebCore::executeForwardDelete): + (WebCore::executeInsertLineBreak): + (WebCore::supportedFromMenuOrKeyBinding): + (WebCore::CommandEntry::): + +2008-01-02 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=14555 + action=mailto + method=get - The generated mailto URI is incorrect and the hvalues are encoded twice + + http://bugs.webkit.org/show_bug.cgi?id=14774 + Submitted data only includes first input item + + Reworked encoding of mailto URLs to match other browsers. + Moved most of related logic from FrameLoader::submitForm() to HTMLFormElement::submit(). + + Tests: fast/forms/mailto/advanced-get.html + fast/forms/mailto/advanced-put.html + fast/forms/mailto/get-multiple-items-text-plain.html + fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html + fast/forms/mailto/get-multiple-items.html + fast/forms/mailto/get-non-ascii.html + fast/forms/mailto/get-non-ascii-text-plain.html + fast/forms/mailto/get-overwrite-query.html + fast/forms/mailto/post-append-query.html + fast/forms/mailto/post-multiple-items-multipart-form-data.html + fast/forms/mailto/post-multiple-items-text-plain.html + fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html + fast/forms/mailto/post-multiple-items.html + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::submit): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::submitForm): + +2008-01-02 Mark Rowe <mrowe@apple.com> + + Autotools build fix. + + * GNUmakefile.am: Remove files before generating them, not after. + +2008-01-02 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Alp Toker. + + Add missing dependencies to some GNUmakefile.am rules. + + * GNUmakefile.am: + +2008-01-02 Mark Rowe <mrowe@apple.com> + + Reviewed by Alp Toker. + + Autotools build fix. Make can expand $@ to any of the targets for the rule, + while we always want to use the name of the .cpp file as the output file. + + * GNUmakefile.am: + +2008-01-02 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16115 + [GTK] ContextMenu and ContextMenuItem lacks an implementation + + Add context menu support. + + Based on a patch by Holger Freyther. + + * platform/gtk/ContextMenuGtk.cpp: + (WebCore::menuItemActivated): + (WebCore::ContextMenu::ContextMenu): + (WebCore::ContextMenu::~ContextMenu): + (WebCore::ContextMenu::appendItem): + (WebCore::ContextMenu::setPlatformDescription): + (WebCore::ContextMenu::releasePlatformDescription): + * platform/gtk/ContextMenuItemGtk.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::~ContextMenuItem): + (WebCore::ContextMenuItem::releasePlatformDescription): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::platformSubMenu): + (WebCore::ContextMenuItem::setSubMenu): + (WebCore::ContextMenuItem::setChecked): + (WebCore::ContextMenuItem::setEnabled): + +2008-01-02 Alp Toker <alp@atoker.com> + + GTK+ autotools build fix. Track changes in r29073. + + * GNUmakefile.am: + +2008-01-01 Darin Adler <darin@apple.com> + + - fix release build + + * bindings/js/kjs_binding.cpp: + (KJS::setDOMException): Initialize to avoid uninitialized variable warning. + Removed default so we get a warning if there's a missing case. + +2008-01-01 David D. Kilzer <ddkilzer@webkit.org> + + Scripting MIME Types application/ecmascript, application/javascript not viewable + <http://bugs.webkit.org/show_bug.cgi?id=11063> + + Reviewed by Darin. + + This patch consolidates the list of acceptable MIME types for JavaScript + source into the MIMETypeRegistry class, and replaces checks for these + types with a call to MIMETypeRegistry::isSupportedJavaScriptMIMEType(). + + No tests added since viewing JavaScript source is not testable. + + * dom/DOMImplementation.cpp: + (WebCore::DOMImplementation::isTextMIMEType): Use + MIMETypeRegistry::isSupportedJavaScriptMIMEType() instead of a single + hard-coded MIME type, "application/x-javascript". + + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): Moved list of + JavaScript MIME types from here to + MIMETypeRegistry::initialiseSupportedJavaScriptMIMETypes(). + + * platform/MIMETypeRegistry.cpp: + (WebCore::initialiseSupportedJavaScriptMIMETypes): Added. List of + MIME types came from HTMLScriptElement::shouldExecuteAsJavaScript(). + (WebCore::initialiseSupportedNonImageMimeTypes): Remove single + hard-coded MIME type, "application/x-javascript", from the list. + (WebCore::initialiseMIMETypeRegistry): Initialise + supportedJavaScriptMIMETypes, then pre-populate supportedNonImageMIMETypes + with values in supportedJavaScriptMIMETypes. + (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): Added. + + * platform/MIMETypeRegistry.h: Added isSupportedJavaScriptMIMEType(). + +2008-01-01 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + Patch for http://bugs.webkit.org/show_bug.cgi?id=16691 + Use real JS objects for the rest of the DOMExceptions (EventException, RangeException, etc) + + - Create JS objects for all the different types of exceptions, each with there own prototype and constructor. + - Abstract all the logic and storage for exception classes in to an ExceptionBase class. + - Move specialized ExceptionCodes into the exception classes. (ie. the EventExceptionCode enum is now in EventException). + + Tests: fast/dom/DOMException/EventException.html + fast/dom/DOMException/RangeException.html + fast/dom/DOMException/XPathException.html + http/tests/xmlhttprequest/XMLHttpRequestException.html + svg/custom/SVGException.html + + * DerivedSources.make: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSSVGMatrixCustom.cpp: + (WebCore::JSSVGMatrix::inverse): + (WebCore::JSSVGMatrix::rotateFromVector): + * bindings/js/kjs_binding.cpp: + (KJS::setDOMException): + * bindings/scripts/CodeGeneratorJS.pm: Use the constant values defined + in the IDL as the ObjC bindings do. + * bindings/scripts/CodeGeneratorObjC.pm: + * dom/DOMCoreException.cpp: Removed. + * dom/DOMCoreException.h: + (WebCore::DOMCoreException::DOMCoreException): + * dom/DOMCoreException.idl: + * dom/Event.h: + * dom/EventException.h: Copied from WebCore/dom/DOMCoreException.h. + (WebCore::EventException::EventException): + (WebCore::EventException::): + * dom/EventException.idl: Copied from WebCore/dom/DOMCoreException.idl. + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchEvent): + * dom/ExceptionBase.cpp: Copied from WebCore/dom/DOMCoreException.cpp. + (WebCore::ExceptionBase::ExceptionBase): + (WebCore::ExceptionBase::toString): + * dom/ExceptionBase.h: Copied from WebCore/dom/DOMCoreException.h. + (WebCore::ExceptionBase::code): + * dom/ExceptionCode.cpp: + (WebCore::getExceptionCodeDescription): + * dom/ExceptionCode.h: + (WebCore::): + * dom/Range.cpp: + (WebCore::Range::insertNode): + (WebCore::Range::checkNodeWOffset): + (WebCore::Range::checkNodeBA): + (WebCore::Range::selectNode): + (WebCore::Range::selectNodeContents): + (WebCore::Range::surroundContents): + * dom/RangeException.h: + (WebCore::RangeException::RangeException): + (WebCore::RangeException::): + * dom/RangeException.idl: + * page/DOMWindow.idl: + * svg/SVGColor.cpp: + (WebCore::SVGColor::setRGBColor): + * svg/SVGException.h: + (WebCore::SVGException::SVGException): + (WebCore::SVGException::): + * svg/SVGException.idl: + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::getTransformToElement): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::dispatchEvent): + (WebCore::XMLHttpRequest::open): + (WebCore::XMLHttpRequest::send): + * xml/XMLHttpRequest.h: + * xml/XMLHttpRequestException.h: Copied from WebCore/dom/DOMCoreException.h. + (WebCore::XMLHttpRequestException::XMLHttpRequestException): + (WebCore::XMLHttpRequestException::): + * xml/XMLHttpRequestException.idl: Copied from WebCore/dom/DOMCoreException.idl. + * xml/XPathEvaluator.h: + * xml/XPathException.h: Copied from WebCore/dom/DOMCoreException.h. + (WebCore::XPathException::XPathException): + (WebCore::XPathException::): + * xml/XPathException.idl: Copied from WebCore/dom/DOMCoreException.idl. + * xml/XPathParser.cpp: + (WebCore::XPath::Parser::parseStatement): + * xml/XPathResult.cpp: + (WebCore::XPathResult::convertTo): + (WebCore::XPathResult::numberValue): + (WebCore::XPathResult::stringValue): + (WebCore::XPathResult::booleanValue): + (WebCore::XPathResult::singleNodeValue): + (WebCore::XPathResult::snapshotLength): + (WebCore::XPathResult::iterateNext): + (WebCore::XPathResult::snapshotItem): + +2008-01-01 Sam Weinig <sam@webkit.org> + + Remove JSDomExceptionConstructor.lut.h from clean step + as it no longer exists. + + * GNUmakefile.am: + +2008-01-01 Dan Bernstein <mitz@apple.com> + + - Windows build fix + + * WebCore.vcproj/WebCore.vcproj: + +2008-01-01 Sam Weinig <sam@webkit.org> + + Try again to fix the builds + + * DerivedSources.make: + +2008-01-01 Sam Weinig <sam@webkit.org> + + Fix non-mac builds. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + +2008-01-01 Eric Seidel <eric@webkit.org> + + Reviewed by Alexey. + + Don't replace \ with / in data: urls + http://bugs.webkit.org/show_bug.cgi?id=16692 + + Test: fast/loader/url-data-replace-backslash.html + + * platform/KURL.cpp: + (WebCore::KURL::init): + +2008-01-01 Alp Toker <alp@atoker.com> + + GTK+ autotools build fix. Track changes in r29051, r29058 and pass the + correct parameter to AM_INIT_AUTOMAKE. + + * GNUmakefile.am: + +2007-12-31 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + Patch for http://bugs.webkit.org/show_bug.cgi?id=16637 + Acid3 expects ExeceptionCode constants to be defined on DOMException objects + + - Make DOMException a real JS object. + + Test: fast/dom/DOMException/prototype-object.html + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + + This is no longer needed as the autogenerated classes now includes the + constructor. + * bindings/js/JSDOMExceptionConstructor.cpp: Removed. + * bindings/js/JSDOMExceptionConstructor.h: Removed. + + Create on demand and use the new class for DOMExceptions. + * bindings/js/kjs_binding.cpp: + (KJS::setDOMException): + + Remove no longer needed custom constructor getter. + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): + + Don't expose DOMCoreException as the name of class by special casing + the user visible class name to be DOMException. + * bindings/scripts/CodeGeneratorJS.pm: + + The DOMException class/file needs to be named DOMCoreException because there is + name conflict with one of the Objective-C bindings classes. It should be renamed + to DOMException when the Objective-C bindings are moved into WebKit. + * dom/DOMCoreException.cpp: Added. + (WebCore::DOMCoreException::DOMCoreException): + (WebCore::DOMCoreException::toString): + * dom/DOMCoreException.h: Added. + (WebCore::DOMCoreException::): + (WebCore::DOMCoreException::code): + (WebCore::DOMCoreException::name): + (WebCore::DOMCoreException::message): + * dom/DOMCoreException.idl: Added. + * page/DOMWindow.idl: + +2007-12-31 Sam Weinig <sam@webkit.org> + + Re-enable querySelector and querySelectorAll and touch the necessary files to not + kill the windows build. + + * WebCore.vcproj/build-generated-files.sh: + * bindings/scripts/CodeGeneratorCOM.pm: + * dom/Document.idl: + * dom/Element.idl: + +2007-12-31 Darin Adler <darin@apple.com> + + - fix Windows build + + * dom/Document.idl: Temporarily disable querySelector and querySelectorAll, since they are showing + up as pure virtual functions. Sam can fix this later. + * dom/Element.idl: Ditto. + +2007-12-31 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=14134 + <rdar://problem/5655160> REGRESSION (r25353): Whitespace nodes ignored between inline list items + + Test: fast/dynamic/create-renderer-for-whitespace-only-text.html + + * dom/Node.cpp: + (WebCore::Node::attach): Added code to check if this node's renderer + has become the "previous renderer" of any sibling text node, and if so, + ensure that that node gets a renderer if it now needs one. + (WebCore::Node::createRendererIfNeeded): Removed the assertion that the + node is not attached. + +2007-12-31 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16641 + Acid3 reveals HTMLFormElement.elements fails to update when element name changes + + Test: fast/dom/HTMLFormElement/elements-not-in-document.html + + This was a bug specific to forms that are not in the document tree. + The fix was to change the code to increment the document version number to match + up with other document change tracking. Maybe at some point we can clean these up + so we don't have so many competing change notification systems. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::replaceChild): Removed bogus comment. + (WebCore::ContainerNode::addChild): Added an explicit incDOMTreeVersion + call here, since this code path bypasses the subtree-modified event code. + + * dom/Element.cpp: + (WebCore::Element::setAttribute): Remove the inDocument() check -- not all HTML + collections are for things in the document. + (WebCore::Element::setAttributeMap): Ditto. + + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): Added a call to + incDOMTreeVersion here; covers most cases of tree structure changes. + + * dom/Node.cpp: + (WebCore::Node::attach): Remove call to incDOMTreeVersion -- creating a renderer + has nothing to do with changes to the DOM tree! + (WebCore::Node::detach): Ditto. + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::registerFormElement): Remove call to incDOMTreeVersion. + This is handled at a lower level and doesn't need to be here. + (WebCore::HTMLFormElement::removeFormElement): Ditto. + +2007-12-31 Henry Mason <hmason@mac.com> + + Reviewed by Darin. + + Patch for http://bugs.webkit.org/show_bug.cgi?id=14994 + Support for MessageEvent and cross-domain messaging + + Test: http/tests/messaging/cross-domain-message-send.html + + * DerivedSources.make: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): Allow cross-domain access to the + postMessage function. + (WebCore::JSDOMWindow::postMessage): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * dom/Event.cpp: + (WebCore::Event::isMessageEvent): + * dom/Event.h: + * dom/EventNames.h: New event name + * dom/MessageEvent.cpp: Added. + * dom/MessageEvent.h: Added. + * dom/MessageEvent.idl: Added. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::postMessage): Added. + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2007-12-31 Darin Adler <darin@apple.com> + + Suggested by Antti. + + - turn ENABLE_VIDEO back off for Windows until we can install QuickTime on the build bots + + * WebCore.vcproj/WebCore.vcproj: Removed ENABLE_VIDEO. + * WebCore.vcproj/build-generated-files.sh: Ditto. + +2007-12-30 Alp Toker <alp@atoker.com> + + Reviewed by Dan Bernstein. + + Silence warning. + + * dom/NodeList.h: + +2007-12-30 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16387 + Variable names can be enumerated across domains + <rdar://problem/5640454> + + Test: http/tests/security/cross-frame-access-enumeration.html + + * bindings/js/kjs_window.cpp: + (KJS::Window::getPropertyNames): Override method to test same-origin policy. + * bindings/js/kjs_window.h: + +2007-12-30 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver Hunt. + + Patch for http://bugs.webkit.org/show_bug.cgi?id=10686 + event instanceof MouseEvent throws exception + + Add JS constructors for all the Event types. + + Test: fast/events/event-instanceof.html + + * WebCore.xcodeproj/project.pbxproj: + * dom/KeyboardEvent.idl: + * dom/MouseEvent.idl: + * dom/MutationEvent.idl: + * dom/OverflowEvent.idl: + * dom/ProgressEvent.idl: + * dom/TextEvent.idl: + * dom/UIEvent.idl: + * dom/WheelEvent.idl: + * page/DOMWindow.idl: + +2007-12-30 David Kilzer <ddkilzer@webkit.org> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15359 + JPEG image not shown when height is specified as percentage inside a table + + The problem occurs when a replaced element (image, canvas, etc.) with + a percent-height attribute is contained by a table cell with an auto- + or percent-height attribute. If there are no other conditions to cause + the table cell's height to expand, an available height of zero will + always be returned. In these cases, the intrinsic height of the + replaced element should be used if it is greater than the available + height of the table cell. + + Tests: fast/replaced/table-percent-height.html + tables/mozilla/bugs/bug137388-1.html + tables/mozilla/bugs/bug137388-2.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcReplacedHeightUsing): + +2007-12-30 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16099 + Crash in CURL for empty POST + + We have to set POST even when the data is empty, otherwise cURL will + hang while waiting for a response. + + * platform/network/curl/ResourceHandleManager.cpp + (ResourceHandleManager::setupPOST): allow empty POST + +2007-12-29 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp Toker. + + Move all SVG related stuff inside SVG block. Don't include + SVGNames, SVGElementFactory, and XLinkNames when SVG is not + enabled + + * GNUmakefile.am: + +2007-12-29 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=14428 + FCKEditor: Images disappear on drag/drop and copy/paste + + Test: editing/pasteboard/drag-image-in-about-blank-frame.html + + * editing/markup.cpp: (WebCore::createFragmentFromMarkup): Don't use "about:blank" as a + base URL, just like we don't use an empty one. + +2007-12-29 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16669 + autotools update and fixes + + Autotools update and database/icon database inclusion guard fixes + + * GNUmakefile.am: + - Update autotools config as per -r29012 changes + - Fix CSSGrammar.h/cpp generation (Seo Sanghyeon, sanxiyn) + * dom/Document.cpp: + * loader/icon/IconDatabase.h: + * page/DOMWindow.cpp: + * page/InspectorController.cpp: + * page/Settings.cpp: + * storage/Database.h: + - Remove ENABLE(DATABASE) inclusion guard. Let the includer add the guard instead. + +2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Alexey. + + Respect horiz-origin-x / horiz-origin-y / vert-origin-x / vert-origin-y properties when drawing SVG Fonts. + (Fixes fonts-elem-05-t.svg in a --svg-fonts build) + + * svg/SVGFont.cpp: + (WebCore::Font::drawGlyphsWithSVGFont): + +2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Further SVG Font work. Parse all <glyph> attributes, using SVGGlyphElement::buildGlyphIdentifier. + SVGFontElement::collectGlyphs() now uses this method. Per character advance values work well now. + + * platform/graphics/FontData.cpp: + (WebCore::SVGFontData::convertEmUnitToPixel): Add helper function. + (WebCore::FontData::ascent): + (WebCore::FontData::descent): + * platform/graphics/FontData.h: + * svg/SVGFont.cpp: + (WebCore::isVerticalWritingMode): Add helper function. + (WebCore::Font::drawGlyphsWithSVGFont): + * svg/SVGFontElement.cpp: + (WebCore::SVGFontElement::collectGlyphs): Simplified implementation - SVGGlyphIdentifier now build by SVGGlyphElement. + * svg/SVGGlyphElement.cpp: + (WebCore::parseArabicForm): Helper function. + (WebCore::parseOrientation): Ditto. + (WebCore::parsePathData): Ditto. + (WebCore::SVGGlyphElement::buildGlyphIdentifier): + * svg/SVGGlyphElement.h: + (WebCore::SVGGlyphElement::rendererIsNeeded): + +2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Refactor SVGAnimationElement::parseValues into a generic function parseDelimitedString. + SVGAnimationElement needs to parse semicolon-seperated strings, SVGGlyphElement comma-seperated. + + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::parseMappedAttribute): + * svg/SVGParserUtilities.cpp: + (WebCore::parseDelimitedString): + * svg/SVGParserUtilities.h: + +2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Maciej. + + Add new helper structure SVGFontData - FontData holds this object as OwnPtr. + Store several attribute values there (horiz-adv-x, horiz-origin-x etc..) + + To optimize for the common case ('FontData' used for HTML rendering) it feels + better to hold one OwnPtr in FontData, than several floats. + + Parse all <font> attributes in SVGFontFaceElement::createFontData. + + * platform/graphics/FontData.cpp: + (WebCore::SVGFontData::SVGFontData): + (WebCore::FontData::FontData): + (WebCore::FontData::ascent): + (WebCore::FontData::descent): + * platform/graphics/FontData.h: + (WebCore::FontData::isSVGFont): + (WebCore::FontData::svgFontData): + * svg/SVGFont.cpp: + (WebCore::Font::drawGlyphsWithSVGFont): + * svg/SVGFontElement.cpp: + * svg/SVGFontElement.h: + (WebCore::SVGFontElement::rendererIsNeeded): + * svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::unitsPerEm): + (WebCore::SVGFontFaceElement::createFontData): + +2007-12-28 Darin Adler <darin@apple.com> + + - try to fix Windows and WX builds (broken by SVG Fonts check-in) + + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent, now that it requires it. + I can't see how it can be right to require the font size for ascent and descent, + but not for other metrics functions in FontData. + + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent and FontData::descent. + +2007-12-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Mark Rowe. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16650 + <rdar://problem/5664872> REGRESSION (r28278-r28314): ATSUI uses LTR writing direction for all text runs + + Covered by existing pixel tests. + + * platform/graphics/mac/FontMac.mm: + (WebCore::Font::drawComplexText): Corrected to maintain the style + information in the adjusted text run when passing it to + ATSUILayoutParameters. Prior to r28298 the style was passed separately. + +2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> + + Build fix, not reviewed. + + Add wtf/OwnPtr.h include, to fix --svg-fonts build. + + * css/SVGCSSFontFace.h: + +2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=10649 (WebKit SVG needs SVG Fonts support) + + Begin implementation of SVG Fonts module. Basic documents using SVG Fonts already work. + Only local, in-document fonts who declare their glyphs using the <glyph d="..."> path syntax + are supported. (<glyph> containing arbitary SVG content as child elements, not supported yet). + + Limited to single char <-> glyph mapping, no ligatures supported yet. + (ie. <glyph unicode='A'/> <glyph unicode='AB'/> - it ignores the 'AB' glyph definition for now) + + Mark all SVG Font related classes & usages in ENABLE(SVG_FONTS) blocks. + + No layout test changes for a --no-svg-fonts build, heavy changes if enabled. Because a lot of SVG Font + attributes are not processed yet, the rendering looks wrong - hence disabled by default.) + + * DerivedSources.make: Add SVGFontElement/SVGGlyphElement/SVGMissingGlyphElement + * WebCore.pro: Updated build system. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * bindings/js/JSSVGElementWrapperFactory.cpp: Add JSSVGFontElement/JSSVGGlyphElement/JSSVGMissingGlyphElement + * bindings/objc/DOM.mm: Ditto (for DOMSVG*). + (WebCore::createElementClassMap): + * bindings/objc/DOMInternal.h: Ditto. + * bindings/objc/DOMSVG.h: Ditto. + * css/CSSFontFace.h: Mark three functions 'virtual', to be overriden by SVGCSSFontFace + * css/CSSFontFaceSrcValue.h: Add functionality to identify as SVG CSS font face source. + (WebCore::CSSFontFaceSrcValue::m_fontFaceElement): Hold a pointer to the font face which created it. + (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): + (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement): + * css/CSSFontSelector.cpp: Build 'SVGCSSFontFace' objects for local, in-document SVG fonts. + (WebCore::CSSFontSelector::addFontFaceRule): + * css/SVGCSSFontFace.cpp: Added. (Simplified implementation for SVG Fonts) + (WebCore::SVGCSSFontFace::SVGCSSFontFace): + (WebCore::SVGCSSFontFace::~SVGCSSFontFace): + (WebCore::SVGCSSFontFace::isValid): + (WebCore::SVGCSSFontFace::addSource): + (WebCore::SVGCSSFontFace::getFontData): + * css/SVGCSSFontFace.h: Added. + * platform/graphics/cg/PathCG.cpp: + (WebCore::Path::closeSubpath): Silence a CG warning when calling closeSubpath() on empty path. + * platform/graphics/Font.cpp: Add some logic to call into SVG Font code when operating on SVG Fonts. + (WebCore::Font::ascent): Pass font size to FontData::ascent() call + (WebCore::Font::descent): Pass font size to FontData::descent() call + (WebCore::Font::canUseGlyphCache): Always return true for SVG fonts here. + (WebCore::Font::drawGlyphBuffer): Call drawGlyphsWithSVGFont (instead of drawGlyphs) if the primary font is a SVG font. + * platform/graphics/Font.h: Add (SVG-only!) ability to store a RenderObject pointer, to the element which invoked the drawText() call. + (WebCore::TextRun::TextRun): + (WebCore::TextRun::referencingRenderObject): + (WebCore::TextRun::setReferencingRenderObject): + * platform/graphics/FontData.cpp: + (WebCore::FontData::FontData): + (WebCore::FontData::ascent): + (WebCore::FontData::descent): + * platform/graphics/FontData.h: Store a pointer to the SVGFontFaceElement, which created this FontData object - needed for drawGlyphsWithSVGFont(). + (WebCore::FontData::isSVGFont): Offer a way to determine wheter this is a FontData object, created by a SVGFontFaceElement. + (WebCore::FontData::svgFontFace): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::calculateGlyphWidth): Add assertion. + * rendering/SVGRootInlineBox.cpp: + (WebCore::svgTextRunForInlineTextBox): Always call 'setReferencingRenderObject(myRenderSVGText)' on the new TextRun + * svg/SVGFont.cpp: Added. + (WebCore::Font::drawGlyphsWithSVGFont): Outsourced implementation of SVG Fonts into it's own file. + * svg/SVGFontElement.cpp: Added. (Note: this holds the GlyphHashMap which associates certain <glyph> objects with unicode values) + (WebCore::SVGFontElement::SVGFontElement): + (WebCore::SVGFontElement::~SVGFontElement): + (WebCore::SVGFontElement::parseMappedAttribute): + (WebCore::SVGFontElement::collectGlyphs): + (WebCore::SVGFontElement::glyphIdentifierForGlyphCode): + * svg/SVGFontElement.h: Added. + (WebCore::GlyphHash::hash): + (WebCore::GlyphHash::equal): + (WebCore::GlyphHashTraits::deletedValue): + (WebCore::SVGFontElement::rendererIsNeeded): + (WebCore::SVGFontElement::contextElement): + * svg/SVGFontElement.idl: Added. + * svg/SVGFontFaceElement.cpp: Build SVG specific 'FontData' object + (WebCore::SVGFontFaceElement::unitsPerEm): + (WebCore::SVGFontFaceElement::fontFamily): + (WebCore::SVGFontFaceElement::createFontData): Builds SVG specified 'FontData' object with the markup specified ascent/descent values etc.. + (WebCore::SVGFontFaceElement::rebuildFontFace): Construct CSSFontFaceSrc object (marked as 'isSVGFontFaceSrc') to satisfy CSSFontSelector::addFontFaceRule. + (WebCore::SVGFontFaceElement::insertedIntoDocument): Rebuild font face. + (WebCore::SVGFontFaceElement::glyphIdentifierForGlyphCode): Allows drawGlyphsWithSVGFont to access the glyph hash map living in the SVGFontElement. + * svg/SVGFontFaceElement.h: Fixed code formatting issues & wrap in ENABLE(SVG_FONTS) blocks. + * svg/SVGFontFaceElement.idl: Ditto. + * svg/SVGFontFaceFormatElement.cpp: Ditto. + * svg/SVGFontFaceFormatElement.h: Ditto. + * svg/SVGFontFaceFormatElement.idl: Ditto. + * svg/SVGFontFaceNameElement.cpp: Ditto. + * svg/SVGFontFaceNameElement.h: Ditto. + * svg/SVGFontFaceNameElement.idl: Ditto. + * svg/SVGFontFaceSrcElement.cpp: Ditto. + * svg/SVGFontFaceSrcElement.h: Ditto. + * svg/SVGFontFaceSrcElement.idl: Ditto. + * svg/SVGFontFaceUriElement.cpp: Ditto. + * svg/SVGFontFaceUriElement.h: Ditto. + * svg/SVGFontFaceUriElement.idl: Ditto. + * svg/SVGDefinitionSrcElement.cpp: Ditto. + * svg/SVGDefinitionSrcElement.h: Ditto. + * svg/SVGDefinitionSrcElement.idl: Ditto. + * svg/SVGGlyphElement.cpp: Added. + (WebCore::SVGGlyphElement::SVGGlyphElement): + (WebCore::SVGGlyphElement::parseMappedAttribute): + (WebCore::SVGGlyphElement::childrenChanged): + * svg/SVGGlyphElement.h: Added. + (WebCore::SVGGlyphElement::rendererIsNeeded): + (WebCore::SVGGlyphIdentifier::): Structure holding all data to represent a SVG glyph (origin, advance, orientation etc..) + (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): + * svg/SVGGlyphElement.idl: Added. + * svg/SVGMissingGlyphElement.cpp: Added. (stub implementation) + (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement): + (WebCore::SVGMissingGlyphElement::parseMappedAttribute): + (WebCore::SVGMissingGlyphElement::childrenChanged): + * svg/SVGMissingGlyphElement.h: Added. + (WebCore::SVGMissingGlyphElement::rendererIsNeeded): + * svg/SVGMissingGlyphElement.idl: Added. + * svg/svgtags.in: Wrap all SVGFont* elements in ENABLE(SVG_FONTS) block - to assure --no-svg-fonts compilation works (which is the default for now!). + +2007-12-27 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16628 + ASSERTION FAILED: m_resizeLayer (running layout tests) + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::~RenderLayer): Avoid calling + EventHandler::resizeLayerDestroyed() if the document is being destroyed. + +2007-12-27 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16603 + <rdar://problem/5664199> Crash when resizing text field + + Test: fast/layers/resize-layer-deletion-crash.html + + The event handler has only a weak reference to the layer that is + currently in resize mode, so it is the layer's responsibility to let + the event handler know if it has been destroyed while in that mode. + + * page/EventHandler.cpp: + (WebCore::EventHandler::resizeLayerDestroyed): Added. Resets + m_resizeLayer to 0. + * page/EventHandler.h: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::~RenderLayer): Added a call to + EventHandler::resizeLayerDestroyed() if the layer is in resize mode. + +2007-12-27 Collin Jackson <webkit@collinjackson.com> + + Reviewed by Sam Weinig. + + http://bugs.webkit.org/show_bug.cgi?id=16539 + <rdar://problem/5659269> + + The same-origin check was missing in the implementation of + setTimeout, setInterval, addEventListener, and removeEventListener. + + Suppose <http://www.badguy.com/> contains an iframe to + <http://www.goodguy.com/>. Now www.badguy.com can steal + www.goodguy.com cookies by running this code: + + setTimeout.call(frames[0], "alert(document.cookie)", 1000); + + This patch changes the behavior so that setTimeout to does + nothing and returns an undefined value if the caller is not + permitted to script the window whose setTimeout method is being + called. The same applies to setInterval, addEventListener, and + removeEventListener. + + Tests: http/tests/security/cross-frame-access-call.html + + * bindings/js/kjs_window.cpp: + (KJS::WindowProtoFuncSetTimeout::callAsFunction) + (KJS::WindowProtoFuncSetInterval::callAsFunction) + (KJS::WindowProtoFuncAddEventListener::callAsFunction) + (KJS::WindowProtoFuncRemoveEventListener::callAsFunction) + +2007-12-27 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt and Sam Weinig. + + - fix <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click + + Test: fast/layers/add-layer-with-nested-stacking.html + Test: fast/layers/remove-layer-with-nested-stacking.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::addChild): If the new child is overflow-only + but has children of its own, dirty the stacking context's z-order lists + since the grandchildren might need to be in them. + (WebCore::RenderLayer::removeChild): Similarly for the old child. + +2007-12-27 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16353 + [GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.) + + Added the flags mentioned in the bug only when doing 'debug' + builds. -DGST_DISABLE_DEPRECATED only added when video is enabled. + + * GNUmakefile.am: + * WebCore.pro: + +2007-12-27 Dan Bernstein <mitz@apple.com> + + Reviewed by Eric Seidel. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16490 + ASSERT in ~FrameView while viewing/reloading WICD test case + + Test: fast/dynamic/paused-event-dispatch.html + + * page/FrameView.cpp: + (WebCore::FrameView::~FrameView): + (WebCore::FrameView::layout): Changed to always pause event dispatch and + always resume event dispatch, regardless of whether the post-layout + task timer is active. However, if it is active, assert that event + dispatch is still paused. + +2007-12-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=14500 + need to be more generous about charset declaration with meta tag + + http://bugs.webkit.org/show_bug.cgi?id=12526 + <rdar://problem/4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html + + <rdar://problem/4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head + + <rdar://problem/5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website + + Tests: fast/encoding/ahram-org-eg.html + fast/encoding/bandai-co-jp-releases.html + fast/encoding/floraexpress-ru.html + fast/encoding/hanarei-blog32-fc2-com.html + fast/encoding/yahoo-mail.html + + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've + seen at least 512 bytes of input. + +2007-12-26 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16390 + Use autotools or GNU make as the build system for the GTK port + + * GNUmakefile.am: Added. + +2007-12-26 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Sam Weinig. + + http://bugs.webkit.org/show_bug.cgi?id=16609 + Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic + + * manual-tests/xmlhttprequest-contenttype-empty.html: Removed (moved to LayoutTests/http). + +2007-12-26 Mark Rowe <mrowe@apple.com> + + Windows build fix. + + * platform/Threading.h: + +2007-12-25 Rob Buis <buis@kde.org> + + Reviewed by Eric. + + http://bugs.webkit.org/show_bug.cgi?id=15514 + <clipPath> with <use> not respected + http://bugs.webkit.org/show_bug.cgi?id=16557 + SVG circle elements have been clipped away completely, instead of partially. + + Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use. + + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::canvasResource): + * svg/SVGStyledTransformableElement.h: + (WebCore::SVGStyledTransformableElement::toClipPath): + * svg/SVGUseElement.cpp: + (WebCore::isDirectReference): + (WebCore::SVGUseElement::toClipPath): + * svg/SVGUseElement.h: + +2007-12-25 Sam Weinig <sam@webkit.org> + + Reviewed by Eric Seidel. + + Clean up the files relating to NodeLists. + + * dom/ChildNodeList.cpp: + (WebCore::ChildNodeList::ChildNodeList): + (WebCore::ChildNodeList::length): + (WebCore::ChildNodeList::item): + (WebCore::ChildNodeList::nodeMatches): + * dom/ChildNodeList.h: + * dom/DynamicNodeList.cpp: + (WebCore::DynamicNodeList::itemForwardsFromCurrent): + (WebCore::DynamicNodeList::itemBackwardsFromCurrent): + (WebCore::DynamicNodeList::itemWithName): + * dom/DynamicNodeList.h: + (WebCore::DynamicNodeList::needsNotifications): + * dom/NameNodeList.cpp: + (WebCore::NameNodeList::NameNodeList): + (WebCore::NameNodeList::rootNodeAttributeChanged): + (WebCore::NameNodeList::nodeMatches): + * dom/NameNodeList.h: + * dom/NodeList.h: + * dom/SelectorNodeList.h: + +2007-12-25 Sam Weinig <sam@webkit.org> + + Fix non-mac builds. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + +2007-12-25 Sam Weinig <sam@webkit.org> + + Rubber stamped by Eric Seidel. + + Move TagNodeList into its own file. + + * WebCore.xcodeproj/project.pbxproj: + * dom/Node.cpp: + * dom/TagNodeList.cpp: Copied from dom/Node.cpp. + (WebCore::TagNodeList::TagNodeList): + * dom/TagNodeList.h: Copied from dom/Node.cpp. + +2007-12-25 Sam Weinig <sam@webkit.org> + + Reviewed by Eric Seidel. + + Simplify the NodeList architecture. + - Rename recursiveItem() to item(), since it is not recursive. + - Make recursiveLength() iterative and rename to length(). + - Remove now unneeded overrides of item() and length() that used + to call the recursive variants. + + * dom/ClassNodeList.cpp: + * dom/ClassNodeList.h: + * dom/DynamicNodeList.cpp: + (WebCore::DynamicNodeList::length): + (WebCore::DynamicNodeList::item): + (WebCore::DynamicNodeList::rootNodeAttributeChanged): Move implementation + into the .cpp file since virtual methods can't be inlined. + * dom/DynamicNodeList.h: + * dom/NameNodeList.cpp: + * dom/NameNodeList.h: + * dom/Node.cpp: + +2007-12-25 Alp Toker <alp@atoker.com> + + More complete GTK+/Qt/Wx/Win build fixes for breakage introduced in + r28981. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + +2007-12-25 Alp Toker <alp@atoker.com> + + Win build fix for breakage introduced in r28981. + + * WebCore.vcproj/WebCore.vcproj: + +2007-12-25 Alp Toker <alp@atoker.com> + + Wx build fix for breakage introduced in r28981. + + * WebCoreSources.bkl: + +2007-12-25 Alp Toker <alp@atoker.com> + + GTK+/Qt build fix for breakage introduced in r28981. + + * WebCore.pro: + +2007-12-25 David Smith <catfish.man@gmail.com> and Sam Weinig <sam@webkit.org> + + Reviewed by Oliver. + + - http://bugs.webkit.org/show_bug.cgi?id=16587 + Implement the most useful part of the W3C Selectors API. + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.h: Make Node a friend of CSSStyleSelector so it can use checkSelector() + * dom/ChildNodeList.cpp: + (WebCore::ChildNodeList::ChildNodeList): Change to being a DynamicNodeList + * dom/ChildNodeList.h: + * dom/ClassNodeList.cpp: + (WebCore::ClassNodeList::ClassNodeList): Change to being a DynamicNodeList + * dom/ClassNodeList.h: + * dom/Document.idl: Add the new functions + * dom/DynamicNodeList.cpp: Copied from WebCore/dom/NodeList.cpp. + (WebCore::DynamicNodeList::DynamicNodeList): Rename NodeList to DynamicNodeList, to differentiate it from the new StaticNodeList + (WebCore::DynamicNodeList::~DynamicNodeList): + (WebCore::DynamicNodeList::recursiveLength): + (WebCore::DynamicNodeList::itemForwardsFromCurrent): + (WebCore::DynamicNodeList::itemBackwardsFromCurrent): + (WebCore::DynamicNodeList::recursiveItem): + (WebCore::DynamicNodeList::itemWithName): + (WebCore::DynamicNodeList::rootNodeChildrenChanged): + (WebCore::DynamicNodeList::Caches::Caches): + (WebCore::DynamicNodeList::Caches::reset): + * dom/DynamicNodeList.h: Copied from WebCore/dom/NodeList.h. + (WebCore::DynamicNodeList::rootNodeAttributeChanged): + * dom/Element.idl: Add the new functions + * dom/NameNodeList.cpp: Change to being a DynamicNodeList + (WebCore::NameNodeList::NameNodeList): + * dom/NameNodeList.h: + (WebCore::NameNodeList::rootNodeAttributeChanged): + * dom/Node.cpp: + (WebCore::TagNodeList::TagNodeList): Change to being a DynamicNodeList + (WebCore::Node::registerDynamicNodeList): + (WebCore::Node::unregisterDynamicNodeList): + (WebCore::Node::getElementsByName): + (WebCore::Node::getElementsByClassName): + (WebCore::Node::querySelector): new + (WebCore::Node::querySelectorAll): new + * dom/Node.h: + * dom/NodeList.cpp: Removed. + * dom/NodeList.h: This is now an abstract superclass of DynamicNodeList and StaticNodeList + (WebCore::NodeList::NodeList): + (WebCore::NodeList::~NodeList): + * dom/SelectorNodeList.cpp: Added. + (WebCore::SelectorNodeList::SelectorNodeList): New StaticNodeList subclass that filters elements by CSS selector + * dom/SelectorNodeList.h: Added. + * dom/StaticNodeList.cpp: Added. + (WebCore::StaticNodeList::length): + (WebCore::StaticNodeList::item): + (WebCore::StaticNodeList::itemWithName): + * dom/StaticNodeList.h: Added. + (WebCore::StaticNodeList::StaticNodeList): + (WebCore::StaticNodeList::~StaticNodeList): + +2007-12-25 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64. + http://bugs.webkit.org/show_bug.cgi?id=16596 + + This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use + of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded + access to a single ThreadSafeShared object. + + The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation. + + * platform/Threading.h: + (WebCore::atomicIncrement): + (WebCore::atomicDecrement): + (WebCore::ThreadSafeShared::ThreadSafeShared): + (WebCore::ThreadSafeShared::ref): Use lock-free operations if available. + (WebCore::ThreadSafeShared::deref): Ditto. + (WebCore::ThreadSafeShared::hasOneRef): + (WebCore::ThreadSafeShared::refCount): + (WebCore::ThreadSafeShared::isThreadSafe): + +2007-12-24 Darin Adler <darin@apple.com> + + * platform/text/PlatformString.h: Removed now-incorrect comment. + Added a comment about copy(). + * platform/text/StringImpl.h: Added a comment about copy(). + +2007-12-24 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=16550 + make StringImpl immutable + + I tried to keep the changes to a minimum. In some cases there is + room for optimization -- I didn't try to add in the "single ref count" + optimizations and there might be a tiny bit more string copying than + we had before. + + * WebCore.base.exp: Updated. + + * dom/CharacterData.cpp: + (WebCore::CharacterData::appendData): Changed to use String since + StringImpl doesn't have mutating functions any more. + (WebCore::CharacterData::insertData): Ditto. + (WebCore::CharacterData::deleteData): Ditto. + (WebCore::CharacterData::replaceData): Ditto. + * dom/Text.cpp: + (WebCore::Text::splitText): Changed to use substring instead of + remove since StringImpl does't have mutating functions any more. + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::deleteInsignificantText): Changed + to use String instead of StringImpl so we can use remove. + + * platform/text/PlatformString.h: Removed newUninitialized. + Added append that takes a character pointer and length. + + * platform/text/String.cpp: + (WebCore::String::insert): Added an implementation that does not + rely on an underlying StringImpl function. + (WebCore::String::append): Ditto. + (WebCore::String::truncate): Ditto. + (WebCore::String::remove): Ditto. + (WebCore::String::charactersWithNullTermination): Added an + implementation that uses the new StringImpl null termination feature, + which does not require modifying a string. + + * platform/text/StringImpl.cpp: + (WebCore::isSpace): Fix comment. + (WebCore::StringImpl::StringImpl): Added a new constructor that makes + a string with a trailing null character. + (WebCore::StringImpl::substring): Marked const. + (WebCore::StringImpl::replace): Marked const; had to add quite a few + const_cast. Also rewrote one of these to work without modifying the + existing string. + + * platform/text/StringImpl.h: Fixed a mistake where the empty string had + m_hasTerminatingNullCharacter uninitialized. Added a type and constructor + for creating strings that have a trailing null character. Added a + hasTerminatingNullCharacter function. Removed newUninitialized, + charactersWithNullTermination, append, insert, truncate, and remove. + Marked lots of other functions const. + + * platform/text/TextCodecLatin1.cpp: + (WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of + newUninitialized. + * platform/text/TextCodecUTF16.cpp: + (WebCore::TextCodecUTF16::decode): Ditto. + * platform/text/TextCodecUserDefined.cpp: + (WebCore::TextCodecUserDefined::decode): Ditto. + + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::setContent): Changed to use String since + StringImpl doesn't have mutating functions any more. + +2007-12-24 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Oliver. + + Fix fast/events/arrow-keys-on-body.html, failing on Windows. + + * platform/win/KeyEventWin.cpp: + (WebCore::isKeypadEvent): + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + Use HIWORD() macro instead of shifting the value explicitly (no change in behavior). + +2007-12-23 Alexey Proskuryakov <ap@webkit.org> + + Fix Debug and Release QTMovieWin bulds. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/debug.vsprops: + * WebCore.vcproj/debug_internal.vsprops: + * WebCore.vcproj/release.vsprops: + Use LibraryConfigSuffix instead of WebKitConfigSuffix for pthreadVC2. + Build release import lib into \lib, not \bin. + +2007-12-23 Alp Toker <alp@atoker.com> + + Reviewed by Holger Freyther. + + http://bugs.webkit.org/show_bug.cgi?id=15382 + [CAIRO] Canvas pattern support + + http://bugs.webkit.org/show_bug.cgi?id=16577 + Merge Cairo enhancements from Apollo project + + Add support for canvas patterns. + + Make Image::nativeImageForCurrentFrame() public. + + Fix some typos along the way. + + The globalAlpha canvas fixes are not included in this patch as + they're slightly more intrusive and may conflict conceptually with + GraphicsContext::setAlpha(). + + * html/CanvasPattern.cpp: + (WebCore::CanvasPattern::CanvasPattern): + (WebCore::CanvasPattern::~CanvasPattern): + (WebCore::CanvasPattern::createPattern): + * html/CanvasPattern.h: + (WebCore::CanvasPattern::platformImage): + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::setShadow): + (WebCore::CanvasRenderingContext2D::applyShadow): + (WebCore::CanvasRenderingContext2D::drawImage): + (WebCore::CanvasRenderingContext2D::createPattern): + (WebCore::CanvasRenderingContext2D::applyStrokePattern): + (WebCore::CanvasRenderingContext2D::applyFillPattern): + * platform/graphics/Image.h: + (WebCore::Image::nativeImageForCurrentFrame): + +2007-12-23 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Eric Seidel. + + Remove getWxBitmap as we have nativeImageForCurrentFrame now, + and don't draw a border in fillRect. + + * platform/graphics/BitmapImage.h: + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::fillRect): + * platform/graphics/wx/ImageWx.cpp: + +2007-12-23 Alp Toker <alp@atoker.com> + + Reviewed by Holger Freyther. + + http://bugs.webkit.org/show_bug.cgi?id=16577 + Merge Cairo enhancements from Apollo project + + This patch is based on initial merging work by Brent Fulgham. Adobe's + code has been modified in a few places to better suit the existing + coding style. + + Implement more clipping and drawing functions. + + Save and restore the fill rule manually when clipping. + + Avoid image surface creation when the image buffer has height zero. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::clip): + (WebCore::GraphicsContext::addInnerRoundedRectClip): + (WebCore::GraphicsContext::addPath): + (WebCore::GraphicsContext::clipOut): + (WebCore::GraphicsContext::clipOutEllipseInRect): + (WebCore::GraphicsContext::fillRoundedRect): + * platform/graphics/cairo/ImageSourceCairo.cpp: + (WebCore::ImageSource::createFrameAtIndex): + +2007-12-23 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Mark. + + Fix wrong placed ifdef - wrapping SVGDefsElement, instead of SVGDefinitionSrcElement in SVG_FONTS block. + + * bindings/objc/DOM.mm: + (WebCore::createElementClassMap): + +2007-12-22 Alp Toker <alp@atoker.com> + + GTK+ build fix + + GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass + empty target flags for now. + + Check GTK+, not GLib versions, since they are different. + + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::documentFragment): + +2007-12-22 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16311 + [Gtk] Copy rich text to clipboard as text/plain and text/html. + + Hook into the WebView to get the correct clipboard object on the + appropriate display. This is necessary because GTK+ does not have + global clipboards. + + * WebCore.pro: + * platform/Pasteboard.h: + (WebCore::Pasteboard::setHelper): added for GTK + (WebCore::Pasteboard::m_helper): private added for GTK + * platform/gtk/PasteboardGtk.cpp: + (WebCore::PasteboardSelectionData): added to support GTK selection data callback + (WebCore::clipboard_get_contents_cb): added + (WebCore::clipboard_clear_contents_cb): added + (WebCore::Pasteboard::~Pasteboard): + (WebCore::Pasteboard::setHelper): + (WebCore::Pasteboard::writeSelection): copy rich text + (WebCore::Pasteboard::documentFragment): + (WebCore::Pasteboard::plainText): + * platform/gtk/PasteboardHelper.h: Added. + +2007-12-22 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=15966 (Crash in SVGRootInlineBox::walkTextChunks() on mouse hover) + + Add new isSVGRootInlineBox() function to InlineBox to be able to differentiate between RootInlineBox/SVGRootInlineBox. + SVG assumed it's root inline box (for <text> elements) is always of type SVGRootInlineBox, which is not the case + for HTML text in <foreignObject>. Text selection doesn't work so far as line box offsets are wrong - which is visible + in Web Inspector. + + * rendering/InlineBox.h: + (WebCore::InlineBox::isSVGRootInlineBox): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::svgRootInlineBox): + (WebCore::SVGInlineTextBox::closestCharacterToPosition): + (WebCore::SVGInlineTextBox::selectionRect): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeSVGInlineTextBox): + * rendering/SVGRootInlineBox.h: + (WebCore::SVGRootInlineBox::isSVGRootInlineBox): + +2007-12-22 Alp Toker <alp@atoker.com> + + LOW_BANDWIDTH_DISPLAY build fix + + Track recent KURL DeprecatedString changes. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): + +2007-12-22 Dan Bernstein <mitz@apple.com> + + - Windows build fix + + * WebCore.vcproj/WebCore.vcproj: + +2007-12-22 Xan Lopez <xan@gnome.org> + + Reviewed by Alp Toker. + + Add missing return 0 to fix a compile warning. + + * page/gtk/FrameGtk.cpp: + (WebCore::Frame::createScriptInstanceForWidget): + +2007-12-21 Antti Koivisto <antti@apple.com> + + Reviewed by Darin, Adam and Steve. + + Add media playback support for Windows. + + The implementation uses low level QuickTime API. DLL is + needed to work around CF use in both WebKit and QuickTime. + + This makes Windows build depend on the QuickTime SDK + + http://developer.apple.com/quicktime/download/ + + but not QuickTime itself. + + QTMovieWinTimer contains some copy code from SharedTimerWin. It + is used in the QuickTime access DLL which can't use WebCore + SharedTimer due to dependency problems. + + * WebCore.vcproj/QTMovieWin.vcproj: Added. + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/build-generated-files.sh: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::setSrc): + * platform/graphics/MediaPlayer.cpp: + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Added. + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::load): + (WebCore::MediaPlayerPrivate::play): + (WebCore::MediaPlayerPrivate::pause): + (WebCore::MediaPlayerPrivate::duration): + (WebCore::MediaPlayerPrivate::currentTime): + (WebCore::MediaPlayerPrivate::seek): + (WebCore::MediaPlayerPrivate::doSeek): + (WebCore::MediaPlayerPrivate::cancelSeek): + (WebCore::MediaPlayerPrivate::seekTimerFired): + (WebCore::MediaPlayerPrivate::setEndTime): + (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded): + (WebCore::MediaPlayerPrivate::endPointTimerFired): + (WebCore::MediaPlayerPrivate::paused): + (WebCore::MediaPlayerPrivate::seeking): + (WebCore::MediaPlayerPrivate::naturalSize): + (WebCore::MediaPlayerPrivate::hasVideo): + (WebCore::MediaPlayerPrivate::setVolume): + (WebCore::MediaPlayerPrivate::setMuted): + (WebCore::MediaPlayerPrivate::setRate): + (WebCore::MediaPlayerPrivate::dataRate): + (WebCore::MediaPlayerPrivate::maxTimeBuffered): + (WebCore::MediaPlayerPrivate::maxTimeSeekable): + (WebCore::MediaPlayerPrivate::maxTimeLoaded): + (WebCore::MediaPlayerPrivate::bytesLoaded): + (WebCore::MediaPlayerPrivate::totalBytesKnown): + (WebCore::MediaPlayerPrivate::totalBytes): + (WebCore::MediaPlayerPrivate::cancelLoad): + (WebCore::MediaPlayerPrivate::updateStates): + (WebCore::MediaPlayerPrivate::didEnd): + (WebCore::MediaPlayerPrivate::setRect): + (WebCore::MediaPlayerPrivate::setVisible): + (WebCore::MediaPlayerPrivate::paint): + (WebCore::MediaPlayerPrivate::getSupportedTypes): + (WebCore::MediaPlayerPrivate::movieEnded): + (WebCore::MediaPlayerPrivate::movieLoadStateChanged): + (WebCore::MediaPlayerPrivate::movieTimeChanged): + (WebCore::MediaPlayerPrivate::movieNewImageAvailable): + * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Added. + (WebCore::MediaPlayerPrivate::networkState): + (WebCore::MediaPlayerPrivate::readyState): + * platform/graphics/win/QTMovieWin.cpp: Added. + (updateTaskTimer): + (QTMovieWinPrivate::QTMovieWinPrivate): + (QTMovieWinPrivate::~QTMovieWinPrivate): + (taskTimerFired): + (QTMovieWinPrivate::startTask): + (QTMovieWinPrivate::endTask): + (QTMovieWinPrivate::task): + (QTMovieWinPrivate::registerDrawingCallback): + (QTMovieWinPrivate::drawingComplete): + (QTMovieWinPrivate::createGWorld): + (QTMovieWinPrivate::setSize): + (QTMovieWinPrivate::deleteGWorld): + (QTMovieWin::QTMovieWin): + (QTMovieWin::~QTMovieWin): + (QTMovieWin::play): + (QTMovieWin::pause): + (QTMovieWin::rate): + (QTMovieWin::setRate): + (QTMovieWin::duration): + (QTMovieWin::currentTime): + (QTMovieWin::setCurrentTime): + (QTMovieWin::setVolume): + (QTMovieWin::setMuted): + (QTMovieWin::dataSize): + (QTMovieWin::maxTimeLoaded): + (QTMovieWin::loadState): + (QTMovieWin::getNaturalSize): + (QTMovieWin::setSize): + (QTMovieWin::setVisible): + (QTMovieWin::paint): + (QTMovieWin::load): + (movieDrawingCompleteProc): + (initializeSupportedTypes): + (QTMovieWin::countSupportedTypes): + (QTMovieWin::getSupportedType): + (QTMovieWin::initializeQuickTime): + (DllMain): + * platform/graphics/win/QTMovieWin.h: Added. + * platform/graphics/win/QTMovieWinTimer.cpp: Added. + (TimerWindowWndProc): + (initializeOffScreenTimerWindow): + (setSharedTimerFiredFunction): + (timerFired): + (setSharedTimerFireDelay): + (stopSharedTimer): + (setSharedTimerInstanceHandle): + (systemTime): + * platform/graphics/win/QTMovieWinTimer.h: Added. + * rendering/RenderMedia.cpp: + (WebCore::MediaControlPlayButtonElement::update): + +2007-12-21 Brent Fulgham <bfulgham@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16558 + Cairo WebCore Rendering Fails on arc drawing + + Fix for bug reported (and patched) by Apollo team in which + arcs were draw in reverse (resulting in inverted images). + Review of the source found that the 'clockwise' term was + actually meant to mean 'anticlockwise' so the IDL and + supporting classes have been changed to match this. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::arc): + * html/CanvasRenderingContext2D.idl: + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::addArc): + (WebCore::Path::addEllipse): + * platform/graphics/Path.h: + +2007-12-21 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Oliver. + + <rdar://problem/5629995> Incorrect display of Danish characters on web site. + + Test: http/tests/xmlhttprequest/response-encoding.html + + * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): + Default to UTF-8 for HTML, too. It's unfortunate that we have to use different + rules for main content and XHR responses, but this matches both IE and Firefox. + +2007-12-20 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Kevin Decker. + + <rdar://problem/5655797> REGRESSION(304-306A10) Safari does not find + shockwave plugin on freshly installed OS + + Look for Director plugin in its native directory. + + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::PluginDatabaseWin::getPluginsInPaths): The Director plugin + doesn't start with "np," so special case its filename. + (WebCore::addMacromediaPluginPaths): Add Flash and "Shockwave 10" + directories to the plugin paths. + (WebCore::PluginDatabaseWin::defaultPluginPaths): + +2007-12-20 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16508 + Fix regression in GIFImageDecoder.cpp: "Haeberli hack" led to wrongly + decoded transparent areas. + + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::haveDecodedRow): + * platform/image-decoders/gif/GIFImageDecoder.h: + * platform/image-decoders/gif/GIFImageReader.cpp: + (GIFImageReader::output_row): + +2007-12-20 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/5543472> GoogleDocs: Safari hangs when creating a list from a particular selection + + Still need to fix similar issues with the other operations that iterate + over selected paragraphs, like FormatBlock, Indent and Outdent (<rdar://problem/5658933>). + + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::indentRegion): Added a FIXME. + * editing/IndentOutdentCommand.h: Removed an unused function. + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::modifyRange): + Renamed visibleStart to startOfSelection and visibleEnd to endOfSelection. + Call the new selectionForParagraphIteration, which a) prevents operations like this + one from being performed on a table that isn't fully selected (where the selection + starts just before the table and ends inside it), and b) helps prevent paragraph + iteration from going past the end of the selection. + Call the new startOfNextParagraph, instead of using endOfParagraph(v).next(), + since when v is in the last paragraph of the last cell of a table, that expression + will return the position after the table, not the start of the next paragraph. + * editing/htmlediting.cpp: + (WebCore::enclosingListChild): Don't go above a table cell, so that list operations + take effect inside the table cell where they are performed. + (WebCore::selectionForParagraphIteration): Added, see above. + (WebCore::indexForVisiblePosition): Moved from IndentOutdentCommand.cpp. + * editing/htmlediting.h: + * editing/visible_units.cpp: + (WebCore::startOfNextParagraph): Added, see above. + * editing/visible_units.h: + * editing/TextIterator.h: + (WebCore::TextIterator::exitNode): Added a FIXME. + +2007-12-20 Alp Toker <alp@atoker.com> + + Rubber-stamped by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16542 + [GTK] Text is missing with old Pango version + + Back out commits r28880, r28876, r28865, r28864 which added Pango font + selection support. These changes caused a regression where no text was + displayed with older Pango versions. + + * platform/graphics/gtk/FontCacheGtk.cpp: + (WebCore::FontCache::fontExists): + * platform/graphics/gtk/FontDataGtk.cpp: + (WebCore::FontData::platformDestroy): + (WebCore::FontData::containsCharacters): + * platform/graphics/gtk/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::hash): + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::init): + (WebCore::FontPlatformData::~FontPlatformData): + (WebCore::FontPlatformData::isFixedPitch): + (WebCore::FontPlatformData::operator==): + * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: + (WebCore::GlyphPage::fill): + +2007-12-20 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam Weinig. + + <rdar://problem/5604897> Double-clicking on JavaScript console error + won't show the line where it occurred + + Make the URLs clickable in the console, since double clicking is used for + word text selection. Makes the word "line" localizable. Messages that don't + have a URL will no longer print "undefined". Messages that have a line number + less than or equal to 0 will no longer be printed. + + * English.lproj/InspectorLocalizedStrings.js: Add "%s (line %d)". + * page/inspector/ConsolePanel.js: Tweak how the DOM nodes are created + and change the click handler to look for a link with the + "console-message-url" class name. + * page/inspector/SourcePanel.js: Call setupSourceFrameIfNeeded() if a + line row is needed. + * page/inspector/inspector.css: Update the look of the URL in the console. + +2007-12-20 Adam Barth <hk9565@gmail.com> + + Reviewed and landed by Sam Weinig. + + http://bugs.webkit.org/show_bug.cgi?id=15313 + <rdar://problem/5514516> + + The same-origin check was incorrect in two cases (both fixed in this + patch): + + A) If both the source and the target have set their document.domain + to the same value, the protocol must also match in order for + access to be allowed. Without this requirement, the browser is + vulnerable to the following attack: + + 1) Suppose there is an HTTPS site (www.example.com) that sets + document.domain = "example.com". + 2) A network attacker redirects the browser to http://www.example.com/ + a) injects script to set document.domain = "example.com", and + b) opens a window to https://www.example.com/ + 3) Now the network attacker can inject script into the HTTPS page, + stealing cookies and issuing banking transactions. + + B) If only one of the source and target has set document.domain, then + access should be denied. With this behavior, the browser is + vulnerable to the following attack: + + 1) Suppose http://foo.example.com/ opens an iframe to + http://foo.example.com/frame.html that + a) sets document.domain = "example.com", and + b) opens an iframe to http://bar.example.com/ + This is a common usage of document.domain for cross-domain + communication, see for example: + http://www.collinjackson.com/research/papers/fp801-jackson.pdf + 2) The inner-most iframe, which is from bar.example.com, sets + document.domain = "example.com". + 3) Now the inner-most iframe can inject script into the middle + iframe (say via document.write). This bar.example.com script + now has access to the outer-most frame (from foo.example.com). + + Both these changes cause WebKit to match the behavior of Firefox 2 and + IE6 in these cases. This patch includes regression tests for both + issues. + + Internet Explorer 7 and Opera 9 are more strict in that they require + the port numbers to match when both pages have document.domain set. + Opera 9 allows access when only one page has set document.domain, but + this is a security vulnerability. + + Tests: http/tests/security/cross-frame-access-child-explicit-domain.html + http/tests/security/cross-frame-access-parent-explicit-domain.html + + * bindings/js/kjs_window.cpp: + (KJS::createWindow): + (KJS::Window::allowsAccessFrom): + * dom/Document.cpp: + (WebCore::Document::domain): + (WebCore::Document::setDomain): + (WebCore::Document::initSecurityOrigin): + * dom/Document.h: + (WebCore::Document::securityOrigin): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::begin): + (WebCore::FrameLoader::checkCallImplicitClose): + (WebCore::FrameLoader::shouldAllowNavigation): + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::setForURL): + (WebCore::SecurityOrigin::createForFrame): + (WebCore::SecurityOrigin::canAccess): + * platform/SecurityOrigin.h: + (WebCore::SecurityOrigin::domain): + * storage/Database.cpp: + (WebCore::Database::openDatabase): + (WebCore::Database::Database): + (WebCore::Database::securityOriginData): + * storage/Database.h: + (WebCore::Database::databaseDebugName): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::canEstablishDatabase): + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::postflightAndCommit): + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): + +2007-12-20 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Darin Adler. + + Define XP_UNIX when building with plugins on X11. + Use new npruntime_internal.h instead of npruntime.h. + http://bugs.webkit.org/show_bug.cgi?id=15669 + + * ForwardingHeaders/bindings/npruntime_internal.h + * WebCore.pro: + * html/HTMLPlugInElement.h: + +2007-12-19 johnnyding.webkit <johnnyding.webkit@gmail.com> + + Reviewed by Alexey. Landed by Stephanie. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16179 | <rdar://problem/5619399> + Any attribute name start with a unicode which like #xx00(x could be any hex number[0-9a-f]) will cause HTMLTokenizer parse error + Actually any unicode characters which great than 255 in attribute name will cause Webkit parse the attribute name wrong. So after comparing + the same scenario in IE 6/7, FireFox 2/3, Opera, we should treat those characters as part of attribute name. + + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseEntity): Handle Unicode Entity Name by using ASCII version of findEntity. + (WebCore::HTMLTokenizer::parseTag): Let type of ptr match type of cBuffer. + * html/HTMLTokenizer.h: Change type of cBuffer from char to UChar. + +2007-12-20 Eric Seidel <eric@webkit.org> + + Reviewed by Nikolas Zimmermann. + + WebKit claims to support SVG feature strings it shouldn't + http://bugs.webkit.org/show_bug.cgi?id=15480 + + * dom/DOMImplementation.cpp: + (WebCore::isSVG10Feature): + (WebCore::isSVG11Feature): + +2007-12-20 John Sullivan <sullivan@apple.com> + + Reviewed by Oliver and Geoff + + - fix <rdar://problem/5536858> Yellow highlight for find results is sometimes shorter + than white "hole" behind it + + * rendering/RenderText.cpp: + (WebCore::RenderText::addLineBoxRects): + respect useSelectionHeight in all cases; we were only respecting it in one of the two cases + +2007-12-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5656368> REGRESSION(3.0.4-ToT): Acid2 test fails to render anything + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::maximumScroll): Changed back to return the maximum + scroll offsets even if scrolling is not allowed, because navigation and + scrollTo should still work. + (WebCore::ScrollView::wheelEvent): Added early return if scrolling is + not allowed. + +2007-12-17 Tony Chang <idealisms@gmail.com> + + Reviewed by Darin. + + - Fix for http://bugs.webkit.org/show_bug.cgi?id=16479 + text selection does not always begin at mouse down point + Reset the m_dragSrc object on mouse down on all platforms. + + Test: fast/text/reset-drag-on-mouse-down.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::mouseDown): + +2007-12-19 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Oliver Hunt. + + Build support: + * ForwardingHeaders/kjs/SymbolTable.h: Added. + * ForwardingHeaders/wtf/VectorTraits.h: Added. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): Replaced use of + getDirectLocation with getOwnPropertySlot. getDirectLocation is no + longer valid, since global declarations are not stored in the property + map. + + (WebCore::JSDOMWindow::customPut): Replaced use of JSObject::put with + JSGlobalObject::put. JSObject::put is no longer valid, since global + declarations are not stored in the property map. + + * bindings/js/kjs_window.cpp: Replaced JSObject:: calls with Base:: + calls, since JSObject is not our base class. This was always a bug, but + the bug is even more apparent after some of my changes. + + (KJS::Window::clear): Removed call to clearProperties because + JSGlobalObject::reset takes care of that now. + + * history/CachedPage.cpp: + * history/CachedPage.h: Added support for saving a symbol table and + localStorage to the page cache, and restoring it. + +2007-12-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler and Dave Hyatt. + + - Substitute the user's preferred standard font for an unknown primary + font before falling back on the platform's last resort font + + Cannot be tested in DumpRenderTree because it sets the standard font to + Times, which is also the hard-coded last resort font on Mac. + + * css/CSSFontSelector.cpp: + (WebCore::CSSFontSelector::getFontData): Changed the early bail out + condition to allow getting generic font families from settings even if + there are not @font-face rules. Fixed a typo that mapped fantasy to + cursive. Added a mapping from -webkit-standard to the standard family. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): Changed to always create + a font selector. + (WebCore::CSSRuleSet::addRulesFromSheet): + (WebCore::CSSStyleSelector::applyProperty): Changed to always use the + font selector. + * css/CSSStyleSelector.h: + (WebCore::CSSStyleSelector::fontSelector): + * platform/graphics/FontCache.cpp: + (WebCore::FontCache::getFontData): Try the user's preferred standard + font before the platform's last resort font. + +2007-12-19 Sven Herzberg <sven@imendio.com> + + Reviewed by Alp Toker. + + Scaled font destruction takes place in FontData::platformDestroy(). No + need to do it in FontPlatformData::~FontPlatformData(). + + Destroying platform data in platformDestroy() is a convention we + borrow from the Mac and Win ports. + + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + +2007-12-19 Alice Liu <alice.liu@apple.com> + + build fix (Windows) + + Changed uint to unsigned int. uint caused Windows build breakage + + * page/Page.cpp: + (WebCore::Page::markAllMatchesForText): + * page/Page.h: + +2007-12-19 Christian Dywan <christian@twotoasts.de> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16222 + [GTK] Implement inline search and highlighting of matching strings. + + Implement search and highlighting logic directly in WebCore. + + * page/Page.cpp: + (WebCore::incrementFrame): + (WebCore::Page::findString): + (WebCore::Page::markAllMatchesForText): + (WebCore::Page::unmarkAllTextMatches): + * page/Page.h: + +2007-12-19 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig, Dan Bernstein. + + Tiger build fix: restored some graphics code still needed on Tiger. + + * platform/graphics/GraphicsTypes.h: + * platform/graphics/cg/GraphicsContextCG.cpp: + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::setCompositeOperation): + +2007-12-19 Alp Toker <alp@atoker.com> + + Build fix for Pango < 1.18.0 breakage introduced in r28864. Use Fc and + the Pango backend API in these cases. + + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::~FontPlatformData): + +2007-12-19 Alice Liu <alice.liu@apple.com> + + Reviewed by Darin. + + Fixed <rdar://problem/5592485> Safari crashed trying to get a motorcycle insurance quote + on Geico.com WebCore::Document::inPageCache() + + Calling Node::willRemove on the focusedNode would immediately tell the document to remove + the focused node, and trigger JS events. This means that the document is mutated while + the engine is trying to tell all child nodes that it's about to removed. To avoid + crashing, we need to hold off on mutating the document until node traversal is finished. + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChild): + (WebCore::ContainerNode::removeChildren): + * dom/Node.cpp: + * dom/Node.h: + (WebCore::Node::willRemove): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::clear): + +2007-12-19 Andre Boule <aboule@apple.com> + + Reviewed by Dan Bernstein. + + Test: fast/canvas/canvas-composite.html + + Fix for: + <rdar://problem/5640059> GraphicsContext::setCompositeOperation should use CGContextSetBlendMode + + This fix makes setCompositeOperation consistent across all platforms that use CG. + + The following compositing modes don't pass however that is covered by another bug: + source-in + source-out + destination-in + destination-atop + copy + <rdar://problem/5651783> Some canvas tag compositing modes don't render correctly + + * platform/graphics/GraphicsTypes.h: + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setCompositeOperation): + * platform/graphics/mac/GraphicsContextMac.mm: + * platform/win/GraphicsContextWin.cpp: + +2007-12-19 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5650045> REGRESSION: major layout problems in svn r28754 WebKit on Vox.com page + + Test: fast/dynamic/subtree-boundary-percent-height.html + + * rendering/RenderObject.cpp: + (WebCore::objectIsRelayoutBoundary): Do not allow overflows with + percent heights because sometimes they compute to 'auto'. + +2007-12-19 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16511 + Speed up ClassNodeList and NamedNodeList by using the caching mechanism employed by ChildNodeList. + - This give a ~2.15x speedup on the native test @ http://ejohn.org/apps/classname/ + + * dom/ChildNodeList.cpp: Use the caching NodeList constructor to turn on caching. + (WebCore::ChildNodeList::ChildNodeList): + * dom/ClassNodeList.cpp: + (WebCore::ClassNodeList::ClassNodeList): + * dom/ClassNodeList.h: + + Move getElementsByName and getElementsByClassName to Node so they + can use easily employ the caching already used by ChildNodeLists. In the case of + getElementsByClassName, this reduces code duplication in Element as well + * dom/Document.cpp: + * dom/Document.h: + + Move getElementsByClassName to Node. + * dom/Element.cpp: + * dom/Element.h: + + * dom/NameNodeList.cpp: Use the caching NodeList constructor to turn on caching. + (WebCore::NameNodeList::NameNodeList): + (WebCore::NameNodeList::item): + * dom/NameNodeList.h: + + Add maps of caches for ClassNodeLists and NameNodeList to NodeListsNodeData. + * dom/Node.cpp: + (WebCore::TagNodeList::TagNodeList): + (WebCore::Node::Node): + (WebCore::Node::~Node): + (WebCore::Node::childNodes): + (WebCore::Node::registerNodeList): + (WebCore::Node::getElementsByName): + (WebCore::Node::getElementsByClassName): + * dom/Node.h: Make m_nodeLists an OwnPtr. Moved getElementsByName and getElementsByClassName here + + Allow subclasses to choose whether they want to receive the notifications using a new bit. + * dom/NodeList.cpp: + (WebCore::NodeList::NodeList): + * dom/NodeList.h: + (WebCore::NodeList::needsNotifications): + +2007-12-19 Dave Hyatt <hyatt@apple.com> + + Add support for GDI text rendering to WebKit. + + Reviewed by mitz + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * dom/Document.cpp: + (WebCore::Document::recalcStyle): + * page/Settings.cpp: + (WebCore::Settings::setFontRenderingMode): + (WebCore::Settings::fontRenderingMode): + * page/Settings.h: + * platform/graphics/Font.h: + (WebCore::Font::renderingMode): + * platform/graphics/FontCache.cpp: + (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): + (WebCore::FontPlatformDataCacheKey::operator==): + (WebCore::computeHash): + (WebCore::FontCache::getCachedFontPlatformData): + * platform/graphics/FontDescription.h: + (WebCore::): + (WebCore::FontDescription::FontDescription): + (WebCore::FontDescription::renderingMode): + (WebCore::FontDescription::setRenderingMode): + (WebCore::FontDescription::operator==): + * platform/graphics/GraphicsContext.h: + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::fontExists): + (WebCore::FontCache::createFontPlatformData): + * platform/graphics/win/FontDataWin.cpp: + (WebCore::FontData::platformInit): + (WebCore::FontData::smallCapsFontData): + (WebCore::FontData::containsCharacters): + (WebCore::FontData::determinePitch): + (WebCore::FontData::platformWidthForGlyph): + * platform/graphics/win/FontPlatformData.h: + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::useGDI): + (WebCore::FontPlatformData::operator==): + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::drawGlyphs): + * platform/graphics/win/IconWin.cpp: + (WebCore::Icon::paint): + * platform/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContext::getWindowsContext): + (WebCore::GraphicsContext::releaseWindowsContext): + * platform/win/UniscribeController.cpp: + (WebCore::UniscribeController::shapeAndPlaceItem): + * platform/win/UniscribeController.h: + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::paint): + +2007-12-19 Sven Herzberg <sven@imendio.com> + + Reviewed by Alp Toker. + + Replace the fontconfig/freetype based font management with a pango + based one. Fixes: + http://bugs.webkit.org/show_bug.cgi?id=15229 + + * platform/gtk/FontDataGtk.cpp (FontData::platformDestroy()): updated + the platform specific destroy code + (FontData::containsCharacters()): implemented font coverage with pango + * platform/gtk/FontPlatformData.h: replaced fontconfig specific + members with pango-specific ones + * platform/gtk/FontPlatformDataGtk.cpp: added static members for the + FontPlatformData class + (FontPlatformData::FontPlatformData()): implemented the font-matching + with a PangoFontDescription instead of an FcPattern; initialize the + scaled font by using the API for PangoCairoFont + (FontPlatformData::init()): initialize the PangoFontMap and set up a + hash table to translate the font family name into a font family + (FontPlatformData::isFixedPitch()): implemented by querying the + PangoFontFamily + (FontPlatformData::operator==): compare the FontPlatformData by + comparing the font pointers or the described fonts + * platform/gtk/GlyphPageTreeNodeGtk.cpp (pango_font_get_glyph()): + added a function to query a glyph from a PangoFont + (GlyphPage::fill()): implemented the fill function with Pango instead + of fontconfig/freetype + +2007-12-19 Alp Toker <alp@atoker.com> + + Reviewed by Holger Freyther. + + Improve graphics operator approximations + + These changes match Cairo's own CG approximations. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::toCairoOperator): + +2007-12-19 Alp Toker <alp@atoker.com> + + Reviewed by Holger Freyther. + + Check the bounding box before doing a full hit test + + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::contains): + +2007-12-18 Sam Weinig <sam@webkit.org> + + Reviewed by Geoff. + + Fix for <rdar://problem/5646478> + REGRESSION: fast/events/event-view-toString fails on Leopard + + This fixes an issue where we were incorrectly setting the lastInPrototypeChain + for the JSDOMWindow (the global object) before a call to setPrototype overwrote + it. This fixes it by passing the prototype up the constructor chain so that it + is set before any calls can be made. + + * bindings/js/kjs_window.cpp: + (KJS::Window::Window): + * bindings/js/kjs_window.h: + * bindings/scripts/CodeGeneratorJS.pm: + +2007-12-18 Beth Dakin <bdakin@apple.com> + + Reviewed by Oliver. + + Fix for <rdar://problem/5616982> SVGs with width and height 100% + fail to render when used as <img> or CSS image (16167) + + This final part of the work fixes the <img> tag. + + This is the real fix. + * rendering/RenderImage.cpp: + (WebCore::RenderImage::calcReplacedWidth): Set the container size + on the image. Setting the container size only actually sticks if + the values are non-zero, so if the container size really was set, + use the imageSize that is calculated using the container size. If + it did not stick but the image does have relative width (meaning + that the container size is 0), set the width to 0 by hand. We want + to avoid setting the width before we have a container size or we + will end up incorrectly using the default size of 300x150. + (WebCore::RenderImage::calcReplacedHeight): Same as above, but for + height. + + A few more pieces of information have to be exposed through cached + image to make this happen. + * loader/CachedImage.cpp: + (WebCore::CachedImage::usesImageContainerSize): As mentioned above, + when setContainerSize() is called, the container size is only + actually set if the values are non-zero. This call tells you if it + was set. + (WebCore::CachedImage::imageHasRelativeWidth): + (WebCore::CachedImage::imageHasRelativeHeight): + * loader/CachedImage.h: + * platform/graphics/Image.h: + (WebCore::Image::usesContainerSize): + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::usesContainerSize): + * svg/graphics/SVGImage.h: + +2007-12-18 Mark Rowe <mrowe@apple.com> + + Rubber-stamped by Maciej Stachowiak. + + Remove outdated and non-functioning project files for the Apollo port. + + * WebCore.apolloproj: Removed. + +2007-12-18 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/5649911> REGRESSION (304-306A9): Typing 'p' in popup menu for type-to-select brings up Safari Help + + Need to translate the char back into a key code for posting our WM_KEYDOWN. + + Reviewed by Ada. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupWndProc): + +2007-12-18 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/5651534> REGRESSION(r28764-r28765): GDI leak drawing text when no appropriate font is available + + Our captured metafile from Uniscribe may contain multiple calls to CreateFontIndirect. + Only create a font with the last one. + + Reviewed by Mitz, Darin. + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::metaFileEnumProc): + (WebCore::FontCache::getFontDataForCharacters): + +2007-12-17 Brent Fulgham <bfulgham@gmail.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16464 + Modify WebCore to use win32 thread primitives + + Updates to support native windows threading primitives + rather than pthreads emulation library. + + * WebCore.vcproj/WebCore.vcproj: + * config.h: + * platform/Threading.h: + * platform/win/MutexWin.cpp: Added. + (WebCore::Mutex::Mutex): + (WebCore::Mutex::~Mutex): + (WebCore::Mutex::lock): + (WebCore::Mutex::tryLock): + (WebCore::Mutex::unlock): + * platform/win/ThreadConditionWin.cpp: Added. + (WebCore::ThreadCondition::ThreadCondition): + (WebCore::ThreadCondition::~ThreadCondition): + (WebCore::ThreadCondition::wait): + (WebCore::ThreadCondition::signal): + (WebCore::ThreadCondition::broadcast): + * platform/win/ThreadingWin.cpp: + (WebCore::threadMapMutex): + (WebCore::threadMap): + (WebCore::storeThreadHandleByIdentifier): + (WebCore::identifierByThreadHandle): + (WebCore::threadHandleForIdentifier): + (WebCore::clearThreadHandleForIdentifier): + (WebCore::createThread): + (WebCore::waitForThreadCompletion): + (WebCore::detachThread): + (WebCore::currentThread): + +2007-12-18 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Darin Adler. + + Handle EINTR when set by select() and try the select() again + http://bugs.webkit.org/show_bug.cgi?id=16071 + + * platform/network/curl/ResourceHandleManager.cpp: + (ResourceHandleManager::downloadTimerCallback): + +2007-12-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - avoid the simplified Chinese font linking code for characters that are + not in any Windows code page + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::getFontDataForCharacters): + +2007-12-18 Brady Eidson <beidson@apple.com> + + Reviewed by Adele + + <rdar://problem/5525770> REGRESSION: HTTP Auth protected favicon request results in a password sheet + + Some http-auth protected sites have the main resource(s) unprotected, but many subresources are + protected by authentication. Occasionally one can view the main page of a site but the favicon + is behind the iron curtain - in these cases, we should *not* prompt for a username and password + solely for the favicon. + + * loader/ResourceLoader.h: Make didReceiveAuthenticationChallenge virtual + + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::didReceiveAuthenticationChallenge): Now that this method + is virtual from ResourceLoader, SubresourceLoader can override. First call to the + SubresourceLoaderClient. If they cancel the resource load, return early. Otherwise, let + ResourceLoader work its magic (resulting in the auth sheet coming down) + * loader/SubresourceLoader.h: + + * loader/SubresourceLoaderClient.h: + (WebCore::SubresourceLoaderClient::didReceiveAuthenticationChallenge): + + * loader/icon/IconLoader.cpp: + (WebCore::IconLoader::didReceiveAuthenticationChallenge): Cancel the resource load, since we should + never prompt the user for credentials just for a favicon. + * loader/icon/IconLoader.h: + +2007-12-18 John Sullivan <sullivan@apple.com> + + Reviewed by Brady + + - fixed <rdar://problem/5652380> Initial prompt shows "" for databases with no user-visible name + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::canEstablishDatabase): + pass "name" instead of "displayName" if there's no displayName + +2007-12-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - restore ButtonFace and ThreeDFace to their previous values for non-Mac + platforms. The Mac port also uses the same values for now instead + of NSColor-based ones. + + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::systemColor): + +2007-12-17 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Maciej Stachowiak. + + Define WTF_USE_NPOBJECT and WTF_USE_JAVASCRIPTCORE_BINDINGS for GTK+ + Add required Frame::createScriptInstanceForWidget to FrameGtk + + * config.h: + * page/gtk/FrameGtk.cpp (Frame::createScriptInstanceForWidget): + +2007-12-17 Alice Liu <alice.liu@apple.com> + + Reviewed by Adam. + + Fixed <rdar://5566435> window with no scrollbars can be scrolled + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::maximumScroll): + corrected maximumScroll() to account for scrolling not allowed. + (WebCore::ScrollView::wheelEvent): + +2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16042 + [GTK] Eliminate webkit_init() + + Move webkit initialization to WebView class init. + + * WebCore.pro: + +2007-12-17 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Darin. + + <rdar://problem/5651291> REGRESSION: Flash content doesn't display + (www.adobe.com) + + We were passing NPEvent** instead of NPEvent* to NPP_HandleEvent. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::dispatchNPEvent): Changed to take NPEvent&, not + NPEvent* + (WebCore::PluginViewWin::paint): Pass NPEvent, not NPEvent* + (WebCore::PluginViewWin::handleKeyboardEvent): same + (WebCore::PluginViewWin::handleMouseEvent): same + * plugins/win/PluginViewWin.h: + +2007-12-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + Live to the promise of never making AppKit special character codes visible via DOM. + + Test: fast/events/arrow-keys-on-body.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::keyEvent): Check for empty keypress characters after disambiguation, + to let quirks-aware code strip special charactrers. + * platform/mac/KeyEventMac.mm: + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): If not in keyboard event quirks + mode, remove the text if it's a special character. + +2007-12-17 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Fix incorrect array size and incorrect array index in convertNSColorToColor. + + * rendering/RenderThemeMac.mm: + (WebCore::convertNSColorToColor): + +2007-12-17 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16468 + REGRESSION(r28781): Crash running storage/transaction_callback_exception_crash.html + + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::dispatchNextTaskIdentifier): Use a RefPtr for the database + because there's no guarantee it won't lose its last reference otherwise. + +2007-12-17 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - fix <rdar://problem/5333260> Some Chinese characters in Text Encoding menu are bold, others are not + and <rdar://problem/5280188> Chinese text looks worse on Safari for Windows cf. Safari for Mac + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::FontCache::getFontDataForCharacters): To ensure that font + linking gives consistent results for characters that are exclusive to + the simplified Chinese code page and characters that belong to that + code page and other code pages, always ask to map to simplified Chinese + alone first. + +2007-12-17 Christian Dywan <christian@twotoasts.de> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16378 + Implement Icon for Gtk + + Icon provides a GdkPixbuf containing a themed icon. + The icon theme is probed for an icon name according to the + Icon Naming Specification or conventional Gnome icon names respectively. + + See http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html + + * platform/graphics/Icon.h: + * platform/graphics/gtk/IconGtk.cpp: + (WebCore::Icon::~Icon): + (WebCore::lookupIconName): + (WebCore::Icon::newIconForFile): + (WebCore::Icon::paint): + +2007-12-16 Sam Weinig <sam@webkit.org> + + Reviewed by Mitz. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16466 + Move the JS Location object to its own file + + - Move Location into its own file and rename it JSLocation. + + * DerivedSources.make: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSDocumentCustom.cpp: + * bindings/js/JSLocation.cpp: Copied from WebCore/bindings/js/kjs_window.cpp. + (WebCore::): + (WebCore::JSLocation::JSLocation): + (WebCore::JSLocation::getValueProperty): + (WebCore::JSLocation::getOwnPropertySlot): + (WebCore::JSLocation::put): + (WebCore::JSLocationProtoFuncReplace::callAsFunction): + (WebCore::JSLocationProtoFuncReload::callAsFunction): + (WebCore::JSLocationProtoFuncAssign::callAsFunction): + (WebCore::JSLocationProtoFuncToString::callAsFunction): + * bindings/js/JSLocation.h: Copied from WebCore/bindings/js/kjs_window.h. + (WebCore::JSLocation::): + (WebCore::JSLocation::frame): + (WebCore::JSLocation::classInfo): + * bindings/js/kjs_window.cpp: + (KJS::Window::location): + * bindings/js/kjs_window.h: + * history/CachedPage.cpp: + +2007-12-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - make 'cursor: copy' and 'cursor: none' work. + + Already covered by manual-tests/cursor.html + + * rendering/RenderStyle.h: Increase the _cursor_style field to 6 bits, + needed for the 33rd and 34th cursor values. + +2007-12-16 Mark Rowe <mrowe@apple.com> + + Reviewed by Maciej Stachowiak. + + Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation. + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * loader/NetscapePlugInStreamLoader.h: + * loader/mac/NetscapePlugInStreamLoaderMac.mm: Removed. + * loader/mac/WebPlugInStreamLoaderDelegate.h: Moved to WebKit. + +2007-12-16 Sam Weinig <sam@webkit.org> + + Reviewed by Maciej. + + Yet more of http://bugs.webkit.org/show_bug.cgi?id=16385 + Cleanup kjs_window + + - Move ScheduledAction into its own file and put it in the WebCore namespace. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/PausedTimeouts.cpp: + * bindings/js/PausedTimeouts.h: + * bindings/js/ScheduledAction.cpp: Copied from bindings/js/kjs_window.cpp. + (WebCore::ScheduledAction::ScheduledAction): + (WebCore::ScheduledAction::execute): + * bindings/js/ScheduledAction.h: Copied from bindings/js/kjs_window.h. + (WebCore::ScheduledAction::ScheduledAction): + * bindings/js/kjs_window.cpp: + (KJS::DOMWindowTimer::DOMWindowTimer): + (KJS::DOMWindowTimer::action): + (KJS::DOMWindowTimer::takeAction): + (KJS::Window::installTimeout): + (KJS::Window::timerFired): + * bindings/js/kjs_window.h: + +2007-12-16 Alp Toker <alp@atoker.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16356 + [GTK] Integrate GStreamer video with the graphics backend + + Integrate the GStreamer media backend with the Cairo graphics backend. + There are still some issues: Data is copied more often than necessary, + and repaint() is not called, causing transformed video not to update + sometimes. + + * WebCore.pro: + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::currentTime): + (WebCore::MediaPlayerPrivate::setEndTime): + (WebCore::MediaPlayerPrivate::seeking): + (WebCore::MediaPlayerPrivate::naturalSize): + (WebCore::MediaPlayerPrivate::setMuted): + (WebCore::MediaPlayerPrivate::setRect): + (WebCore::MediaPlayerPrivate::setVisible): + (WebCore::MediaPlayerPrivate::repaint): + (WebCore::MediaPlayerPrivate::paint): + (WebCore::MediaPlayerPrivate::createGSTPlayBin): + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: + * platform/graphics/gtk/VideoSinkGStreamer.cpp: Added. + (webkit_video_sink_base_init): + (webkit_video_sink_init): + (webkit_video_sink_idle_func): + (webkit_video_sink_render): + (webkit_video_sink_set_caps): + (webkit_video_sink_dispose): + (webkit_video_sink_finalize): + (webkit_video_sink_set_property): + (webkit_video_sink_get_property): + (webkit_video_sink_stop): + (webkit_video_sink_class_init): + (webkit_video_sink_new): + (webkit_video_sink_set_surface): + (plugin_init): + * platform/graphics/gtk/VideoSinkGStreamer.h: Added. + +2007-12-16 Mark Rowe <mrowe@apple.com> + + Mac build fix. + + * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target. + Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the + new shared implementation. + +2007-12-16 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Maciej Stachowiak. + + http://bugs.webkit.org/show_bug.cgi?id=16389 + Bug 16389: Common Implementation of NetscapePlugInStreamLoader + + * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp. + * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp. + * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed. + +2007-12-16 Grace Kloba <klobag@gmail.com> + + Reviewed by Darin Adler. + + Fix http://bugs.webkit.org/show_bug.cgi?id=16433. + Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken + + * dom/Document.cpp: + (WebCore::Document::Document): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::addLowBandwidthDisplayRequest): + (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): + +2007-12-16 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception + + Test: storage/execute-sql-args.html + + * bindings/js/JSSQLTransactionCustom.cpp: + (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an + exception happens, we won't try to do any more argument processing. Changed processing + of the second argument so that we allow an undefined value or null, and simply omit the + array. Changed processing of the second argument so that we don't require an actual + JavaScript array. Instead, as with the JavaScript array operations themselves, we use + the length property and corresponding numeric properties of the object, allowing other + objects to act as arrays. Changed processing of the third and fourth arguments to + allow the undefined value as well as null; we check the value of the argument rather + than looking at the size of the passed-in arguments list. + +2007-12-16 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + More of http://bugs.webkit.org/show_bug.cgi?id=16385 + Cleanup kjs_window + + - Move PausedTimeouts into its own file and put it in the WebCore namespace. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp. + * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h. + * bindings/js/kjs_window.cpp: + (KJS::Window::pauseTimeouts): + * bindings/js/kjs_window.h: + * history/CachedPage.cpp: + * history/CachedPage.h: + * page/Chrome.cpp: + +2007-12-16 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoff. + + Make relative-size SVGs work in border-image. + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calculateBackgroundSize): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::paintBorderImage): + +2007-12-16 Darin Adler <darin@apple.com> + + - fix Tiger build (my fault it was broken) + + * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger. + +2007-12-16 Andrew Wellington <proton@wiretapped.net> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=6129 + Incomplete implementation of CSS 2.1 system colors + + Test: fast/css/css2-system-color.html + + Based on original patch by Rob Buis. + + System colors are retrieved from NSColor as appropriate. If the color is a pattern color + (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the + color and sample that to get a solid color. + + * css/CSSStyleSelector.cpp: + (WebCore::): + (WebCore::colorForCSSValue): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::systemColor): + * rendering/RenderTheme.h: + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: + (WebCore::getSystemColor): + (WebCore::RenderThemeMac::platformColorsDidChange): + (WebCore::RenderThemeMac::systemColor): + +2007-12-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16426 + Divs with overflow:auto: scrollbars not correctly updated when contents change + + Test: fast/overflow/scrollbar-position-update.html + + * platform/mac/PlatformScrollBarMac.mm: + (WebCore::PlatformScrollbar::updateThumbProportion): Update the + NSScroller's value for the new proportions. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary + repaint(). Scrollbars repaint themselves as needed. + +2007-12-16 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=14140 + <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly + + * dom/KeyboardEvent.h: + (WebCore::KeypressCommand::KeypressCommand): + (WebCore::KeyboardEvent::keypressCommands): + Change stored command class to preserve complete information about commands. + + * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion + command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText: + as a command. + + * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting + a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again. + +2007-12-16 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16462 + REGRESSION: access keys broken on Windows + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleAccessKey): + (WebCore::EventHandler::keyEvent): + * page/EventHandler.h: + Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets. + +2007-12-16 Xan Lopez <xan@gnome.org> + + Reviewed by Alexey Proskuryakov. + + http://bugs.webkit.org/show_bug.cgi?id=16454 + [GTK] Text input doesn't work consistently on PPC + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::singleCharacterString): + + UChar is 2 bytes (UTF-16), so transform accordingly from + gunichar (UCS-4). Fixes keyboard input on big endian systems. + +2007-12-15 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + - better build fix for the problem affecting GTK and some other platforms + "this time for sure" + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here. + * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header, + which won't work, declare the tables that are in the .lut.h file in the header. + +2007-12-12 Kevin Watters <kevin@dotsyntax.com> + + Reviewed by Darin Adler. + + Fixed the Wx port's FontPlatformData for use in HashTable. + - FontPlatformData(Deleted) made unequal to FontPlatformData() + + * platform/graphics/wx/FontPlatformData + +2007-12-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs + + * platform/graphics/win/FontCacheWin.cpp: + (WebCore::metaFileEnumProc): Added. Called during metafile record + enumeration and extracts the font from the create font record. + (WebCore::FontCache::getFontDataForCharacters): If font linking fails, + let Uniscribe draw the characters and see what font it chooses. + +2007-12-15 Darin Adler <darin@apple.com> + + * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build. + +2007-12-15 Darin Adler <darin@apple.com> + + Another try at a GTK build fix. + + * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES. + +2007-12-15 Sam Weinig <sam@webkit.org> + + Force windows to regenerate COM DOM bindings. + + * WebCore.vcproj/build-generated-files.sh: Add license. + * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst. + +2007-12-15 Sam Weinig <sam@webkit.org> + + Fix Windows and wx builds. + + * WebCore.vcproj/WebCore.vcproj: + * WebCoreSources.bkl: + +2007-12-15 Mark Rowe <mrowe@apple.com> + + Gtk build fix. Add JSEventTargetBase.cpp to SOURCES. + + * WebCore.pro: + +2007-12-15 Sam Weinig <sam@webkit.org> + + Fix wx build. + + * WebCoreSources.bkl: + +2007-12-15 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Build fix for Qt/Gtk. + + * WebCore.pro: Include JSEventTargetBase.lut.h in generation + +2007-12-15 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch) + + Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down + in the base class. Applied the same refactorization to EventTargetNode. + + This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance + to share as much code as possible with the EventTargetNode classes. + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventTargetBase.cpp: Added. + (WebCore::retrieveEventTargetAndCorrespondingNode): + (WebCore::eventNameForPropertyToken): + * bindings/js/JSEventTargetBase.h: Added. + (WebCore::JSEventTargetProperties::): + (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase): + (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction): + (WebCore::): + (WebCore::::create): + (WebCore::JSEventTargetBase::JSEventTargetBase): + (WebCore::JSEventTargetBase::getValueProperty): + (WebCore::JSEventTargetBase::putValueProperty): + (WebCore::JSEventTargetBase::getOwnPropertySlot): + (WebCore::JSEventTargetBase::put): + (WebCore::JSEventTargetPrototype::JSEventTargetPrototype): + (WebCore::JSEventTargetPrototype::self): + (WebCore::JSEventTargetPrototype::getOwnPropertySlot): + (WebCore::JSEventTargetPrototype::classInfo): + * bindings/js/JSEventTargetNode.cpp: + (WebCore::JSEventTargetNode::getOwnPropertySlot): + (WebCore::JSEventTargetNode::getValueProperty): + (WebCore::JSEventTargetNode::put): + (WebCore::JSEventTargetNode::putValueProperty): + (WebCore::JSEventTargetNode::setListener): + (WebCore::toEventTargetNode): + * bindings/js/JSEventTargetNode.h: + (WebCore::JSEventTargetPrototypeInformation::prototypeClassName): + (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier): + * dom/EventTarget.cpp: + (WebCore::EventTarget::addEventListener): + (WebCore::EventTarget::removeEventListener): + (WebCore::EventTarget::dispatchGenericEvent): + (WebCore::EventTarget::removeAllEventListeners): + (WebCore::EventTarget::insertedIntoDocument): + (WebCore::EventTarget::removedFromDocument): + (WebCore::EventTarget::handleLocalEvents): + (WebCore::EventTarget::applySVGEventTargetRules): + (WebCore::forbidEventDispatch): + (WebCore::allowEventDispatch): + (WebCore::eventDispatchForbidden): + * dom/EventTarget.h: + (WebCore::EventTarget::preDispatchEventHandler): + (WebCore::EventTarget::postDispatchEventHandler): + (WebCore::forbidEventDispatch): + (WebCore::allowEventDispatch): + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::~EventTargetNode): + (WebCore::EventTargetNode::insertedIntoDocument): + (WebCore::EventTargetNode::removedFromDocument): + (WebCore::EventTargetNode::addEventListener): + (WebCore::EventTargetNode::removeEventListener): + (WebCore::EventTargetNode::removeAllEventListeners): + (WebCore::EventTargetNode::handleLocalEvents): + (WebCore::EventTargetNode::dispatchEvent): + (WebCore::EventTargetNode::dispatchWindowEvent): + * dom/EventTargetNode.h: + (WebCore::EventTargetNode::localEventListeners): + * svg/SVGElement.cpp: + (WebCore::SVGElement::sendSVGLoadEventIfPossible): + (WebCore::SVGElement::dispatchEvent): + +2007-12-15 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver. + + Width of SVG elements not applied to container elements + http://bugs.webkit.org/show_bug.cgi?id=16305 + Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced) + This is caused by poor factoring in the render tree. RenderContainer probably should be a template. + + svg/css/css-box-min-width.html + + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::calcPrefWidths): Added. + * rendering/RenderSVGRoot.h: + * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds + +2007-12-15 David Kilzer <ddkilzer@apple.com> + + Fix comment after isSafeScript() was renamed to allowsAccessFrom(). + + * bindings/js/kjs_window.cpp: + (KJS::createWindow): + +2007-12-15 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=16449 + cairo_arc() functions hang or crash when passed inf as radius or start/end angle + + Add checks. This matches a similar workaround for a CG bug in the CG + graphics backend: <rdar://problem/5189233> + + Fixes: + fast/canvas/arc-crash.html + fast/canvas/canvas-with-incorrect-args.html + + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::addArc): + +2007-12-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16078 + Google Maps zooming via the scroll wheel (almost) always zooms IN only. + + * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent): + Ensure that delta is never rounded down to zero - we are getting values less than 1 from + many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero. + +2007-12-14 Dan Bernstein <mitz@apple.com> + + - Windows build fix + + * WebCore.vcproj/WebCore.vcproj: + +2007-12-14 Alp Toker <alp@atoker.com> + + GTK+/Qt build fix. Track added files in r28722. + + * WebCore.pro: + +2007-12-14 Sam Weinig <sam@webkit.org> + + Reviewed by Geoff. + + Speed up getElementByClassName. + - This makes getElementByClassName 33% faster on the stress test + linked to at http://bugs.webkit.org/show_bug.cgi?id=15760. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII. + +2007-12-14 Alp Toker <alp@atoker.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16432 + [GTK] Update license headers + + Consent has been given by the authors of these files to change license + to the LGPL as outlined in the bug report. + + * platform/gtk/ClipboardGtk.cpp: + * platform/gtk/ContextMenuGtk.cpp: + * platform/gtk/ContextMenuItemGtk.cpp: + * platform/gtk/CookieJarGtk.cpp: + * platform/gtk/CursorGtk.cpp: + * platform/gtk/DragDataGtk.cpp: + * platform/gtk/DragImageGtk.cpp: + * platform/gtk/PasteboardGtk.cpp: + * platform/gtk/PlatformScreenGtk.cpp: + * platform/gtk/PlatformScrollBarGtk.cpp: + * platform/gtk/SearchPopupMenuGtk.cpp: + * platform/gtk/WidgetGtk.cpp: + +2007-12-14 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16442 + navigation policy delegate gets called twice for each load + + * loader/MainResourceLoader.cpp: + (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy. + That's handled by FrameLoader. + + * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy + and continueAfterNavigationPolicy. + +2007-12-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't + return nil in that case. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didExplicitOpen): + +2007-12-14 David Smith <catfish.man@gmail.com> + + Reviewed by Mitz. + + - fix http://bugs.webkit.org/show_bug.cgi?id=14955 + Implement getElementsByClassName. + + This patch also renames AtomicStringList to ClassNames to better reflect its actual use, + and takes advantage of admitting that it's class-specific to encapsulate class attribute + parsing so it can be shared. It also changes the class to use a Vector, rather than a linked + list to store the class names. + + Tests: fast/dom/getElementsByClassName/001.html + fast/dom/getElementsByClassName/002.html + fast/dom/getElementsByClassName/003.html + fast/dom/getElementsByClassName/004.html + fast/dom/getElementsByClassName/005.html + fast/dom/getElementsByClassName/006.html + fast/dom/getElementsByClassName/007.html + fast/dom/getElementsByClassName/008.html + fast/dom/getElementsByClassName/009.html + fast/dom/getElementsByClassName/010.xml + fast/dom/getElementsByClassName/011.xml + fast/dom/getElementsByClassName/012.html + fast/dom/getElementsByClassName/013.html + fast/dom/getElementsByClassName/014.html + fast/dom/getElementsByClassName/array/001.html + fast/dom/getElementsByClassName/array/002.html + fast/dom/getElementsByClassName/array/003.html + fast/dom/getElementsByClassName/array/004.html + fast/dom/getElementsByClassName/dumpNodeList.html + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::matchRules): + (WebCore::CSSStyleSelector::checkOneSelector): + * dom/AtomicStringList.h: Removed. + * dom/ClassNames.cpp: Added. + (WebCore::ClassNames::contains): + (WebCore::ClassNames::parseClassAttribute): + * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h. + (WebCore::ClassNames::ClassNames): + (WebCore::ClassNames::size): + (WebCore::ClassNames::clear): + (WebCore::ClassNames::operator[]): + (WebCore::isClassWhitespace): + * dom/ClassNodeList.cpp: Added. + (WebCore::ClassNodeList::ClassNodeList): + (WebCore::ClassNodeList::length): + (WebCore::ClassNodeList::item): + (WebCore::ClassNodeList::nodeMatches): + * dom/ClassNodeList.h: Added. + * dom/Document.cpp: + (WebCore::Document::getElementsByName): + (WebCore::Document::getElementsByClassName): + * dom/Document.h: + * dom/Document.idl: + * dom/Element.cpp: + (WebCore::Element::getClassNames): + (WebCore::Element::getElementsByClassName): + * dom/Element.h: + * dom/Element.idl: + * dom/NameNodeList.cpp: + (WebCore::NameNodeList::NameNodeList): + (WebCore::NameNodeList::item): + (WebCore::NameNodeList::nodeMatches): + * dom/NameNodeList.h: + * dom/NamedMappedAttrMap.cpp: + (WebCore::NamedMappedAttrMap::clearAttributes): + (WebCore::NamedMappedAttrMap::parseClassAttribute): + * dom/NamedMappedAttrMap.h: + (WebCore::NamedMappedAttrMap::getClassNames): + * dom/StyledElement.cpp: + (WebCore::StyledElement::getClassNames): + * dom/StyledElement.h: + +2007-12-14 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16351 + FontFallbackList.h doesn't include wtf/PassRefPtr.h + + * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h> + * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include. + +2007-12-14 Darin Adler <darin@apple.com> + + Reviewed by Alexey. + + - http://bugs.webkit.org/show_bug.cgi?id=16420 + change regression tests to use document.execCommand instead of textInputController.doCommand + + Add a few more operations to document.execCommand. + + Finished up the transition to the new Editor::Command, including removing + the Editor::execCommand function. + + * WebCore.base.exp: Added Editor::Command::isSupported. + * editing/Editor.h: Removed execCommand. + * editing/EditorCommand.cpp: + (WebCore::expandSelectionToGranularity): Added. + (WebCore::verticalScrollDistance): Added; replaces canScroll. + (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView. + (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto. + (WebCore::executeDeleteForward): Ditto. + (WebCore::executeDeleteToBeginningOfLine): Ditto. + (WebCore::executeDeleteToBeginningOfParagraph): Ditto. + (WebCore::executeDeleteToEndOfLine): Ditto. + (WebCore::executeDeleteToEndOfParagraph): Ditto. + (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other + Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by + removing the explicit scrolling, and letting it be done automatically by code that makes + the caret visible. In some cases the old code would scroll twice which was harmless but + unnecessary. + (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView. + (WebCore::executeMovePageUp): See MovePageDown above. + (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView. + (WebCore::executeSelectLine): Ditto. + (WebCore::executeSelectParagraph): Ditto. + (WebCore::executeSelectSentence): Ditto. + (WebCore::executeSelectWord): Ditto. + (WebCore::executeSwapWithMark): Some small tweaks. + + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command() + instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a + bit more, but I didn't do that this time. + + - Removed some obsolete unused code. + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for + NSTextView. This was left over from when we used NSTextField and NSTextView for form + elements and is no longer used at all. + + * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side + of the bridge or another. We really need to find a time to tear down the rest of the + bridge, but that's not this patch. + + * page/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly + instead of using a method. + (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]): + Took out obsolete comment about matching enums (we use a single enum now and have for some + time). + (-[WebCoreFrameBridge selectionGranularity]): Ditto. + +2007-12-14 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list + + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::splitTreeToNode): Moved here. + * editing/CompositeEditCommand.h: + * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode. + * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo. + * editing/InsertListCommand.cpp: + (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between + it and listNode, if they exists, so that moving listChildNode doesn't put it out + of order. Added a test case to cover each change. + * editing/SplitElementCommand.cpp: + (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that + tries to split a container at a bogus child, and an early return to avoid a + hang in that case. + +2007-12-14 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin and Geoff. + + <rdar://problem/5619295> + REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9) + + _NPN_CreateScriptObject doesn't take an origin root object anymore. + + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::createNPObject): + * page/Frame.cpp: + (WebCore::Frame::windowScriptNPObject): + +2007-12-14 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified + which is the root cause of: + http://bugs.webkit.org/show_bug.cgi?id=12943 + box-shadow: small values don't affect shadow position + http://bugs.webkit.org/show_bug.cgi?id=14736 + Safari implementation of text-shadow off by 1px + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude + of the offsets passed to CGContextSetShadow* to ensure that the end + result after truncation is the desired integer offsets. + +2007-12-13 Alp Toker <alp@atoker.com> + + curl backend build fix for breakage introduced in r28709. + + * platform/network/ResourceHandleInternal.h: + (WebCore::ResourceHandleInternal::ResourceHandleInternal): + +2007-12-13 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element + + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to + handle editing positions, like [input, 0]; + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled + off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was + the input element itself. + Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or + nesting a <div>. + +2007-12-13 Alp Toker <alp@atoker.com> + + Reviewed by Oliver Hunt. + + http://bugs.webkit.org/show_bug.cgi?id=16365 + [cURL] Acid2 test segmentation fault + + This patch makes the Acid2 test pass. + + Defer the cleanup of cancelled jobs and halt further transfer as early + as possible. + + Bug found by and initial patch provided by Luca Bruno. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::writeCallback): + (WebCore::headerCallback): + (WebCore::ResourceHandleManager::downloadTimerCallback): + (WebCore::ResourceHandleManager::cancel): + +2007-12-13 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy. + + * page/InspectorController.cpp: + (WebCore::moveByUnrestricted): + (WebCore::InspectorController::windowScriptObjectAvailable): + (WebCore::InspectorController::moveWindowBy): + * page/InspectorController.h: + * page/inspector/inspector.js: + +2007-12-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function + + Test: fast/css/transition-timing-function.html + + * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to + not reject non-primitive non-list values, and instead made sure that the + mapping functions rejected them if necessary. This allows non-primitive + timing functions to be mapped. + (WebCore::CSSStyleSelector::mapBackgroundAttachment): + (WebCore::CSSStyleSelector::mapBackgroundClip): + (WebCore::CSSStyleSelector::mapBackgroundComposite): + (WebCore::CSSStyleSelector::mapBackgroundOrigin): + (WebCore::CSSStyleSelector::mapBackgroundImage): + (WebCore::CSSStyleSelector::mapBackgroundRepeat): + (WebCore::CSSStyleSelector::mapBackgroundXPosition): + (WebCore::CSSStyleSelector::mapBackgroundYPosition): + (WebCore::CSSStyleSelector::mapTransitionDuration): + (WebCore::CSSStyleSelector::mapTransitionRepeatCount): + (WebCore::CSSStyleSelector::mapTransitionTimingFunction): + (WebCore::CSSStyleSelector::mapTransitionProperty): + * css/CSSTimingFunctionValue.cpp: + (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the + regression test. + * css/CSSTimingFunctionValue.h: + (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue): + Added. Returns true. + * css/CSSValue.h: + (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns + false. + +2007-12-13 Steve Falkenburg <sfalken@apple.com> + + Move source file generation into its own vcproj to fix build dependencies. + + Reviewed by Adam. + + * WebCore.vcproj/WebCore.make: + * WebCore.vcproj/WebCore.sln: + * WebCore.vcproj/WebCore.submit.sln: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/WebCoreGenerated.vcproj: Added. + +2007-12-13 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black + + Some of the operations performed in removeHTMLFontStyle were non-undoable. + + I'm having trouble writing a layout test for this because I can't get DRT to + perform editing operations in separate Undo steps without adding unacceptably long + wait times between operations. I filed: + + <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::removeHTMLFontStyle): + +2007-12-13 Sam Weinig <sam@webkit.org> + + Reviewed by Anders. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16352 + Toolbar dragged inspector cannot be moved beyond screen edges + + * page/InspectorController.cpp: + (WebCore::moveByUnrestricted): + (WebCore::InspectorController::windowScriptObjectAvailable): + (WebCore::InspectorController::moveByUnrestricted): + * page/InspectorController.h: + * page/inspector/inspector.js: + +2007-12-13 Adam Roben <aroben@apple.com> + + Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked + + Windows Media Player has a modal message loop that will deliver + messages to us at inappropriate times and we will crash if we handle + them when they are delivered. In PluginViewWin, we add a quirk for + Media Player to set a flag whenever we give the plugin a chance to + execute code, and in SharedTimerWin we check if the plugin is + executing code and repost messages if so. + + Reviewed by Anders. + + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): Repost messages if we're calling a + plugin. + * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with + setCallingPlugin(true/false). + (WebCore::PluginViewWin::updateWindow): + (WebCore::PluginViewWin::dispatchNPEvent): + (WebCore::PluginViewWin::setNPWindowRect): + (WebCore::PluginViewWin::start): + (WebCore::PluginViewWin::stop): + (WebCore::PluginViewWin::performRequest): + (WebCore::PluginViewWin::bindingInstance): + (WebCore::PluginViewWin::determineQuirks): + (WebCore::PluginViewWin::setCallingPlugin): Added. + (WebCore::PluginViewWin::isCallingPlugin): Added. + * plugins/win/PluginViewWin.h: Added a new quirk. + +2007-12-13 Alp Toker <alp@atoker.com> + + Add a missing DEPENDPATH. Fixes non-clean builds following networking + header changes. + + * WebCore.pro: + +2007-12-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + - fix regression in fast/text/international/bidi-override on Tiger + + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here + too. I forgot to add them when I added them to treatAsZeroWidthSpace in + an earlier patch. + +2007-12-13 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text + + The code that checks the selected Range to see if it's inside an anchor + checks ancestors of the Range's commonAncestor() but not the + commonAncestor() itself, and so we'd fail to add markup for the enclosing + anchor to the pasteboard. + + Some enclosing element getters check the node passed to the getter and some + don't. There were a few places where we incorrectly assumed that enclosing + element getters check the node passed to the getter, but this is the only + case that I'm able to write a test case for at the moment. + + In this patch I've: + Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions, + like the newer enclosing element getters. This is important because we must + soon add code to the getters so that they understand that some editing positions + inside nodes don't actually refer to positions inside those nodes but positions + before and after them. Like [table, 0]. + Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with + n where [n, o] is the position passed to the getter, instead of starting the the parent + of n. This makes all but a few of the enclosing element getters behave consistently. + Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable + nodes if the input position was editable. This fixes a bug that that the above change + exposed. + Changed enclosingTableCell to simply call enclosingNodeWithType. We should do + this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType + unless doing so would affect readability, like it would in the case of enclosingTableCell. + Ditto for enclosingBlock. + + * editing/AppendNodeCommand.cpp: + (WebCore::AppendNodeCommand::doApply): + * editing/DeleteButtonController.cpp: + (WebCore::enclosingDeletableElement): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::initializePositionData): + (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor): + * editing/Editor.cpp: + (WebCore::Editor::selectionUnorderedListState): + (WebCore::Editor::selectionOrderedListState): + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): + (WebCore::IndentOutdentCommand::outdentParagraph): + * editing/InsertNodeBeforeCommand.cpp: + (WebCore::InsertNodeBeforeCommand::doApply): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::shouldMerge): + (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds): + (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): + * editing/TextIterator.cpp: + * editing/htmlediting.cpp: + (WebCore::enclosingBlock): + (WebCore::enclosingNodeWithTag): + (WebCore::enclosingNodeOfType): + (WebCore::enclosingTableCell): + (WebCore::isTableCell): + * editing/htmlediting.h: + * editing/markup.cpp: + (WebCore::appendStartMarkup): + (WebCore::createMarkup): + +2007-12-13 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + Turn on keyboard event processing quirks for feed views and old applications on Mac OS X. + + * WebCore.base.exp: + * dom/KeyboardEvent.cpp: + (WebCore::KeyboardEvent::charCode): + * page/EventHandler.cpp: + (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): + (WebCore::EventHandler::keyEvent): + * page/EventHandler.h: + * page/Settings.cpp: + (WebCore::Settings::Settings): + (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks): + * page/Settings.h: + (WebCore::Settings::needsKeyboardEventDisambiguationQuirks): + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): + * platform/PlatformKeyboardEvent.h: + * platform/mac/KeyEventMac.mm: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): + +2007-12-13 Dan Bernstein <mitz@apple.com> + + - build fix + + * platform/network/cf/ResourceErrorCF.cpp: + +2007-12-13 Antti Koivisto <antti@apple.com> + + Reviewed by Tim Hatcher. + + Fix <rdar://problem/5605674> + Make <video> display WebKit context menu instead of the QTKit one. + + It doesn't really matter where the QTMovieView is. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovieView): + (WebCore::MediaPlayerPrivate::setRect): + +2007-12-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - ensure that Unicode bidi control characters are rendered as zero width + spaces + + Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html + + * platform/graphics/Font.h: + (WebCore::Font::treatAsZeroWidthSpace): + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::initializePage): + * platform/text/CharacterNames.h: + +2007-12-13 Brady Eidson <beidson@apple.com> + + Build fix + + * platform/wx/TemporaryLinkStubs.cpp: + +2007-12-12 Brady Eidson <beidson@apple.com> + + Build fix + + * platform/gtk/TemporaryLinkStubs.cpp: + +2007-12-12 Brady Eidson <beidson@apple.com> + + Build fix + + * WebCore.pro: + * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed + +2007-12-12 Brady Eidson <beidson@apple.com> + + Build fix + + * platform/win/TemporaryLinkStubs.cpp: + +2007-12-12 Brady Eidson <beidson@apple.com> + + Reviewed by Sam Weinig + + Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows) + + All back/forward list and page cache related items used to be in WebKit. + When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac. + Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs + in CachedPage and having the Mac-only CachedPageMac.mm + + To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the + concept of "CachedPagePlatformData" which can contain anything the platform API wants. + + I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes. + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + + * history/CachedPage.cpp: + (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here. + (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData. + (WebCore::CachedPage::setCachedPagePlatformData): + (WebCore::CachedPage::cachedPagePlatformData): + * history/CachedPage.h: + + * history/CachedPagePlatformData.h: Added. + (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor. + (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear(). + + * history/PageCache.cpp: + (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()" + + * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform + (setting the cached DocumentLoader to the Frame). + (WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods + + * loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage" + become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly + + * svg/graphics/SVGImageEmptyClients.h: + (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage): + (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage): + (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage): + +2007-12-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail) + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): When the font property is + set to 'initial', set the font size to its initial value, 'medium', + and the font family to the standard family. + +2007-12-12 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows): + Don't remove the table row that contained the end of the selection if it is where we are + about to place the ending selection. + Don't remove all empty rows after the row that contained the start of the selection, + they might come after the row that contained the end of the selection. + +2007-12-12 Sam Weinig <sam@webkit.org> + + Reviewed by Anders Carlsson. + + Add button to clear the Web Inspector's console. + + * English.lproj/InspectorLocalizedStrings.js: + * page/inspector/ConsolePanel.js: + * page/inspector/inspector.css: + +2007-12-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam and Jon. + + <rdar://problem/5349282> + popup blocking is not applied to plugins on Windows. + + Implement popup blocking. If the plug-in supports the new + NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that + to determine if a plug-in request can open new windows. + + If a plug-in does not support the new API, we assume that a plug-in can open new windows + in response to either mouse click or key press events. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginRequestWin::PluginRequestWin): + (WebCore::PluginRequestWin::shouldAllowPopups): + Add new shouldAllowPopups member. + + (WebCore::PluginViewWin::popPopupsStateTimerFired): + Reset the popup state. + + (WebCore::isWindowsMessageUserGesture): + New function that given a windows message id returns whether it's a user gesture or not. + + (WebCore::PluginViewWin::wndProc): + Allow popups if the window message is a user gesture. + + (WebCore::PluginViewWin::dispatchNPEvent): + New method that dispatches an NPEvent, turning on popups if necessary. + + (WebCore::PluginViewWin::paint): + (WebCore::PluginViewWin::handleKeyboardEvent): + (WebCore::PluginViewWin::handleMouseEvent): + Call dispatchNPEvent(). + + (WebCore::PluginViewWin::performRequest): + (WebCore::PluginViewWin::load): + Add calls to shouldAllowPopups(). + + (WebCore::PluginViewWin::pushPopupsEnabledState): + (WebCore::PluginViewWin::popPopupsEnabledState): + New methods that maintain the popup state stack. + + (WebCore::PluginViewWin::arePopupsAllowed): + New method that returns whether popups are allowed. + + (WebCore::PluginViewWin::PluginViewWin): + * plugins/win/PluginViewWin.h: + Add new instance variables. + + * plugins/win/npapi.cpp: + (NPN_PushPopupsEnabledState): + (NPN_PopPopupsEnabledState): + Implement these. + +2007-12-12 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix a bug in debug builds only where selecting an earlier item in + a popup selects the first item + + Test: fast/forms/menulist-selection-reset.html + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::recalcListItems): Added an argument that + tells that function whether it should update the selected state of + option elements. + (WebCore::HTMLSelectElement::checkListItems): Changed to pass false + as the above argument. + * html/HTMLSelectElement.h: + +2007-12-12 Adele Peterson <adele@apple.com> + + Reviewed by Geoff. + + Fix for <rdar://problem/5643054> Remove cue point implementation for media elements + + When the specification for cue ranges is more final, we will implement those. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::~HTMLMediaElement): + (WebCore::HTMLMediaElement::load): + * html/HTMLMediaElement.h: + * html/HTMLMediaElement.idl: + * platform/graphics/MediaPlayer.cpp: + * platform/graphics/MediaPlayer.h: + (WebCore::MediaPlayerClient::mediaPlayerTimeChanged): + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::load): + (WebCore::MediaPlayerPrivate::play): + (WebCore::MediaPlayerPrivate::pause): + (WebCore::MediaPlayerPrivate::setEndTime): + (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded): + (WebCore::MediaPlayerPrivate::endPointTimerFired): + (WebCore::MediaPlayerPrivate::timeChanged): + (WebCore::MediaPlayerPrivate::didEnd): + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded): + (WebCore::MediaPlayerPrivate::endPointTimerFired): + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: + +2007-12-12 MorganL <morganl.webkit@yahoo.com> + + Reviewed by Maciej. + + Fixes: + http://bugs.webkit.org/show_bug.cgi?id=16408 + + When navigating back/forward to a http:// link, we should prefer to + load from cache if possible. + + * loader/FrameLoader.cpp: + +2007-12-12 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + <rdar://problem/5132003> + dumpResourceLoadCallbacks is not implemented in DRT on Windows. + + * platform/network/cf/ResourceErrorCF.cpp: + (WebCore::ResourceError::unpackPlatformError): + Handle kCFErrorDomainWinSock. + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::willSendRequest): + Ignore willSendRequest calls where the redirect response is null, like we do in + the Mac version. + +2007-12-12 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check. + + Reviewed by Anders. + + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc. + +2007-12-12 Beth Dakin <bdakin@apple.com> + + Reviewed by Oliver. + + Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs + with width and height 100% clip to 300 x 150 + + Though it was correct in an earlier iteration of my patch, it is + not sufficient in the final, committed version to ask if the + relativeWidthValue() or relativeHeightValue() is greater than 0 + just to determine if one has been set, for, they are now + initialized to 300 and 150 respectively! This patch instead adds a + bool to keep track of whether a container size has been set, and + only used the relative value if it has. + + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::calcViewport): + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::SVGSVGElement): + * svg/SVGSVGElement.h: + (WebCore::SVGSVGElement::setContainerSize): + (WebCore::SVGSVGElement::hasSetContainerSize): + +2007-12-12 Brady Eidson <beidson@apple.com> + + Reviewed by Steve Falkenburg + + <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm + + * platform/network/ProtectionSpace.cpp: + (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host + +2007-12-12 Alp Toker <alp@atoker.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16388 + [GTK] Widget::setCursor() gets called frequently + + Cache the current cursor to avoid calling gdk_window_set_cursor() when + there's no change in cursor. + + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::Widget): + (WebCore::Widget::cursor): + (WebCore::Widget::setCursor): + +2007-12-12 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16342 + Build Warning and Error fixes in WebCore GTK+ + + Use C-style casts for casting function pointers to gpointer + Use static_cast<int> to cast a float to int to fix a warning + + * platform/gtk/PlatformScrollBarGtk.cpp: + (PlatformScrollbar::PlatformScrollbar): + (PlatformScrollbar::~PlatformScrollbar): + (PlatformScrollbar::gtkValueChanged): + * platform/gtk/ThreadingGtk.cpp: + (callFunctionOnMainThread): + (callOnMainThread): + +2007-12-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - better fix for a crash when pressing a key that is not associated + with a command + + * editing/EditorCommand.cpp: + (WebCore::Editor::command): Return the empty command if the command name + is empty. + +2007-12-12 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16410 + Implement isKeypadEvent() on Windows + + Test: platform/win/fast/events/keyLocation-numpad.html + + * platform/win/KeyEventWin.cpp: + (WebCore::isKeypadEvent): Added. + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat. + +2007-12-12 Oliver Hunt <oliver@apple.com> + + Reviewed by Maciej. + + <rdar://problem/5071781> window.mouseout events are not sent + to window when mouse moves out of window + + Make PlatformMouseEvent recognise WM_MOUSELEAVE. + + * platform/win/PlatformMouseEventWin.cpp: + (WebCore::messageToEventType): + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + +2007-12-12 Sam Weinig <sam@webkit.org> + + Fix Mac release build. + + * WebCore.base.exp: + +2007-12-12 Sam Weinig <sam@webkit.org> + + Build fix for Qt, Gtk, and Wx. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + * loader/win/FrameLoaderWin.cpp: + (WebCore::FrameLoader::urlSelected): + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::parseDataUrl): + (WebCore::ResourceHandleManager::startJob): + * platform/network/win/CookieJarWin.cpp: + (WebCore::setCookies): + (WebCore::cookies): + * platform/network/win/ResourceHandleWin.cpp: + (WebCore::ResourceHandle::start): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeURL): + +2007-12-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - allow non-integer font sizes on Windows for small caps + + * platform/graphics/win/FontDataWin.cpp: + (WebCore::FontData::smallCapsFontData): + * platform/graphics/win/FontPlatformData.h: + (WebCore::FontPlatformData::size): + (WebCore::FontPlatformData::setSize): + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2007-12-11 Sam Weinig <sam@webkit.org> + + Build fix for Qt, Gtk, and Wx. + + * platform/gtk/CookieJarGtk.cpp: + (WebCore::setCookies): + (WebCore::cookies): + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::writeURL): + * platform/qt/CookieJarQt.cpp: + (WebCore::setCookies): + (WebCore::cookies): + * platform/wx/PasteboardWx.cpp: + (WebCore::Pasteboard::writeURL): + +2007-12-11 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Scrub URL out of the tree in preparation for renaming KURL to URL. + - Renames Document::URL() -> Document::url() + - Renames DocumentLoader::URL() -> DocumentLoader::url() + - Renames KURL::url() to KURL::string() and KURL::deprecatedString() + - Remove FrameLoader::URL() + - Various variable renames. + + The change from Document::URL() to Document::url() required changes + to the bindings scripts as well, because URL() is the name of a DOM + method. The code generation scripts now have code to special case URL() + to url(). + + * WebCore.base.exp: + * bindings/js/kjs_events.cpp: + (WebCore::JSLazyEventListener::parseCode): + * bindings/js/kjs_navigator.cpp: + (KJS::Navigator::getValueProperty): + * bindings/js/kjs_proxy.cpp: + (WebCore::KJSProxy::initScript): + * bindings/js/kjs_window.cpp: + (KJS::Window::put): + (KJS::Window::allowsAccessFrom): + (KJS::Location::put): + (KJS::LocationProtoFuncReplace::callAsFunction): + (KJS::LocationProtoFuncReload::callAsFunction): + (KJS::LocationProtoFuncAssign::callAsFunction): + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorCOM.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * css/CSSImportRule.cpp: + (WebCore::CSSImportRule::insertedIntoParent): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseContent): + (WebCore::CSSParser::parseBackgroundImage): + (WebCore::CSSParser::parseFontFaceSrc): + (WebCore::CSSParser::parseBorderImage): + (WebCore::CSSParser::createImportRule): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::setEncodedURL): + * dom/Document.cpp: + (WebCore::Document::processHttpEquiv): + (WebCore::Document::cookie): + (WebCore::Document::setCookie): + (WebCore::Document::domain): + (WebCore::Document::setDomain): + (WebCore::Document::getImageMap): + (WebCore::Document::completeURL): + * dom/Document.h: + (WebCore::Document::url): + (WebCore::Document::baseURL): + * dom/Element.cpp: + (WebCore::Element::baseURI): + * dom/ProcessingInstruction.h: + * dom/StyledElement.cpp: + (WebCore::StyledElement::addCSSImageProperty): + * dom/StyledElement.h: + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::endElementNs): + (WebCore::XMLTokenizer::end): + (WebCore::): + * dom/XMLTokenizer.h: + * editing/Editor.cpp: + (WebCore::Editor::copy): + * editing/markup.cpp: + (WebCore::completeURLs): + * history/CachedPage.h: + (WebCore::CachedPage::url): + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): + (WebCore::HistoryItem::setURL): + (WebCore::HistoryItem::isCurrentDocument): + * html/HTMLBaseElement.cpp: + (WebCore::HTMLBaseElement::process): + * html/HTMLParser.cpp: + (WebCore::HTMLParser::reportErrorToConsole): + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::childrenChanged): + (WebCore::HTMLScriptElement::insertedIntoDocument): + (WebCore::HTMLScriptElement::evaluateScript): + * html/HTMLScriptElement.h: + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::scriptExecution): + * loader/Cache.cpp: + (WebCore::createResource): + (WebCore::Cache::requestResource): + * loader/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::checkNotify): + * loader/CachedResource.cpp: + (WebCore::CachedResource::CachedResource): + * loader/CachedResource.h: + (WebCore::CachedResource::): + * loader/CachedScript.h: + * loader/DocLoader.cpp: + (WebCore::DocLoader::checkForReload): + (WebCore::DocLoader::requestResource): + * loader/DocumentLoader.cpp: + (WebCore::DocumentLoader::url): + (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll): + (WebCore::DocumentLoader::setRequest): + (WebCore::DocumentLoader::startLoadingMainResource): + * loader/DocumentLoader.h: + * loader/FrameLoader.cpp: + (WebCore::FormSubmission::FormSubmission): + (WebCore::ScheduledRedirection::ScheduledRedirection): + (WebCore::FrameLoader::changeLocation): + (WebCore::FrameLoader::urlSelected): + (WebCore::FrameLoader::requestFrame): + (WebCore::FrameLoader::loadSubframe): + (WebCore::FrameLoader::submitFormAgain): + (WebCore::FrameLoader::submitForm): + (WebCore::FrameLoader::didExplicitOpen): + (WebCore::FrameLoader::replaceContentsWithScriptResult): + (WebCore::FrameLoader::executeScript): + (WebCore::FrameLoader::receivedFirstData): + (WebCore::FrameLoader::begin): + (WebCore::FrameLoader::startIconLoader): + (WebCore::FrameLoader::commitIconURLToIconDatabase): + (WebCore::FrameLoader::scheduleRefresh): + (WebCore::FrameLoader::redirectionTimerFired): + (WebCore::FrameLoader::loadPlugin): + (WebCore::FrameLoader::didNotOpenURL): + (WebCore::FrameLoader::updatePolicyBaseURL): + (WebCore::FrameLoader::scrollToAnchor): + (WebCore::FrameLoader::startRedirectionTimer): + (WebCore::FrameLoader::load): + (WebCore::FrameLoader::canLoad): + (WebCore::FrameLoader::shouldHideReferrer): + (WebCore::FrameLoader::shouldAllowNavigation): + (WebCore::FrameLoader::commitProvisionalLoad): + (WebCore::FrameLoader::clientRedirected): + (WebCore::FrameLoader::open): + (WebCore::FrameLoader::didTellBridgeAboutLoad): + (WebCore::FrameLoader::haveToldBridgeAboutLoad): + (WebCore::FrameLoader::post): + (WebCore::FrameLoader::loadResourceSynchronously): + (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): + (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent): + (WebCore::FrameLoader::createHistoryItem): + (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): + (WebCore::FrameLoader::loadItem): + (WebCore::FrameLoader::urlsMatchItem): + (WebCore::FrameLoader::recursiveGoToItem): + (WebCore::FrameLoader::updateHistoryForStandardLoad): + (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): + * loader/FrameLoader.h: + (WebCore::FrameLoader::url): + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::createDocumentStructure): + * loader/MainResourceLoader.cpp: + (WebCore::shouldLoadAsEmptyDocument): + (WebCore::MainResourceLoader::didFinishLoading): + * loader/NavigationAction.cpp: + (WebCore::NavigationAction::NavigationAction): + * loader/NavigationAction.h: + (WebCore::NavigationAction::url): + * loader/PluginDocument.cpp: + (WebCore::PluginTokenizer::createDocumentStructure): + * loader/SubresourceLoader.cpp: + (WebCore::SubresourceLoader::load): + (WebCore::SubresourceLoader::create): + * loader/icon/IconLoader.cpp: + (WebCore::IconLoader::startLoading): + (WebCore::IconLoader::finishLoading): + * loader/loader.cpp: + (WebCore::Loader::servePendingRequests): + * loader/mac/LoaderNSURLExtras.m: + (urlOriginalData): + * page/Chrome.cpp: + (WebCore::Chrome::setToolTip): + * page/ContextMenuController.cpp: + (WebCore::ContextMenuController::contextMenuItemSelected): + * page/Frame.cpp: + (WebCore::Frame::setUserStyleSheetLocation): + * page/InspectorController.cpp: + (WebCore::InspectorResource::type): + (WebCore::addSourceToFrame): + (WebCore::InspectorController::addScriptResource): + (WebCore::InspectorController::updateScriptResourceRequest): + (WebCore::InspectorController::didCommitLoad): + * page/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge getData:andResponse:forURL:]): + * platform/KURL.h: + (WebCore::KURL::string): + (WebCore::KURL::deprecatedString): + * platform/mac/ClipboardMac.mm: + (WebCore::ClipboardMac::getData): + * platform/mac/CookieJar.mm: + (WebCore::cookies): + (WebCore::setCookies): + * platform/mac/PasteboardMac.mm: + (WebCore::Pasteboard::writeURL): + (WebCore::fileWrapperForImage): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::plainText): + * platform/network/ResourceHandle.cpp: + (WebCore::ResourceHandle::portAllowed): + * platform/network/ResourceRequestBase.cpp: + (WebCore::ResourceRequestBase::isNull): + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::willSendRequest): + (WebCore::didReceiveResponse): + (WebCore::didReceiveData): + (WebCore::didFinishLoading): + (WebCore::didFail): + (WebCore::didReceiveChallenge): + (WebCore::ResourceHandleInternal::~ResourceHandleInternal): + (WebCore::ResourceHandle::~ResourceHandle): + (WebCore::ResourceHandle::start): + * platform/win/ClipboardUtilitiesWin.cpp: + (WebCore::createGlobalData): + (WebCore::urlToMarkup): + * platform/win/ClipboardWin.cpp: + (WebCore::writeURL): + (WebCore::writeImageToDataObject): + (WebCore::ClipboardWin::writeURL): + (WebCore::ClipboardWin::writeRange): + * platform/win/PasteboardWin.cpp: + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writeURL): + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::PluginDatabaseWin::findPlugin): + * plugins/win/PluginStreamWin.cpp: + (WebCore::PluginStreamWin::startStream): + (WebCore::PluginStreamWin::destroyStream): + * plugins/win/PluginViewWin.cpp: + (WebCore::scriptStringIfJavaScriptURL): + (WebCore::PluginViewWin::performRequest): + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::updateFromElement): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::getResponseXML): + (WebCore::XMLHttpRequest::urlMatchesDocumentDomain): + * xml/XSLImportRule.cpp: + (WebCore::XSLImportRule::loadSheet): + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::createDocumentFromSource): + (WebCore::xsltStylesheetPointer): + (WebCore::xmlDocPtrFromNode): + +2007-12-11 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5641255> SVGs with width and height 100% + fail to render when used as background images + + CachedImage now has a setImageContainerSize function. It is only + needed for SVG right now. + * loader/CachedImage.cpp: + (WebCore::CachedImage::setImageContainerSize): + * loader/CachedImage.h: + + Relatively sized SVGs have no intrinsic size. Because this call is + low-level enough that we cannot pass in the container size and get + the real size of the SVG, we need to know if it has relative + dimensions, and if so, we need to get the size from scaledTileSize. + * platform/graphics/Image.cpp: + (WebCore::Image::drawTiled): + * platform/graphics/Image.h: + (WebCore::Image::setContainerSize): + (WebCore::Image::hasRelativeWidth): + (WebCore::Image::hasRelativeHeight): + + Re-factored calculateBackgroundSize a bit so that it returns an + IntSize. Made it a member function so that it can send m_width and + m_height along to setImageContainerSize. + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calculateBackgroundSize): + (WebCore::RenderBox::calculateBackgroundImageGeometry): + * rendering/RenderBox.h: + + Need to account for relatively sized SVGs in calcViewport() + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::calcViewport): + + Added new member variables to store the size of the SVG container. + relativeWidthValue() and relativeHeightValue() use the stored SVG + container size to correctly calculate the width and height of a + relatively sized SVG. + * svg/SVGSVGElement.cpp: + (WebCore::SVGSVGElement::SVGSVGElement): + (WebCore::SVGSVGElement::setContainerSize): + (WebCore::SVGSVGElement::relativeWidthValue): + (WebCore::SVGSVGElement::relativeHeightValue): + * svg/SVGSVGElement.h: + (WebCore::SVGSVGElement::containerSize): + + Re-factored size calculations to use the size of the container. + * svg/graphics/SVGImage.cpp: + (WebCore::SVGImage::setContainerSize): + (WebCore::SVGImage::size): + (WebCore::SVGImage::hasRelativeWidth): + (WebCore::SVGImage::hasRelativeHeight): + * svg/graphics/SVGImage.h: + +2007-12-11 Darin Adler <darin@apple.com> + + * editing/Editor.cpp: + (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding + a missing return statement. + +2007-12-11 Darin Adler <darin@apple.com> + + Reviewed by Geoff. + + - exposed many new commands to the DOM Document executeCommand function by + merging the JSEditor and Editor executeCommand implementations + - replaced the execCommand function with a EditorCommand class + - replaced the WTF::StrHash<> class template with the WebCore::StringHash class + - replaced the WTF::CaseInsensitiveHash<> class template with the + WebCore::CaseFoldingHash class + + * WebCore.base.exp: Updated. + * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + + * dom/Document.cpp: + (WebCore::Document::Document): Removed code to set up m_jsEditor. + (WebCore::Document::~Document): Removed code to delete m_jsEditor. + (WebCore::command): Added. Helper function that gets an Editor::Command. + (WebCore::Document::executeCommand): Changed to use Editor::Command instead of + JSEditor. + (WebCore::Document::queryCommandEnabled): Ditto. + (WebCore::Document::queryCommandIndeterm): + (WebCore::Document::queryCommandState): Ditto. + (WebCore::Document::queryCommandSupported): Ditto. + (WebCore::Document::queryCommandValue): Ditto. + + * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to + use CaseFoldingHash. + + * editing/Editor.cpp: + (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and + made into a member function so it is accessible from the new EditorCommand.cpp file. + Also changed to get the selection from the passed-in frame instead of from the + page, because this should work on the targeted frame unless the event overrides it. + (WebCore::Editor::handleKeypress): Updated for selectionForCommand change. + (WebCore::Editor::handleInputMethodKeypress): Ditto. + (WebCore::imageElementFromImageDocument): Renamed and changed to return + a HTMLImageElement instead of a Node*. + (WebCore::Editor::canCopy): Updated for name change. + (WebCore::Editor::selectionUnorderedListState): Updated for TriState change. + (WebCore::Editor::selectionOrderedListState): Ditto. + (WebCore::Editor::selectionStartHasStyle): Make type of local more specific. + (WebCore::updateState): Moved here from Frame. + (WebCore::Editor::selectionHasStyle): Ditto. + (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence. + (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for + selectionForCommand change. + (WebCore::Editor::copy): Updated for imageElementFromImageDocument change. + (WebCore::Editor::toggleBold): Call the ToggleBold command via the command + machinery since it's no longer in this file as a local function. + (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command. + (WebCore::Editor::setBaseWritingDirection): Change type of argument and of + local variable. + (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful + without a kill ring, but it's relatively straightforward to implement one. + (WebCore::Editor::appendToKillRing): Put default implementation here for + platforms other than Mac. We should probably put a simple kill ring + implementation here -- doesn't need to be shared with the OS oh platforms + other than Mac. + (WebCore::Editor::prependToKillRing): Ditto. + (WebCore::Editor::yankFromKillRing): Ditto. + (WebCore::Editor::startNewKillRingSequence): Ditto. + (WebCore::Editor::setKillRingToYankedState): Ditto. + + * editing/Editor.h: Moved the TriState enum here instead of inside the + Frame class. Added EditorCommandSource enum. Moved selectionHasStyle + here from the Frame class. Added Editor::Command class with five functions + for the various things you can do with a command (execute it, check if it + can be used, and its state and value). Changed hte parameter of + setBaseWritingDirection to be a const String& rather than a String. + Got rid of the kill-ring-related operations, but added the kill ring + functions themselves. Made selectedRange() public. Made the + m_startNewKillRingSequence not Mac-specific and added "should" to its + name. + + * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp. + Retained only the editing commands. + (WebCore::targetFrame): Moved to the top of the file. + (WebCore::executeApplyStyle): Added. Helper function for commands + that need to apply styles. + (WebCore::executeToggleStyle): Added. Helper function for commands + that need to toggle styles based on the style of the start of selection. + (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but + for paragraph styles. + (WebCore::executeInsertFragment): Added. Helper function for commands + that need to insert a DOM fragment. + (WebCore::executeInsertNode): Added. Helper function for commands that + need to insert a tree rooted in a single DOM node. + (WebCore::stateStyle): Added. Helper function for the state of commands + that represent style. + (WebCore::valueStyle): Added. Helper function for the value of commands + that represent style. + (WebCore::canScroll): Added. Helper functions for some move and scroll + commands that need to determine if the renderer they are in can scroll. + (WebCore::unionDOMRanges): Moved here from EditorMac. + (WebCore::executeBackColor): + (WebCore::executeBackwardDelete): + (WebCore::executeCopy): + (WebCore::executeCreateLink): + (WebCore::executeCut): + (WebCore::executeDelete): + (WebCore::executeDeleteToMark): + (WebCore::executeDeleteWordBackward): + (WebCore::executeDeleteWordForward): + (WebCore::executeFindString): + (WebCore::executeFontName): + (WebCore::executeFontSize): + (WebCore::executeFontSizeDelta): + (WebCore::executeForeColor): + (WebCore::executeFormatBlock): + (WebCore::executeForwardDelete): + (WebCore::executeIndent): + (WebCore::executeInsertBacktab): + (WebCore::executeInsertHorizontalRule): + (WebCore::executeInsertHTML): + (WebCore::executeInsertImage): + (WebCore::executeInsertLineBreak): + (WebCore::executeInsertNewline): + (WebCore::executeInsertNewlineInQuotedContent): + (WebCore::executeInsertOrderedList): + (WebCore::executeInsertParagraph): + (WebCore::executeInsertTab): + (WebCore::executeInsertText): + (WebCore::executeInsertUnorderedList): + (WebCore::executeJustifyCenter): + (WebCore::executeJustifyFull): + (WebCore::executeJustifyLeft): + (WebCore::executeJustifyRight): + (WebCore::executeMoveBackward): + (WebCore::executeMoveBackwardAndModifySelection): + (WebCore::executeMoveDown): + (WebCore::executeMoveDownAndModifySelection): + (WebCore::executeMoveDownByPageAndModifyCaret): + (WebCore::executeMoveForward): + (WebCore::executeMoveForwardAndModifySelection): + (WebCore::executeMoveLeft): + (WebCore::executeMoveLeftAndModifySelection): + (WebCore::executeMoveRight): + (WebCore::executeMoveRightAndModifySelection): + (WebCore::executeMoveToBeginningOfDocument): + (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): + (WebCore::executeMoveToBeginningOfLine): + (WebCore::executeMoveToBeginningOfLineAndModifySelection): + (WebCore::executeMoveToBeginningOfParagraph): + (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): + (WebCore::executeMoveToBeginningOfSentence): + (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): + (WebCore::executeMoveToEndOfDocument): + (WebCore::executeMoveToEndOfDocumentAndModifySelection): + (WebCore::executeMoveToEndOfSentence): + (WebCore::executeMoveToEndOfSentenceAndModifySelection): + (WebCore::executeMoveToEndOfLine): + (WebCore::executeMoveToEndOfLineAndModifySelection): + (WebCore::executeMoveToEndOfParagraph): + (WebCore::executeMoveToEndOfParagraphAndModifySelection): + (WebCore::executeMoveParagraphBackwardAndModifySelection): + (WebCore::executeMoveParagraphForwardAndModifySelection): + (WebCore::executeMoveUp): + (WebCore::executeMoveUpAndModifySelection): + (WebCore::executeMoveUpByPageAndModifyCaret): + (WebCore::executeMoveWordBackward): + (WebCore::executeMoveWordBackwardAndModifySelection): + (WebCore::executeMoveWordForward): + (WebCore::executeMoveWordForwardAndModifySelection): + (WebCore::executeMoveWordLeft): + (WebCore::executeMoveWordLeftAndModifySelection): + (WebCore::executeMoveWordRight): + (WebCore::executeMoveWordRightAndModifySelection): + (WebCore::executeOutdent): + (WebCore::executePaste): + (WebCore::executePasteAndMatchStyle): + (WebCore::executePrint): + (WebCore::executeRedo): + (WebCore::executeRemoveFormat): + (WebCore::executeSelectAll): + (WebCore::executeSelectToMark): + (WebCore::executeSetMark): + (WebCore::executeStrikethrough): + (WebCore::executeSubscript): + (WebCore::executeSuperscript): + (WebCore::executeSwapWithMark): + (WebCore::executeToggleBold): + (WebCore::executeToggleItalic): + (WebCore::executeTranspose): + (WebCore::executeUnderline): + (WebCore::executeUndo): + (WebCore::executeUnlink): + (WebCore::executeUnscript): + (WebCore::executeUnselect): + (WebCore::executeYank): + (WebCore::executeYankAndSelect): + (WebCore::supported): + (WebCore::supportedPaste): + (WebCore::enabled): + (WebCore::enabledAnySelection): + (WebCore::enabledAnySelectionAndMark): + (WebCore::enableCaretInEditableText): + (WebCore::enabledCopy): + (WebCore::enabledCut): + (WebCore::enabledInEditableText): + (WebCore::enabledInRichlyEditableText): + (WebCore::enabledPaste): + (WebCore::enabledRangeInEditableText): + (WebCore::enabledRangeInRichlyEditableText): + (WebCore::enabledRedo): + (WebCore::enabledUndo): + (WebCore::stateNone): + (WebCore::stateBold): + (WebCore::stateItalic): + (WebCore::stateOrderedList): + (WebCore::stateStrikethrough): + (WebCore::stateSubscript): + (WebCore::stateSuperscript): + (WebCore::stateUnderline): + (WebCore::stateUnorderedList): + (WebCore::valueNull): + (WebCore::valueBackColor): + (WebCore::valueFontName): + (WebCore::valueFontSize): + (WebCore::valueFontSizeDelta): + (WebCore::valueForeColor): + (WebCore::createCommandMap): Added lots of commands, including all the commands + from JSEditor. A few commands needed different behavior based on whether they are + invoked from the DOM or a keyboard binding. + (WebCore::Editor::command): Added. Gets a command object given a name. + (WebCore::Editor::Command::Command): Added. + (WebCore::Editor::Command::execute): Added. + (WebCore::Editor::Command::isSupported): Added. + (WebCore::Editor::Command::isEnabled): Added. + (WebCore::Editor::Command::state): Added. + (WebCore::Editor::Command::value): Added. + (WebCore::Editor::execCommand): Changed to call command().execute(). + + * editing/JSEditor.cpp: Removed. + * editing/JSEditor.h: Removed. + + * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of + kill ring commands, so the kill ring commands can be cross-platform. + (WebCore::Editor::appendToKillRing): Added. + (WebCore::Editor::prependToKillRing): Added. + (WebCore::Editor::yankFromKillRing): Added. + (WebCore::Editor::startNewKillRingSequence): Added. + (WebCore::Editor::setKillRingToYankedState): Added. + + * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState. + * page/Frame.h: Ditto. + + * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle. + * page/mac/WebCoreFrameBridge.h: Ditto. + + * platform/ContextMenu.cpp: + (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change. + + * platform/text/StringHash.h: + (WebCore::StringHash::hash): Merged the StrHash<> template classes into this. + (WebCore::StringHash::equal): Ditto. + (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template + classes into this. + (WebCore::CaseFoldingHash::equal): Ditto. + + * platform/text/StringImpl.cpp: + (WebCore::equal): Changed to invoke StringHash. + (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash. + + * dom/DOMImplementation.cpp: + (WebCore::addString): Updated to use StringHash and CaseFoldingHash. + (WebCore::isSVG10Feature): Ditto. + (WebCore::isSVG11Feature): Ditto. + * loader/FrameLoader.cpp: + (WebCore::localSchemes): Ditto. + * platform/graphics/FontCache.cpp: + (WebCore::computeHash): Ditto. + * platform/network/HTTPHeaderMap.h: Ditto. + * platform/text/PlatformString.h: Ditto. + * platform/text/StringImpl.h: Ditto. + * rendering/RenderPartObject.cpp: + (WebCore::RenderPartObject::updateWidget): Ditto. + * xml/XMLHttpRequest.cpp: + (WebCore::canSetRequestHeader): Ditto. + + * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h. + +2007-12-11 Darin Adler <darin@apple.com> + + * platform/wx/KeyboardEventWx.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the + WX build. Changes the code around a little bit. + +2007-12-11 Darin Adler <darin@apple.com> + + * platform/wx/KeyboardEventWx.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build. + +2007-12-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia + + Test: fast/text/international/complex-character-based-fallback.html + + * platform/graphics/Font.cpp: + (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument + that forces this function to use the small caps font. It is used for + combining marks that need to combine with a small cap. + * platform/graphics/Font.h: + * platform/win/UniscribeController.cpp: + (WebCore::UniscribeController::advance): Changed to split the string + into runs of characters that will be rendered using the same FontData. + This is done by calling glyphDataForCharacter() for each cahracter to + find the FontData it should be rendered with. + (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData + argument that is passed on to shapeAndPlaceItem() instead of the + smallCaps argument. + (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData + argument and removed the font fallback logic from this function, as + it is now expected to be called with an item all of whose characters + can be rendered with the given fontData. + * platform/win/UniscribeController.h: + +2007-12-07 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + <rdar://problem/5535636> + Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard. + + http://bugs.webkit.org/show_bug.cgi?id=13916 + JavaScript detects Tab as a character input on a textfield validation + + Test: platform/win/fast/events/double-dead-char.html + + * platform/PlatformKeyboardEvent.h: + (WebCore::PlatformKeyboardEvent::): + (WebCore::PlatformKeyboardEvent::type): + (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode): + (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode): + (WebCore::PlatformKeyboardEvent::keyIdentifier): + (WebCore::PlatformKeyboardEvent::setIsAutoRepeat): + Added an explicit type member to differentiate different kinds of events: + RawKeyDown == keydown == WM_KEYDOWN + KeyUp == keyup == WM_KEYUP + Char == keypress == WM_CHAR + KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for + event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM. + + * platform/mac/KeyEventMac.mm: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members. + Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers. + (WebCore::windowsKeyCodeForKeyEvent): + (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining + that it still fails. + (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that + should not be available in those (because it cannot be provided on Windows). + + * platform/win/KeyEventWin.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members. + Used standard Windows constants for bit masks instead of our own ones. + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows. + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): + * platform/wx/KeyboardEventWx.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): + Updated for cross-platform changes as much as it was possible without appropriate build + environments. + + * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to + convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand(). + + * bridge/EditorClient.h: + Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses. + Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns. + + * dom/Document.h: + * dom/Document.cpp: + (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler. + + * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior. + + * dom/KeyboardEvent.cpp: + (WebCore::eventTypeForKeyboardEventType): + (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is + now straightforward, so scary hacks such as using autorepeat to distinguish types are + not needed. + (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior. + (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior. + Changed to a more compatible behavior: raw keydown/keyup events do not and can not have + character codes. + + * editing/Editor.h: + * editing/Editor.cpp: + (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise? + (WebCore::Editor::handleKeyboardEvent): Updated for new function names. + (WebCore::Editor::handleInputMethodKeydown): Ditto. + + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an + appropriate event. Enter is processed on keypress (and thus should be checked for via charCode, + not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is + highlighted when Space is pressed. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::menuListDefaultEventHandler): + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): + Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones + described above. + + * page/EventHandler.cpp: + (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event + to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event + handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress() + now being handleInputMethodKeydown(). + (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown. + (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler, + as default tab handling happens when processing keydown. + (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal + event handling. Fixed accesskey processing to use information that's available in a raw keydown + event. + + (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular, + handle tabs during keydown processing. + + * page/mac/EventHandlerMac.mm: + (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is + what callers want. + + * platform/text/PlatformString.h: + * platform/text/String.cpp: + (WebCore::String::characterStartingAt): + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::characterStartingAt): + * platform/text/StringImpl.h: + Added a UChar32 accessor. + + * svg/graphics/SVGImageEmptyClients.h: + (WebCore::SVGEmptyEditorClient::handleKeyboardEvent): + (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown): + Updated for new function names. + +2007-12-11 John Sullivan <sullivan@apple.com> + + Reviewed by Adele + + Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::createQTMovieView): + (WebCore::MediaPlayerPrivate::detachQTMovieView): + +2007-12-11 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16325 + <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work + + Fix this on Windows, too! + + Test: http/tests/misc/empty-cookie.html + + * platform/network/win/CookieJarWin.cpp: + (WebCore::setCookies): + (WebCore::cookies): + Same fix as on Mac, translated into CF. + + * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win. + +2007-12-11 Christian Dywan <christian@twotoasts.de> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16371 + Implement additional mouse cursors for Gtk + + Added cursor bitmaps from Mozilla: + http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h + + * platform/gtk/CursorGtk.cpp: + (WebCore::customCursorNew): + (WebCore::verticalTextCursor): + (WebCore::cellCursor): + (WebCore::contextMenuCursor): + (WebCore::noDropCursor): + (WebCore::copyCursor): + (WebCore::progressCursor): + (WebCore::aliasCursor): + (WebCore::noneCursor): + (WebCore::notAllowedCursor): + (WebCore::zoomInCursor): + (WebCore::zoomOutCursor): + * platform/gtk/CursorGtk.h: Added. + +2007-12-10 Oliver Hunt <oliver@apple.com> + + Reviewed by Weinig, Dan, and Alexey. + + Fix character set used for dynamically loaded scripts. + + Fix for: + <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly. + <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage. + <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding + + Use the same logic to determine the charset for a script loaded dynamically + as we do for a statically loaded script. + + * html/HTMLScriptElement.cpp: + (WebCore::HTMLScriptElement::insertedIntoDocument): + +2007-12-10 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled + + We were trying to insert a block of the requested type before the body element. + + * editing/FormatBlockCommand.cpp: + (WebCore::FormatBlockCommand::doApply): + Removed unnecessary ()s in the if condition. + Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since + a) upstreamStart will never be outside the root editable element, since in that case + there would be no block inside the editable root to Format, and b) if upstreamStart.node() + *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert + at [root, 0]. + Added comments to explain the use of upstream() in the second if-clause. + Added an early return for case where there is nothing selected, in that case, there is nothing + to move. + +2007-12-10 Adele Peterson <adele@apple.com> + + Reviewed and partially fixed by Tim Hatcher. + + Remaining part of fix for <rdar://problem/5633400> + Transformed <video> is not clipped correctly until a repaint is forced + + Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie + from clobbering the WebCore repaints. + + * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added. + * html/HTMLMediaElement.h: + * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added. + * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (method_setImplementation): Added for Tiger. + + (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup. + (WebCore::MediaPlayerPrivate::cancelLoad): ditto. + (WebCore::MediaPlayerPrivate::setVisible): ditto. + (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer. + + (WebCore::MediaPlayerPrivate::repaint): Added. Triggers a repaint on the video renderer. + (-[WebCoreMovieObserver repaint]): ditto. + + (WebCore::mainThreadSetNeedsDisplay): Added. + Does a WebCore repaint instead of going through the view repaint system for QTMovieView. + (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay. + +2007-12-10 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Updated for rename in JavaScriptCore. + + * bridge/mac/WebCoreScriptDebugger.mm: + (-[WebCoreScriptCallFrame scopeChain]): + (-[WebCoreScriptCallFrame functionName]): + (-[WebCoreScriptCallFrame evaluateWebScript:]): + +2007-12-10 Rodney Dawes <dobey@wayofthemonkey.com> + + Bug 16383: Ambiguous Window Usage in kjs_dom.cpp + <http://bugs.webkit.org/show_bug.cgi?id=16383> + + Use KJS::Window not the ambiguous Window + + Reviewed by ddkilzer. + + * bindings/js/kjs_dom.cpp (checkNodeSecurity): + +2007-12-10 Sam Weinig <sam@webkit.org> + + Fix non-mac builds. + + * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan. + +2007-12-10 Marvin Decker <marv.decker@gmail.com> + + Reviewed by Darin. + + Fix a divide by 0 in the progress tracker. + http://bugs.webkit.org/show_bug.cgi?id=15055 + + * loader/ProgressTracker.cpp: + (WebCore::ProgressTracker::incrementProgress): + +2007-12-09 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + More cleanup of kjs_window. + - Move WindowFeatures from bridge/ to page/ + - Move functions related to WindowFeatures (boolFeature, + floatFeature, setWindowFeature, parseWindowFeatures) into the class. + - Fix up whitespace. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/kjs_window.cpp: + (KJS::DOMWindowTimer::~DOMWindowTimer): + (KJS::createWindow): + (KJS::showModalDialog): + (KJS::Window::getOwnPropertySlot): + (KJS::Window::allowsAccessFrom): + (KJS::Window::shouldInterruptScript): + (KJS::WindowProtoFuncAToB::callAsFunction): + (KJS::WindowProtoFuncOpen::callAsFunction): + (KJS::Window::setReturnValueSlot): + (KJS::ScheduledAction::execute): + (KJS::Window::timerFired): + (KJS::Location::Location): + (KJS::Location::getValueProperty): + (KJS::Location::getOwnPropertySlot): + (KJS::Location::put): + (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names. + (KJS::LocationProtoFuncAssign::callAsFunction): Ditto. + (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to + allowsAccessFrom, cleanup the function a little. + (KJS::PausedTimeouts::~PausedTimeouts): + * bridge/WindowFeatures.h: Removed. + * page/WindowFeatures.cpp: Added. + (WebCore::isSeparator): + (WebCore::WindowFeatures::WindowFeatures): + (WebCore::WindowFeatures::setWindowFeature): + (WebCore::WindowFeatures::boolFeature): + (WebCore::WindowFeatures::floatFeature): + * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h. + (WebCore::WindowFeatures::WindowFeatures): + +2007-12-10 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x + + * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR, + so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX. + +2007-12-10 Alp Toker <alp@atoker.com> + + Reviewed by Niko. + + Cairo implementation of GraphicsContext::setUseAntialiasing(). + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setUseAntialiasing): + +2007-12-10 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16182 + SVG should disable antialiasing for shape-rendering="crispEdges" + + Turn off anti-aliasing of shapes when shape-rendering="crispEdges". + + * platform/graphics/GraphicsContext.h: + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::setUseAntialiasing): + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::setUseAntialiasing): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::setUseAntialiasing): + * platform/graphics/wx/GraphicsContextWx.cpp: + (WebCore::GraphicsContext::setUseAntialiasing): + * rendering/RenderPath.cpp: + (WebCore::RenderPath::paint): + +2007-12-09 Rob Buis <buis@kde.org> + + Reviewed by Niko. + + http://bugs.webkit.org/show_bug.cgi?id=16163 + SVG crash in Node::setChanged() on Debug builds only (trashed parent) + + Fix the crash by properly unregistering as client from SVGResource + when deleting a styled svg node. + + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::~SVGStyledElement): + +2007-12-10 Brady Eidson <beidson@apple.com> + + Rubberstamped by John + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size + for the new quota, we should allow the database to be created + +2007-12-10 David D. Kilzer <ddkilzer@webkit.org> + + Bug 9683: Implement select.options.remove() method + <http://bugs.webkit.org/show_bug.cgi?id=9683> + + Reviewed by Maciej. + + Implement select.options.remove() by calling select.remove() + with the same arguments. This is what MSIE 7 does, although its + select.remove() method differs from WebKit's by throwing an + exception when called with no arguments or with a negative + integer argument. Note that the DOM Level 1 documentation + specifies that select.remove() does not throw an exception. + + Tests: fast/js/select-options-remove-gc.html + fast/js/select-options-remove.html + + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + (WebCore::JSHTMLOptionsCollection::remove): Added. + * html/HTMLOptionsCollection.cpp: + (WebCore::HTMLOptionsCollection::remove): Added. + * html/HTMLOptionsCollection.h: + * html/HTMLOptionsCollection.idl: + +2007-12-09 Sam Weinig <sam@webkit.org> + + Rubber stamped by Mark Rowe. + + * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files. + +2007-12-09 Oliver Hunt <oliver@apple.com> + + Reviewed by Niko. + + Correction, 'z' and 'Z' are the only commands that cannot have an extended + list of arguments. + + * svg/SVGParserUtilities.cpp: + (WebCore::SVGPathParser::parseSVG): + +2007-12-09 Oliver Hunt <oliver@apple.com> + + Reviewed by Niko. + + Prevent unlimited iteration in the case of invalid path data. + + The only path commands that can leave numbers trailing the command processing + are 'm' and 'M', in which trailing numbers are parsed as arguments to an + implicit lineto command. In any case we should just terminate as an invalid + path. + + * svg/SVGParserUtilities.cpp: + (WebCore::SVGPathParser::parseSVG): + +2007-12-09 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=15825 + [GTK] curl - slow dns causing hangs. + + Create a vector of jobs, to satisfy requests in the right order. + Set a limit to the number of simultaneous connections. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::maxRunningJobs): added + (WebCore::ResourceHandleManager::ResourceHandleManager): + (WebCore::ResourceHandleManager::removeFromCurl): + (WebCore::ResourceHandleManager::startScheduledJobs): + + * platform/network/curl/ResourceHandleManager.h: + (WebCore::ResourceHandleList): removed + (WebCore::ResourceHandleManager::m_runningJobs): added + (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed + (WebCore::ResourceHandleManager::m_resourceHandleList): added + +2007-12-08 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver. + + Cleanup kjs_window.h/cpp. + + * bindings/js/kjs_window.cpp: + (KJS::WindowPrivate::WindowPrivate): + (KJS::DOMWindowTimer::DOMWindowTimer): + (KJS::Window::Window): + (KJS::Window::retrieveWindow): + (KJS::Window::retrieveActive): + (KJS::Window::retrieve): + (KJS::Window::location): + (KJS::Window::mark): + (KJS::allowPopUp): + (KJS::parseModalDialogFeatures): + (KJS::floatFeature): + (KJS::canShowModalDialog): + (KJS::canShowModalDialogNow): + (KJS::showModalDialog): + (KJS::Window::getValueProperty): + (KJS::Window::getOwnPropertySlot): + (KJS::Window::globalExec): + (KJS::Window::setListener): + (KJS::Window::getListener): + (KJS::Window::findOrCreateJSEventListener): + (KJS::Window::findOrCreateJSUnprotectedEventListener): + (KJS::Window::clearHelperObjectProperties): + (KJS::Window::setCurrentEvent): + (KJS::WindowProtoFuncAToB::callAsFunction): + (KJS::WindowProtoFuncBToA::callAsFunction): + (KJS::WindowProtoFuncOpen::callAsFunction): + (KJS::WindowProtoFuncSetTimeout::callAsFunction): + (KJS::WindowProtoFuncClearTimeout::callAsFunction): + (KJS::WindowProtoFuncSetInterval::callAsFunction): + (KJS::WindowProtoFuncAddEventListener::callAsFunction): + (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): + (KJS::WindowProtoFuncShowModalDialog::callAsFunction): + (KJS::WindowProtoFuncNotImplemented::callAsFunction): + * bindings/js/kjs_window.h: + (KJS::PausedTimeouts::PausedTimeouts): + (KJS::PausedTimeouts::takeTimeouts): + (KJS::ScheduledAction::ScheduledAction): + +2007-12-08 Sam Weinig <sam@webkit.org> + + Reviewed by Mitz. + + Move window scrolling, moving and resizing methods from KJS::Window + to WebCore::DOMWindow so that there bindings can be autogenerated. + + Tests: fast/dom/Window/window-resize-and-move-arguments.html + fast/dom/Window/window-scroll-arguments.html + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check. + (KJS::WindowProtoFuncOpen::callAsFunction): + (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check. + * bindings/js/kjs_window.h: + * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute + to ensure that the no less than the declared number of attributes + is allowed. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window. + (WebCore::DOMWindow::scrollBy): + (WebCore::DOMWindow::scrollTo): + (WebCore::DOMWindow::moveBy): + (WebCore::DOMWindow::moveTo): + (WebCore::DOMWindow::resizeBy): + (WebCore::DOMWindow::resizeTo): + * page/DOMWindow.h: + (WebCore::DOMWindow::scroll): + * page/DOMWindow.idl: + +2007-12-08 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=14651 + [CURL] didReceiveResponse() only called for HTTP loads + + http://bugs.webkit.org/show_bug.cgi?id=14583 + [GDK] file:// relative CSS include URLs handled incorrectly + + Make sure CURL sets the ResourceResponse URL and calls + didReceiveResponse for local files too. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::writeCallback): + +2007-12-08 Oliver Hunt <oliver@apple.com> + + Reviewed by Sam W. + + Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags. + + Fixes <rdar://problem/5620249> Must disable SVG animation + <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior + + In order to allow finer grained control over the set of SVG features + this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following + distinct flags: + ENABLE_SVG_ANIMATION + ENABLE_SVG_FILTERS + ENABLE_SVG_FONTS + ENABLE_SVG_AS_IMAGE + ENABLE_SVG_USE + + by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set. + + * Configurations/WebCore.xcconfig: + * DerivedSources.make: + Handle the increased number of build flags that may be necessary + + * WebCore.SVG.Animation.exp: Added. + * WebCore.SVG.Filters.exp: Added. + * WebCore.SVG.exp: + We now may not need the animation or filter exports so + these need to be separate. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/build-generated-files.sh: + Update for new flags + + Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) + with the appropriate specific feature flag. + * bindings/js/JSSVGElementWrapperFactory.cpp: + (WebCore::createJSSVGWrapper): + * bindings/objc/DOM.mm: + (WebCore::createElementClassMap): + * dom/make_names.pl: + * loader/CachedImage.cpp: + (WebCore::CachedImage::createImage): + * page/DOMWindow.idl: + * rendering/RenderPath.cpp: + (WebCore::RenderPath::absoluteClippedOverflowRect): + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::absoluteClippedOverflowRect): + * rendering/RenderSVGImage.cpp: + (WebCore::RenderSVGImage::absoluteClippedOverflowRect): + * rendering/RenderSVGRoot.cpp: + (WebCore::RenderSVGRoot::paint): + (WebCore::RenderSVGRoot::absoluteClippedOverflowRect): + * rendering/RenderSVGText.cpp: + (WebCore::RenderSVGText::absoluteClippedOverflowRect): + * rendering/SVGRenderSupport.cpp: + (WebCore::prepareToRenderSVGContent): + (WebCore::finishRenderSVGContent): + * svg/SVGAnimateElement.cpp: + * svg/SVGAnimateElement.h: + * svg/SVGAnimateElement.idl: + * svg/SVGAnimateMotionElement.cpp: + * svg/SVGAnimateMotionElement.h: + * svg/SVGAnimateTransformElement.cpp: + * svg/SVGAnimateTransformElement.h: + * svg/SVGAnimateTransformElement.idl: + * svg/SVGComponentTransferFunctionElement.cpp: + * svg/SVGComponentTransferFunctionElement.h: + * svg/SVGComponentTransferFunctionElement.idl: + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::startAnimations): + * svg/SVGFEBlendElement.cpp: + * svg/SVGFEBlendElement.h: + * svg/SVGFEBlendElement.idl: + * svg/SVGFEColorMatrixElement.cpp: + * svg/SVGFEColorMatrixElement.h: + * svg/SVGFEColorMatrixElement.idl: + * svg/SVGFEComponentTransferElement.cpp: + * svg/SVGFEComponentTransferElement.h: + * svg/SVGFEComponentTransferElement.idl: + * svg/SVGFECompositeElement.cpp: + * svg/SVGFECompositeElement.h: + * svg/SVGFECompositeElement.idl: + * svg/SVGFEDiffuseLightingElement.cpp: + * svg/SVGFEDiffuseLightingElement.h: + * svg/SVGFEDiffuseLightingElement.idl: + * svg/SVGFEDisplacementMapElement.cpp: + * svg/SVGFEDisplacementMapElement.h: + * svg/SVGFEDisplacementMapElement.idl: + * svg/SVGFEDistantLightElement.cpp: + * svg/SVGFEDistantLightElement.h: + * svg/SVGFEDistantLightElement.idl: + * svg/SVGFEFloodElement.cpp: + * svg/SVGFEFloodElement.h: + * svg/SVGFEFloodElement.idl: + * svg/SVGFEFuncAElement.cpp: + * svg/SVGFEFuncAElement.h: + * svg/SVGFEFuncAElement.idl: + * svg/SVGFEFuncBElement.cpp: + * svg/SVGFEFuncBElement.h: + * svg/SVGFEFuncBElement.idl: + * svg/SVGFEFuncGElement.cpp: + * svg/SVGFEFuncGElement.h: + * svg/SVGFEFuncGElement.idl: + * svg/SVGFEFuncRElement.cpp: + * svg/SVGFEFuncRElement.h: + * svg/SVGFEFuncRElement.idl: + * svg/SVGFEGaussianBlurElement.cpp: + * svg/SVGFEGaussianBlurElement.h: + * svg/SVGFEGaussianBlurElement.idl: + * svg/SVGFEImageElement.cpp: + * svg/SVGFEImageElement.h: + * svg/SVGFEImageElement.idl: + * svg/SVGFELightElement.cpp: + * svg/SVGFELightElement.h: + * svg/SVGFEMergeElement.cpp: + * svg/SVGFEMergeElement.h: + * svg/SVGFEMergeElement.idl: + * svg/SVGFEMergeNodeElement.cpp: + * svg/SVGFEMergeNodeElement.h: + * svg/SVGFEMergeNodeElement.idl: + * svg/SVGFEOffsetElement.cpp: + * svg/SVGFEOffsetElement.h: + * svg/SVGFEOffsetElement.idl: + * svg/SVGFEPointLightElement.cpp: + * svg/SVGFEPointLightElement.h: + * svg/SVGFEPointLightElement.idl: + * svg/SVGFESpecularLightingElement.cpp: + * svg/SVGFESpecularLightingElement.h: + * svg/SVGFESpecularLightingElement.idl: + * svg/SVGFESpotLightElement.cpp: + * svg/SVGFESpotLightElement.h: + * svg/SVGFESpotLightElement.idl: + * svg/SVGFETileElement.cpp: + * svg/SVGFETileElement.h: + * svg/SVGFETileElement.idl: + * svg/SVGFETurbulenceElement.cpp: + * svg/SVGFETurbulenceElement.h: + * svg/SVGFETurbulenceElement.idl: + * svg/SVGFilterElement.cpp: + * svg/SVGFilterElement.h: + * svg/SVGFilterElement.idl: + * svg/SVGFilterPrimitiveStandardAttributes.cpp: + * svg/SVGTimer.cpp: + (WebCore::SVGTimer::animationsByElement): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::buildPendingResource): + (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): + * svg/SVGUseElement.h: + * svg/TimeScheduler.cpp: + (WebCore::TimeScheduler::connectIntervalTimer): + (WebCore::TimeScheduler::disconnectIntervalTimer): + * svg/graphics/SVGResourceFilter.cpp: + * svg/graphics/SVGResourceFilter.h: + * svg/graphics/cg/SVGResourceFilterCg.cpp: + * svg/graphics/cg/SVGResourceFilterCg.mm: + * svg/graphics/filters/SVGDistantLightSource.h: + * svg/graphics/filters/SVGFEBlend.cpp: + * svg/graphics/filters/SVGFEBlend.h: + * svg/graphics/filters/SVGFEColorMatrix.cpp: + * svg/graphics/filters/SVGFEColorMatrix.h: + * svg/graphics/filters/SVGFEComponentTransfer.cpp: + * svg/graphics/filters/SVGFEComponentTransfer.h: + * svg/graphics/filters/SVGFEComposite.cpp: + * svg/graphics/filters/SVGFEComposite.h: + * svg/graphics/filters/SVGFEConvolveMatrix.cpp: + * svg/graphics/filters/SVGFEConvolveMatrix.h: + * svg/graphics/filters/SVGFEDiffuseLighting.cpp: + * svg/graphics/filters/SVGFEDiffuseLighting.h: + * svg/graphics/filters/SVGFEDisplacementMap.cpp: + * svg/graphics/filters/SVGFEDisplacementMap.h: + * svg/graphics/filters/SVGFEFlood.cpp: + * svg/graphics/filters/SVGFEFlood.h: + * svg/graphics/filters/SVGFEGaussianBlur.cpp: + * svg/graphics/filters/SVGFEGaussianBlur.h: + * svg/graphics/filters/SVGFEImage.cpp: + * svg/graphics/filters/SVGFEImage.h: + * svg/graphics/filters/SVGFEMerge.cpp: + * svg/graphics/filters/SVGFEMerge.h: + * svg/graphics/filters/SVGFEMorphology.cpp: + * svg/graphics/filters/SVGFEMorphology.h: + * svg/graphics/filters/SVGFEOffset.cpp: + * svg/graphics/filters/SVGFEOffset.h: + * svg/graphics/filters/SVGFESpecularLighting.cpp: + * svg/graphics/filters/SVGFESpecularLighting.h: + * svg/graphics/filters/SVGFETile.h: + * svg/graphics/filters/SVGFETurbulence.cpp: + * svg/graphics/filters/SVGFETurbulence.h: + * svg/graphics/filters/SVGFilterEffect.cpp: + * svg/graphics/filters/SVGFilterEffect.h: + * svg/graphics/filters/SVGLightSource.cpp: + * svg/graphics/filters/SVGLightSource.h: + * svg/graphics/filters/SVGPointLightSource.h: + * svg/graphics/filters/SVGSpotLightSource.h: + * svg/graphics/filters/cg/SVGFEBlendCg.mm: + * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm: + * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm: + * svg/graphics/filters/cg/SVGFECompositeCg.mm: + * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm: + * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm: + * svg/graphics/filters/cg/SVGFEFloodCg.mm: + * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm: + * svg/graphics/filters/cg/SVGFEHelpersCg.h: + * svg/graphics/filters/cg/SVGFEHelpersCg.mm: + * svg/graphics/filters/cg/SVGFEImageCg.mm: + * svg/graphics/filters/cg/SVGFEMergeCg.mm: + * svg/graphics/filters/cg/SVGFEOffsetCg.mm: + * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm: + * svg/graphics/filters/cg/SVGFETileCg.mm: + * svg/graphics/filters/cg/SVGFilterEffectCg.mm: + * svg/graphics/filters/cg/WKArithmeticFilter.h: + * svg/graphics/filters/cg/WKArithmeticFilter.m: + * svg/graphics/filters/cg/WKComponentMergeFilter.h: + * svg/graphics/filters/cg/WKComponentMergeFilter.m: + * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: + * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: + * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: + * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: + * svg/graphics/filters/cg/WKDisplacementMapFilter.h: + * svg/graphics/filters/cg/WKDisplacementMapFilter.m: + * svg/graphics/filters/cg/WKDistantLightFilter.h: + * svg/graphics/filters/cg/WKDistantLightFilter.m: + * svg/graphics/filters/cg/WKGammaTransferFilter.h: + * svg/graphics/filters/cg/WKGammaTransferFilter.m: + * svg/graphics/filters/cg/WKIdentityTransferFilter.h: + * svg/graphics/filters/cg/WKIdentityTransferFilter.m: + * svg/graphics/filters/cg/WKLinearTransferFilter.h: + * svg/graphics/filters/cg/WKLinearTransferFilter.m: + * svg/graphics/filters/cg/WKNormalMapFilter.h: + * svg/graphics/filters/cg/WKNormalMapFilter.m: + * svg/graphics/filters/cg/WKPointLightFilter.h: + * svg/graphics/filters/cg/WKPointLightFilter.m: + * svg/graphics/filters/cg/WKSpecularLightingFilter.h: + * svg/graphics/filters/cg/WKSpecularLightingFilter.m: + * svg/graphics/filters/cg/WKSpotLightFilter.h: + * svg/graphics/filters/cg/WKSpotLightFilter.m: + * svg/graphics/filters/cg/WKTableTransferFilter.h: + * svg/graphics/filters/cg/WKTableTransferFilter.m: + * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: + * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: + * svg/svgtags.in: + +2007-12-08 Dan Bernstein <mitz@apple.com> + + Reviewed by Adele Peterson. + + - fix two bugs in parsing of stylesheets in <style> elements created by + the parser: + 1. each such stylesheet is parsed twice, once when the text node is + added and again when the </style> tag is reached + 2. re-inserting such a <style> element into the document fails to + re-parse and apply its stylesheet. + + Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html + + * html/HTMLStyleElement.cpp: + (WebCore::HTMLStyleElement::finishedParsing): + * svg/SVGStyleElement.cpp: + (WebCore::SVGStyleElement::finishedParsing): + +2007-12-07 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + - Removes the faulty isSafeScript implementation that was only + used for plugins. + - Renames isSafeScript to allowsAccessFrom. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + (WebCore::JSDOMWindow::customPut): + * bindings/js/kjs_dom.cpp: + (WebCore::checkNodeSecurity): + * bindings/js/kjs_window.cpp: + (KJS::createWindow): + (KJS::Window::getValueProperty): + (KJS::Window::namedItemGetter): + (KJS::Window::getOwnPropertySlot): + (KJS::Window::put): + (KJS::Window::allowsAccessFrom): + (KJS::Window::setListener): + (KJS::Window::getListener): + (KJS::WindowProtoFuncOpen::callAsFunction): + (KJS::WindowProtoFuncSetTimeout::callAsFunction): + (KJS::WindowProtoFuncClearTimeout::callAsFunction): + (KJS::WindowProtoFuncSetInterval::callAsFunction): + (KJS::WindowProtoFuncAddEventListener::callAsFunction): + (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): + (KJS::WindowProtoFuncNotImplemented::callAsFunction): + (KJS::Location::getOwnPropertySlot): + (KJS::Location::put): + (KJS::LocationProtoFuncReplace::callAsFunction): + (KJS::LocationProtoFuncReload::callAsFunction): + (KJS::LocationProtoFuncAssign::callAsFunction): + (KJS::LocationProtoFuncToString::callAsFunction): + * bindings/js/kjs_window.h: + (KJS::Window::allowsAccessFrom): + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match + the new call. + * bindings/scripts/CodeGeneratorJS.pm: + +2007-12-08 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15464 + SVGLengthList allows bad values + + Be more strict with svg lengths without a unit identifier. + + Test: svg/custom/invalid-lengthlist.svg + + * svg/SVGLength.cpp: + (WebCore::SVGLength::setValueAsString): + +2007-12-08 Rob Buis <buis@kde.org> + + Mac Tiger build fix. + + Use the wtf prefix when including MathExtras.h. + + * rendering/RenderMedia.cpp: + +2007-12-08 Alp Toker <alp@atoker.com> + + GTK+ build fix (for ENABLE_VIDEO builds): + + Include MathExtras.h to get isfinite(). + + * rendering/RenderMedia.cpp: + +2007-12-08 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15528 + svg_dynamic_cast should be removed + + Replace svg_dynamic_cast with a combination of + isSVGElement and static_cast. + + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBox::buildLayoutInformation): + (WebCore::SVGRootInlineBox::buildTextChunks): + * svg/SVGAnimationElement.cpp: + (WebCore::SVGAnimationElement::targetElement): + * svg/SVGElement.h: + * svg/SVGElementInstance.cpp: + (WebCore::SVGElementInstance::updateInstance): + * svg/SVGFilterElement.cpp: + (WebCore::SVGFilterElement::canvasResource): + * svg/SVGGradientElement.cpp: + (WebCore::SVGGradientElement::buildStops): + * svg/SVGLocatable.cpp: + (WebCore::SVGLocatable::getTransformToElement): + * svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::drawMaskerContent): + * svg/SVGSwitchElement.cpp: + (WebCore::SVGSwitchElement::childShouldCreateRenderer): + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::insertedIntoDocument): + (WebCore::SVGUseElement::buildPendingResource): + (WebCore::SVGUseElement::buildInstanceTree): + (WebCore::SVGUseElement::handleDeepUseReferencing): + (WebCore::SVGUseElement::buildShadowTree): + (WebCore::SVGUseElement::expandUseElementsInShadowTree): + (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements): + * svg/graphics/SVGResource.cpp: + (WebCore::getResourceById): + +2007-12-07 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Partial fix for <rdar://problem/5633400> + Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced + + Fix video painting when transform is applied. + + Test: media/video-transformed.html + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::paint): + +2007-12-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Sam Weinig. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16348 + @font-face does not affect the default style + + Test: fast/css/font-face-default-font.html + + * dom/Document.cpp: + (WebCore::Document::recalcStyle): Pass our font selector to + Font::update() if we already have one. + +2007-12-07 Darin Adler <darin@apple.com> + + - fix Windows build + + * bridge/win/GlobalHistoryWin.cpp: + (WebCore::historyContains): Missed a rename. + +2007-12-07 Brady Eidson <beidson@apple.com> + + Reviewed by Anders and Darin + + When a statement bumps up against the quota and the UI Delegate grants more space, we need to + actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota + in the DatabaseTracker, which was already done) + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on + the SQLiteDatabase to the new maximum size + +2007-12-07 Darin Adler <darin@apple.com> + + - fix Tiger build + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have + QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that. + +2007-12-07 Darin Adler <darin@apple.com> + + - fix 64-bit build, hopefully without breaking Tiger build + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::updateStates): + Don't use Movies.h constants that are nonexistent in 64-bit. + Define the new QTMovie.h constants, though, when using an older QTKit. + +2007-12-07 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting + (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists + * storage/DatabaseTracker.h: + +2007-12-07 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - http://bugs.webkit.org/show_bug.cgi?id=15981 + speed up visited-link code a bit + + * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length + instead of requiring a DeprecatedString. + + * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change. + Also removes pointless "fast Latin-1" case that was never used. + * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto. + * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto. + * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto. + + * css/CSSStyleSelector.cpp: + (WebCore::findHash): Added. Helper for cleanpath. + (WebCore::findSlashDotDotSlash): Ditto. + (WebCore::findSlashSlash): Ditto. + (WebCore::findSlashDotSlash): Ditto. + (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose + DeprecatedString find function. + (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState. + (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString* + instead of an AtomicString for the attribute value. Changed to use fast helper function + instead of slower DeprecatedString::contains function, and also made the fast case not + bother allocating a DeprecatedConstString. + + - unrelated tiny cleanup + + * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: + (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast. + (WebCore::cgGradientCallback): Ditto. + +2007-12-07 Darin Adler <darin@apple.com> + + Fix build on Tiger (Mark Rowe told me how). + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + Include <objc/objc-runtime.h>, which existed back on Tiger, + rather than <objc/runtime.h>, which did not. + +2007-12-07 Geoffrey Garen <ggaren@apple.com> + + Build fix: rolling out last build fix to change #include path. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + +2007-12-07 Steve Falkenburg <sfalken@apple.com> + + Re-named our B&I flag from BUILDBOT to PRODUCTION. + + Reviewed by Sam Weinig. + + * WebCore.vcproj/WebCore.make: + +2007-12-07 Geoffrey Garen <ggaren@apple.com> + + Build fix: corrected #include path. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + +2007-12-07 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Added some namespace qualifications and a forwarding header, now that + KJS::Node is sometimes #included in WebCore by JavaScriptCore headers. + + * ForwardingHeaders/wtf/ListRefPtr.h: Added. + * bindings/js/JSXSLTProcessor.cpp: + (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction): + * bindings/js/kjs_binding.cpp: + (KJS::ScriptInterpreter::getDOMNodeForDocument): + (KJS::ScriptInterpreter::forgetDOMNodeForDocument): + (KJS::ScriptInterpreter::putDOMNodeForDocument): + (KJS::ScriptInterpreter::markDOMNodesForDocument): + (KJS::ScriptInterpreter::updateDOMNodeDocument): + +2007-12-07 Adam Roben <aroben@apple.com> + + Add SoftLinking.h for Windows and use it in a few places + + Reviewed by Oliver. + + * WebCore.vcproj/WebCore.vcproj: Added new file to project. + * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h. + (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual + soft-linking calls. + (WebCore::PlatformScrollbar::paintButton): Check for the presence of + the SafariTheme library now that we can't check for the presence of + paintThemePart directly. + (WebCore::PlatformScrollbar::paintTrack): Ditto. + (WebCore::PlatformScrollbar::paintThumb): Ditto. + * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h. + * rendering/RenderThemeSafari.cpp: Same basic changes as to + PlatformScrollBarSafari.cpp. + (WebCore::RenderThemeSafari::RenderThemeSafari): + (WebCore::RenderThemeSafari::isControlStyled): + (WebCore::RenderThemeSafari::paintCapsLockIndicator): + * rendering/RenderThemeSafari.h: Removed m_themeDLL member. + +2007-12-07 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari + at WebCore::HTMLSelectElement::saveState const + 152 + + Test: fast/forms/select-set-inner.html + + * dom/ContainerNode.cpp: + (WebCore::ContainerNode::removeChildren): Added a return value, as with other + calls that change children, so we can optimize for the case where it does nothing. + (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode. + * dom/ContainerNode.h: See above. + + * html/HTMLOptGroupElement.cpp: + (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call + recalcSelectOptions in that case. + (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of + addChild, for consistency with HTMLSelectElement; no need to override both. + (WebCore::HTMLOptGroupElement::groupLabelText): Made const. + * html/HTMLOptGroupElement.h: See above. + + * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already + override childrenChanged, and addChild calls that. + (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call + recalcSelectOptions in that case. + (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit + by using a for loop and traverseNextSibling. Also added some new comments and + removed some obsolete ones. + (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make + sure we don't have a stale list items vector. + * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems(). + This will help us catch cases where we have too few calls to setRecalcListItems. + +2007-12-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges + + Test: fast/repaint/focus-ring.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::caretRepaintRect): Changed to return just + the caret rect without any padding. + (WebCore::SelectionController::recomputeCaretRect): Changed to repaint + just the caret rect without any padding. + * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and + clearFocusRingClip(). + * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto. + * platform/graphics/cg/GraphicsContextCG.cpp: Ditto. + * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed + m_focusRingClip member. + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawFocusRing): Changed to call + wkDrawFocusRing() once without setting up additional clip. On Leopard, + wkDrawFocusRing() respects the context clip now. On Tiger, a + transparency layer is used to apply clipping to the focus ring. + * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip + methods and member. + * platform/graphics/wx/GraphicsContextWx.cpp: Ditto. + * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument + to wkDrawFocusRing(). + * platform/mac/WebCoreSystemInterface.mm: Ditto. + * rendering/RenderLayer.cpp: + (WebCore::setClip): Removed call to set the focus ring clip. + (WebCore::restoreClip): Removed call to reset the focus ring clip. + +2007-12-07 Darin Adler <darin@apple.com> + + Reviewed by Antti Koivisto and Kevin Decker. + + - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup + + Also did a lot of small tweaks to MediaPlayerPrivateQTKit. + + * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations. + Made a lot more functions const. Made a few more members private and a couple inline. + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the + things we currently use in QTKit. It's a little more awkward for classes and other data objects + than it is for functions, but still relatively straightforward, with no changes needed to the + client code. Added using namespace directives. Made a cuePointTimerInterval constant and put + it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f. + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr + members to nil. + (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease. + (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor]. + (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect. + Changed to use long instead of int because that's the type for a QTTime time scale anyway. + (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast. + (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression. + (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue + points set to avoid a potential problem with a set being modified as we iterate it. + (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie. + (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric + values, used the constants from the headers directly. + (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0, + pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type + of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably + no better). Used RetainPtr instead of explicit CFRelease calls. + + * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers. + It's not quite as automatic as the soft linking we can do for functions, since these define + functions to get the values, so you need to define macros to make what look like variable + accesses turn into function calls. See MediaPlayerPrivateQTKit for the details. + + * html/HTMLMediaElement.h: + * html/TimeRanges.h: + * html/VoidCallback.h: + * platform/graphics/MediaPlayer.h: + Use angle brackets for wtf includes. Omit unneeded includes. + +2007-12-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16334 + <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely + + Test: fast/dynamic/subtree-no-common-root-static-y.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call + to setChildNeedsLayout() to not mark containing blocks and added a + separate call to markContainingBlocksForLayout() that will not schedule + a layout if we are already in the middle of scheduleRelayoutOfSubtree(). + +2007-12-07 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16325 + <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work + + Test: http/tests/misc/empty-cookie.html + + * platform/mac/CookieJar.mm: + (WebCore::setCookies): Don't store empty cookies. + (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set + with an earlier version of Leopard! + +2007-12-06 Ada Chan <adachan@apple.com> + + Fixed the if statement (ERROR_SUCCESS is 0 and we were actually + returning true when there's an error). + + Reviewed by Steve. + + * platform/win/FileSystemWin.cpp: + (WebCore::makeAllDirectories): + +2007-12-06 Darin Adler <darin@apple.com> + + - fix broken regression test + + * bindings/js/kjs_binding.cpp: + (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED. + +2007-12-06 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16332 + ObjC DOM exception object descriptions should include the exception name + + * WebCore.pro: Added ExceptionCode.cpp. + * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp. + * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp. + * WebCoreSources.bkl: Added ExceptionCode.cpp. + + * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an + ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed + the many unneeded includes that were here. Had to keep one special case here, for + SECURITY_ERR. + + * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the + new getExceptionCodeDescription function so that this shares the exception name + information that was previously only available to JavaScript. + + * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp. + (WebCore::getExceptionCodeDescription): Added some assertions, and made the function + handle exception names in a slightly more robust way that is not subject to integer + overflow. (Not a real world issue since we should never receive a bad exception code.) + + * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the + getExceptionCodeDescription function. + + * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of + the comments were mildly helpful, but others were incorrect. This now matches the other + exception-related headers such as RangeException.h. + +2007-12-06 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Fixed a glaring bug that would prevent a statement from getting run a second time + + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error + and return early + (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error + +2007-12-06 Timothy Hatcher <timothy@apple.com> + + Reviewed by Oliver Hunt. + + Use keydown instead of keypress so keyIdentifier can be used. + + * page/inspector/ConsolePanel.js: Use keydown instead of keypress. + * page/inspector/DatabasePanel.js: Ditto. + * page/inspector/inspector.js: Ditto. Plus call removeEventListener + before deleting windowLoaded. + +2007-12-06 Adam Roben <aroben@apple.com> + + Rename FontsTable.plist to FontsList.plist + + Rubberstamped by Hyatt. + + * platform/graphics/win/FontDatabase.cpp: + +2007-12-06 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Tweaked a comment and a few assertions from my last checkin + + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::execute): + (WebCore::SQLStatement::clearFailureDueToQuota): + (WebCore::SQLStatement::lastExecutionFailedDueToQuota): + +2007-12-06 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and + will ask the UI Delegate for more space when that quota is met + + * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant + * platform/sql/SQLiteDatabase.h: Ditto + + * storage/Database.cpp: + (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety + (WebCore::Database::stringIdentifier): Ditto + * storage/Database.h: + + * storage/SQLStatement.cpp: + (WebCore::SQLStatement::SQLStatement): + (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota. + If the result is quota, this statement expects that it might be run again, presumably after the user increases + the quota + (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error + (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun + (WebCore::SQLStatement::lastExecutionFailedDueToQuota): + * storage/SQLStatement.h: + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::SQLTransaction): + (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer + (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this + transaction. Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch + (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate + decision and whether the current statement was already run + (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it + (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code + that handles a statement error was moved here + (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then + reschedule the current statement on the database thread + * storage/SQLTransaction.h: + +2007-12-06 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception + + Don't use callback-based timers, since these cause Windows to eat Windows crashes + in code the timers call. + + Windows appears to be defending against "shatter" attacks partially by setting + up a structured exception block while dispatching callback-based WM_TIMERs. + + I verified this by adding a divide by zero into some timer callback code. + In the case where the timer was dispatched via a callback, the divide by zero + exception was silently handled and ignored, with execution continuing after + our call to DispatchMessage. When processed via the WNDPROC, no SEH + block was established by Windows, and our divide by zero generated a real + crash (which is what we wanted). + + Windows handling our crashes for us led us to leave the timer data structures + in an invalid state so the next time a timer was set, we'd crash accessing an + invalid HashMap of timer data. + + Reviewed by Hyatt. + + * platform/win/SharedTimerWin.cpp: + (WebCore::TimerWindowWndProc): + (WebCore::setSharedTimerFireTime): + +2007-12-06 Adam Roben <aroben@apple.com> + + Fix <rdar://5108390> Feed title is too low in blue banner + + Way back in r23069 we started applying the same font ascent hack that + Mac WebKit applies to Helvetica, Times, and Courier. We did this so + that those fonts would match the Mac metrics when we run the + regression tests. However, this hack was applying to Arial on Windows + when a site would specify the Helvetica font face because Windows will + alias the font names. Instead of removing the hack entirely, we + turn it off by default but provide some SPI so that DumpRenderTree can + turn it on. + + Reviewed by Hyatt. + + All tests pass. + + * platform/graphics/FontData.h: Add a new static method to turn on the + hack on Windows only. + * platform/graphics/win/FontDataWin.cpp: + (WebCore::FontData::setShouldApplyMacAscentHack): Added. + (WebCore::FontData::platformInit): Only perform the hack if + shouldApplyMacAscentHack is true. + +2007-12-06 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Fixed http://bugs.webkit.org/show_bug.cgi?id=16328 + REGRESSION (r28470): Crash expanding a GMail conversation + + * page/Frame.cpp: + (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and* + we haven't created the proxy yet. If we've created the proxy already, a + script may be in the midst of execution, even though we've lost our + settings object. During execution, scripts assume they have free access + to the proxy. + +2007-12-06 Adele Peterson <adele@apple.com> + + Reviewed by Oliver. + + Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost + + * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement. + * html/HTMLMediaElement.h: + +2007-12-05 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver. + + Rename + + Movie -> MediaPlayer + MoviePrivate -> MediaPlayerPrivate + + Movie is QuickTime terminology and clashes with its C API. + + * WebCore.xcodeproj/project.pbxproj: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::~HTMLMediaElement): + (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): + (WebCore::HTMLMediaElement::bufferingRate): + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): + (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::progressEventTimerFired): + (WebCore::HTMLMediaElement::seek): + (WebCore::HTMLMediaElement::currentTime): + (WebCore::HTMLMediaElement::duration): + (WebCore::HTMLMediaElement::playbackRate): + (WebCore::HTMLMediaElement::setPlaybackRate): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + (WebCore::HTMLMediaElement::setVolume): + (WebCore::HTMLMediaElement::setMuted): + (WebCore::HTMLMediaElement::pickMedia): + (WebCore::HTMLMediaElement::checkIfSeekNeeded): + (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): + (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): + (WebCore::HTMLMediaElement::mediaPlayerCuePointReached): + (WebCore::HTMLMediaElement::addCuePoint): + (WebCore::HTMLMediaElement::buffered): + (WebCore::HTMLMediaElement::seekable): + (WebCore::HTMLMediaElement::effectiveStart): + (WebCore::HTMLMediaElement::effectiveEnd): + (WebCore::HTMLMediaElement::effectiveLoopStart): + (WebCore::HTMLMediaElement::effectiveLoopEnd): + (WebCore::HTMLMediaElement::updateMediaPlayer): + (WebCore::HTMLMediaElement::willSaveToCache): + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::player): + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::videoWidth): + (WebCore::HTMLVideoElement::videoHeight): + * platform/MIMETypeRegistry.cpp: + (WebCore::initialiseSupportedMediaMIMETypes): + (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): + (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): + * platform/MIMETypeRegistry.h: + * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp. + (WebCore::MediaPlayer::MediaPlayer): + (WebCore::MediaPlayer::~MediaPlayer): + (WebCore::MediaPlayer::load): + (WebCore::MediaPlayer::cancelLoad): + (WebCore::MediaPlayer::play): + (WebCore::MediaPlayer::pause): + (WebCore::MediaPlayer::duration): + (WebCore::MediaPlayer::currentTime): + (WebCore::MediaPlayer::seek): + (WebCore::MediaPlayer::paused): + (WebCore::MediaPlayer::seeking): + (WebCore::MediaPlayer::naturalSize): + (WebCore::MediaPlayer::hasVideo): + (WebCore::MediaPlayer::networkState): + (WebCore::MediaPlayer::readyState): + (WebCore::MediaPlayer::volume): + (WebCore::MediaPlayer::setVolume): + (WebCore::MediaPlayer::rate): + (WebCore::MediaPlayer::setRate): + (WebCore::MediaPlayer::muted): + (WebCore::MediaPlayer::setMuted): + (WebCore::MediaPlayer::dataRate): + (WebCore::MediaPlayer::setEndTime): + (WebCore::MediaPlayer::addCuePoint): + (WebCore::MediaPlayer::removeCuePoint): + (WebCore::MediaPlayer::clearCuePoints): + (WebCore::MediaPlayer::maxTimeBuffered): + (WebCore::MediaPlayer::maxTimeSeekable): + (WebCore::MediaPlayer::bytesLoaded): + (WebCore::MediaPlayer::totalBytesKnown): + (WebCore::MediaPlayer::totalBytes): + (WebCore::MediaPlayer::setRect): + (WebCore::MediaPlayer::visible): + (WebCore::MediaPlayer::setVisible): + (WebCore::MediaPlayer::paint): + (WebCore::MediaPlayer::getSupportedTypes): + (WebCore::MediaPlayer::networkStateChanged): + (WebCore::MediaPlayer::readyStateChanged): + (WebCore::MediaPlayer::volumeChanged): + (WebCore::MediaPlayer::timeChanged): + (WebCore::MediaPlayer::cuePointReached): + * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h. + (WebCore::MediaPlayerClient::~MediaPlayerClient): + (WebCore::MediaPlayerClient::mediaPlayerNetworkStateChanged): + (WebCore::MediaPlayerClient::mediaPlayerReadyStateChanged): + (WebCore::MediaPlayerClient::mediaPlayerVolumeChanged): + (WebCore::MediaPlayerClient::mediaPlayerTimeChanged): + (WebCore::MediaPlayerClient::mediaPlayerCuePointReached): + * platform/graphics/Movie.cpp: Removed. + * platform/graphics/Movie.h: Removed. + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.cpp. + (WebCore::mediaPlayerPrivateErrorCallback): + (WebCore::mediaPlayerPrivateEOSCallback): + (WebCore::mediaPlayerPrivateStateCallback): + (WebCore::mediaPlayerPrivateBufferingCallback): + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::load): + (WebCore::MediaPlayerPrivate::play): + (WebCore::MediaPlayerPrivate::pause): + (WebCore::MediaPlayerPrivate::duration): + (WebCore::MediaPlayerPrivate::currentTime): + (WebCore::MediaPlayerPrivate::seek): + (WebCore::MediaPlayerPrivate::setEndTime): + (WebCore::MediaPlayerPrivate::addCuePoint): + (WebCore::MediaPlayerPrivate::removeCuePoint): + (WebCore::MediaPlayerPrivate::clearCuePoints): + (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded): + (WebCore::MediaPlayerPrivate::cancelSeek): + (WebCore::MediaPlayerPrivate::cuePointTimerFired): + (WebCore::MediaPlayerPrivate::paused): + (WebCore::MediaPlayerPrivate::seeking): + (WebCore::MediaPlayerPrivate::naturalSize): + (WebCore::MediaPlayerPrivate::hasVideo): + (WebCore::MediaPlayerPrivate::setVolume): + (WebCore::MediaPlayerPrivate::setMuted): + (WebCore::MediaPlayerPrivate::setRate): + (WebCore::MediaPlayerPrivate::dataRate): + (WebCore::MediaPlayerPrivate::networkState): + (WebCore::MediaPlayerPrivate::readyState): + (WebCore::MediaPlayerPrivate::maxTimeBuffered): + (WebCore::MediaPlayerPrivate::maxTimeSeekable): + (WebCore::MediaPlayerPrivate::maxTimeLoaded): + (WebCore::MediaPlayerPrivate::bytesLoaded): + (WebCore::MediaPlayerPrivate::totalBytesKnown): + (WebCore::MediaPlayerPrivate::totalBytes): + (WebCore::MediaPlayerPrivate::cancelLoad): + (WebCore::MediaPlayerPrivate::updateStates): + (WebCore::MediaPlayerPrivate::loadStateChanged): + (WebCore::MediaPlayerPrivate::rateChanged): + (WebCore::MediaPlayerPrivate::sizeChanged): + (WebCore::MediaPlayerPrivate::timeChanged): + (WebCore::MediaPlayerPrivate::volumeChanged): + (WebCore::MediaPlayerPrivate::didEnd): + (WebCore::MediaPlayerPrivate::loadingFailed): + (WebCore::MediaPlayerPrivate::setRect): + (WebCore::MediaPlayerPrivate::setVisible): + (WebCore::MediaPlayerPrivate::paint): + (WebCore::MediaPlayerPrivate::getSupportedTypes): + (WebCore::MediaPlayerPrivate::createGSTPlayBin): + * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: Copied from WebCore/platform/graphics/gtk/MoviePrivateGStreamer.h. + * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Removed. + * platform/graphics/gtk/MoviePrivateGStreamer.h: Removed. + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.h. + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Copied from WebCore/platform/graphics/mac/MoviePrivateQTKit.mm. + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::createQTMovie): + (WebCore::MediaPlayerPrivate::createQTMovieView): + (WebCore::MediaPlayerPrivate::createQTTime): + (WebCore::MediaPlayerPrivate::load): + (WebCore::MediaPlayerPrivate::play): + (WebCore::MediaPlayerPrivate::pause): + (WebCore::MediaPlayerPrivate::duration): + (WebCore::MediaPlayerPrivate::currentTime): + (WebCore::MediaPlayerPrivate::seek): + (WebCore::MediaPlayerPrivate::doSeek): + (WebCore::MediaPlayerPrivate::cancelSeek): + (WebCore::MediaPlayerPrivate::seekTimerFired): + (WebCore::MediaPlayerPrivate::setEndTime): + (WebCore::MediaPlayerPrivate::addCuePoint): + (WebCore::MediaPlayerPrivate::removeCuePoint): + (WebCore::MediaPlayerPrivate::clearCuePoints): + (WebCore::MediaPlayerPrivate::startCuePointTimerIfNeeded): + (WebCore::MediaPlayerPrivate::cuePointTimerFired): + (WebCore::MediaPlayerPrivate::paused): + (WebCore::MediaPlayerPrivate::seeking): + (WebCore::MediaPlayerPrivate::naturalSize): + (WebCore::MediaPlayerPrivate::hasVideo): + (WebCore::MediaPlayerPrivate::setVolume): + (WebCore::MediaPlayerPrivate::setMuted): + (WebCore::MediaPlayerPrivate::setRate): + (WebCore::MediaPlayerPrivate::dataRate): + (WebCore::MediaPlayerPrivate::networkState): + (WebCore::MediaPlayerPrivate::readyState): + (WebCore::MediaPlayerPrivate::maxTimeBuffered): + (WebCore::MediaPlayerPrivate::maxTimeSeekable): + (WebCore::MediaPlayerPrivate::maxTimeLoaded): + (WebCore::MediaPlayerPrivate::bytesLoaded): + (WebCore::MediaPlayerPrivate::totalBytesKnown): + (WebCore::MediaPlayerPrivate::totalBytes): + (WebCore::MediaPlayerPrivate::cancelLoad): + (WebCore::MediaPlayerPrivate::updateStates): + (WebCore::MediaPlayerPrivate::loadStateChanged): + (WebCore::MediaPlayerPrivate::rateChanged): + (WebCore::MediaPlayerPrivate::sizeChanged): + (WebCore::MediaPlayerPrivate::timeChanged): + (WebCore::MediaPlayerPrivate::volumeChanged): + (WebCore::MediaPlayerPrivate::didEnd): + (WebCore::MediaPlayerPrivate::setRect): + (WebCore::MediaPlayerPrivate::setVisible): + (WebCore::MediaPlayerPrivate::paint): + (WebCore::MediaPlayerPrivate::getSupportedTypes): + (-[WebCoreMovieObserver initWithCallback:WebCore::]): + * platform/graphics/mac/MoviePrivateQTKit.h: Removed. + * platform/graphics/mac/MoviePrivateQTKit.mm: Removed. + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::player): + * rendering/RenderMedia.h: + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::RenderVideo): + (WebCore::RenderVideo::~RenderVideo): + (WebCore::RenderVideo::videoSizeChanged): + (WebCore::RenderVideo::paintReplaced): + (WebCore::RenderVideo::layout): + (WebCore::RenderVideo::updateFromElement): + (WebCore::RenderVideo::updatePlayer): + * rendering/RenderVideo.h: + +2007-12-06 Geoffrey Garen <ggaren@apple.com> + + Build fix: access global object directly. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::bindingInstance): + +2007-12-06 Mark Rowe <mrowe@apple.com> + + Reviewed by Eric. + + Fix bug spotted by GCC 4.2. + + * bindings/js/kjs_window.cpp: + (KJS::allowPopUp): Remove extraneous semicolon that completely changed the meaning of allowPopUp. + +2007-12-06 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16173 + Licensing change + + Change license from BSD to LGPL. + + * platform/gtk/FileSystemGtk.cpp: + +2007-12-05 Rob Buis <buis@kde.org> + + Reviewed by Mitz. + + http://bugs.webkit.org/show_bug.cgi?id=15289 + WebKit does not respect clip paths of a 0x0 rect + + Make empty clip paths clip the whole referencing graphic. + + * svg/SVGClipPathElement.cpp: + (WebCore::SVGClipPathElement::canvasResource): + * svg/graphics/SVGResourceClipper.h: + (WebCore::ClipDataList::isEmpty): + +2007-12-05 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16266 + <rdar://problem/5625279> REGRESSION: crash loading CNN.com at + Interpreter::createObjectsForGlobalObjectProperties() + + I don't know how to reproduce this in a test. + + * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): + Call JSEventTargetNode::mark instead of DOMObject::mark. There's no difference + right now, but it's best to call your base class, not your base's base. + + * bindings/js/kjs_events.h: Removed unneeded virtual from the + JSUnprotectedEventListener::mark() function; it neither derives from or is + derived from anyone else with a mark() function so there's no need for virtual. + + * bindings/js/kjs_window.cpp: (KJS::Window::mark): Call JSGlobalObject::mark, + not JSObject::mark. This is the actual bug fix. + +2007-12-05 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk> + + http://bugs.webkit.org/show_bug.cgi?id=16145 + [gtk] Implement media support in GTK backend + + Reviewed by Alp Toker. + + Remove old comments, fix variable names, match WebKit coding style. + + * platform/graphics/gtk/MoviePrivateGStreamer.cpp: + (WebCore::moviePrivateEOSCallback): + (WebCore::MoviePrivate::MoviePrivate): + (WebCore::MoviePrivate::load): + (WebCore::MoviePrivate::play): + (WebCore::MoviePrivate::pause): + (WebCore::MoviePrivate::currentTime): + (WebCore::MoviePrivate::seek): + (WebCore::MoviePrivate::cancelSeek): + (WebCore::MoviePrivate::seeking): + (WebCore::MoviePrivate::naturalSize): + (WebCore::MoviePrivate::setVolume): + (WebCore::MoviePrivate::setMuted): + (WebCore::MoviePrivate::maxTimeBuffered): + (WebCore::MoviePrivate::bytesLoaded): + (WebCore::MoviePrivate::totalBytesKnown): + (WebCore::MoviePrivate::totalBytes): + (WebCore::MoviePrivate::updateStates): + (WebCore::MoviePrivate::didEnd): + (WebCore::MoviePrivate::paint): + (WebCore::MoviePrivate::createGSTPlayBin): + * platform/graphics/gtk/MoviePrivateGStreamer.h: + +2007-12-05 Mark Rowe <mrowe@apple.com> + + Speculative wx build fix. Add PlugInInfoStore::pluginNameForMIMEType to the temporary link stubs. + + * platform/wx/TemporaryLinkStubs.cpp: + +2007-12-05 Alp Toker <alp@atoker.com> + + Rubber stamped by Mark Rowe. + + Remove DEPENDPATH on the generated sources directory. This causes + trouble and is no longer necessary following the glib-genmarshal + generator split. + + * WebCore.pro: + +2007-12-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + Third step in refactoring JSGlobalObject: Moved data members and data + member access from Interpreter to JSGlobalObject. Changed Interpreter + member functions to static functions. Same for the subclass, + ScriptInterpreter. + + This is a big change, but it's mostly code motion and renaming. + +2007-12-05 Darin Adler <darin@apple.com> + + "Reviewed" by Geoff. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Removed assertion. + (WebCore::FrameLoader::dispatchDidCommitLoad): This one too. + The assertions are firing like crazy. Not sure why yet. + +2007-12-05 Darin Adler <darin@apple.com> + + Reviewed by Adam Roben. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16306 + Assertion failed in WebCore/loader/FrameLoader.cpp:4642 + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::dispatchDidCommitLoad): Check m_creatingInitialEmptyDocument + and don't deliver the client call in that case. + +2007-12-05 Mark Rowe <mrowe@apple.com> + + Reviewed by Kevin Decker. + + Fix 64-bit debug build. + + * platform/text/mac/TextCodecMac.cpp: + (WebCore::TextCodecMac::decode): OSStatus is a long for 32-bit but int on 64-bit, + so we need to cast it to be able to use a single format specifier on both. + +2007-12-05 Kevin Decker <kdecker@apple.com> + + Reviewed by Hyatt. + + <rdar://problem/5613106> Acordex: REGRESSION (Tiger-Leopard): plug-ins can no longer take over TIFF images (affects uspto.gov) + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldUsePlugin): Allow plug-ins (with the exception of QuickTime) to + takeover TIFF once again. + +2007-12-05 Luca Bruno <lethalman88@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16290 + [GTK] Pasting clipboard in rich text. + + * platform/gtk/PasteboardGtk.cpp: + (Pasteboard::documentFragment): Implement rich text paste support. + +2007-12-05 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + Reverting fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges + + We need to just fix the underlying focus ring repaint problem. + + * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle): + +2007-12-04 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Darin. + + - <rdar://5621435> + - Security Fix. Instead of having it off by default, WebKit now must + explicitly turn off local-resource restriction when needed for backwards + compatibility reasons. + + * loader/FrameLoader.cpp: + +2007-12-05 Adam Roben <aroben@apple.com> + + Set the menu item identifier for all menu items + + This allows WebKit clients to distinguish between submenus in the + context menu. + + Reviewed by Darin. + + No test possible. + + * platform/win/ContextMenuItemWin.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + +2007-12-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - WebCore part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/ + + * manual-tests/nested-plug-ins.html: Added. + * manual-tests/resources/nested-plug-ins-inner-frame.html: Added. + * manual-tests/resources/nested-plug-ins-outer-frame.html: Added. + * platform/ScrollView.h: + * platform/Widget.h: + (WebCore::Widget::attachToWindow): Added. Tells the widget that it is connected + via visible ScrollViews to the root ScrollView of the WebView. + (WebCore::Widget::detachFromWindow): Added. Tells the widget that it is no longer + connected via visible ScrollViews to the root ScrollView of the WebView. + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): Added + m_visible and m_attachedToWindow members. + (WebCore::ScrollView::attachToWindow): Added. Attaches all children if this + view is visible. + (WebCore::ScrollView::detachFromWindow): Added. Detaches all children if this + view is visible (otherwise they would be detached already). + (WebCore::ScrollView::show): Added. Attaches all children if this view + is attached. + (WebCore::ScrollView::hide): Added. Detaches all children if this view + is attached (otherwise they would be detached already). + (WebCore::ScrollView::isAttachedToWindow): Added. + * platform/win/WidgetWin.cpp: + (WebCore::Widget::setParent): Added calls to attachToWindow() and detachFromWindow() + depending on whether the parent is set and attached or not. + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::setFocus): + (WebCore::PluginViewWin::show): Changed to show the plug-in only if + this view is attached. + (WebCore::PluginViewWin::hide): Changed to hide the plug-in only if this + view is attached (otherwise it would be hidden already). + (WebCore::PluginViewWin::attachToWindow): Added. Shows the plug-in if this view + is visible. + (WebCore::PluginViewWin::detachFromWindow): Added. Hides the plug-in if this view + is visible (otherwise it would be hidden already). + (WebCore::PluginViewWin::PluginViewWin): + * plugins/win/PluginViewWin.h: Added m_attachedToWindow member. + +2007-12-04 Alp Toker <alp@atoker.com> + + Potential GTK+ build fix for the glib-genmarshal issue. + + Split the glib-genmarshal qmake generator in two; one for the source + file, another for the header. + + * WebCore.pro: + +2007-12-04 Alp Toker <alp@atoker.com> + + GTK+ build fix. + + * platform/PlugInInfoStore.h: + +2007-12-04 Kevin Decker <kdecker@apple.com> + + Reviewed by Anders. + + <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type + + * page/mac/WebCoreViewFactory.h: Added pluginNameForMIMEType: method. + * platform/PlugInInfoStore.h: + * platform/gtk/TemporaryLinkStubs.cpp: Added stub version of pluginNameForMIMEType. + (PlugInInfoStore::pluginNameForMIMEType): + * platform/mac/PlugInInfoStoreMac.mm: + (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added. + * platform/qt/PlugInInfoStoreQt.cpp: + (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType. + * plugins/win/PlugInInfoStoreWin.cpp: + (WebCore::PlugInInfoStore::pluginNameForMIMEType): Added stub version of pluginNameForMIMEType. + +2007-12-04 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges + + * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setStyle): + Adjust outline-offset so it doesn't extend beyond the border to interfere with typing + +2007-12-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Jon. + + Always call NPP_NewStream, NPP_DestroyStream and NPP_URLNotify for JavaScript + result streams, even if the JavaScript expression threw an exception or returned undefined. + This matches what Firefox does. + + * plugins/win/PluginStreamWin.cpp: + (WebCore::PluginStreamWin::sendJavaScriptStream): + Handle the result string being null, and set the correct NPReason if it is. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::performRequest): + Always send the JavaScript stream, regardless of the result could be converted to a string or not. + +2007-12-04 Adele Peterson <adele@apple.com> + + Reviewed by Hyatt. + + Fix for <rdar://problem/5622464> controls should show up for audio element + + * css/html4.css: Added styles for audio controls. This will need to be refined, since we may want a different look for audio controls. + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::attributeChanged): When the controls attribute changes detach and reattach if necessary. + (WebCore::HTMLMediaElement::rendererIsNeeded): Added. + (WebCore::HTMLMediaElement::createRenderer): Added. Uses RenderMedia. + * html/HTMLMediaElement.h: + * rendering/RenderMedia.cpp: (WebCore::RenderMedia::RenderMedia): Added constructor that doesn't take intrinsic size. + * rendering/RenderMedia.h: + +2007-12-04 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Add isSafeScript(const JSGlobalObject*) so we won't get the JSGlobalObject + implementation, which always returns true(!). + + * bindings/js/kjs_window.cpp: + (KJS::Window::isSafeScript): + Make the static isSafeScript method take two JSGlobalObjects. + + * bindings/js/kjs_window.h: + (KJS::Window::isSafeScript): + Implement isSafeScript and have it call the static method. + +2007-11-27 Adam Roben <aroben@apple.com> + + Make the implementation of Frame::setNeedsReapplyStyles cross-platform + + Reviewed by Hyatt. + + No change in functionality. + + * page/Frame.cpp: + (WebCore::Frame::setNeedsReapplyStyles): Added. Invalidates the + FrameView so that FrameView::layout will be called, which ends up + calling reapplyStyles. + (WebCore::Frame::needsReapplyStyles): Added. + (WebCore::Frame::reapplyStyles): Renamed from reparseConfiguration. + (WebCore::FramePrivate::FramePrivate): + * page/Frame.h: + * page/FramePrivate.h: Added new boolean member. + * page/FrameView.cpp: + (WebCore::FrameView::layout): Call Frame::reapplyStyles if needed. + (WebCore::FrameView::needsLayout): Say that we need layout if the + Frame needs styles reapplied. + * page/mac/WebCoreFrameBridge.h: Removed setNeedsReapplyStyles. + * page/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge reapplyStylesForDeviceType:]): Updated for + rename. + + * bridge/win/FrameWin.cpp: Removed Frame::setNeedsReapplyStyles. + * page/gtk/FrameGtk.cpp: Ditto. + * page/mac/FrameMac.mm: Ditto. + * page/qt/FrameQt.cpp: Ditto. + * platform/wx/TemporaryLinkStubs.cpp: Ditto. + +2007-12-04 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Pass intrinsic size to the base class. + + * rendering/RenderMedia.cpp: + (WebCore::RenderMedia::RenderMedia): + +2007-12-04 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5578209> REGRESSION: Crash in WebCore::DeprecatedValueListImpl::Private::copyList when going back on zoomerang.com/survey + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation): + When the new url is exactly the same as the old url, don't treat it like a fragment navigation, since its going to cause a reload. + +2007-12-04 Darin Adler <darin@apple.com> + + Reviewed by Kevin Decker. + + - added an assertion for a situation that leads to a Safari assertion: + a commit that is not followed by a load completion + + - removed some unneeded FrameLoader stuff -- maybe some day we'll get this + class cut down to size + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::FrameLoader): Added boolean for assertion. + (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Added code to assert + that we already sent a commit before sending a complete. + (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): Call + client directly instead of indirecting through a function. + (WebCore::FrameLoader::loadItem): Ditto. + (WebCore::FrameLoader::goToItem): Ditto. + (WebCore::FrameLoader::addHistoryForCurrentLocation): Get the private browsing + state from Settings instead of FrameLoaderClient. Also call client directly + instead of indirecting through a function. + (WebCore::FrameLoader::updateHistoryForReload): Call client directly instead + of indirecting through a function. + (WebCore::FrameLoader::dispatchDidCommitLoad): Added code to assert + that we did not yet send a commit and set the flag that will be used to check + that we don't do this twice in a row without an intervening completion call. + + * loader/FrameLoader.h: Added a boolean for the assertion. Removed six + now-unneeded functions. + + * loader/FrameLoaderClient.h: Removed now-unneeded privateBrowsingEnabled function. + + * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willCacheResponse): Get + the private browsing state from Settings instead of FrameLoaderClient. + + * svg/graphics/SVGImageEmptyClients.h: Removed obsolete privateBrowsingEnabled. + +2007-12-03 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Fix <rdar://problem/5624802> + Controller displays outside of <video> element when width and height aren't specified + + - Explicitly adjust size of the controls tree root. + - Switch RenderMedia base class back to RenderReplaced. It is easier to manage the shadow tree + by hand. This also allows better code sharing with other replaced element classes. + - Move duplicated layout and painting code from subclasses up to RenderReplaced. + + Test: media/video-controls-rendering.html + + * rendering/RenderHTMLCanvas.cpp: + (WebCore::RenderHTMLCanvas::paintReplaced): + * rendering/RenderHTMLCanvas.h: + Share code. + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paintReplaced): + (WebCore::RenderImage::minimumReplacedHeight): + * rendering/RenderImage.h: + Share code. + * rendering/RenderMedia.cpp: + (WebCore::RenderMediaControlShadowRoot::RenderMediaControlShadowRoot): + (WebCore::RenderMediaControlShadowRoot::setParent): + Add a subclass just to get through encapsulation to use setParent(). + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): + Move initialization to the constructor. + (WebCore::RenderMedia::RenderMedia): + (WebCore::RenderMedia::~RenderMedia): + (WebCore::RenderMedia::layout): + Resize and layout the controller root by hand. + (WebCore::RenderMedia::firstChild): + (WebCore::RenderMedia::lastChild): + (WebCore::RenderMedia::removeChild): + Support one child renderer for controls. + (WebCore::RenderMedia::createControlsShadowRoot): + * rendering/RenderMedia.h: + (WebCore::RenderMedia::isMedia): + Switch base class to RenderReplaced, delete the now unnecessary stuff. + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::layout): + (WebCore::RenderReplaced::paint): + * rendering/RenderReplaced.h: + (WebCore::RenderReplaced::minimumReplacedHeight): + (WebCore::RenderReplaced::paintReplaced): + Share code. + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::videoSizeChanged): + Simplify, just request relayout. + (WebCore::RenderVideo::paintReplaced): + (WebCore::RenderVideo::layout): + * rendering/RenderVideo.h: + Share code. + +2007-12-04 Michael Natterer <mitch@imendio.com> + + Reviewed by Alp Toker. + + * WebCore.pro: fix build of webkit-marshal by building the + functions into a separate .cpp file instead of including them in + the header. This way we can use the marshallers from more than one + file without using bad hacks. + + Add the generated sources directory to DEPENDPATH. + +2007-12-04 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16145 + [gtk] Implement media support in GTK backend + + This implements the media tags of HTML5 on the GTK+ port based on the + Mac port. Media tests pass although some tests required a small modifications: + As per the HTML5 spec, the loading of the clip should start only after + all script are done. But in the case of the tests, the loading starts + before some callbacks get registered. This has been discussed with + Antti Koivisto, and the tests should be updated. + + There is only one known issue: one time in 10 tries, loading a buffered + clip will never end buffering. The buffering will stall at 97% for no + apparent reasons. Reloading the page usually works around the problem. + On the GStreamer side, some codecs don't return correct values, therefore + they make the tests fail. For instance H.264 will make the video-end + test fail. This should be fixed in GStreamer 0.10.15. + + This version displays video in a pop up window. A place holder is drawn + on the page where the video should appear. + + By default, it is turned off in WebCore.pro until GStreamer/X + detection issues are sorted out. + + * WebCore.pro: + Disable video for now + * platform/Logging.cpp: + (WebCore::): + * platform/Logging.h: + Added a logging level for Media stuff + * platform/graphics/Movie.cpp: + * platform/graphics/gtk/MoviePrivateGStreamer.cpp: Added. + (WebCore::moviePrivateErrorCallback): + (WebCore::moviePrivateEOSCallback): + (WebCore::moviePrivateStateCallback): + (WebCore::moviePrivateBufferingCallback): + (WebCore::moviePrivateWindowIDCallback): + (WebCore::MoviePrivate::MoviePrivate): + (WebCore::MoviePrivate::~MoviePrivate): + (WebCore::MoviePrivate::load): + (WebCore::MoviePrivate::play): + (WebCore::MoviePrivate::pause): + (WebCore::MoviePrivate::duration): + (WebCore::MoviePrivate::currentTime): + (WebCore::MoviePrivate::seek): + (WebCore::MoviePrivate::setEndTime): + (WebCore::MoviePrivate::addCuePoint): + (WebCore::MoviePrivate::removeCuePoint): + (WebCore::MoviePrivate::clearCuePoints): + (WebCore::MoviePrivate::startCuePointTimerIfNeeded): + (WebCore::MoviePrivate::cancelSeek): + (WebCore::MoviePrivate::cuePointTimerFired): + (WebCore::MoviePrivate::paused): + (WebCore::MoviePrivate::seeking): + (WebCore::MoviePrivate::naturalSize): + (WebCore::MoviePrivate::hasVideo): + (WebCore::MoviePrivate::setVolume): + (WebCore::MoviePrivate::setMuted): + (WebCore::MoviePrivate::setRate): + (WebCore::MoviePrivate::dataRate): + (WebCore::MoviePrivate::networkState): + (WebCore::MoviePrivate::readyState): + (WebCore::MoviePrivate::maxTimeBuffered): + (WebCore::MoviePrivate::maxTimeSeekable): + (WebCore::MoviePrivate::maxTimeLoaded): + (WebCore::MoviePrivate::bytesLoaded): + (WebCore::MoviePrivate::totalBytesKnown): + (WebCore::MoviePrivate::totalBytes): + (WebCore::MoviePrivate::cancelLoad): + (WebCore::MoviePrivate::updateStates): + (WebCore::MoviePrivate::loadStateChanged): + (WebCore::MoviePrivate::rateChanged): + (WebCore::MoviePrivate::sizeChanged): + (WebCore::MoviePrivate::timeChanged): + (WebCore::MoviePrivate::volumeChanged): + (WebCore::MoviePrivate::didEnd): + (WebCore::MoviePrivate::loadingFailed): + (WebCore::MoviePrivate::setRect): + (WebCore::MoviePrivate::setVisible): + (WebCore::MoviePrivate::paint): + (WebCore::MoviePrivate::getSupportedTypes): + (WebCore::MoviePrivate::createGSTPlayBin): + * platform/graphics/gtk/MoviePrivateGStreamer.h: Added. + +2007-12-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Implement the InspectorClient for the Qt port + * It does not support highlighting of nodes yet + * Use QRC to open the internal page. The important thing is the + '/' in the URL to make WebCore::Document::completeURL behave the + way we want. + * To make the InspectorClient work we will have to mark qrc as secure. + + * WebCore.pro: + * loader/FrameLoader.cpp: + (WebCore::localSchemes): + * page/inspector/WebKit.qrc: Added. + +2007-12-04 Alp Toker <alp@atoker.com> + + Rubber stamped by Mark Rowe. + + Remove two unused variables to silence warnings. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::fill): + (WebCore::CanvasRenderingContext2D::stroke): + +2007-12-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5134044> fast/frames/frame-src-attribute.html fails on Windows + + * platform/win/ScrollViewWin.cpp: + (WebCore::ScrollView::visibleWidth): Do not return negative values. + (WebCore::ScrollView::visibleHeight): Ditto. + +2007-12-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame + + Test: fast/events/resize-subframe.html + + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): Added a timer used when + deferring tasks that need to be done after layout. + (WebCore::FrameViewPrivate::reset): + (WebCore::FrameView::~FrameView): + (WebCore::FrameView::layout): Moved the updating of widget positions, + loading plug-ins and sending events queued up during layout into + performPostLayoutTasks(). performPostLayoutTasks() is called after + layout unless the layout was triggered by a previous layout's post- + layout tasks. In the latter case, performPostLayoutTasks() is scheduled + to run later. + (WebCore::FrameView::performPostLayoutTasks): Performs work that needs + to be done after layout but which can result in arbitrary code + execution and therefore may re-invalidate the layout. This includes + updating widget positions, loading plug-ins, and dispatching layout- + related DOM events (scroll, overflow and resize). + (WebCore::FrameView::postLayoutTimerFired): + (WebCore::FrameView::dispatchScheduledEvents): + * page/FrameView.h: + * page/mac/WebCoreFrameBridge.h: + * page/mac/WebCoreFrameBridge.mm: Removed -sendResizeEvent since this + is handled by FrameView now. + +2007-12-03 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15767 + Text decorations do not respect "visibility" property + + Only paint decorations if visibility is "visible". + + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::paintDecoration): + +2007-12-03 Steve Falkenburg <sfalken@apple.com> + + Fix build. + + * WebCore.vcproj/WebCore.vcproj: + +2007-12-03 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by David. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=15645 + Don't allow selectors to interfere with the SVG shadow tree (<use> internal non-exposed tree). + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkSelector): + +2007-12-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix <rdar://problem/5538651> REGRESSSION: domfuzz: null deref in WebCore::Document::canReplaceChild + + Test: fast/dom/Document/replaceChild-null-oldChild.html + + * dom/Document.cpp: + (WebCore::Document::canReplaceChild): + +2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Avoid crashes by making sure everything is layouted before + we start painting. This avoids a crash in Widget::invalidateRect + because QPainter::begin would fail + * The QWebFrame::layout() methods and calls are left untouched because + this would be an API decision. + + + WARNING: NO TEST CASES ADDED OR CHANGED + + * page/FrameView.cpp: + (WebCore::FrameView::updateControlTints): + * page/FrameView.h: + * platform/ScrollView.h: + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::children): + +2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Implement GraphicsContext::fillRoundedRect similiar to the + CoreGraphics implementation only addPath is not called this + seems to be only needed for CoreGraphics. + + + WARNING: NO TEST CASES ADDED OR CHANGED + + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::GraphicsContext::fillRoundedRect): + +2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Simon. + + * Coding Style fixes + + + WARNING: NO TEST CASES ADDED OR CHANGED + + * platform/qt/ScrollViewQt.cpp: + (WebCore::ScrollView::addChild): + (WebCore::ScrollView::removeChild): + +2007-12-03 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Don't delete the decoder if it's already been created. The one we have + is fine. + + Cairo image cleanups. Nothing substantial. + + Notify ImageObservers where appropriate. + + * platform/graphics/cairo/ImageCairo.cpp: + (WebCore::BitmapImage::draw): + (WebCore::Image::drawPattern): + * platform/graphics/cairo/ImageSourceCairo.cpp: + (WebCore::ImageSource::setData): + * platform/graphics/gtk/ImageGtk.cpp: + +2007-12-03 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Lars. + + Fixed crash when rendering form elements with Qt 4.4 + + QPainter::device() is not guaranteed to return a QWidget, so do the safe "cast" with the + help of QPaintDevice::devType(). + Also fall back to the QApplication::style() if we don't have a widget. + + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::paintButton): + (WebCore::RenderThemeQt::paintTextField): + (WebCore::RenderThemeQt::paintMenuList): + (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo): + +2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Sam Weinig. + + * Add FrameLoader::shouldTreatSchemeAsLocal which is similar to + shouldTreatURLAsLocal. + * Make use of FrameLoader::shouldTreatSchemeAsLocal in SecurityOrigin + and do not hardcode "file". This is needed for the WebKit/qt port to make + the Web Inspector work as it using the qrc protocol instead of file. + + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldTreatSchemeAsLocal): + * loader/FrameLoader.h: + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::isSecureTransitionTo): + +2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Rubber stamped by Sam Weinig. + + Only add applewebdata to the localSchemes when building for the + mac. This is in preparation of adding qrc for the Qt port there + as well and http://bugs.webkit.org/show_bug.cgi?id=15938. + + According to Anders applewebdata is not used on the win port. + + * loader/FrameLoader.cpp: + (WebCore::localSchemes): + +2007-12-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Rubber stamped by Sam Weinig. + + Fix a typo. It is contains and not containts + + * loader/FrameLoader.cpp: + +2007-12-03 Alp Toker <alp@atoker.com> + + Add another missing DEPENDPATH. + + Noticed when fixing the build. + + * WebCore.pro: + +2007-12-03 Adam Roben <aroben@apple.com> + + Speculative Windows build fix + + * plugins/win/PluginViewWin.cpp: + (WebCore::getString): + +2007-12-03 Geoffrey Garen <ggaren@apple.com> + + Build fix: added symbols to the right .exp file. + + * WebCore.base.exp: + +2007-12-02 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Eric Seidel. + + Updated to match the JavaScriptCore change to move virtual methods from + Interpreter to JSGlobalObject. + + Moved virtual ScriptInterpreter functions to Window. + +2007-12-02 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix <rdar://problem/5601995> Hang/crash on http://ebay-uk.custhelp.com/ + + There were two problems here: + + 1) Incorrect HTMLCollection behavior led to us trying to insert a + new row inside an existing row instead of next to it. The fix for + this is to make HTMLCollection work better for table-related + collections. + + 2) HTMLTableRowElement::insertCell would return a bad pointer if + the insertion failed. The code should have failed, but not crashed, + so it's worth fixing that too. + + While fixing the HTMLCollection issues, I did some clean-up of that + class and its derived classes. + + Test: fast/dom/HTMLTableElement/rows.html + Test: fast/dom/HTMLTableElement/tBodies.html + Test: fast/dom/HTMLTableRowElement/cells.html + Test: fast/dom/HTMLTableRowElement/insertCell.html + Test: fast/dom/HTMLTableSectionElement/rows.html + + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::toJS): Updated because collectionType() was renamed to type(). + + * html/HTMLCollection.cpp: + (WebCore::HTMLCollection::HTMLCollection): Updated for data member name + changes. Also added a protected constructor for use by derived classes + that pass in a CollectionInfo. + (WebCore::HTMLCollection::CollectionInfo::copyCacheMap): Moved out of + the header. + (WebCore::isTableSection): Added. + (WebCore::HTMLCollection::itemAfter): Renamed from traverseNextItem, + because the old name was grammatically incorrect and thus a bit confusing. + Changed to operate on Element* instead of Node*, and use 0 to start + rather than passing in the base node (required since the base node can be + a document, which is not an element). Generalized the code that made + NodeChildren not descend into deeper descendants so it can be used for + TRCells, TSectionRows, TableTBodies, and TableRows. Reformatted the + switch statement and got rid of the "found" boolean since we can just + return when we find something. Got rid of the default case, and instead + listed all the enum values. Also changed to use a for loop for clarity. + (WebCore::HTMLCollection::calcLength): Updated for itemAfter changes. + (WebCore::HTMLCollection::item): Ditto. + (WebCore::HTMLCollection::nextItem): Ditto. + (WebCore::HTMLCollection::checkForNameMatch): Updated to take an Element + instead of a Node pointer. + (WebCore::HTMLCollection::namedItem): More of the same. + (WebCore::HTMLCollection::updateNameCache): Ditto. + (WebCore::HTMLCollection::namedItems): Ditto. + (WebCore::HTMLCollection::nextNamedItem): Ditto. + (WebCore::HTMLCollection::tags): Ditto. + + * html/HTMLCollection.h: Added a type FormElements, so that the + HTMLFormCollection would not have a type of DocImages, which is what + it previously did. Changed the base parameter to be a PassRefPtr to + make it clear we take ownership of it. Added a comment explaining + why we should change the name CollectionInfo. Made a lot more members + private instead of protected. Renamed traverseNextItem to itemAfter. + Changed most functions to take Element* instead of Node*. + + * html/HTMLFormCollection.cpp: + (WebCore::HTMLFormCollection::formCollectionInfo): Added. + (WebCore::HTMLFormCollection::HTMLFormCollection): Updated to pass + collection info into the base class. + (WebCore::HTMLFormCollection::calcLength): Updated to use base() so we + don't need to get at m_base directly. + (WebCore::HTMLFormCollection::item): Same, but for info(). + (WebCore::HTMLFormCollection::getNamedItem): Removed unused first + argument. + (WebCore::HTMLFormCollection::getNamedFormItem): Got rid of unneeded + checks that the base is still an element and still a form, since that's + guaranteed. + (WebCore::HTMLFormCollection::nextItem): Use info(). + (WebCore::HTMLFormCollection::nextNamedItemInternal): Node instead of + Element, some name changes. + (WebCore::HTMLFormCollection::namedItem): Update for changes elsewhere. + (WebCore::HTMLFormCollection::nextNamedItem): Ditto, also rewrote loop + to be much simpler. + (WebCore::HTMLFormCollection::updateNameCache): More of the same. + + * html/HTMLFormCollection.h: Changed constructor to take an + HTMLFormElement, using a PassRefPtr to communicate transfer of + ownership. Made everything private instead of protected. Removed + unneeded override of firstItem. Made getNamedItem and + nextNamedItemInternal non-virtual. Removed unused first argument of + getNamedItem. Added declaration of formCollectionInfo. + + * html/HTMLNameCollection.cpp: + (WebCore::HTMLNameCollection::HTMLNameCollection): Updated to pass + collection info into the base class. + (WebCore::HTMLNameCollection::itemAfter): Reformatted a bit and + changed into a for loop. + + * html/HTMLNameCollection.h: Updated for name changes. Made function + private instead of public. Used PassRefPtr in constructor. + + * html/HTMLOptionsCollection.cpp: + (WebCore::HTMLOptionsCollection::HTMLOptionsCollection): Updated to + pass collection info into the base class. + (WebCore::HTMLOptionsCollection::add): Updated for public/private + changes in the base class. + (WebCore::HTMLOptionsCollection::selectedIndex): Ditto. + (WebCore::HTMLOptionsCollection::setSelectedIndex): Ditto. + (WebCore::HTMLOptionsCollection::setLength): Ditto. + + * html/HTMLOptionsCollection.h: Changed constructor parameter to be a + PassRefPtr. + + * html/HTMLTableRowElement.cpp: + (WebCore::HTMLTableRowElement::insertCell): Changed code to use RefPtr + and PassRefPtr since this creates a new object. This alone fixed the + crash. Also cleaned up logic a bit to be more readable. + + * html/HTMLTableRowElement.h: Changed insertCell to return a PassRefPtr. + Also reordered functions a bit to make things a little more logical and + removed the unused ncols data member. + + * html/HTMLTableSectionElement.cpp: + (WebCore::HTMLTableSectionElement::rows): Pass TSectionRows, not + TableRows. This mistake was harmless before because TableRows and + TSectionRows were handled identically inside HTMLCollection, but that is + no longer the case with this fix. + + * bindings/scripts/CodeGeneratorJS.pm: Add an include to cope with the + fact that HTMLOptionsCollection no longer includes HTMLOptionElement. + I don't think this really should be a special case -- might be worth + returning later to see if this can be optimized. + +2007-12-02 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Adam. + + RenderSVGViewportContainer sets wrong width/height. + Share code with RenderSVGContainer in a central calcBounds() function. + + Fixes: + - svg/custom/use-css-events.svg (http://bugs.webkit.org/show_bug.cgi?id=15403) + - svg/custom/deep-dynamic-updates.svg + - svg/custom/use-clipped-hit.svg + - svg/custom/image-clipped-hit.svg + + * rendering/RenderSVGContainer.cpp: + (WebCore::RenderSVGContainer::layout): + (WebCore::RenderSVGContainer::calcBounds): + * rendering/RenderSVGContainer.h: + * rendering/RenderSVGViewportContainer.cpp: + (WebCore::RenderSVGViewportContainer::layout): + +2007-12-02 Brady Eidson <beidson@apple.com> + + Reviewed by Darin + + databaseChanged notifications were being sent out on the database thread - they need to be on the main thread + like all other notifications we send out! + + * platform/SecurityOriginData.cpp: + (WebCore::SecurityOriginData::copy): Add a deep copy method, for when an object thread hops + * platform/SecurityOriginData.h: + + * storage/DatabaseTracker.cpp: + (WebCore::notificationMutex): + (WebCore::notificationQueue): + (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged): Add the origin/name pair to a queue + (WebCore::DatabaseTracker::scheduleForNotification): Schedule to deliver this queue of notifications + on the main thread + (WebCore::DatabaseTracker::notifyDatabasesChanged): Deliver all notifications in the queue + * storage/DatabaseTracker.h: + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::postflightAndCommit): scheduleNotifyDatabaseChanged() instead of "notify now!" + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto + +2007-12-02 Rob Buis <buis@kde.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=16002 + Load SVG (and other) UA StyleSheets dynamically when needed + + Load svg sheet when needed. + + * css/CSSStyleSelector.cpp: + (WebCore::screenEval): + (WebCore::printEval): + (WebCore::CSSStyleSelector::CSSStyleSelector): + (WebCore::CSSStyleSelector::loadDefaultStyle): + (WebCore::CSSStyleSelector::styleForElement): + (WebCore::CSSRuleSet::addRulesFromSheet): + +2007-12-02 Mark Rowe <mrowe@apple.com> + + Try and fix the Windows build. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::bindingInstance): + +2007-12-02 Nikolas Zimmermann <zimmermann@kde.org> + + Rubber stamped by Eric. + + Move platform/graphics/svg to graphics/svg as discussed on webkit-dev. + Updated all project files. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/svg: Removed. + * platform/graphics/svg/SVGImage.cpp: Removed. + * platform/graphics/svg/SVGImage.h: Removed. + * platform/graphics/svg/SVGImageEmptyClients.h: Removed. + * platform/graphics/svg/SVGPaintServer.cpp: Removed. + * platform/graphics/svg/SVGPaintServer.h: Removed. + * platform/graphics/svg/SVGPaintServerGradient.cpp: Removed. + * platform/graphics/svg/SVGPaintServerGradient.h: Removed. + * platform/graphics/svg/SVGPaintServerLinearGradient.cpp: Removed. + * platform/graphics/svg/SVGPaintServerLinearGradient.h: Removed. + * platform/graphics/svg/SVGPaintServerPattern.cpp: Removed. + * platform/graphics/svg/SVGPaintServerPattern.h: Removed. + * platform/graphics/svg/SVGPaintServerRadialGradient.cpp: Removed. + * platform/graphics/svg/SVGPaintServerRadialGradient.h: Removed. + * platform/graphics/svg/SVGPaintServerSolid.cpp: Removed. + * platform/graphics/svg/SVGPaintServerSolid.h: Removed. + * platform/graphics/svg/SVGResource.cpp: Removed. + * platform/graphics/svg/SVGResource.h: Removed. + * platform/graphics/svg/SVGResourceClipper.cpp: Removed. + * platform/graphics/svg/SVGResourceClipper.h: Removed. + * platform/graphics/svg/SVGResourceFilter.cpp: Removed. + * platform/graphics/svg/SVGResourceFilter.h: Removed. + * platform/graphics/svg/SVGResourceListener.h: Removed. + * platform/graphics/svg/SVGResourceMarker.cpp: Removed. + * platform/graphics/svg/SVGResourceMarker.h: Removed. + * platform/graphics/svg/SVGResourceMasker.cpp: Removed. + * platform/graphics/svg/SVGResourceMasker.h: Removed. + * platform/graphics/svg/cairo: Removed. + * platform/graphics/svg/cairo/RenderPathCairo.cpp: Removed. + * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: Removed. + * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: Removed. + * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: Removed. + * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: Removed. + * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: Removed. + * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: Removed. + * platform/graphics/svg/cg: Removed. + * platform/graphics/svg/cg/CgSupport.cpp: Removed. + * platform/graphics/svg/cg/CgSupport.h: Removed. + * platform/graphics/svg/cg/RenderPathCg.cpp: Removed. + * platform/graphics/svg/cg/SVGPaintServerCg.cpp: Removed. + * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: Removed. + * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Removed. + * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: Removed. + * platform/graphics/svg/cg/SVGResourceClipperCg.cpp: Removed. + * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: Removed. + * platform/graphics/svg/cg/SVGResourceFilterCg.mm: Removed. + * platform/graphics/svg/cg/SVGResourceMaskerCg.cpp: Removed. + * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: Removed. + * platform/graphics/svg/filters: Removed. + * platform/graphics/svg/filters/SVGDistantLightSource.h: Removed. + * platform/graphics/svg/filters/SVGFEBlend.cpp: Removed. + * platform/graphics/svg/filters/SVGFEBlend.h: Removed. + * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: Removed. + * platform/graphics/svg/filters/SVGFEColorMatrix.h: Removed. + * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: Removed. + * platform/graphics/svg/filters/SVGFEComponentTransfer.h: Removed. + * platform/graphics/svg/filters/SVGFEComposite.cpp: Removed. + * platform/graphics/svg/filters/SVGFEComposite.h: Removed. + * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: Removed. + * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: Removed. + * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: Removed. + * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: Removed. + * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: Removed. + * platform/graphics/svg/filters/SVGFEDisplacementMap.h: Removed. + * platform/graphics/svg/filters/SVGFEFlood.cpp: Removed. + * platform/graphics/svg/filters/SVGFEFlood.h: Removed. + * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: Removed. + * platform/graphics/svg/filters/SVGFEGaussianBlur.h: Removed. + * platform/graphics/svg/filters/SVGFEImage.cpp: Removed. + * platform/graphics/svg/filters/SVGFEImage.h: Removed. + * platform/graphics/svg/filters/SVGFEMerge.cpp: Removed. + * platform/graphics/svg/filters/SVGFEMerge.h: Removed. + * platform/graphics/svg/filters/SVGFEMorphology.cpp: Removed. + * platform/graphics/svg/filters/SVGFEMorphology.h: Removed. + * platform/graphics/svg/filters/SVGFEOffset.cpp: Removed. + * platform/graphics/svg/filters/SVGFEOffset.h: Removed. + * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: Removed. + * platform/graphics/svg/filters/SVGFESpecularLighting.h: Removed. + * platform/graphics/svg/filters/SVGFETile.h: Removed. + * platform/graphics/svg/filters/SVGFETurbulence.cpp: Removed. + * platform/graphics/svg/filters/SVGFETurbulence.h: Removed. + * platform/graphics/svg/filters/SVGFilterEffect.cpp: Removed. + * platform/graphics/svg/filters/SVGFilterEffect.h: Removed. + * platform/graphics/svg/filters/SVGLightSource.cpp: Removed. + * platform/graphics/svg/filters/SVGLightSource.h: Removed. + * platform/graphics/svg/filters/SVGPointLightSource.h: Removed. + * platform/graphics/svg/filters/SVGSpotLightSource.h: Removed. + * platform/graphics/svg/filters/cg: Removed. + * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: Removed. + * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFETileCg.mm: Removed. + * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm: Removed. + * platform/graphics/svg/filters/cg/WKArithmeticFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKArithmeticFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKArithmeticFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKComponentMergeFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKComponentMergeFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKDistantLightFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKDistantLightFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKDistantLightFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKGammaTransferFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKGammaTransferFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKIdentityTransferFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKLinearTransferFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKLinearTransferFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKNormalMapFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKNormalMapFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKNormalMapFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKPointLightFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKPointLightFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKPointLightFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKSpotLightFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKSpotLightFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKSpotLightFilter.m: Removed. + * platform/graphics/svg/filters/cg/WKTableTransferFilter.cikernel: Removed. + * platform/graphics/svg/filters/cg/WKTableTransferFilter.h: Removed. + * platform/graphics/svg/filters/cg/WKTableTransferFilter.m: Removed. + * platform/graphics/svg/mac: Removed. + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Removed. + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Removed. + * platform/graphics/svg/qt: Removed. + * platform/graphics/svg/qt/RenderPathQt.cpp: Removed. + * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp: Removed. + * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp: Removed. + * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp: Removed. + * platform/graphics/svg/qt/SVGPaintServerQt.cpp: Removed. + * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp: Removed. + * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp: Removed. + * platform/graphics/svg/qt/SVGResourceClipperQt.cpp: Removed. + * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: Removed. + * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: Removed. + * svg/graphics: Copied from platform/graphics/svg. + +2007-12-02 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Maciej. + + Fix IDL lookup in subdirectories. Missing 'my' prefix for the 'thisDir' variable. + When entering subdirectories the 'thisDir' variable got altered - see snippet: + + THISDIR: WebCore/page FOUND FILE: FrameView.h (endCondition: 0) + .. + -> ENTER: WebCore/page/gtk (THIS DIR: WebCore/page) + ... + <- LEAVE: WebCore/page/gtk (THIS DIR: WebCore/page/gtk) + THISDIR: WebCore/page/gtk FOUND FILE: History.cpp (endCondition: 0) + + 'History.cpp' is located in WebCore/page not WebCore/page/gtk. + + * bindings/scripts/CodeGenerator.pm: + +2007-12-01 Alp Toker <alp@atoker.com> + + Reviewed by Adam Roben. + + Add the newly introduced webkit.h convenience header. + + * WebCore.pro: + +2007-12-01 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + - Fix crash when removing a loading media element from the tree. + - Follow the spec by invoking pause() when element is removed from the tree instead of unloading. + + Tests: http/tests/media/remove-while-loading.html + media/remove-from-document.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::removedFromDocument): + +2007-12-01 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Beth Dakin. + + Restored the test string in this test. + + * manual-tests/window-open-features-parsing.html: + +2007-11-30 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Beth Dakin. + + Modified WebCore to follow the new JSGlobalObject/Interpreter ownership + rules in JavaScriptCore. + + * bindings/js/kjs_binding.cpp: + * bindings/js/kjs_binding.h: Removed stale, unused + interpreterForGlobalObject(). + + * bindings/js/kjs_proxy.cpp: Changed to store a global object, rather + than an interpreter. + (WebCore::KJSProxy::finishedWithEvent): Need to NULL check + m_globalObject here because we no longer unnecessarily instantiate it. + + * bindings/js/kjs_window.cpp: + (KJS::ScheduledAction::execute): + * bindings/js/kjs_window.h: Removed redundant and less efficient + interpreter() function -- global objects have direct access to their + interpreters now. + + Changed these functions to pass around JSGlobalObjects instead of + Interpreters: + + * page/Frame.cpp: + (WebCore::Frame::bindingRootObject): + (WebCore::Frame::createRootObject): + * page/Frame.h: + * page/mac/WebCoreFrameBridge.mm: + (createRootObject): + +2007-12-01 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix problem tracked by these bugs: + http://bugs.webkit.org/show_bug.cgi?id=16097 + <rdar://problem/5619305> Safari crashes during load of LexisNexis search results + <rdar://problem/5510779> CrashTracer: [USER] 25 crashes in Safari at + WebCore::DocumentLoader::isLoadingMultipartContent const + + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::createDocumentStructure): Create an ImageDocumentElement + instead of an HTMLImageElement. + (WebCore::ImageDocument::scale): Added a null check for m_imageElement. + (WebCore::ImageDocument::resizeImageToFit): Ditto. + (WebCore::ImageDocument::restoreImageSize): Ditto. + (WebCore::ImageDocument::imageFitsInWindow): Ditto. + (WebCore::ImageDocument::windowSizeChanged): Ditto. + (WebCore::ImageDocumentElement::~ImageDocumentElement): Call + disconnectImageElement so m_imageElement will be set to 0 + if we're still connected to the document. + (WebCore::ImageDocumentElement::willMoveToNewOwnerDocument): Ditto. + + * loader/ImageDocument.h: Changed image element type to be + ImageDocumentElement instead of HTMLImageElement. Also added + a disconnectImageElement function that sets m_imageElement to 0. + +2007-12-01 Darin Adler <darin@apple.com> + + - remove the empty directories + + * ksvg2: Removed. + * ksvg2/css: Removed. + * ksvg2/events: Removed. + * ksvg2/misc: Removed. + * ksvg2/scripts: Removed. + +2007-12-01 Julien Chaffraix <julien.chaffraix@gmail.com> + + Bug 16189: XMLHttpRequest::setRequestHeader() should not set certain headers + + Reviewed by Darin Adler. + + * xml/XMLHttpRequest.cpp: + (WebCore::canSetRequestHeader): + + Test: http/tests/xmlhttprequest/set-dangerous-headers.html + +2007-12-01 Rahul Abrol <ra5ul@comcast.net> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=16128 + Ignore resizable=no for window.open(). + + * bindings/js/kjs_window.cpp: + (KJS::setWindowFeature): + (KJS::parseWindowFeatures): + * manual-tests/window-open-features-parsing.html: + +2007-12-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5619240> REGRESSION (Leopard-r28069): Reproducible crash with a Mootools-based calendar picker (jump to null in FrameView::layout) + + Test: fast/dynamic/subtree-common-root.html + + * page/FrameView.cpp: + (WebCore::FrameView::layoutRoot): Added a parameter to let this method + return the layout root for a pending layout as well. + (WebCore::FrameView::scheduleRelayoutOfSubtree): Pass the new root + to markContainingBlocksForLayout(). Otherwise, + markContainingBlocksForLayout() could mark past the new root, if it had + previously been marked as having a normal child needing layout and then + was reached via a positioned child. + * page/FrameView.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcWidth): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::~RenderObject): Fixed the ASSERT so that + it would really catch deletion of the layout root. + (WebCore::RenderObject::markContainingBlocksForLayout): Added the + newRoot parameter, which tells this method where to stop marking. + * rendering/RenderObject.h: + +2007-12-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fold FontStyle into TextRun + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/Font.cpp: + (WebCore::WidthIterator::WidthIterator): + (WebCore::WidthIterator::advance): + (WebCore::Font::width): + (WebCore::Font::drawSimpleText): + (WebCore::Font::drawGlyphBuffer): + (WebCore::Font::drawText): + (WebCore::Font::floatWidth): + (WebCore::Font::floatWidthForSimpleText): + (WebCore::Font::selectionRectForText): + (WebCore::Font::selectionRectForSimpleText): + (WebCore::Font::offsetForPosition): + (WebCore::Font::offsetForPositionForSimpleText): + * platform/graphics/Font.h: + (WebCore::TextRun::TextRun): + (WebCore::TextRun::setText): + (WebCore::TextRun::allowTabs): + (WebCore::TextRun::xPos): + (WebCore::TextRun::padding): + (WebCore::TextRun::rtl): + (WebCore::TextRun::ltr): + (WebCore::TextRun::directionalOverride): + (WebCore::TextRun::applyRunRounding): + (WebCore::TextRun::applyWordRounding): + (WebCore::TextRun::spacingDisabled): + (WebCore::TextRun::disableSpacing): + (WebCore::TextRun::disableRoundingHacks): + (WebCore::TextRun::setRTL): + (WebCore::TextRun::setDirectionalOverride): + * platform/graphics/FontStyle.h: Removed. + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawText): + (WebCore::GraphicsContext::drawBidiText): + (WebCore::GraphicsContext::drawHighlightForText): + * platform/graphics/GraphicsContext.h: + * platform/graphics/StringTruncator.cpp: + (WebCore::stringWidth): + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/graphics/mac/FontMac.mm: + (WebCore::ATSULayoutParameters::ATSULayoutParameters): + (WebCore::addDirectionalOverride): + (WebCore::overrideLayoutOperation): + (WebCore::ATSULayoutParameters::initialize): + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/qt/FontQt.cpp: + (WebCore::generateComponents): + (WebCore::Font::drawText): + (WebCore::Font::width): + (WebCore::Font::offsetForPosition): + (WebCore::cursorToX): + (WebCore::Font::selectionRectForText): + * platform/graphics/win/FontWin.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/graphics/wx/FontWx.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/mac/WebCoreTextRenderer.mm: + (WebCoreDrawTextAtPoint): + (WebCoreTextFloatWidth): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::paint): + * platform/win/UniscribeController.cpp: + (WebCore::UniscribeController::UniscribeController): + (WebCore::UniscribeController::offsetForPosition): + (WebCore::UniscribeController::advance): + (WebCore::UniscribeController::itemizeShapeAndPlace): + (WebCore::UniscribeController::resetControlAndState): + (WebCore::UniscribeController::shapeAndPlaceItem): + * platform/win/UniscribeController.h: + * platform/win/WebCoreTextRenderer.cpp: + (WebCore::doDrawTextAtPoint): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintCompositionBackground): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::offsetForPosition): + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): + (WebCore::RenderFileUploadControl::calcPrefWidths): + * rendering/RenderImage.cpp: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::updateFromElement): + (WebCore::RenderListBox::paintItemForeground): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::updateOptionsWidth): + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + (WebCore::RenderText::calcPrefWidths): + (WebCore::RenderText::width): + * rendering/RenderText.h: + (WebCore::RenderText::allowTabs): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::calcPrefWidths): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::calculateGlyphWidth): + (WebCore::SVGInlineTextBox::paintCharacters): + (WebCore::SVGInlineTextBox::paintSelection): + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): + (WebCore::cummulatedWidthOfInlineBoxCharacterRange): + (WebCore::svgTextRunForInlineTextBox): + * rendering/SVGRootInlineBox.h: + +2007-12-01 Adam Treat <treat@kde.org> + + Reviewed by Simon. + + * Don't hide symbols when in Debug mode + * On Linux (glibc) provide a backtrace in the test output for debugging purposes + + * WebCore.pro: + +2007-11-30 Alp Toker <alp@atoker.com> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=15691 + [GTK] Public API does not follow GTK+ conventions + + Refactor the WebKit/GTK+ public API. Changes: + WebKitPage -> WebKitWebView + WebKitFrame -> WebKitWebFrame + + Public API source and header names have been updated to mirror the API + changes. + + The API is now kept in WebKit/gtk/WebView to match other ports in the + same class such as Mac and Win. + + * WebCore.pro: + +2007-11-30 Anders Carlsson <andersca@apple.com> + + Add platform/text project group. + + * WebCore.vcproj/WebCore.vcproj: + +2007-11-30 Anders Carlsson <andersca@apple.com> + + Remove extra </Filter> tag which prevented the vcproj from being parsed correctly. + + * WebCore.vcproj/WebCore.vcproj: + +2007-11-30 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Try to fix qt/gtk build. + + * WebCore.pro: + +2007-11-30 Nikolas Zimmermann <zimmermann@kde.org> + + Rubber stamped by Eric. + + Final integration of ksvg2 in WebKit. Moving ksvg2/ to svg/ and killing all it's subdirectories, + by moving the files into approriate locations (css, rendering, ...) - as dicsussed on the + mailing list and on IRC with David/Darin & Eric. + + Updated all build files - though I can't guarantee it builds on non-mac. Need buildbot to verify. + + * DerivedSources.make: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSSVGLazyEventListener.cpp: Copied from ksvg2/events/JSSVGLazyEventListener.cpp. + * bindings/js/JSSVGLazyEventListener.h: Copied from ksvg2/events/JSSVGLazyEventListener.h. + * css/SVGCSSComputedStyleDeclaration.cpp: Copied from ksvg2/css/SVGCSSComputedStyleDeclaration.cpp. + * css/SVGCSSParser.cpp: Copied from ksvg2/css/SVGCSSParser.cpp. + * css/SVGCSSPropertyNames.in: Copied from ksvg2/css/SVGCSSPropertyNames.in. + * css/SVGCSSStyleSelector.cpp: Copied from ksvg2/css/SVGCSSStyleSelector.cpp. + * css/SVGCSSValueKeywords.in: Copied from ksvg2/css/SVGCSSValueKeywords.in. + * dom/make_names.pl: Copied from ksvg2/scripts/make_names.pl. + * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: Removed. + * ksvg2/css/SVGCSSParser.cpp: Removed. + * ksvg2/css/SVGCSSPropertyNames.in: Removed. + * ksvg2/css/SVGCSSStyleSelector.cpp: Removed. + * ksvg2/css/SVGCSSValueKeywords.in: Removed. + * ksvg2/css/SVGRenderStyle.cpp: Removed. + * ksvg2/css/SVGRenderStyle.h: Removed. + * ksvg2/css/SVGRenderStyleDefs.cpp: Removed. + * ksvg2/css/SVGRenderStyleDefs.h: Removed. + * ksvg2/events/JSSVGLazyEventListener.cpp: Removed. + * ksvg2/events/JSSVGLazyEventListener.h: Removed. + * ksvg2/events/SVGZoomEvent.cpp: Removed. + * ksvg2/events/SVGZoomEvent.h: Removed. + * ksvg2/events/SVGZoomEvent.idl: Removed. + * ksvg2/misc/PointerEventsHitRules.cpp: Removed. + * ksvg2/misc/PointerEventsHitRules.h: Removed. + * ksvg2/misc/SVGDocumentExtensions.cpp: Removed. + * ksvg2/misc/SVGDocumentExtensions.h: Removed. + * ksvg2/misc/SVGImageLoader.cpp: Removed. + * ksvg2/misc/SVGImageLoader.h: Removed. + * ksvg2/misc/SVGTimer.cpp: Removed. + * ksvg2/misc/SVGTimer.h: Removed. + * ksvg2/misc/TimeScheduler.cpp: Removed. + * ksvg2/misc/TimeScheduler.h: Removed. + * ksvg2/misc/xlinkattrs.in: Removed. + * ksvg2/scripts/make_names.pl: Removed. + * ksvg2/svg: Removed. + * ksvg2/svg/ColorDistance.cpp: Removed. + * ksvg2/svg/ColorDistance.h: Removed. + * ksvg2/svg/GradientAttributes.h: Removed. + * ksvg2/svg/LinearGradientAttributes.h: Removed. + * ksvg2/svg/PatternAttributes.h: Removed. + * ksvg2/svg/RadialGradientAttributes.h: Removed. + * ksvg2/svg/SVGAElement.cpp: Removed. + * ksvg2/svg/SVGAElement.h: Removed. + * ksvg2/svg/SVGAElement.idl: Removed. + * ksvg2/svg/SVGAngle.cpp: Removed. + * ksvg2/svg/SVGAngle.h: Removed. + * ksvg2/svg/SVGAngle.idl: Removed. + * ksvg2/svg/SVGAnimateColorElement.cpp: Removed. + * ksvg2/svg/SVGAnimateColorElement.h: Removed. + * ksvg2/svg/SVGAnimateColorElement.idl: Removed. + * ksvg2/svg/SVGAnimateElement.cpp: Removed. + * ksvg2/svg/SVGAnimateElement.h: Removed. + * ksvg2/svg/SVGAnimateElement.idl: Removed. + * ksvg2/svg/SVGAnimateMotionElement.cpp: Removed. + * ksvg2/svg/SVGAnimateMotionElement.h: Removed. + * ksvg2/svg/SVGAnimateTransformElement.cpp: Removed. + * ksvg2/svg/SVGAnimateTransformElement.h: Removed. + * ksvg2/svg/SVGAnimateTransformElement.idl: Removed. + * ksvg2/svg/SVGAnimatedAngle.idl: Removed. + * ksvg2/svg/SVGAnimatedBoolean.idl: Removed. + * ksvg2/svg/SVGAnimatedEnumeration.idl: Removed. + * ksvg2/svg/SVGAnimatedInteger.idl: Removed. + * ksvg2/svg/SVGAnimatedLength.idl: Removed. + * ksvg2/svg/SVGAnimatedLengthList.idl: Removed. + * ksvg2/svg/SVGAnimatedNumber.idl: Removed. + * ksvg2/svg/SVGAnimatedNumberList.idl: Removed. + * ksvg2/svg/SVGAnimatedPathData.cpp: Removed. + * ksvg2/svg/SVGAnimatedPathData.h: Removed. + * ksvg2/svg/SVGAnimatedPathData.idl: Removed. + * ksvg2/svg/SVGAnimatedPoints.cpp: Removed. + * ksvg2/svg/SVGAnimatedPoints.h: Removed. + * ksvg2/svg/SVGAnimatedPoints.idl: Removed. + * ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl: Removed. + * ksvg2/svg/SVGAnimatedRect.idl: Removed. + * ksvg2/svg/SVGAnimatedString.idl: Removed. + * ksvg2/svg/SVGAnimatedTemplate.h: Removed. + * ksvg2/svg/SVGAnimatedTransformList.idl: Removed. + * ksvg2/svg/SVGAnimationElement.cpp: Removed. + * ksvg2/svg/SVGAnimationElement.h: Removed. + * ksvg2/svg/SVGAnimationElement.idl: Removed. + * ksvg2/svg/SVGCircleElement.cpp: Removed. + * ksvg2/svg/SVGCircleElement.h: Removed. + * ksvg2/svg/SVGCircleElement.idl: Removed. + * ksvg2/svg/SVGClipPathElement.cpp: Removed. + * ksvg2/svg/SVGClipPathElement.h: Removed. + * ksvg2/svg/SVGClipPathElement.idl: Removed. + * ksvg2/svg/SVGColor.cpp: Removed. + * ksvg2/svg/SVGColor.h: Removed. + * ksvg2/svg/SVGColor.idl: Removed. + * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: Removed. + * ksvg2/svg/SVGComponentTransferFunctionElement.h: Removed. + * ksvg2/svg/SVGComponentTransferFunctionElement.idl: Removed. + * ksvg2/svg/SVGCursorElement.cpp: Removed. + * ksvg2/svg/SVGCursorElement.h: Removed. + * ksvg2/svg/SVGCursorElement.idl: Removed. + * ksvg2/svg/SVGDefinitionSrcElement.cpp: Removed. + * ksvg2/svg/SVGDefinitionSrcElement.h: Removed. + * ksvg2/svg/SVGDefinitionSrcElement.idl: Removed. + * ksvg2/svg/SVGDefsElement.cpp: Removed. + * ksvg2/svg/SVGDefsElement.h: Removed. + * ksvg2/svg/SVGDefsElement.idl: Removed. + * ksvg2/svg/SVGDescElement.cpp: Removed. + * ksvg2/svg/SVGDescElement.h: Removed. + * ksvg2/svg/SVGDescElement.idl: Removed. + * ksvg2/svg/SVGDocument.cpp: Removed. + * ksvg2/svg/SVGDocument.h: Removed. + * ksvg2/svg/SVGDocument.idl: Removed. + * ksvg2/svg/SVGElement.cpp: Removed. + * ksvg2/svg/SVGElement.h: Removed. + * ksvg2/svg/SVGElement.idl: Removed. + * ksvg2/svg/SVGElementInstance.cpp: Removed. + * ksvg2/svg/SVGElementInstance.h: Removed. + * ksvg2/svg/SVGElementInstance.idl: Removed. + * ksvg2/svg/SVGElementInstanceList.cpp: Removed. + * ksvg2/svg/SVGElementInstanceList.h: Removed. + * ksvg2/svg/SVGElementInstanceList.idl: Removed. + * ksvg2/svg/SVGEllipseElement.cpp: Removed. + * ksvg2/svg/SVGEllipseElement.h: Removed. + * ksvg2/svg/SVGEllipseElement.idl: Removed. + * ksvg2/svg/SVGException.h: Removed. + * ksvg2/svg/SVGException.idl: Removed. + * ksvg2/svg/SVGExternalResourcesRequired.cpp: Removed. + * ksvg2/svg/SVGExternalResourcesRequired.h: Removed. + * ksvg2/svg/SVGExternalResourcesRequired.idl: Removed. + * ksvg2/svg/SVGFEBlendElement.cpp: Removed. + * ksvg2/svg/SVGFEBlendElement.h: Removed. + * ksvg2/svg/SVGFEBlendElement.idl: Removed. + * ksvg2/svg/SVGFEColorMatrixElement.cpp: Removed. + * ksvg2/svg/SVGFEColorMatrixElement.h: Removed. + * ksvg2/svg/SVGFEColorMatrixElement.idl: Removed. + * ksvg2/svg/SVGFEComponentTransferElement.cpp: Removed. + * ksvg2/svg/SVGFEComponentTransferElement.h: Removed. + * ksvg2/svg/SVGFEComponentTransferElement.idl: Removed. + * ksvg2/svg/SVGFECompositeElement.cpp: Removed. + * ksvg2/svg/SVGFECompositeElement.h: Removed. + * ksvg2/svg/SVGFECompositeElement.idl: Removed. + * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: Removed. + * ksvg2/svg/SVGFEDiffuseLightingElement.h: Removed. + * ksvg2/svg/SVGFEDiffuseLightingElement.idl: Removed. + * ksvg2/svg/SVGFEDisplacementMapElement.cpp: Removed. + * ksvg2/svg/SVGFEDisplacementMapElement.h: Removed. + * ksvg2/svg/SVGFEDisplacementMapElement.idl: Removed. + * ksvg2/svg/SVGFEDistantLightElement.cpp: Removed. + * ksvg2/svg/SVGFEDistantLightElement.h: Removed. + * ksvg2/svg/SVGFEDistantLightElement.idl: Removed. + * ksvg2/svg/SVGFEFloodElement.cpp: Removed. + * ksvg2/svg/SVGFEFloodElement.h: Removed. + * ksvg2/svg/SVGFEFloodElement.idl: Removed. + * ksvg2/svg/SVGFEFuncAElement.cpp: Removed. + * ksvg2/svg/SVGFEFuncAElement.h: Removed. + * ksvg2/svg/SVGFEFuncAElement.idl: Removed. + * ksvg2/svg/SVGFEFuncBElement.cpp: Removed. + * ksvg2/svg/SVGFEFuncBElement.h: Removed. + * ksvg2/svg/SVGFEFuncBElement.idl: Removed. + * ksvg2/svg/SVGFEFuncGElement.cpp: Removed. + * ksvg2/svg/SVGFEFuncGElement.h: Removed. + * ksvg2/svg/SVGFEFuncGElement.idl: Removed. + * ksvg2/svg/SVGFEFuncRElement.cpp: Removed. + * ksvg2/svg/SVGFEFuncRElement.h: Removed. + * ksvg2/svg/SVGFEFuncRElement.idl: Removed. + * ksvg2/svg/SVGFEGaussianBlurElement.cpp: Removed. + * ksvg2/svg/SVGFEGaussianBlurElement.h: Removed. + * ksvg2/svg/SVGFEGaussianBlurElement.idl: Removed. + * ksvg2/svg/SVGFEImageElement.cpp: Removed. + * ksvg2/svg/SVGFEImageElement.h: Removed. + * ksvg2/svg/SVGFEImageElement.idl: Removed. + * ksvg2/svg/SVGFELightElement.cpp: Removed. + * ksvg2/svg/SVGFELightElement.h: Removed. + * ksvg2/svg/SVGFEMergeElement.cpp: Removed. + * ksvg2/svg/SVGFEMergeElement.h: Removed. + * ksvg2/svg/SVGFEMergeElement.idl: Removed. + * ksvg2/svg/SVGFEMergeNodeElement.cpp: Removed. + * ksvg2/svg/SVGFEMergeNodeElement.h: Removed. + * ksvg2/svg/SVGFEMergeNodeElement.idl: Removed. + * ksvg2/svg/SVGFEOffsetElement.cpp: Removed. + * ksvg2/svg/SVGFEOffsetElement.h: Removed. + * ksvg2/svg/SVGFEOffsetElement.idl: Removed. + * ksvg2/svg/SVGFEPointLightElement.cpp: Removed. + * ksvg2/svg/SVGFEPointLightElement.h: Removed. + * ksvg2/svg/SVGFEPointLightElement.idl: Removed. + * ksvg2/svg/SVGFESpecularLightingElement.cpp: Removed. + * ksvg2/svg/SVGFESpecularLightingElement.h: Removed. + * ksvg2/svg/SVGFESpecularLightingElement.idl: Removed. + * ksvg2/svg/SVGFESpotLightElement.cpp: Removed. + * ksvg2/svg/SVGFESpotLightElement.h: Removed. + * ksvg2/svg/SVGFESpotLightElement.idl: Removed. + * ksvg2/svg/SVGFETileElement.cpp: Removed. + * ksvg2/svg/SVGFETileElement.h: Removed. + * ksvg2/svg/SVGFETileElement.idl: Removed. + * ksvg2/svg/SVGFETurbulenceElement.cpp: Removed. + * ksvg2/svg/SVGFETurbulenceElement.h: Removed. + * ksvg2/svg/SVGFETurbulenceElement.idl: Removed. + * ksvg2/svg/SVGFilterElement.cpp: Removed. + * ksvg2/svg/SVGFilterElement.h: Removed. + * ksvg2/svg/SVGFilterElement.idl: Removed. + * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed. + * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: Removed. + * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.idl: Removed. + * ksvg2/svg/SVGFitToViewBox.cpp: Removed. + * ksvg2/svg/SVGFitToViewBox.h: Removed. + * ksvg2/svg/SVGFitToViewBox.idl: Removed. + * ksvg2/svg/SVGFontFaceElement.cpp: Removed. + * ksvg2/svg/SVGFontFaceElement.h: Removed. + * ksvg2/svg/SVGFontFaceElement.idl: Removed. + * ksvg2/svg/SVGFontFaceFormatElement.cpp: Removed. + * ksvg2/svg/SVGFontFaceFormatElement.h: Removed. + * ksvg2/svg/SVGFontFaceFormatElement.idl: Removed. + * ksvg2/svg/SVGFontFaceNameElement.cpp: Removed. + * ksvg2/svg/SVGFontFaceNameElement.h: Removed. + * ksvg2/svg/SVGFontFaceNameElement.idl: Removed. + * ksvg2/svg/SVGFontFaceSrcElement.cpp: Removed. + * ksvg2/svg/SVGFontFaceSrcElement.h: Removed. + * ksvg2/svg/SVGFontFaceSrcElement.idl: Removed. + * ksvg2/svg/SVGFontFaceUriElement.cpp: Removed. + * ksvg2/svg/SVGFontFaceUriElement.h: Removed. + * ksvg2/svg/SVGFontFaceUriElement.idl: Removed. + * ksvg2/svg/SVGForeignObjectElement.cpp: Removed. + * ksvg2/svg/SVGForeignObjectElement.h: Removed. + * ksvg2/svg/SVGForeignObjectElement.idl: Removed. + * ksvg2/svg/SVGGElement.cpp: Removed. + * ksvg2/svg/SVGGElement.h: Removed. + * ksvg2/svg/SVGGElement.idl: Removed. + * ksvg2/svg/SVGGradientElement.cpp: Removed. + * ksvg2/svg/SVGGradientElement.h: Removed. + * ksvg2/svg/SVGGradientElement.idl: Removed. + * ksvg2/svg/SVGImageElement.cpp: Removed. + * ksvg2/svg/SVGImageElement.h: Removed. + * ksvg2/svg/SVGImageElement.idl: Removed. + * ksvg2/svg/SVGLangSpace.cpp: Removed. + * ksvg2/svg/SVGLangSpace.h: Removed. + * ksvg2/svg/SVGLangSpace.idl: Removed. + * ksvg2/svg/SVGLength.cpp: Removed. + * ksvg2/svg/SVGLength.h: Removed. + * ksvg2/svg/SVGLength.idl: Removed. + * ksvg2/svg/SVGLengthList.cpp: Removed. + * ksvg2/svg/SVGLengthList.h: Removed. + * ksvg2/svg/SVGLengthList.idl: Removed. + * ksvg2/svg/SVGLineElement.cpp: Removed. + * ksvg2/svg/SVGLineElement.h: Removed. + * ksvg2/svg/SVGLineElement.idl: Removed. + * ksvg2/svg/SVGLinearGradientElement.cpp: Removed. + * ksvg2/svg/SVGLinearGradientElement.h: Removed. + * ksvg2/svg/SVGLinearGradientElement.idl: Removed. + * ksvg2/svg/SVGList.h: Removed. + * ksvg2/svg/SVGListTraits.h: Removed. + * ksvg2/svg/SVGLocatable.cpp: Removed. + * ksvg2/svg/SVGLocatable.h: Removed. + * ksvg2/svg/SVGLocatable.idl: Removed. + * ksvg2/svg/SVGMPathElement.cpp: Removed. + * ksvg2/svg/SVGMPathElement.h: Removed. + * ksvg2/svg/SVGMarkerElement.cpp: Removed. + * ksvg2/svg/SVGMarkerElement.h: Removed. + * ksvg2/svg/SVGMarkerElement.idl: Removed. + * ksvg2/svg/SVGMaskElement.cpp: Removed. + * ksvg2/svg/SVGMaskElement.h: Removed. + * ksvg2/svg/SVGMaskElement.idl: Removed. + * ksvg2/svg/SVGMatrix.idl: Removed. + * ksvg2/svg/SVGMetadataElement.cpp: Removed. + * ksvg2/svg/SVGMetadataElement.h: Removed. + * ksvg2/svg/SVGMetadataElement.idl: Removed. + * ksvg2/svg/SVGNumber.idl: Removed. + * ksvg2/svg/SVGNumberList.cpp: Removed. + * ksvg2/svg/SVGNumberList.h: Removed. + * ksvg2/svg/SVGNumberList.idl: Removed. + * ksvg2/svg/SVGPaint.cpp: Removed. + * ksvg2/svg/SVGPaint.h: Removed. + * ksvg2/svg/SVGPaint.idl: Removed. + * ksvg2/svg/SVGParserUtilities.cpp: Removed. + * ksvg2/svg/SVGParserUtilities.h: Removed. + * ksvg2/svg/SVGPathElement.cpp: Removed. + * ksvg2/svg/SVGPathElement.h: Removed. + * ksvg2/svg/SVGPathElement.idl: Removed. + * ksvg2/svg/SVGPathSeg.h: Removed. + * ksvg2/svg/SVGPathSeg.idl: Removed. + * ksvg2/svg/SVGPathSegArc.cpp: Removed. + * ksvg2/svg/SVGPathSegArc.h: Removed. + * ksvg2/svg/SVGPathSegArcAbs.idl: Removed. + * ksvg2/svg/SVGPathSegArcRel.idl: Removed. + * ksvg2/svg/SVGPathSegClosePath.cpp: Removed. + * ksvg2/svg/SVGPathSegClosePath.h: Removed. + * ksvg2/svg/SVGPathSegClosePath.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubic.h: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Removed. + * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Removed. + * ksvg2/svg/SVGPathSegLineto.cpp: Removed. + * ksvg2/svg/SVGPathSegLineto.h: Removed. + * ksvg2/svg/SVGPathSegLinetoAbs.idl: Removed. + * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: Removed. + * ksvg2/svg/SVGPathSegLinetoHorizontal.h: Removed. + * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Removed. + * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Removed. + * ksvg2/svg/SVGPathSegLinetoRel.idl: Removed. + * ksvg2/svg/SVGPathSegLinetoVertical.cpp: Removed. + * ksvg2/svg/SVGPathSegLinetoVertical.h: Removed. + * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Removed. + * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Removed. + * ksvg2/svg/SVGPathSegList.cpp: Removed. + * ksvg2/svg/SVGPathSegList.h: Removed. + * ksvg2/svg/SVGPathSegList.idl: Removed. + * ksvg2/svg/SVGPathSegMoveto.cpp: Removed. + * ksvg2/svg/SVGPathSegMoveto.h: Removed. + * ksvg2/svg/SVGPathSegMovetoAbs.idl: Removed. + * ksvg2/svg/SVGPathSegMovetoRel.idl: Removed. + * ksvg2/svg/SVGPatternElement.cpp: Removed. + * ksvg2/svg/SVGPatternElement.h: Removed. + * ksvg2/svg/SVGPatternElement.idl: Removed. + * ksvg2/svg/SVGPoint.idl: Removed. + * ksvg2/svg/SVGPointList.cpp: Removed. + * ksvg2/svg/SVGPointList.h: Removed. + * ksvg2/svg/SVGPointList.idl: Removed. + * ksvg2/svg/SVGPolyElement.cpp: Removed. + * ksvg2/svg/SVGPolyElement.h: Removed. + * ksvg2/svg/SVGPolygonElement.cpp: Removed. + * ksvg2/svg/SVGPolygonElement.h: Removed. + * ksvg2/svg/SVGPolygonElement.idl: Removed. + * ksvg2/svg/SVGPolylineElement.cpp: Removed. + * ksvg2/svg/SVGPolylineElement.h: Removed. + * ksvg2/svg/SVGPolylineElement.idl: Removed. + * ksvg2/svg/SVGPreserveAspectRatio.cpp: Removed. + * ksvg2/svg/SVGPreserveAspectRatio.h: Removed. + * ksvg2/svg/SVGPreserveAspectRatio.idl: Removed. + * ksvg2/svg/SVGRadialGradientElement.cpp: Removed. + * ksvg2/svg/SVGRadialGradientElement.h: Removed. + * ksvg2/svg/SVGRadialGradientElement.idl: Removed. + * ksvg2/svg/SVGRect.idl: Removed. + * ksvg2/svg/SVGRectElement.cpp: Removed. + * ksvg2/svg/SVGRectElement.h: Removed. + * ksvg2/svg/SVGRectElement.idl: Removed. + * ksvg2/svg/SVGRenderingIntent.h: Removed. + * ksvg2/svg/SVGRenderingIntent.idl: Removed. + * ksvg2/svg/SVGSVGElement.cpp: Removed. + * ksvg2/svg/SVGSVGElement.h: Removed. + * ksvg2/svg/SVGSVGElement.idl: Removed. + * ksvg2/svg/SVGScriptElement.cpp: Removed. + * ksvg2/svg/SVGScriptElement.h: Removed. + * ksvg2/svg/SVGScriptElement.idl: Removed. + * ksvg2/svg/SVGSetElement.cpp: Removed. + * ksvg2/svg/SVGSetElement.h: Removed. + * ksvg2/svg/SVGSetElement.idl: Removed. + * ksvg2/svg/SVGStopElement.cpp: Removed. + * ksvg2/svg/SVGStopElement.h: Removed. + * ksvg2/svg/SVGStopElement.idl: Removed. + * ksvg2/svg/SVGStringList.cpp: Removed. + * ksvg2/svg/SVGStringList.h: Removed. + * ksvg2/svg/SVGStringList.idl: Removed. + * ksvg2/svg/SVGStylable.cpp: Removed. + * ksvg2/svg/SVGStylable.h: Removed. + * ksvg2/svg/SVGStylable.idl: Removed. + * ksvg2/svg/SVGStyleElement.cpp: Removed. + * ksvg2/svg/SVGStyleElement.h: Removed. + * ksvg2/svg/SVGStyleElement.idl: Removed. + * ksvg2/svg/SVGStyledElement.cpp: Removed. + * ksvg2/svg/SVGStyledElement.h: Removed. + * ksvg2/svg/SVGStyledLocatableElement.cpp: Removed. + * ksvg2/svg/SVGStyledLocatableElement.h: Removed. + * ksvg2/svg/SVGStyledTransformableElement.cpp: Removed. + * ksvg2/svg/SVGStyledTransformableElement.h: Removed. + * ksvg2/svg/SVGSwitchElement.cpp: Removed. + * ksvg2/svg/SVGSwitchElement.h: Removed. + * ksvg2/svg/SVGSwitchElement.idl: Removed. + * ksvg2/svg/SVGSymbolElement.cpp: Removed. + * ksvg2/svg/SVGSymbolElement.h: Removed. + * ksvg2/svg/SVGSymbolElement.idl: Removed. + * ksvg2/svg/SVGTRefElement.cpp: Removed. + * ksvg2/svg/SVGTRefElement.h: Removed. + * ksvg2/svg/SVGTRefElement.idl: Removed. + * ksvg2/svg/SVGTSpanElement.cpp: Removed. + * ksvg2/svg/SVGTSpanElement.h: Removed. + * ksvg2/svg/SVGTSpanElement.idl: Removed. + * ksvg2/svg/SVGTests.cpp: Removed. + * ksvg2/svg/SVGTests.h: Removed. + * ksvg2/svg/SVGTests.idl: Removed. + * ksvg2/svg/SVGTextContentElement.cpp: Removed. + * ksvg2/svg/SVGTextContentElement.h: Removed. + * ksvg2/svg/SVGTextContentElement.idl: Removed. + * ksvg2/svg/SVGTextElement.cpp: Removed. + * ksvg2/svg/SVGTextElement.h: Removed. + * ksvg2/svg/SVGTextElement.idl: Removed. + * ksvg2/svg/SVGTextPathElement.cpp: Removed. + * ksvg2/svg/SVGTextPathElement.h: Removed. + * ksvg2/svg/SVGTextPathElement.idl: Removed. + * ksvg2/svg/SVGTextPositioningElement.cpp: Removed. + * ksvg2/svg/SVGTextPositioningElement.h: Removed. + * ksvg2/svg/SVGTextPositioningElement.idl: Removed. + * ksvg2/svg/SVGTitleElement.cpp: Removed. + * ksvg2/svg/SVGTitleElement.h: Removed. + * ksvg2/svg/SVGTitleElement.idl: Removed. + * ksvg2/svg/SVGTransform.cpp: Removed. + * ksvg2/svg/SVGTransform.h: Removed. + * ksvg2/svg/SVGTransform.idl: Removed. + * ksvg2/svg/SVGTransformDistance.cpp: Removed. + * ksvg2/svg/SVGTransformDistance.h: Removed. + * ksvg2/svg/SVGTransformList.cpp: Removed. + * ksvg2/svg/SVGTransformList.h: Removed. + * ksvg2/svg/SVGTransformList.idl: Removed. + * ksvg2/svg/SVGTransformable.cpp: Removed. + * ksvg2/svg/SVGTransformable.h: Removed. + * ksvg2/svg/SVGTransformable.idl: Removed. + * ksvg2/svg/SVGURIReference.cpp: Removed. + * ksvg2/svg/SVGURIReference.h: Removed. + * ksvg2/svg/SVGURIReference.idl: Removed. + * ksvg2/svg/SVGUnitTypes.h: Removed. + * ksvg2/svg/SVGUnitTypes.idl: Removed. + * ksvg2/svg/SVGUseElement.cpp: Removed. + * ksvg2/svg/SVGUseElement.h: Removed. + * ksvg2/svg/SVGUseElement.idl: Removed. + * ksvg2/svg/SVGViewElement.cpp: Removed. + * ksvg2/svg/SVGViewElement.h: Removed. + * ksvg2/svg/SVGViewElement.idl: Removed. + * ksvg2/svg/SVGViewSpec.cpp: Removed. + * ksvg2/svg/SVGViewSpec.h: Removed. + * ksvg2/svg/SVGViewSpec.idl: Removed. + * ksvg2/svg/SVGZoomAndPan.cpp: Removed. + * ksvg2/svg/SVGZoomAndPan.h: Removed. + * ksvg2/svg/SVGZoomAndPan.idl: Removed. + * ksvg2/svg/svgattrs.in: Removed. + * ksvg2/svg/svgtags.in: Removed. + * rendering/PointerEventsHitRules.cpp: Copied from ksvg2/misc/PointerEventsHitRules.cpp. + * rendering/PointerEventsHitRules.h: Copied from ksvg2/misc/PointerEventsHitRules.h. + * rendering/SVGRenderStyle.cpp: Copied from ksvg2/css/SVGRenderStyle.cpp. + * rendering/SVGRenderStyle.h: Copied from ksvg2/css/SVGRenderStyle.h. + * rendering/SVGRenderStyleDefs.cpp: Copied from ksvg2/css/SVGRenderStyleDefs.cpp. + * rendering/SVGRenderStyleDefs.h: Copied from ksvg2/css/SVGRenderStyleDefs.h. + * svg: Copied from ksvg2/svg. + * svg/SVGDocumentExtensions.cpp: Copied from ksvg2/misc/SVGDocumentExtensions.cpp. + * svg/SVGDocumentExtensions.h: Copied from ksvg2/misc/SVGDocumentExtensions.h. + * svg/SVGImageLoader.cpp: Copied from ksvg2/misc/SVGImageLoader.cpp. + * svg/SVGImageLoader.h: Copied from ksvg2/misc/SVGImageLoader.h. + * svg/SVGTimer.cpp: Copied from ksvg2/misc/SVGTimer.cpp. + * svg/SVGTimer.h: Copied from ksvg2/misc/SVGTimer.h. + * svg/SVGZoomEvent.cpp: Copied from ksvg2/events/SVGZoomEvent.cpp. + * svg/SVGZoomEvent.h: Copied from ksvg2/events/SVGZoomEvent.h. + * svg/SVGZoomEvent.idl: Copied from ksvg2/events/SVGZoomEvent.idl. + * svg/TimeScheduler.cpp: Copied from ksvg2/misc/TimeScheduler.cpp. + * svg/TimeScheduler.h: Copied from ksvg2/misc/TimeScheduler.h. + * svg/xlinkattrs.in: Copied from ksvg2/misc/xlinkattrs.in. + +2007-11-30 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Add WebCore/platform/graphics/wx to includes. + + * webcore-wx.bkl: + +2007-11-30 Brady Eidson <beidson@apple.com> + + Reviewed by Geoff + + Further hookup of Database API + With this change, any database operation that writes to the database (UPDATE, INSERT, CREATE, etc) will + result in a didModifyDatabase notification when the transaction is successfully committed + + * storage/DatabaseAuthorizer.cpp: Global rename of "m_lastActionIncreasedSize" to "m_lastActionChangedDatabase" + (WebCore::DatabaseAuthorizer::reset): + (WebCore::DatabaseAuthorizer::createTable): + (WebCore::DatabaseAuthorizer::allowAlterTable): + (WebCore::DatabaseAuthorizer::createIndex): + (WebCore::DatabaseAuthorizer::createTrigger): + (WebCore::DatabaseAuthorizer::createVTable): + (WebCore::DatabaseAuthorizer::allowInsert): + (WebCore::DatabaseAuthorizer::allowUpdate): + * storage/DatabaseAuthorizer.h: + (WebCore::DatabaseAuthorizer::lastActionChangedDatabase): + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::notifyDatabaseChanged): Added. Allow external entities (SQLTransaction) to be able + to request a didModifyDatabase notification to the delegate + * storage/DatabaseTracker.h: + + * storage/SQLTransaction.cpp: Added m_modifiedDatabase flag which tracks if any statement over the course of + a transaction resulted in a change to the database. + (WebCore::SQLTransaction::SQLTransaction): + (WebCore::SQLTransaction::runCurrentStatement): Set m_modifiedDatabase to true if the authorizer reports a mutation + statement occurred + (WebCore::SQLTransaction::postflightAndCommit): If the transaction successfully commits, call DatabaseTracker::notifyDatabaseChanged + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Ditto + * storage/SQLTransaction.h: + +2007-11-30 Nikolas Zimmermann <zimmermann@kde.org> + + Rubber stamped by David. + + Next round of moves - platform reorganization. + Move text/font/glyph related files from the individual port directories + into platform/text/<port> or platform/graphics/<port>. + + * DerivedSources.make: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/cf/StringCF.cpp: Removed. + * platform/cf/StringImplCF.cpp: Removed. + * platform/graphics/gtk/FontCacheGtk.cpp: Copied from platform/gtk/FontCacheGtk.cpp. + * platform/graphics/gtk/FontDataGtk.cpp: Copied from platform/gtk/FontDataGtk.cpp. + * platform/graphics/gtk/FontGtk.cpp: Copied from platform/gtk/FontGtk.cpp. + * platform/graphics/gtk/FontPlatformData.h: Copied from platform/gtk/FontPlatformData.h. + * platform/graphics/gtk/FontPlatformDataGtk.cpp: Copied from platform/gtk/FontPlatformDataGtk.cpp. + * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: Copied from platform/gtk/GlyphPageTreeNodeGtk.cpp. + * platform/graphics/mac/FontCacheMac.mm: Copied from platform/mac/FontCacheMac.mm. + * platform/graphics/mac/FontCustomPlatformData.cpp: Copied from platform/mac/FontCustomPlatformData.cpp. + * platform/graphics/mac/FontCustomPlatformData.h: Copied from platform/mac/FontCustomPlatformData.h. + * platform/graphics/mac/FontDataMac.mm: Copied from platform/mac/FontDataMac.mm. + * platform/graphics/mac/FontMac.mm: Copied from platform/mac/FontMac.mm. + * platform/graphics/mac/FontPlatformData.h: Copied from platform/mac/FontPlatformData.h. + * platform/graphics/mac/FontPlatformDataMac.mm: Copied from platform/mac/FontPlatformDataMac.mm. + * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Copied from platform/mac/GlyphPageTreeNodeMac.cpp. + * platform/graphics/qt/FontCacheQt.cpp: Copied from platform/qt/FontCacheQt.cpp. + * platform/graphics/qt/FontCustomPlatformData.cpp: Copied from platform/qt/FontCustomPlatformData.cpp. + * platform/graphics/qt/FontCustomPlatformData.h: Copied from platform/qt/FontCustomPlatformData.h. + * platform/graphics/qt/FontDataQt.cpp: Copied from platform/qt/FontDataQt.cpp. + * platform/graphics/qt/FontPlatformData.h: Copied from platform/qt/FontPlatformData.h. + * platform/graphics/qt/FontQt.cpp: Copied from platform/qt/FontQt.cpp. + * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: Copied from platform/qt/GlyphPageTreeNodeQt.cpp. + * platform/graphics/win/FontCacheWin.cpp: Copied from platform/win/FontCacheWin.cpp. + * platform/graphics/win/FontCustomPlatformData.cpp: Copied from platform/win/FontCustomPlatformData.cpp. + * platform/graphics/win/FontCustomPlatformData.h: Copied from platform/win/FontCustomPlatformData.h. + * platform/graphics/win/FontDataWin.cpp: Copied from platform/win/FontDataWin.cpp. + * platform/graphics/win/FontDatabase.cpp: Copied from platform/win/FontDatabase.cpp. + * platform/graphics/win/FontDatabase.h: Copied from platform/win/FontDatabase.h. + * platform/graphics/win/FontPlatformData.h: Copied from platform/win/FontPlatformData.h. + * platform/graphics/win/FontPlatformDataWin.cpp: Copied from platform/win/FontPlatformDataWin.cpp. + * platform/graphics/win/FontWin.cpp: Copied from platform/win/FontWin.cpp. + * platform/graphics/win/GlyphPageTreeNodeWin.cpp: Copied from platform/win/GlyphPageTreeNodeWin.cpp. + * platform/graphics/wx/FontCacheWx.cpp: Copied from platform/wx/FontCacheWx.cpp. + * platform/graphics/wx/FontDataWx.cpp: Copied from platform/wx/FontDataWx.cpp. + * platform/graphics/wx/FontPlatformData.h: Copied from platform/wx/FontPlatformData.h. + * platform/graphics/wx/FontPlatformDataWx.cpp: Copied from platform/wx/FontPlatformDataWx.cpp. + * platform/graphics/wx/FontWx.cpp: Copied from platform/wx/FontWx.cpp. + * platform/graphics/wx/GlyphMapWx.cpp: Copied from platform/wx/GlyphMapWx.cpp. + * platform/gtk/FontCacheGtk.cpp: Removed. + * platform/gtk/FontDataGtk.cpp: Removed. + * platform/gtk/FontGtk.cpp: Removed. + * platform/gtk/FontPlatformData.h: Removed. + * platform/gtk/FontPlatformDataGtk.cpp: Removed. + * platform/gtk/GlyphPageTreeNodeGtk.cpp: Removed. + * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Removed. + * platform/mac/FontCacheMac.mm: Removed. + * platform/mac/FontCustomPlatformData.cpp: Removed. + * platform/mac/FontCustomPlatformData.h: Removed. + * platform/mac/FontDataMac.mm: Removed. + * platform/mac/FontMac.mm: Removed. + * platform/mac/FontPlatformData.h: Removed. + * platform/mac/FontPlatformDataMac.mm: Removed. + * platform/mac/GlyphPageTreeNodeMac.cpp: Removed. + * platform/mac/ShapeArabic.c: Removed. + * platform/mac/ShapeArabic.h: Removed. + * platform/mac/StringImplMac.mm: Removed. + * platform/mac/StringMac.mm: Removed. + * platform/mac/TextBoundaries.mm: Removed. + * platform/mac/TextBreakIteratorInternalICUMac.mm: Removed. + * platform/mac/TextCodecMac.cpp: Removed. + * platform/mac/TextCodecMac.h: Removed. + * platform/mac/character-sets.txt: Removed. + * platform/mac/mac-encodings.txt: Removed. + * platform/mac/make-charset-table.pl: Removed. + * platform/qt/FontCacheQt.cpp: Removed. + * platform/qt/FontCustomPlatformData.cpp: Removed. + * platform/qt/FontCustomPlatformData.h: Removed. + * platform/qt/FontDataQt.cpp: Removed. + * platform/qt/FontPlatformData.h: Removed. + * platform/qt/FontQt.cpp: Removed. + * platform/qt/GlyphPageTreeNodeQt.cpp: Removed. + * platform/qt/StringQt.cpp: Removed. + * platform/qt/TextBoundaries.cpp: Removed. + * platform/qt/TextBreakIteratorQt.cpp: Removed. + * platform/qt/TextCodecQt.cpp: Removed. + * platform/qt/TextCodecQt.h: Removed. + * platform/symbian/StringImplSymbian.cpp: Removed. + * platform/symbian/StringSymbian.cpp: Removed. + * platform/text/cf: Added. + * platform/text/cf/StringCF.cpp: Copied from platform/cf/StringCF.cpp. + * platform/text/cf/StringImplCF.cpp: Copied from platform/cf/StringImplCF.cpp. + * platform/text/gtk: Added. + * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Copied from platform/gtk/TextBreakIteratorInternalICUGtk.cpp. + * platform/text/mac/ShapeArabic.c: Copied from platform/mac/ShapeArabic.c. + * platform/text/mac/ShapeArabic.h: Copied from platform/mac/ShapeArabic.h. + * platform/text/mac/StringImplMac.mm: Copied from platform/mac/StringImplMac.mm. + * platform/text/mac/StringMac.mm: Copied from platform/mac/StringMac.mm. + * platform/text/mac/TextBoundaries.mm: Copied from platform/mac/TextBoundaries.mm. + * platform/text/mac/TextBreakIteratorInternalICUMac.mm: Copied from platform/mac/TextBreakIteratorInternalICUMac.mm. + * platform/text/mac/TextCodecMac.cpp: Copied from platform/mac/TextCodecMac.cpp. + * platform/text/mac/TextCodecMac.h: Copied from platform/mac/TextCodecMac.h. + * platform/text/mac/character-sets.txt: Copied from platform/mac/character-sets.txt. + * platform/text/mac/mac-encodings.txt: Copied from platform/mac/mac-encodings.txt. + * platform/text/mac/make-charset-table.pl: Copied from platform/mac/make-charset-table.pl. + * platform/text/qt: Added. + * platform/text/qt/StringQt.cpp: Copied from platform/qt/StringQt.cpp. + * platform/text/qt/TextBoundaries.cpp: Copied from platform/qt/TextBoundaries.cpp. + * platform/text/qt/TextBreakIteratorQt.cpp: Copied from platform/qt/TextBreakIteratorQt.cpp. + * platform/text/qt/TextCodecQt.cpp: Copied from platform/qt/TextCodecQt.cpp. + * platform/text/qt/TextCodecQt.h: Copied from platform/qt/TextCodecQt.h. + * platform/text/symbian: Added. + * platform/text/symbian/StringImplSymbian.cpp: Copied from platform/symbian/StringImplSymbian.cpp. + * platform/text/symbian/StringSymbian.cpp: Copied from platform/symbian/StringSymbian.cpp. + * platform/text/win: Added. + * platform/text/win/TextBreakIteratorInternalICUWin.cpp: Copied from platform/win/TextBreakIteratorInternalICUWin.cpp. + * platform/text/wx: Added. + * platform/text/wx/StringWx.cpp: Copied from platform/wx/StringWx.cpp. + * platform/win/FontCacheWin.cpp: Removed. + * platform/win/FontCustomPlatformData.cpp: Removed. + * platform/win/FontCustomPlatformData.h: Removed. + * platform/win/FontDataWin.cpp: Removed. + * platform/win/FontDatabase.cpp: Removed. + * platform/win/FontDatabase.h: Removed. + * platform/win/FontPlatformData.h: Removed. + * platform/win/FontPlatformDataWin.cpp: Removed. + * platform/win/FontWin.cpp: Removed. + * platform/win/GlyphPageTreeNodeWin.cpp: Removed. + * platform/win/TextBreakIteratorInternalICUWin.cpp: Removed. + * platform/wx/FontCacheWx.cpp: Removed. + * platform/wx/FontDataWx.cpp: Removed. + * platform/wx/FontPlatformData.h: Removed. + * platform/wx/FontPlatformDataWx.cpp: Removed. + * platform/wx/FontWx.cpp: Removed. + * platform/wx/GlyphMapWx.cpp: Removed. + * platform/wx/StringWx.cpp: Removed. + * webcore-wx.bkl: + +2007-11-30 Kevin Ollivier <kevino@theolliviers.com> + + Build fix for wx port. Adding editing/RemoveFormatCommand.cpp + + * WebCoreSources.bkl: + +2007-11-30 Simon Hausmann <hausmann@webkit.org> + + Reviewed by Adam Roben. + + Fix the build with DATABASE=0. + + * page/Settings.cpp: + (WebCore::Settings::setDefaultDatabaseOriginQuota): + (WebCore::Settings::defaultDatabaseOriginQuota): + +2007-11-30 Nikolas Zimmermann <zimmermann@kde.org> + + Rubber stamped by Darin. + + Fix misplaced file. The name "FontStyle" is not correct though - it probably + needs yet another move - but this time inside platform/graphics - as soon + as we agree on a better name. + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/FontStyle.h: Copied from platform/text/FontStyle.h. + * platform/text/FontStyle.h: Removed. + +2007-11-30 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Sam. + + Rename "FontStyle FontStyle(...)" to "FontStyle fontStyle(...)". + I scripted a bit too much while doing the TextStyle -> FontStyle change. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::paint): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::updateFromElement): + (WebCore::RenderListBox::paintItemForeground): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::setStyle): + (WebCore::RenderTextControl::createInnerTextStyle): + (WebCore::RenderTextControl::createSubtreeIfNeeded): + * rendering/RenderTextControl.h: + * rendering/SVGRootInlineBox.cpp: + (WebCore::svgFontStyleForInlineTextBox): + +2007-11-30 Alp Toker <alp@atoker.com> + + GTK+ build fix following the recent text reorganization. + + * WebCore.pro: + +2007-11-29 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Adam. + + Part of <rdar://problem/5506522> Seed: cannot type into text box in + Facebook, don't see plugin content (Adobe Flash) + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::handleMouseEvent): Focus the plugin's parent + frame + +2007-11-30 Nikolas Zimmermann <zimmermann@kde.org> + + Not reviewed. Trying to fix gtk/qt/wx build. (I expected problems because of the moves) + + * WebCore.pro: + * webcore-base.bkl: + +2007-11-30 Nikolas Zimmermann <zimmermann@kde.org> + + Rubber stamped by Brady. + + Started platform reorganization (platform/text addition). + Moving string/text/font related classes into new places - as discussed on webkit-dev. + + In a follow-up commit I'll move classes out of platform/{mac,win,...} into + platform/text/{mac,win,...}, and also do the ksvg2/ -> svg/ move. + + * WebCore.order: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplacementFragment::insertFragmentForTestRendering): + * platform/AtomicString.cpp: Removed. + * platform/AtomicString.h: Removed. + * platform/AtomicStringImpl.h: Removed. + * platform/Base64.cpp: Removed. + * platform/Base64.h: Removed. + * platform/BidiContext.cpp: Removed. + * platform/BidiContext.h: Removed. + * platform/BidiResolver.h: Removed. + * platform/CString.cpp: Removed. + * platform/CString.h: Removed. + * platform/CharacterNames.h: Removed. + * platform/CharsetData.h: Removed. + * platform/Font.cpp: Removed. + * platform/Font.h: Removed. + * platform/FontCache.cpp: Removed. + * platform/FontCache.h: Removed. + * platform/FontData.cpp: Removed. + * platform/FontData.h: Removed. + * platform/FontDescription.h: Removed. + * platform/FontFallbackList.cpp: Removed. + * platform/FontFallbackList.h: Removed. + * platform/FontFamily.cpp: Removed. + * platform/FontFamily.h: Removed. + * platform/FontSelector.h: Removed. + * platform/GlyphBuffer.h: Removed. + * platform/GlyphPageTreeNode.cpp: Removed. + * platform/GlyphPageTreeNode.h: Removed. + * platform/GlyphWidthMap.cpp: Removed. + * platform/GlyphWidthMap.h: Removed. + * platform/PlatformString.h: Removed. + * platform/RegularExpression.cpp: Removed. + * platform/RegularExpression.h: Removed. + * platform/SegmentedString.cpp: Removed. + * platform/SegmentedString.h: Removed. + * platform/String.cpp: Removed. + * platform/StringHash.h: Removed. + * platform/StringImpl.cpp: Removed. + * platform/StringImpl.h: Removed. + * platform/StringTruncator.cpp: Removed. + * platform/StringTruncator.h: Removed. + * platform/TextBoundaries.h: Removed. + * platform/TextBoundariesICU.cpp: Removed. + * platform/TextBreakIterator.h: Removed. + * platform/TextBreakIteratorICU.cpp: Removed. + * platform/TextBreakIteratorInternalICU.h: Removed. + * platform/TextCodec.cpp: Removed. + * platform/TextCodec.h: Removed. + * platform/TextCodecICU.cpp: Removed. + * platform/TextCodecICU.h: Removed. + * platform/TextCodecLatin1.cpp: Removed. + * platform/TextCodecLatin1.h: Removed. + * platform/TextCodecUTF16.cpp: Removed. + * platform/TextCodecUTF16.h: Removed. + * platform/TextCodecUserDefined.cpp: Removed. + * platform/TextCodecUserDefined.h: Removed. + * platform/TextDecoder.cpp: Removed. + * platform/TextDecoder.h: Removed. + * platform/TextDirection.h: Removed. + * platform/TextEncoding.cpp: Removed. + * platform/TextEncoding.h: Removed. + * platform/TextEncodingRegistry.cpp: Removed. + * platform/TextEncodingRegistry.h: Removed. + * platform/TextStream.cpp: Removed. + * platform/TextStream.h: Removed. + * platform/TextStyle.h: Removed. + * platform/UnicodeRange.cpp: Removed. + * platform/UnicodeRange.h: Removed. + * platform/graphics/Font.cpp: Copied from platform/Font.cpp. + (WebCore::WidthIterator::WidthIterator): + (WebCore::Font::width): + (WebCore::Font::drawSimpleText): + (WebCore::Font::drawGlyphBuffer): + (WebCore::Font::drawText): + (WebCore::Font::floatWidth): + (WebCore::Font::floatWidthForSimpleText): + (WebCore::Font::selectionRectForText): + (WebCore::Font::selectionRectForSimpleText): + (WebCore::Font::offsetForPosition): + (WebCore::Font::offsetForPositionForSimpleText): + * platform/graphics/Font.h: Copied from platform/Font.h. + * platform/graphics/FontCache.cpp: Copied from platform/FontCache.cpp. + * platform/graphics/FontCache.h: Copied from platform/FontCache.h. + * platform/graphics/FontData.cpp: Copied from platform/FontData.cpp. + * platform/graphics/FontData.h: Copied from platform/FontData.h. + * platform/graphics/FontDescription.h: Copied from platform/FontDescription.h. + * platform/graphics/FontFallbackList.cpp: Copied from platform/FontFallbackList.cpp. + * platform/graphics/FontFallbackList.h: Copied from platform/FontFallbackList.h. + * platform/graphics/FontFamily.cpp: Copied from platform/FontFamily.cpp. + * platform/graphics/FontFamily.h: Copied from platform/FontFamily.h. + * platform/graphics/FontSelector.h: Copied from platform/FontSelector.h. + * platform/graphics/GlyphBuffer.h: Copied from platform/GlyphBuffer.h. + * platform/graphics/GlyphPageTreeNode.cpp: Copied from platform/GlyphPageTreeNode.cpp. + * platform/graphics/GlyphPageTreeNode.h: Copied from platform/GlyphPageTreeNode.h. + * platform/graphics/GlyphWidthMap.cpp: Copied from platform/GlyphWidthMap.cpp. + * platform/graphics/GlyphWidthMap.h: Copied from platform/GlyphWidthMap.h. + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::drawText): + (WebCore::GraphicsContext::drawBidiText): + (WebCore::GraphicsContext::drawHighlightForText): + * platform/graphics/GraphicsContext.h: + * platform/graphics/StringTruncator.cpp: Copied from platform/StringTruncator.cpp. + (WebCore::stringWidth): + * platform/graphics/StringTruncator.h: Copied from platform/StringTruncator.h. + * platform/graphics/qt/GraphicsContextQt.cpp: + * platform/gtk/FontGtk.cpp: + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::Font::selectionRectForComplexText): + * platform/mac/FontMac.mm: + (WebCore::ATSULayoutParameters::ATSULayoutParameters): + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/mac/WebCoreTextRenderer.mm: + (WebCoreDrawTextAtPoint): + (WebCoreTextFloatWidth): + * platform/qt/FontQt.cpp: + (WebCore::generateComponents): + (WebCore::Font::drawText): + (WebCore::Font::width): + (WebCore::Font::floatWidth): + (WebCore::Font::offsetForPosition): + (WebCore::cursorToX): + (WebCore::Font::selectionRectForText): + * platform/text: Added. + * platform/text/AtomicString.cpp: Copied from platform/AtomicString.cpp. + * platform/text/AtomicString.h: Copied from platform/AtomicString.h. + * platform/text/AtomicStringImpl.h: Copied from platform/AtomicStringImpl.h. + * platform/text/Base64.cpp: Copied from platform/Base64.cpp. + * platform/text/Base64.h: Copied from platform/Base64.h. + * platform/text/BidiContext.cpp: Copied from platform/BidiContext.cpp. + * platform/text/BidiContext.h: Copied from platform/BidiContext.h. + * platform/text/BidiResolver.h: Copied from platform/BidiResolver.h. + * platform/text/CString.cpp: Copied from platform/CString.cpp. + * platform/text/CString.h: Copied from platform/CString.h. + * platform/text/CharacterNames.h: Copied from platform/CharacterNames.h. + * platform/text/FontStyle.h: Copied from platform/TextStyle.h. + (WebCore::FontStyle::FontStyle): + * platform/text/PlatformString.h: Copied from platform/PlatformString.h. + * platform/text/RegularExpression.cpp: Copied from platform/RegularExpression.cpp. + * platform/text/RegularExpression.h: Copied from platform/RegularExpression.h. + * platform/text/SegmentedString.cpp: Copied from platform/SegmentedString.cpp. + * platform/text/SegmentedString.h: Copied from platform/SegmentedString.h. + * platform/text/String.cpp: Copied from platform/String.cpp. + * platform/text/StringHash.h: Copied from platform/StringHash.h. + * platform/text/StringImpl.cpp: Copied from platform/StringImpl.cpp. + * platform/text/StringImpl.h: Copied from platform/StringImpl.h. + * platform/text/TextBoundaries.h: Copied from platform/TextBoundaries.h. + * platform/text/TextBoundariesICU.cpp: Copied from platform/TextBoundariesICU.cpp. + (WebCore::findNextWordFromIndex): + * platform/text/TextBreakIterator.h: Copied from platform/TextBreakIterator.h. + * platform/text/TextBreakIteratorICU.cpp: Copied from platform/TextBreakIteratorICU.cpp. + * platform/text/TextBreakIteratorInternalICU.h: Copied from platform/TextBreakIteratorInternalICU.h. + * platform/text/TextCodec.cpp: Copied from platform/TextCodec.cpp. + * platform/text/TextCodec.h: Copied from platform/TextCodec.h. + * platform/text/TextCodecICU.cpp: Copied from platform/TextCodecICU.cpp. + * platform/text/TextCodecICU.h: Copied from platform/TextCodecICU.h. + * platform/text/TextCodecLatin1.cpp: Copied from platform/TextCodecLatin1.cpp. + * platform/text/TextCodecLatin1.h: Copied from platform/TextCodecLatin1.h. + * platform/text/TextCodecUTF16.cpp: Copied from platform/TextCodecUTF16.cpp. + * platform/text/TextCodecUTF16.h: Copied from platform/TextCodecUTF16.h. + * platform/text/TextCodecUserDefined.cpp: Copied from platform/TextCodecUserDefined.cpp. + * platform/text/TextCodecUserDefined.h: Copied from platform/TextCodecUserDefined.h. + * platform/text/TextDecoder.cpp: Copied from platform/TextDecoder.cpp. + * platform/text/TextDecoder.h: Copied from platform/TextDecoder.h. + * platform/text/TextDirection.h: Copied from platform/TextDirection.h. + * platform/text/TextEncoding.cpp: Copied from platform/TextEncoding.cpp. + * platform/text/TextEncoding.h: Copied from platform/TextEncoding.h. + * platform/text/TextEncodingRegistry.cpp: Copied from platform/TextEncodingRegistry.cpp. + * platform/text/TextEncodingRegistry.h: Copied from platform/TextEncodingRegistry.h. + * platform/text/TextStream.cpp: Copied from platform/TextStream.cpp. + * platform/text/TextStream.h: Copied from platform/TextStream.h. + * platform/text/UnicodeRange.cpp: Copied from platform/UnicodeRange.cpp. + * platform/text/UnicodeRange.h: Copied from platform/UnicodeRange.h. + * platform/text/mac: Added. + * platform/text/mac/CharsetData.h: Copied from platform/CharsetData.h. + * platform/win/FontWin.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::paint): + * platform/win/UniscribeController.cpp: + (WebCore::UniscribeController::UniscribeController): + * platform/win/UniscribeController.h: + * platform/win/WebCoreTextRenderer.cpp: + (WebCore::doDrawTextAtPoint): + * platform/wx/FontWx.cpp: + (WebCore::Font::selectionRectForComplexText): + (WebCore::Font::drawComplexText): + (WebCore::Font::floatWidthForComplexText): + (WebCore::Font::offsetForPositionForComplexText): + * rendering/EllipsisBox.cpp: + (WebCore::EllipsisBox::paint): + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::selectionRect): + (WebCore::InlineTextBox::paint): + (WebCore::InlineTextBox::paintSelection): + (WebCore::InlineTextBox::paintCompositionBackground): + (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): + (WebCore::InlineTextBox::paintTextMatchMarker): + (WebCore::InlineTextBox::offsetForPosition): + (WebCore::InlineTextBox::positionForOffset): + * rendering/RenderFileUploadControl.cpp: + (WebCore::RenderFileUploadControl::paintObject): + (WebCore::RenderFileUploadControl::calcPrefWidths): + * rendering/RenderImage.cpp: + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::updateFromElement): + (WebCore::RenderListBox::paintItemForeground): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::updateOptionsWidth): + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + (WebCore::RenderText::calcPrefWidths): + (WebCore::RenderText::width): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::setStyle): + (WebCore::RenderTextControl::createInnerFontStyle): + (WebCore::RenderTextControl::createSubtreeIfNeeded): + (WebCore::RenderTextControl::calcPrefWidths): + * rendering/RenderTextControl.h: + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBox::calculateGlyphWidth): + (WebCore::SVGInlineTextBox::paintCharacters): + (WebCore::SVGInlineTextBox::paintSelection): + * rendering/SVGRootInlineBox.cpp: + (WebCore::cummulatedWidthOfInlineBoxCharacterRange): + (WebCore::svgFontStyleForInlineTextBox): + * rendering/SVGRootInlineBox.h: + +2007-11-30 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16072 + <rdar://problem/5463821> REGRESSION: Mousemove event isn't fired when mouse moves over scrollbar with pressed button (16072) + + Test: fast/events/mousemove-after-drag-over-scrollbar.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMouseMoveEvent): If the mouse is pressed, and we've moved over a new scrollbar, then we can clear m_lastScrollbarUnderMouse. + We should only need to show the hover effect when the mouse isn't pressed. + +2007-11-29 Brady Eidson <beidson@apple.com> + + Reviewed by Tim + + Part of <rdar://problem/5556377> - Need to accurately track and enforce database quota + + SQLite has the ability to enforce the page usage for databases. This gives us bulletproof + enforcement of the database size limit with reasonable granularity (within 1023 bytes by + default on OS X with SQLite 3.4.0) + + This also involved enhancing the ability to install/remove the authorizer to run the PRAGMA + statements involved + + Note this patch does not actually use the new maximumSize() functionality of the + SQLiteDatabase class - that can be reviewed/landed seperately + + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::SQLiteDatabase): + (WebCore::SQLiteDatabase::maximumSize): Return the current maximum size in bytes + (WebCore::SQLiteDatabase::setMaximumSize): Based on m_pageSize, set the maximum page count + to enforce the maximum size in bytes + (WebCore::SQLiteDatabase::pageSize): Fetch m_pageSize if it hasn't been fetched, or return + the cached value + (WebCore::SQLiteDatabase::setAuthorizer): Use enableAuthorizer for the sqlite_* level + authorizer setup + (WebCore::SQLiteDatabase::enableAuthorizer): Install or remove the sqlite authorizer handler + * platform/sql/SQLiteDatabase.h: Add the m_pageSize member so we only have to fetch it once + +2007-11-29 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Maciej. + + * Fix fast/events/mousedown_in_scrollbar.html + * This test used to crash in PlatformScrollbarQt::mouse*Event due parent() returning 0. + * Extend the current check that the scrollbar in the mev can be go away. + This happens if we destroy a RenderLayer as the result of a click. In the + case of Qt we can have this scrollbar in m_lastScrollbarUnderMouse. The RenderLayer + is the ScrollbarClient, m_lastScrollbarUnderMouse is a RefPtr and keeps the + last reference. When calling into this scrollbar the m_client pointer is a dangling pointer. + We extend the check to set m_lastScrollbarUnderMouse back to zero when it was the + scrollbar in the old mev and is gone in the new one. + * This happens only on the Qt port because we send more/different move events. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + +2007-11-29 Antti Koivisto <antti@apple.com> + + Reviewed by Mitz. + + Fix aspect ratio calculation of video. + + Video should always be treated as a replaced element in size calculation. + + Test: media/video-aspect-ratio.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcWidth): + (WebCore::RenderBox::calcHeight): + * rendering/RenderBox.h: + (WebCore::RenderBox::shouldCalculateSizeAsReplaced): + * rendering/RenderMedia.h: + (WebCore::RenderMedia::shouldCalculateSizeAsReplaced): + +2007-11-29 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver. + + Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936 + - More closely match IE's policy for frame navigation. + + * bindings/js/kjs_window.cpp: + (KJS::WindowProtoFuncOpen::callAsFunction): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::shouldAllowNavigation): + * page/FrameTree.cpp: + (WebCore::FrameTree::top): + * page/FrameTree.h: + +2007-11-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben and John Sullivan. + + - make the recent searches popup extend only along the straight part of + the search field (unless it needs to be wider). + + * platform/PopupMenuClient.h: + Added clientInsetLeft() and clientInsetRight() for clients to + specify desired horizontal insets for the menu. + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::calculatePositionAndSize): + (WebCore::PopupMenu::paint): + * rendering/RenderMenuList.cpp: + (WebCore::RenderMenuList::clientInsetLeft): Added. Returns 0. + (WebCore::RenderMenuList::clientInsetRight): Ditto. + * rendering/RenderMenuList.h: + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::clientInsetLeft): Added. Returns half the + control's height, which is the radius of the cap on the left. + (WebCore::RenderTextControl::clientInsetRight): Added. + * rendering/RenderTextControl.h: + +2007-11-30 Alp Toker <alp@atoker.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16173 + Licensing change + + Change license from BSD to LGPL. + + This is being done to encourage vendors to contribute their fixes back + upstream. + + * platform/graphics/gtk/ColorGtk.cpp: + * platform/graphics/gtk/IntPointGtk.cpp: + * platform/graphics/gtk/IntRectGtk.cpp: + * platform/graphics/svg/cairo/RenderPathCairo.cpp: + * platform/graphics/svg/cairo/SVGPaintServerCairo.cpp: + * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: + * platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp: + * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: + * platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp: + * platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp: + * platform/gtk/Language.cpp: + * platform/gtk/LoggingGtk.cpp: + * platform/gtk/SoundGtk.cpp: + * platform/gtk/SystemTimeGtk.cpp: + * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: + +2007-11-29 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=16191 + REGRESSION: cannot tab to radio input after setting checked to false + + Test: fast/forms/input-radio-checked-tab.html + + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::CheckedRadioButtons::addButton): Fix this code + so that it doesn't call setChecked(false) until after the map has been updated. + Otherwise, we can end up deallocating the map before manipulating it. As long + as I was changing the function, I decided to make it do only a single hash + table lookup. + + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): + Remove the button from the radio buttons set before changing the checked + state. This matches the idiom used elsewhere and fixes the problem where + setting checked to false would not remove it from the set. + +2007-11-29 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5620093> Brief hang when Safari caches page text of XML document + + * editing/TextIterator.cpp: + (WebCore::TextIterator::representNodeOffsetZero): When we haven't been emitting any + characters, shouldRepresentNodeOffsetZero() can create VisiblePositions, which is + expensive. So, we perform the inexpensive checks on m_node to see if it necessitates + emitting a character first and will early return before encountering + shouldRepresentNodeOffsetZero()s worse case behavior. + +2007-11-29 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Don't install event handlers or set the zoom cursor if auto-shrink has been disabled. + + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::createDocumentStructure): + (WebCore::ImageDocument::imageChanged): + +2007-11-29 Beth Dakin <bdakin@apple.com> + + Reviewed by Geoff. + + Fix for <rdar://problem/5620151> Disable JavaScript for SVG as + image for <img> and CSS images + + * platform/graphics/svg/SVGImage.cpp: + (WebCore::SVGImage::dataChanged): When we create the empty clients, + explicitly disable JavaScript in the settings. + +2007-11-29 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + Support for <rdar://problem/5556381> and <rdar://problem/5556379> + + The Database feature in the engine needs to support delegate calls for policy decisions and + also provide notifications when origins and databases change their state. + + This patch also polishes off the missing features of the management API + + * page/Chrome.cpp: Implement the two UIDelegate methods + (WebCore::Chrome::requestQuotaIncreaseForNewDatabase): Ask for more space to create a new database if it won't fit + (WebCore::Chrome::requestQuotaIncreaseForDatabaseOperation): Ask for more space to complete an in-progress operation + * page/Chrome.h: + * page/ChromeClient.h: + * platform/graphics/svg/SVGImageEmptyClients.h: + (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForNewDatabase): + (WebCore::SVGEmptyChromeClient::requestQuotaIncreaseForDatabaseOperation): + + * storage/Database.cpp: + (WebCore::Database::openDatabase): Check to see if this database can be opened - the quota must be high + enough and if it isn't, the UIDelegate should have a change to bump the quota. + Also update the UI-relevant details (display name and estimated size) upon successful opening of the database + + * storage/DatabaseDetails.h: Remove the version parameter as it is a programatic detail of a + site database and is not important to API clients + (WebCore::DatabaseDetails::DatabaseDetails): + (WebCore::DatabaseDetails::isValid): + (WebCore::DatabaseDetails::name): + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::openTrackerDatabase): Tweaked the schema here - there was a horrible bug with the old schema that would + prevent you from having two databases of the same name from two different origins. Also simplify the origin-management schema + (WebCore::DatabaseTracker::canEstablishDatabase): Added. Does some estimated size vs quota checks, and asks the UI delegate for + more space if necessary + (WebCore::DatabaseTracker::hasEntryForOrigin): + (WebCore::DatabaseTracker::establishEntryForOrigin): Establishes a tracker entry for the given origin with the current default quota + Also notifies the client of the new origin + (WebCore::DatabaseTracker::setDatabaseDetails): Update the display name and estimated size for the given database + (WebCore::DatabaseTracker::fullPathForDatabase): Tweak to add the ability to get the path without creating it - for management purposes + (WebCore::DatabaseTracker::populateOrigins): Populate origins from the Origins table instead of the Databases table + (WebCore::DatabaseTracker::origins): + (WebCore::DatabaseTracker::detailsForNameAndOrigin): For API management + (WebCore::DatabaseTracker::usageForDatabase): + (WebCore::DatabaseTracker::usageForOrigin): + (WebCore::DatabaseTracker::quotaForOrigin): + (WebCore::DatabaseTracker::setQuota): Notify the client + (WebCore::DatabaseTracker::addDatabase): Notify the client + (WebCore::DatabaseTracker::deleteAllDatabases): + (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): + (WebCore::DatabaseTracker::deleteDatabase): + (WebCore::DatabaseTracker::deleteDatabaseFile): + * storage/DatabaseTracker.h: + +2007-11-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin and Darin Adler. + + - manual test for <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame + + * manual-tests/context-click-unfocused-frame.html: Added. + +2007-11-28 Antti Koivisto <antti@apple.com> + + Reviewed by Geoff. + + Fallback content inside media elements should not be rendered. + + Test: media/fallback.html + + * rendering/RenderMedia.h: + (WebCore::RenderMedia::canHaveChildren): + +2007-11-28 Mark Rowe <mrowe@apple.com> + + Windows build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2007-11-28 Mark Rowe <mrowe@apple.com> + + Gtk build fix. + + * WebCore.pro: + +2007-11-28 Antti Koivisto <antti@apple.com> + + Reviewed by Oliver. + + Make QTMovieView fill color transparent. This behavior matches the specification + (and allows nice alpha blended video). + + * platform/graphics/mac/MoviePrivateQTKit.mm: + (WebCore::MoviePrivate::createQTMovieView): + +2007-11-28 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + Test: media/video-controls.html + + <rdar://problem/5605668> + Implement controls attribute for video element + + - Add RenderMedia and make RenderVideo its subclass. Controls code goes to RenderMedia while + video specific (painting etc) code stays in RenderVideo. For example audio controls can be implemented + later by just instantiating RenderMedia as renderer. + - Make media renderer hierarchy inherit from RenderBlock instead of RenderReplaced so it can + have child nodes (for controls). + - Controls are implemented as a shadow DOM. + - Current look is a placeholder. It is defined purely in CSS. + - Some things like volume controls are not yet implemented. + - Fade-in/out is done manually, CSS animations don't work well in shadow trees. + + * WebCore.xcodeproj/project.pbxproj: + * css/html4.css: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::attributeChanged): + (WebCore::HTMLMediaElement::updateMovie): + (WebCore::HTMLMediaElement::defaultEventHandler): + * html/HTMLMediaElement.h: + * rendering/RenderMedia.cpp: Added. + (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): + (WebCore::MediaControlShadowRootElement::isShadowNode): + (WebCore::MediaControlShadowRootElement::shadowParentNode): + (WebCore::MediaControlInputElement::MediaControlInputElement): + (WebCore::MediaControlInputElement::attachToParent): + (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): + (WebCore::MediaControlPlayButtonElement::inPausedState): + (WebCore::MediaControlPlayButtonElement::defaultEventHandler): + (WebCore::MediaControlPlayButtonElement::update): + (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): + (WebCore::MediaControlTimelineElement::defaultEventHandler): + (WebCore::MediaControlTimelineElement::update): + (WebCore::RenderMedia::RenderMedia): + (WebCore::RenderMedia::~RenderMedia): + (WebCore::RenderMedia::mediaElement): + (WebCore::RenderMedia::movie): + (WebCore::RenderMedia::setStyle): + (WebCore::RenderMedia::createControlsShadowRoot): + (WebCore::RenderMedia::createPanel): + (WebCore::RenderMedia::createPlayButton): + (WebCore::RenderMedia::createTimeline): + (WebCore::RenderMedia::createTimeDisplay): + (WebCore::RenderMedia::updateFromElement): + (WebCore::RenderMedia::updateControls): + (WebCore::RenderMedia::timeUpdateTimerFired): + (WebCore::RenderMedia::updateTimeDisplay): + (WebCore::RenderMedia::updateControlVisibility): + (WebCore::RenderMedia::changeOpacity): + (WebCore::RenderMedia::opacityAnimationTimerFired): + (WebCore::RenderMedia::forwardEvent): + * rendering/RenderMedia.h: Added. + (WebCore::RenderMedia::renderName): + (WebCore::RenderMedia::isMedia): + (WebCore::RenderMedia::intrinsicSize): + * rendering/RenderObject.h: + (WebCore::RenderObject::isMedia): + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::RenderVideo): + (WebCore::RenderVideo::videoSizeChanged): + (WebCore::RenderVideo::paintObject): + (WebCore::RenderVideo::layout): + (WebCore::RenderVideo::updateFromElement): + (WebCore::RenderVideo::calcAspectRatioWidth): + (WebCore::RenderVideo::calcAspectRatioHeight): + * rendering/RenderVideo.h: + +2007-11-28 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5573879> GMail Beta: Crash in when undoing Remove Formating + + In the new beta, Google has added some custom code on top of our RemoveFormat + to work around a bug where fully selected lists aren't removed. This code corrupts + the undo stack and causes crashes. This change fixes two problems with RemoveFormat + so that Google doesn't have to have any custom code. After checking this in I'll + work on bulletproofing the undo stack + + * WebCore.xcodeproj/project.pbxproj: + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::insertLineBreak): Added this convenience method. + (WebCore::CompositeEditCommand::inputText): Added code to select all inserted text, not + just the last paragraph. Added code to support an input string with '\n's. + * editing/CompositeEditCommand.h: + * editing/Editor.cpp: + (WebCore::Editor::removeFormattingAndStyle): Moved code to its own EditCommand. + * editing/RemoveFormatCommand.cpp: Added. Moved code from removeFormattingAndStyle here. + (WebCore::RemoveFormatCommand::RemoveFormatCommand): + (WebCore::RemoveFormatCommand::doApply): Added code to remove fully selected lists. + * editing/RemoveFormatCommand.h: Added. + (WebCore::RemoveFormatCommand::editingAction): + +2007-11-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5612459> CrashTracer: [REGRESSION] 61 crashes in Safari at com.apple.WebCore: WebCore::AutoTableLayout::layout + 2046 + + Test: fast/table/empty-auto-column-zero-divide.html + + * rendering/AutoTableLayout.cpp: + (WebCore::AutoTableLayout::recalcColumn): + (WebCore::AutoTableLayout::fullRecalc): + (WebCore::AutoTableLayout::calcEffectiveWidth): + (WebCore::AutoTableLayout::layout): When distributing the remaining + width among columns, skip those whose effective (rather than + specified) width is auto and contain only empty cells. + +2007-11-28 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16169 + GIF decoder needs to set hasAlpha() correctly on subsequent frames. + + This also removes the workaround for this problem in + ImageSourceCairo.cpp. + + * platform/graphics/cairo/ImageSourceCairo.cpp: + (WebCore::ImageSource::frameHasAlphaAtIndex): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::initFrameBuffer): + +2007-11-28 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler and Adam Roben. + + - <rdar://problem/5057218> Reenable "recent searches" search field menu when menu is fully implemented + + * platform/win/SearchPopupMenuWin.cpp: + (WebCore::SearchPopupMenu::enabled): Changed to return true. + (WebCore::autosaveKey): Added. Returns a preferences key for the + autosave name by prefixing it with "com.apple.WebKit.searchField:". + (WebCore::SearchPopupMenu::saveRecentSearches): Implemented. + (WebCore::SearchPopupMenu::loadRecentSearches): Implemented. + +2007-11-28 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=15689 + [GTK] Background of loading images is always black + + frameHasAlphaAtIndex() exists only to allow optimization for cases we + are certain the image can be blitted rather than composited. + + Thus we need to be conservative, returning false only when we are + absolutely certain there is no need for composited copying, and true + otherwise. + + CG doesn't even bother with this optimization at all and always + returns true. + + Patch includes a workaround for + http://bugs.webkit.org/show_bug.cgi?id=16169 + GIF ImageDecoder hasAlpha() return value incorrect + + * platform/graphics/cairo/ImageSourceCairo.cpp: + (WebCore::ImageSource::frameHasAlphaAtIndex): + +2007-11-27 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Install the JavaScriptCore headers as part of the GTK+ port. + + * WebCore.pro: + +2007-11-27 Beth Dakin <bdakin@apple.com> + + Reviewed by Oliver. + + Fix for <rdar://problem/5616052> SVGs with width or height of 100% + hang when used as a background-image (16164) + + * platform/graphics/svg/SVGImage.cpp: + (WebCore::SVGImage::size): Use valueAsPercentage() for percents + instead of valueInSpecifiedUnits(). valueInSpecifiedUnits() + returns, for example, 50 for 50%, so multiplying percentages by the + default size of 300 x 150 led to ridiculously huge dimensions for + SVG images, and the subsequent hang. + +2007-11-27 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Adam. + + Set haveRegisteredWindowClass when we register the window class. + + * plugins/win/PluginViewWin.cpp: + (WebCore::registerPluginView): + +2007-11-27 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam Weinig. + + Bug 16165: Dragging the inspector toolbar should move the window + http://bugs.webkit.org/show_bug.cgi?id=16165 + + * page/inspector/DocumentPanel.js: Call the new drag functions, and cleanup code. + * page/inspector/inspector.css: Only make the toolbar transparent in detached mode. + * page/inspector/inspector.js: Call the new drag functions, and cleanup code. Add + toolbar drag functions that move the window. + +2007-11-27 Antti Koivisto <antti@apple.com> + + Reviewed by Mitz. + + Small changes to make RenderSlider a bit more generic so it can be used in video controls. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): Fix coordinates with forwarded events. + * rendering/RenderSlider.cpp: + (WebCore::HTMLSliderThumbElement::defaultEventHandler): Fix coordinates with forwarded events. + (WebCore::RenderSlider::setStyle): + (WebCore::RenderSlider::createThumbStyle): Copy thumb left and top from the orginal style so position does not reset. + (WebCore::RenderSlider::mouseEventIsInThumb): Make this work with forwarded events. + * rendering/RenderSlider.h: + +2007-11-27 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + - Don't use hasPseudoId() optimization for pseudo styles used in shadow trees. These styles + generally exist when asked for so the optimization does not do much. This reverses the continuing + growth of the _pseudoBits bitfield in RenderStyle. + - Add some pseudo elements for media controls + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): + * css/CSSSelector.h: + (WebCore::CSSSelector::): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::matchRulesForList): + (WebCore::CSSStyleSelector::checkOneSelector): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::getPseudoStyle): + * rendering/RenderStyle.cpp: + (WebCore::pseudoBit): + (WebCore::RenderStyle::hasPseudoStyle): + (WebCore::RenderStyle::setHasPseudoStyle): + * rendering/RenderStyle.h: + (WebCore::RenderStyle::): + +2007-11-27 Timothy Hatcher <timothy@apple.com> + + Reviewed by Kevin McCullough. + + Bug 16161: window.moveBy(0, 0) moves the window by -22px vertically + http://bugs.webkit.org/show_bug.cgi?id=16161 + + Removed the "Adjust the window rect to be in the coordinate space of + the screen rect" step which was always adding (0,22) to the window + position (on the main screen). Instead, account for screen X and Y + in the bottom and right constrain step. + + Added more test cases to: fast/dom/Window/window-resize.html + + * bindings/js/kjs_window.cpp: + (KJS::adjustWindowRect): + +2007-11-27 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + * page/inspector/inspector.css: Make the text in the Network + panel legend more readable. + +2007-11-27 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Don't call setNeedsReapplyStylesInAllFrames if the + authorAndUserStylesEnabled setting didn't change. + + * page/Settings.cpp: + (WebCore::Settings::setAuthorAndUserStylesEnabled): + +2007-11-27 Alp Toker <alp@atoker.com> + + Fix potential broken build due to a missing DEPENDPATH. + + * WebCore.pro: + +2007-11-26 Timothy Hatcher <timothy@apple.com> + + Reviewed by Dave Hyatt. + + <rdar://problem/5569233> Add the ability to disable author and user CSS styles + + * WebCore.base.exp: Add the Settings::setAuthorAndUserStylesEnabled symbol. + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::CSSStyleSelector): Add a new matchAuthorAndUserStyles parameter. + (WebCore::CSSStyleSelector::styleForElement): Check m_matchAuthorAndUserStyles before + matching user and author rules. + (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. + (WebCore::CSSStyleSelector::styleRulesForElement): Ditto. + * css/CSSStyleSelector.h: Add m_matchAuthorAndUserStyles and new constructor parameter. + * dom/Document.cpp: + (WebCore::Document::Document): Pass Settings::authorAndUserStylesEnabled to the CSSStyleSelector. + (WebCore::Document::recalcStyleSelector): Skip collecting the author stylesheets if + Settings::authorAndUserStylesEnabled is false, and pass that to the CSSStyleSelector. + * page/Settings.cpp: + (WebCore::Settings::Settings): Initialize m_authorAndUserStylesEnabled to true. + (WebCore::Settings::setAuthorAndUserStylesEnabled): Recalc style in all the frames + when the setting changes. + * page/Settings.h: Add m_authorAndUserStylesEnabled. + (WebCore::Settings::authorAndUserStylesEnabled): Return m_authorAndUserStylesEnabled. + +2007-11-27 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Based on changes by Mike Emmel. + + CURL HTTP backend local file fixes: + + Set a MIME type for local files based on the file extension. + + Remove any HTTP query part sent to a local file. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::startJob): + +2007-11-26 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe + + Allow setting the default storage quota per database origin + + * WebCore.base.exp: + + * page/Settings.cpp: + (WebCore::Settings::setDefaultDatabaseOriginQuota): + (WebCore::Settings::defaultDatabaseOriginQuota): + * page/Settings.h: + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::DatabaseTracker): + (WebCore::DatabaseTracker::setDefaultOriginQuota): + (WebCore::DatabaseTracker::defaultOriginQuota): + * storage/DatabaseTracker.h: + +2007-11-26 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=15974 + GIF decoding should respect frames' specified disposal methods. + + * platform/image-decoders/ImageDecoder.h: + (WebCore::RGBA32Buffer::): + (WebCore::RGBA32Buffer::RGBA32Buffer): + (WebCore::RGBA32Buffer::disposalMethod): + (WebCore::RGBA32Buffer::setDisposalMethod): + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::frameBufferAtIndex): + (WebCore::GIFImageDecoder::initFrameBuffer): + (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): + (WebCore::GIFImageDecoder::haveDecodedRow): + (WebCore::GIFImageDecoder::frameComplete): + * platform/image-decoders/gif/GIFImageDecoder.h: + * platform/image-decoders/gif/GIFImageReader.cpp: + (GIFImageReader::read): + * platform/image-decoders/gif/GIFImageReader.h: + (GIFFrameReader::GIFFrameReader): + +2007-11-26 Adam Roben <aroben@apple.com> + + Add a Color(CGColorRef) constructor + + Reviewed by Darin. + + * platform/graphics/Color.h: + * platform/graphics/cg/ColorCG.cpp: + (WebCore::Color::Color): Added. + +2007-11-26 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Update to last change. Moved addPendingSheet call to within nil check for m_cachedSheet. + + * page/Frame.cpp: + (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): + +2007-11-26 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5591583> CrashTracer: [USER] 157 in Mail crashes at -[WebCoreFrameBridge reapplyStylesForDeviceType:] + + * page/Frame.cpp: Add nil checks since every other caller of requestCSSStyleSheet checks for nil. + (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): + (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): + +2007-11-26 Mark Rowe <mrowe@apple.com> + + GCC 4.2 build fix. + + * xml/XSLTUnicodeSort.cpp: Add another WTF_ATTRIBUTE_PRINTF. + +2007-11-26 Feng Qian <ian.eng.webkit@gmail.com> + + Reviewed and touched up by Sam Weinig. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=16073 + + Test: http/tests/security/xss-DENIED-invalid-domain-change.html + + * dom/Document.cpp: + (WebCore::Document::setDomain): Don't set the securityOrigin policy unless + the set succeeds. Adds some early returns as well. + +2007-11-26 Steve Falkenburg <sfalken@apple.com> + + Build fix. + + * WebCore.vcproj/WebCore.make: + * WebCore.vcproj/migrate-idls.sh: + +2007-11-26 Sam Weinig <sam@webkit.org> + + Fix potential null-dereference. + + Reviewed by Adam Roben. + + * page/FrameTree.cpp: + (WebCore::FrameTree::isDescendantOf): + +2007-11-26 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + Fix for <rdar://problem/5592988> + - Enforce tighter restrictions on what frames in other domains + can be navigated. + + Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html + http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html + + * bindings/js/kjs_window.cpp: + (KJS::Window::put): + (KJS::Location::put): + (KJS::LocationProtoFuncReplace::callAsFunction): + (KJS::LocationProtoFuncAssign::callAsFunction): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::createWindow): + (WebCore::FrameLoader::load): + (WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget(). + * loader/FrameLoader.h: + * page/FrameTree.cpp: + (WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not + in the same page. + +2007-11-26 Steve Falkenburg <sfalken@apple.com> + + Build fix. + + * WebCore.vcproj/migrate-idls.sh: + +2007-11-26 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix <rdar://problem/5609337> Making a float shorter does not remove it from the floating object list of a nested block it intruded into + + Test: fast/dynamic/float-withdrawal-2.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlockChildren): When a float may have + been withdrawn from a child, mark all descendants if necessary and not + just the child. + +2007-11-26 Steve Falkenburg <sfalken@apple.com> + + Build fix. + + * WebCore.vcproj/MigrateIDLAndScripts: Copied from WebCore.vcproj/MigrateIDLAndScripts.make. + * WebCore.vcproj/MigrateIDLAndScripts.make: Removed. + * WebCore.vcproj/migrate-idls.sh: + +2007-11-26 Brady Eidson <beidson@apple.com> + + Reviewed by Anders (and typo lovingly found by Adam) + + Change Databases to be stored in a per-origin directory hierarchy - this will make + storage quotas much easier to enforce + + * platform/SecurityOriginData.cpp: + (WebCore::SecurityOriginData::SecurityOriginData): Parse string based on '_' instead of ':' + (WebCore::SecurityOriginData::stringIdentifier): Change to use '_' as a separator instead of ':'. + '_' still works due to not being allowed in domain names, but also is a valid filename character ' + on all filesystems we care about + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::fullPathForDatabase): Create a per-origin directory hierarchy to categorize + databases by origin + +2007-11-26 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title + http://bugs.webkit.org/show_bug.cgi?id=16137 + + On Leopard the toolbar background will be transparent, to allow the + window background to show through the transparent WebView. The + search results divs needed to move inside the "main" div, so they + would be clipped and not show where the toolbar is. + + * page/InspectorController.cpp: + (WebCore::platform): Return a string for which platform we are. + (WebCore::InspectorController::windowScriptObjectAvailable): + Define the platform function on the JavaScript class. + * page/inspector/Panel.js: Add panels to the panels div. + * page/inspector/inspector.css: On the Leopard platform make + the toolbar background transparent so the window background shows. + * page/inspector/inspector.html: Add a panels div and move search + result divs inside the main div. + * page/inspector/inspector.js: Tweak the resize code to acount for + the search results divs moving inside the main div. + +2007-11-25 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewed by Maciej Stachowiak. + + Remove the unneeded CFNETWORK #ifdefs. + + * loader/NetscapePlugInStreamLoader.h: + +2007-11-24 Laszlo Gombos <laszlo.gombos@gmail.com> + + Reviewed by Sam Weinig. + + Add printf format attribute to several functions. Use the the new WTF_ATTRIBUTE_PRINTF define. + + * dom/XMLTokenizer.cpp: + * dom/XMLTokenizer.h: + * platform/DeprecatedString.h: + * platform/PlatformString.h: + +2007-11-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix off-center error images + + Covered by many pixel tests with missing images + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paint): Account for the 1 pixel outline when + positioning the error image. + +2007-11-25 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Fix filename case for case-sensitive filesystems. + + * WebCoreSources.bkl: + +2007-11-22 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Adam Roben. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=15564 + + Fix problems with hidden glyphs. They were taken into account for quite + some operations (hit testing, length calulcations etc..) except painting. + Especially fixes boundaries of <textPath> (see using Web Inspector) if + text-anchor isn't equal to 'start'. + + Added testcase: + svg/text/textPathBoundsBug.svg + + Fixed testcase: (all showed text selection problems on text paths) + svg/batik/text/textGlyphOrientationHorizontal.svg + svg/batik/text/textOnPath.svg + svg/batik/text/textOnPath3.svg + svg/batik/text/verticalTextOnPath.svg + svg/text/text-align-04-b.svg + svg/W3C-SVG-1.1/text-align-04-b.svg + + * rendering/SVGCharacterLayoutInfo.cpp: + (WebCore::SVGChar::isHidden): + * rendering/SVGCharacterLayoutInfo.h: + (WebCore::SVGCharOnPath::SVGCharOnPath): + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): + * rendering/SVGRootInlineBox.cpp: + (WebCore::topLeftPositionOfCharacterRange): + (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): + (WebCore::cummulatedWidthOrHeightOfTextChunk): + (WebCore::applyTextAnchorToTextChunk): + (WebCore::applyTextLengthCorrectionToTextChunk): + (WebCore::SVGRootInlineBox::layoutInlineBoxes): + (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): + (WebCore::SVGRootInlineBox::buildTextChunks): + +2007-11-25 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=15919 + XSLTProcessor.transformToFragment creates an extra not defined TEXT_NODE at the end + + Test: fast/xsl/extra-lf-at-end.html + + * xml/XSLTProcessor.cpp: + (WebCore::writeToVector): Changed to use Vector to avoid slow String::apend(). + (WebCore::saveResultToString): Remove trailing line feed if present. + +2007-11-24 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream). + http://bugs.webkit.org/show_bug.cgi?id=13705 + + Don't buffer the entire stream contents in memory in the ResourceLoader. + + * loader/mac/NetscapePlugInStreamLoaderMac.mm: + (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader): + (WebCore::NetscapePlugInStreamLoader::didFinishLoading): + * loader/mac/WebPlugInStreamLoaderDelegate.h: + +2007-11-23 Adam Roben <aroben@apple.com> + + Get rid of WebCoreSystemInterface on Windows + + The one function defined in that file is now in WebKitSystemInterface. + + Reviewed by Tim. + + * WebCore.vcproj/WebCore.vcproj: Removed + WebCoreSystemInterface.{cpp,h}. + * platform/graphics/cg/ImageCG.cpp: Made #include of + WebCoreSystemInterface.h Mac-only. + * platform/win/GraphicsContextWin.cpp: Ditto. + * platform/win/WebCoreSystemInterface.cpp: Removed. + * platform/win/WebCoreSystemInterface.h: Removed. + +2007-11-24 Adam Roben <aroben@apple.com> + + Replace uses of %@ with %s in the inspector + + Rubberstamped by Tim. + + * English.lproj/InspectorLocalizedStrings.js: Changed %@ to %s. + * page/inspector/DatabasePanel.js: Ditto. + * page/inspector/StylesSidebarPane.js: Ditto. + * page/inspector/inspector.js: Ditto. + * page/inspector/utilities.js: + (String.vsprintf): Removed @ as a format specifier. + +2007-11-24 Adam Roben <aroben@apple.com> + + Windows build fix + + Turn off the change made in r27984 on Windows for now. + + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::transformToString): + * xml/XSLTUnicodeSort.cpp: + +2007-11-24 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Bug 16121: Web Inspector needs helper functions that pass a 'this' object to + addEventListener and setTimeout + http://bugs.webkit.org/show_bug.cgi?id=16121 + + Add Function.prototype.bind. This helper will return a wrapper function + that will call the original function with the supplied arguments + and using the supplied 'this' object. + + * page/inspector/Database.js: Remove a use of setTimeout by + inheriting some common functions from Resource. + * page/inspector/DatabasePanel.js: Use the new bind function. + * page/inspector/ConsolePanel.js: Ditto. + * page/inspector/DocumentPanel.js: Ditto. + * page/inspector/NetworkPanel.js: Ditto. + * page/inspector/PropertiesSection.js: Ditto. + * page/inspector/Resource.js: Ditto. + * page/inspector/SidebarPane.js: Ditto. + * page/inspector/inspector.html: Moved Database.js after Resource.js, + now that Database.js uses it. + * page/inspector/inspector.js: Use the new bind function. Also + removed a setTimeout used for the localized strings code. There is + now a load event listener added to the localized strings script + element that will call WebInspector.loaded. + * page/inspector/utilities.js: Add Function.prototype.bind. + +2007-11-24 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Bug 16112: Some Web Inspector UI elements use offsetWidth and offsetHeight before the stylesheet loads + http://bugs.webkit.org/show_bug.cgi?id=16112 + + In the places where we use offsetWidth and offsetHeight before + the stylesheet loads there is now a check. If the body's + offsetWidth is not greater than zero, then set a timeout + to do the updates requiring the stylesheet later. + + The three places this happened: + - DOM tree selection highlight would show up at the wrong height + when using Inspect Element to open the inspector. + - DOM tree breadcrumbs would not collapse when using Inspect Element + to open the inspector. + - Network Timeline divider lines would not show when opening directly + into the timeline. + + * page/inspector/DocumentPanel.js: Check if the stylesheet loaded. + * page/inspector/NetworkPanel.js: Ditto. + * page/inspector/inspector.html: Include the stylesheet before + any scripts, this will help get it loaded sooner. + +2007-11-24 Kevin Ollivier <kevino@theolliviers.com> + + Add wx implementation for pathGetFilename + + Reviewed by David D. Kilzer. + + * html/HTMLFormElement.cpp: + (WebCore::pathGetFilename): + +2007-11-23 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Bug 16110: Clicking inside the resource headers in the network timeline collapses them + http://bugs.webkit.org/show_bug.cgi?id=16110 + + Toggle the resource headers only if the click happens on the + resource row, not within the headers area. + + * WebCore.xcodeproj/project.pbxproj: + * page/inspector/NetworkPanel.js: + +2007-11-23 Kevin Ollivier <kevino@theolliviers.com> + + Win build fixes. CURL needs winsock, so don't disable it, and + include pthreads.h to get the threadsafe *_r functions. + + Reviewed by Adam Roben. + + * config.h: + * loader/FTPDirectoryDocument.cpp: + * loader/FTPDirectoryParser.cpp: + +2007-11-23 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Move wx settings to project build settings, + remove some old settings that were masking a build problem, + and fix include ordering to ensure proper config.h and + unicode/utf8.h headers are used. + + * webcore-base.bkl: + * webcore-wx.bkl: + +2007-11-23 Simon Hausmann <hausmann@webkit.org> + + Reviewed by George Staikos <staikos@kde.org>. + + Another build fix specific to trunk (instead of the stable branch) to fix make clean (which the buildbots call). + + * WebCore.pro: + +2007-11-23 Alexey Proskuryakov <ap@webkit.org> + + Not reviewed, trivial leak fix. + + Fix xsltUnicodeSortFunction() memory leaks. + + * xml/XSLTUnicodeSort.cpp: + (WebCore::xsltUnicodeSortFunction): + +2007-11-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej. + + <rdar://problem/5539306> REGRESSION: redirect fails when subframe's document is opened but + not closed (affects digg.com) + + Tests: fast/loader/meta-refresh-vs-open.html + fast/loader/redirect-with-open-subframe-2.html + fast/loader/redirect-with-open-subframe.html + http/tests/loading/onload-vs-immediate-refresh.pl + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::scheduleRedirection): Only check whether the load is complete for + HTTP redirects - JavaScript-initiated ones are effective immediately. + +2007-11-23 Dan Bernstein <mitz@apple.com> + + Reviewed by Alexey Proskuryakov. + + - apply matrix transforms on the correct side of the transformation + matrix (not on the side where the vector is multiplied). + + Test: fast/transforms/matrix-02.html + + * rendering/RenderStyle.h: + (WebCore::MatrixTransformOperation::apply): + +2007-11-23 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=16077 + <rdar://problem/5609785> XSLT processor <xsl:sort> algorithm is incompatible with other + browser implementations + + Test: fast/xsl/sort-unicode.xml + + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::transformToString): Set a custom sort function. + + * xml/XSLTUnicodeSort.cpp: Added. + (init_xsltTransformError): + (xsltTransformError): + (WebCore::xsltUnicodeSortFunction): + * xml/XSLTUnicodeSort.h: Added. + ICU-based implementation of xsl:sort, using an example from libxslt distribution. + Only minimal coding style fixes to ease synchronization with upstream in the future. + + * icu/unicode/ucol.h: Added. + * icu/unicode/uset.h: Added. + Taken from ICU 3.2 + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + Added XSLTUnicodeSort.cpp. + +2007-11-22 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=14977 + Hixie's DOM Core performance test shows insert >10x slower than append + + Each invocation of Element.childNodes[n] was creating and registering a new ChildNodeList, + which persisted and listened to notifications until GC. + + A fix is to avoid registering child node lists for notifications - they don't need them, as + they share a common cache in Node. + + * dom/Node.cpp: + (WebCore::Node::registerNodeList): + (WebCore::Node::unregisterNodeList): + (WebCore::Node::notifyLocalNodeListsAttributeChanged): + (WebCore::Node::notifyLocalNodeListsChildrenChanged): + * dom/NodeList.h: + (WebCore::NodeList::needsNotifications): + +2007-11-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Antti Koivisto. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15811 + WebKit plug-ins can re-enter WebKit under attach() + <rdar://problem/5577978> + + Defer plug-in loading until after attach and recalcStyle using the + post-attach callback mechanism. Netscape plug-ins are still loaded only + after layout. + + * dom/ContainerNode.cpp: + Made NodeCallbackQueue elements retain the Node because callbacks might + delete nodes that are in the callback queue. + (WebCore::ContainerNode::suspendPostAttachCallbacks): Added. Needed to + prevent post-attach callbacks from being dispatched under recalcStyle(). + (WebCore::ContainerNode::resumePostAttachCallbacks): Ditto. + (WebCore::ContainerNode::dispatchPostAttachCallbacks): Factored out from + attach(). + (WebCore::ContainerNode::attach): + * dom/ContainerNode.h: + * dom/Document.cpp: + (WebCore::Document::recalcStyle): Added calls to + suspendPostAttachCallbacks() and resumePostAttachCallbacks(). + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::HTMLEmbedElement): + (WebCore::HTMLEmbedElement::attach): Changed to queue the widget update + for post-attach. + (WebCore::HTMLEmbedElement::updateWidget): Added. Called by the + post-attach callback. + * html/HTMLEmbedElement.h: Added an m_needWidgetUpdate member needed to + prevent a double update if another plug-in's post-attach updateWidget() + triggers a layout which updates the widget before this plug-in's + post-attach callback is invoked. + (WebCore::HTMLEmbedElement::setNeedWidgetUpdate): Added a setter for + m_needWidgetUpdate. + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::attach): Changed to queue the widget update + for post-attach. + (WebCore::HTMLObjectElement::updateWidget): Added. Called by the + post-attach callback. + * html/HTMLObjectElement.h: + (WebCore::HTMLObjectElement::setNeedWidgetUpdate): Added a setter for + m_needWidgetUpdate. + * html/HTMLPlugInElement.cpp: + (WebCore::HTMLPlugInElement::updateWidgetCallback): Added. + * html/HTMLPlugInElement.h: + (WebCore::HTMLPlugInElement::updateWidget): + * rendering/RenderPartObject.cpp: + (WebCore::RenderPartObject::updateWidget): Added calls to + setNeedWidgetUpdate(false) so that if this method is called from + FrameView::layout() during post-attach dispatch of another plug-in, + it will not be called again when this plug-in's post-attach callback + is dispatched. + * rendering/RenderPartObject.h: + (WebCore::RenderPartObject::updateWidget) Renamed argument to match + the method definition. + +2007-11-22 Timothy Hatcher <timothy@apple.com> + + Reviewed by Dan Bernstein. + + Fix the Element.hasStyleClass and Element.removeStyleClass helpers + to not find and replace substrings, but whole class names at the + beginning or end of the string or surrounded by whitespace. + + * page/inspector/utilities.js: + +2007-11-22 Timothy Hatcher <timothy@apple.com> + + Revert part of my r27935 change that made the Tip balloons + animate with CSS transitions. The balloon was only opacity 0, + so it would cause its row to highlight when hovering over + another row. + + * page/inspector/NetworkPanel.js: + * page/inspector/inspector.css: + +2007-11-22 Dan Bernstein <mitz@apple.com> + + Reviewed by Maciej Stachowiak. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15943 + -webkit-transform matrix does not work + + Test: fast/transforms/matrix-01.html + + Parse all six matrix entries as numbers. + + * css/CSSParser.cpp: + (WebCore::TransformOperationInfo::TransformOperationInfo): + (WebCore::CSSParser::parseTransform): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * rendering/RenderStyle.cpp: + (WebCore::MatrixTransformOperation::blend): + * rendering/RenderStyle.h: + (WebCore::MatrixTransformOperation::MatrixTransformOperation): + (WebCore::MatrixTransformOperation::apply): + +2007-11-22 Laszlo Gombos <laszlo.gombos@gmail.com> + + Reviewed by Alp Toker. + + Fix some compilation warnings. Do not reference undefined (platform) specific type (WebCore::CachedFont::m_fontData) + + * loader/CachedFont.cpp: + (WebCore::CachedFont::~CachedFont): + (WebCore::CachedFont::allReferencesRemoved): + +2007-11-22 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + GTK+ drawing fix. + + Add a check to avoid crashing when the GraphicsContext is not + associated with a GdkEventExpose. This was noticed when adding + printing support but might be triggered in other situations too. + + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::paint): + +2007-11-22 Julien Chaffraix <julien.chaffraix@gmail.com> + + Reviewed by Alexey. + + Bug 15530: XMLHttpRequest should not support certain methods + + Test: http/tests/xmlhttprequest/xmlhttprequest-forbidden-methods-exception.html + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::open): + +2007-11-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by George. + + For the build inside Qt include qbase.pri and don't duplicate what qbase.pri otherwise does (install targets, etc.) + + * WebCore.pro: + +2007-11-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by George. + + Don't set OBJECTS_DIR when building inside Qt + + * WebCore.pro: + +2007-11-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by George. + + Use ../generated as path for the generated sources for builds inside Qt + + * WebCore.pro: + +2007-11-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by George. + + Make the directory of where to put the generated sources configurable through the GENERATED_SOURCE_DIR variable + + * WebCore.pro: + +2007-11-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by George. + + Centralize the setup for all the extra compilers in a addExtraCompiler function. + + This allows adding a "generated_files" target that builds all generated files using "make generated_files". + For the build inside Qt we do not generate actual rules for the extra compilers but instead + do the variable substitution of compiler.output manually and add the generated sources to SOURCES. + + * WebCore.pro: + +2007-11-21 Timothy Hatcher <timothy@apple.com> + + Reviewed by Eric Seidel. + + Show Fonts as Yellow in the network timeline. + + * page/inspector/NetworkPanel.js: + * page/inspector/inspector.css: + +2007-11-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Eric Seidel. + + - fix <rdar://problem/5607037> REGRESSION (r27351): Departure date does not repaint when changed on Google Maps public transit planner (16034) + + Test: fast/repaint/subtree-root-skipped.html + + * page/FrameView.cpp: + (WebCore::FrameViewPrivate::FrameViewPrivate): Initialize the layout + root to 0. + (WebCore::FrameView::layoutRoot): Changed to return a RenderObject + instead of a Node. + (WebCore::FrameView::layout): Changed for layout root being a renderer + rather than a DOM node. Also replaced clearing the repaint rects + set with asserting that it is empty if this is the top-level call to + layout(). If it is not, the set may contain rects from enclosing + layout() and those should not be removed. + (WebCore::FrameView::scheduleRelayout): Changed for layout root being + a renderer rather than a DOM node. + (WebCore::isObjectAncestorContainerOf): Added this helper function that + tests whether one object will be marked by calling + markContainingBlocksForLayout() on the other. + (WebCore::FrameView::scheduleRelayoutOfSubtree): Changed for layout + root being a renderer rather than a DOM node. Changed the check if new + and current layout roots are on the same path from the root to use + the subgraph of the render tree defined by container()hood instead of + the DOM tree and parenthood. + * page/FrameView.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::calcWidth): Changed for layout root being a + renderer rather than a DOM node. + * rendering/RenderObject.cpp: + (WebCore::RenderObject::~RenderObject): Added an assertion that the + object being deleted is not currently the layout root. + (WebCore::RenderObject::scheduleRelayout): Changed for layout root being + a renderer rather than a DOM node. + +2007-11-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Eric. + + Fix WebCore to build without warnings under GCC 4.2. + + * Configurations/Base.xcconfig: + * css/CSSRuleList.cpp: + (WebCore::CSSRuleList::deleteRule): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::locateSharedStyle): + * html/HTMLParser.cpp: + (WebCore::HTMLParser::allowNestedRedundantTag): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::fillInlineSelectionGaps): + (WebCore::RenderBlock::fillBlockSelectionGaps): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::stackingContext): + (WebCore::RenderLayer::enclosingPositionedAncestor): + (WebCore::RenderLayer::transparentAncestor): + * rendering/RenderStyle.cpp: + (WebCore::BackgroundLayer::fillUnsetProperties): + (WebCore::Transition::fillUnsetProperties): + * rendering/RenderText.cpp: + (WebCore::RenderText::containsOnlyWhitespace): + * rendering/bidi.cpp: + (WebCore::RenderBlock::determineStartPosition): + +2007-11-21 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=16071 + Curl backend handles EINTR incorrectly + + Defer timers during select() to avoid interruption by timer signals. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::downloadTimerCallback): + +2007-11-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings + + Update format strings to use format specifiers that match the argument types. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::performURLImport): + (WebCore::IconDatabase::writeToDatabase): + * platform/mac/TextCodecMac.cpp: + (WebCore::TextCodecMac::decode): + * storage/Database.cpp: + (WebCore::Database::deliverAllPendingCallbacks): + +2007-11-21 Xan Lopez <xan@gnome.org> + + Reviewed by Alp Toker. + + Clarify scroll event processing with a comment. + + * platform/gtk/PlatformScrollBarGtk.cpp: + (gtkScrollEventCallback): + +2007-11-21 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben. + + Bug 16085: Web Inspector's Network Timeline graph code clean up and misc. fixes + http://bugs.webkit.org/show_bug.cgi?id=16085 + + Changes include: + - Refactor the drawing code as nested functions instead of global functions. + - Compute the segment percentages only once per call to drawSummaryGraph. + - Account for percentages that rounded down to total less-than 100%. + - Draw the pill shadow better using the canvas shadow drawing properties. + - Removes a couple canvas context saves and restores. + + * page/inspector/NetworkPanel.js: + +2007-11-21 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=16056 + Unicode not being interpreted correctly in Web Inspector source view + + Cannot be tested automatically. + + * loader/CachedCSSStyleSheet.cpp: + (WebCore::CachedCSSStyleSheet::encoding): + * loader/CachedCSSStyleSheet.h: + * loader/CachedResource.h: + (WebCore::CachedResource::encoding): + * loader/CachedScript.cpp: + (WebCore::CachedScript::encoding): + * loader/CachedScript.h: + * loader/CachedXBLDocument.cpp: + (WebCore::CachedXBLDocument::encoding): + * loader/CachedXBLDocument.h: + * loader/CachedXSLStyleSheet.cpp: + (WebCore::CachedXSLStyleSheet::encoding): + * loader/CachedXSLStyleSheet.h: + Teach textual CachedResources to report their encodings. + + * page/InspectorController.cpp: + (WebCore::addSourceToFrame): + (WebCore::updateResourceResponse): + Use the actual encoding - the network layer has little idea about it. + +2007-11-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Maciej Stachowiak. + + Fix <rdar://problem/5609579> (DOMParser().parseFromString() freezes Safari when parsing large nodes with XML entities) + http://bugs.webkit.org/show_bug.cgi?id=16076 + + XMLTokenizer was calling CharacterData::appendData twice per entity in the fragment of XML being + parsed (once for text before the entity, once for the entity itself). This triggered O(n^2) copying + of the CharacterData's string due to resizing. We now prevent this happening by buffering all the + content for a given Text node in the XMLTokenizer before sending it out to the node in a single go. + + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::characters): Append the characters to the buffer. + (WebCore::XMLTokenizer::endDocument): Ensure the buffer is flushed when the document has ended. + (WebCore::endDocumentHandler): + (WebCore::XMLTokenizer::enterText): + (WebCore::XMLTokenizer::exitText): Append the contents of the buffer to the node. + (WebCore::XMLTokenizer::initializeParserContext): Add the endDocument handler. + (WebCore::parseXMLDocumentFragment): Force endDocument to be called when parsing a fragment to ensure + that the buffer gets flushed to the node. + * dom/XMLTokenizer.h: + +2007-11-20 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + Animate the status area and tip balloons in the Web Inspector + with CSS animations. + + * page/inspector/NetworkPanel.js: + * page/inspector/inspector.css: + * page/inspector/inspector.js: + +2007-11-20 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix for Windows. Don't use WebCore/move-js-headers.sh as + it indiscriminately copies any headers inside JavaScriptCore, + which includes Tiger ICU headers. + + * webcore-base.bkl: + Remove references to the WebCore/include dir generated by + move-js-headers.sh, and also get headers from JavaScriptCore + directly rather than from WebCore/ForwardingHeaders. + +2007-11-20 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Avoid pointlessly mallocing and freeing this transform matrix. + + * platform/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2007-11-20 Naiem Shaik <naiem.shaik@gmail.com> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=15763 + [GTK] Enter key does not take to the link highlighted. + + Add missing keycode cases. + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::keyIdentifierForGdkKeyCode): + (WebCore::windowsKeyCodeForKeyEvent): + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2007-11-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Sam Weinig. + + Fix http://bugs.webkit.org/show_bug.cgi?id=16074 + Bug 16074: execCommand("InsertHorizontalRule", false, "") results in id="" being inserted + + For consistency with InsertOrderedList and InsertUnorderedList a value parameter of "" should + not result in an id being set. + + * editing/JSEditor.cpp: Don't set the id attribute if value is empty. + +2007-11-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix <rdar://problem/5090708> Textareas render broken-looking scrollbars when too short to show full scrollbar + + * platform/win/PlatformScrollBar.h: + * platform/win/PlatformScrollBarSafari.cpp: + Added the "hit inset" constants (representing how far the track eats + into the button). + (WebCore::PlatformScrollbar::paint): Changed to paint the buttons and + the thumb only if they should be showing. + (WebCore::PlatformScrollbar::hasButtons): Added. Returns whether the + arrows should be drawn. + (WebCore::PlatformScrollbar::hasThumb): Added. Returns whether the thumb + should be drawn. + (WebCore::PlatformScrollbar::forwardButtonRect): + (WebCore::PlatformScrollbar::trackRect): Changed to return the entire + bounds of the scrollbar if the scrollbar has no buttons. + (WebCore::PlatformScrollbar::paintTrack): Changed to paint a disabled + track along the entire scrollbar if it has not buttons. + (WebCore::PlatformScrollbar::hitTest): Changed to hit test only the + parts that the scrollbar has in its current dimensions. + +2007-11-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Alp Toker. + + * config.h: Change #if to #ifdef to silence warnings on non-Apple platforms. + +2007-11-20 Simon Hausmann <hausmann@kde.org> + + Reviewed by Adam Treat <treat@kde.org>. + + Remove static linkage of QtWebKit against the ICO image format plugin. + Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it. + + * WebCore.pro: + * platform/graphics/qt/ImageDecoderQt.cpp: + +2007-11-20 David D. Kilzer <ddkilzer@webkit.org> + + no-svg build broken after r27278 + <http://bugs.webkit.org/show_bug.cgi?id=16061> + + Reviewed by Eric. + + * bindings/scripts/CodeGeneratorObjC.pm: Always generate DOMHTMLEmbedElementPrivate.h + and DOMHTMLObjectElementPrivate.h for no-svg build. + +2007-11-20 Adam Treat <treat@kde.org> + + Reviewed by Simon. + + * Don't use so much heap memory. + + * platform/graphics/qt/ImageDecoderQt.cpp: + * platform/graphics/qt/ImageDecoderQt.h: + * platform/graphics/qt/ImageSourceQt.cpp: + (WebCore::ImageSource::createFrameAtIndex): + +2007-11-20 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + Fix text break interators. + + The break iterators where trying to be smart about the input + string and caching their results. Unfortunately a pointer/string length + comparison is not good enough in all cases (since some input is stack based + temp strings). Removed the caching but at the same time started to use a more + efficient constructor of QTextBoundaryFinder that doesn't need to malloc for + most strings. + + Fixes two test cases that test "text-transform: capitalize". + + * platform/qt/TextBreakIteratorQt.cpp: + (WebCore::wordBreakIterator): + (WebCore::characterBreakIterator): + (WebCore::lineBreakIterator): + (WebCore::sentenceBreakIterator): + +2007-11-20 Adam Treat <treat@kde.org> + + Reviewed by George. + + * Make gif animations work for instance. + + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::reset): + (WebCore::ImageDecoderQt::setData): + (WebCore::ImageDecoderQt::frameCount): + (WebCore::ImageDecoderQt::repetitionCount): + * platform/graphics/qt/ImageDecoderQt.h: + +2007-11-20 Adam Treat <treat@kde.org> + + * Build in release mode + + * platform/NotImplemented.h: + +2007-11-20 Adam Treat <treat@kde.org> + + Reviewed by Simon and George. + + * Be quiet and allow suppression of NotImplemented calls at runtime. + + * platform/NotImplemented.h: + +2007-11-19 Doug Turner <dougt@meer.net> + + Reviewed by Alp Toker. + + http://bugs.webkit.org/show_bug.cgi?id=16054 + Crash when GlyphPage::fill is called with more than 256 bytes of data + + http://bugs.webkit.org/show_bug.cgi?id=14446 + [GDK] Crash on http://www.wikipedia.org/ + + setGlyphDataForIndex() uses a fixed array of size 256 which we can't + exceed. We need to return failure if the buffer has Unicode + supplementary characters for now. + + This strategy matches the Win port, which also doesn't support this + case yet. + + Add an assertion so nobody makes this mistake again. + + * platform/GlyphPageTreeNode.h: + (WebCore::GlyphPage::setGlyphDataForIndex): + * platform/gtk/GlyphPageTreeNodeGtk.cpp: + (WebCore::GlyphPage::fill): + +2007-11-19 Doug Turner <dougt@meer.net> + + Reviewed by Timothy Hatcher. + + http://bugs.webkit.org/show_bug.cgi?id=16050 + sqlite3_prepare16_v2 build bustage. + + Using the correct SQLITE_VERSION_NUMBER around sqlite_prepare16_v2 + to fix build bustage. + + * platform/sql/SQLiteStatement.cpp: + (WebCore::SQLiteStatement::prepare): + +2007-11-19 Mark Rowe <mrowe@apple.com> + + Build fix. Don't over-qualify the constructor name. + + * storage/DatabaseDetails.h: + +2007-11-19 Brady Eidson <beidson@apple.com> + + Reviewed by Maciej + + Stub out the WebCore parts of the WebKit API + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + + * storage/DatabaseDetails.h: Added. Simple container for vitals on a specific database + (WebCore::DatabaseDetails::DatabaseDetails::DatabaseDetails): + (WebCore::DatabaseDetails::DatabaseDetails): + (WebCore::DatabaseDetails::isValid): + (WebCore::DatabaseDetails::name): + (WebCore::DatabaseDetails::version): + (WebCore::DatabaseDetails::displayName): + (WebCore::DatabaseDetails::expectedUsage): + (WebCore::DatabaseDetails::currentUsage): + + * storage/DatabaseTracker.cpp: Added various methods for API usage + (WebCore::DatabaseTracker::detailsForNameAndOrigin): + (WebCore::DatabaseTracker::usageForOrigin): + (WebCore::DatabaseTracker::quotaForOrigin): + (WebCore::DatabaseTracker::setQuota): + * storage/DatabaseTracker.h: + +2007-11-19 Kevin Ollivier <kevino@theolliviers.com> + + wx port build fix. + + * platform/graphics/wx/AffineTransformWx.cpp: + (WebCore::AffineTransform::operator== ): + m_transform is only available when using wxGraphicsContext. + +2007-11-19 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + GTK+ drawing fixes. + + Add a check to avoid crashing when the GraphicsContext is not + associated with a GdkDrawable. This was noticed when adding printing + support but might be triggered in other situations too. + + Do not render themes when painting is disabled. This is an + optimisation for cases where GraphicsContext is used to calculate page + dimensions etc. without actually rendering. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::gdkDrawable): + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::paintMozWidget): + +2007-11-13 Rahul Abrol <ra5ul@comcast.net> + + Reviewed by Tim Hatcher. + + http://bugs.webkit.org/show_bug.cgi?id=15977 + Resizing images preference now toggles default image state. + + * loader/ImageDocument.cpp: + (WebCore::ImageDocument::ImageDocument): + (WebCore::ImageDocument::createDocumentStructure): + (WebCore::ImageDocument::imageChanged): + +2007-11-19 Kevin Ollivier <kevino@theolliviers.com> + + Update wx port build sources with recent changes, update + wx FontPlatformData to be a class (MSVC7 gets confused + otherwise...) and implement its hash() method. + + Reviewed by Adam. + + * WebCoreSources.bkl: + * platform/wx/FontPlatformData.h: + (WebCore::FontPlatformData::hash): + +2007-11-19 Julien Chaffraix <julien.chaffraix@gmail.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=12194 + Bug 12194: Trying to access XMLHttpRequest.responseText or responseXML when they + are not available should raise an exception + + Tests: http/tests/xmlhttprequest/xmlhttprequest-responseText-exception.html + http/tests/xmlhttprequest/xmlhttprequest-responseXML-exception.html + + * bindings/js/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequest::getValueProperty): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::getResponseText): + (WebCore::XMLHttpRequest::getResponseXML): + * xml/XMLHttpRequest.h: + +2007-11-19 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=15971 + The GIF decoder should not fail decoding if the caller asks it to + decode again when no new data has arrived since the last call. + + * platform/image-decoders/gif/GIFImageReader.cpp: + (GIFImageReader::read): + +2007-11-18 Brady Eidson <beidson@apple.com> + + Reviewed by Eric + + Fix a crash hashing a default SecurityOriginData object + + * storage/DatabaseTracker.cpp: + (WebCore::SecurityOriginDataHash::hash): The default object has some default strings with NULL + StringImpls - don't try to hash those! + +2007-11-18 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam Weinig. + + Bug 16043: Remove InspectorController.log now that console.log works + http://bugs.webkit.org/show_bug.cgi?id=16043 + + Remove the last uses of InspectorController.log. Once use was no longer needed, + checking an erro case that can't happen anymore. The other case now uses console.error. + + * page/InspectorController.cpp: Remove the log function. + (WebCore::InspectorController::windowScriptObjectAvailable): Remove the log function from + InspectorController script class. + * page/inspector/DocumentPanel.js: Remove a use of InspectorController.log that isn't needed. + * page/inspector/Panel.js: Change InspectorController.log to console.log and early return. + +2007-11-18 Timothy Hatcher <timothy@apple.com> + + Reviewed by Brady. + + Bug 16041: REGRESSION: the Database panel in the Inspector stopped showing errors + http://bugs.webkit.org/show_bug.cgi?id=16041 + + * page/inspector/DatabasePanel.js: Implement error callbacks to pass to executeSql() + and transaction(). Refactored some code for the success and error callbacks to use. + +2007-11-18 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Maciej. + + <rdar://problem/5546393> Whitespace handling doesn't match HTML5. + + HTML5 definition is the same as MSIE's, with the exception that the latter strips null + characters. Firefox also treats U+0008 as whitespace, but not U+000B or U+000C. + + Test: fast/parser/html-whitespace.html + + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseSpecial): + (WebCore::HTMLTokenizer::parseTag): + Use isASCIISpace, which matches HTML5 definition of whitespace, and also what we use to + check for whitespace almost everywhere. + +2007-11-17 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + Fix: <rdar://problem/5607032> REGRESSION: testapi exits with assertion failure in debug build + <rdar://problem/5440659> JSGlobalContextCreate throws away globalObjectClass's prototype + http://bugs.webkit.org/show_bug.cgi?id=16033 + + Update for changes in Interpreter method signatures. + + * bindings/js/kjs_binding.cpp: + (KJS::ScriptInterpreter::ScriptInterpreter): + * bindings/js/kjs_window.cpp: + (KJS::Window::clear): + +2007-11-17 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + Bug 13470: i18n: The Web Inspector is not localizable + http://bugs.webkit.org/show_bug.cgi?id=13470 + + Add support for localization to the Web Inspector. Clients need to + implement localizedStringsURL() to return the URL of the + InspectorLocalizedStrings.js that best matches the user's language. + + * English.lproj: Added. + * English.lproj/InspectorLocalizedStrings.js: Added. + * WebCore.xcodeproj/project.pbxproj: Add InspectorLocalizedStrings.js. + * page/InspectorClient.h: Add localizedStringsURL. + * page/InspectorController.cpp: Add localizedStringsURL that calls + the client. Also added a version exposed to JavaScript. + * page/InspectorController.h: Add localizedStringsURL. + * page/inspector/ConsolePanel.js: Call WebInspector.UIString + for user visible strings. + * page/inspector/DatabasePanel.js: Ditto. + * page/inspector/DocumentPanel.js: Ditto. + * page/inspector/ImagePanel.js: Ditto. + * page/inspector/MetricsSidebarPane.js: Ditto. + * page/inspector/NetworkPanel.js: Ditto. + * page/inspector/Panel.js: Ditto. + * page/inspector/PropertiesSidebarPane.js: Ditto. + * page/inspector/Resource.js: Ditto. + * page/inspector/ResourceCategory.js: Ditto. + * page/inspector/SourcePanel.js: Ditto. + * page/inspector/StylesSidebarPane.js: Ditto. + * page/inspector/inspector.css: Use pre-wrap so database errors can use \n. + * page/inspector/inspector.html: Remove some user visible strings. + * page/inspector/inspector.js: Added WebInspector.UIString and call + WebInspector.UIString for user visible strings. Some code needed to be + moved to WebInspector.loaded to use UIString after the localized strings + get loaded. + * platform/graphics/svg/SVGImageEmptyClients.h: + (WebCore::SVGEmptyFrameLoaderClient::redirectDataToPlugin): Remove WebCore:: prefix. + (WebCore::SVGEmptyInspectorClient::createPage): Ditto. + (WebCore::SVGEmptyInspectorClient::localizedStringsURL): Add empty stub. + (WebCore::SVGEmptyInspectorClient::highlight): Remove WebCore:: prefix. + (WebCore::SVGEmptyInspectorClient::inspectedURLChanged): Ditto. + +2007-11-17 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Reworte String.sprintf to fix many bad bugs and to not use RegExp. Also added + String.vsprintf so it can be used later for the localization function. + + This version only supports argument reordering, precision for floats, and these + format characters: d, f, s and @. Any unsupported format characters are logged + and substituted like strings. + + * page/inspector/utilities.js: + +2007-11-17 Alexey Proskuryakov <ap@webkit.org> + + Windows build fix. + + * editing/Editor.h: Made canSmartCopyOrDelete public, as Windows WebView still needs it. + +2007-11-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15969 + Eliminate Editor::deleteRange() + + No change in functionality. + + * editing/CompositeEditCommand.h: Removed unimplemented deleteKeyPressed(). + + * editing/Editor.cpp: + (WebCore::Editor::deleteWithDirection): + (WebCore::Editor::cut): + (WebCore::Editor::performDelete): + * editing/Editor.h: + Moved relevant Editor::deleteRange() functionality to its callers. + Removed deleteSelectionWithSmartDelete(void), which was more confusing than helpful + in my opinion. + + * editing/mac/EditorMac.mm: + (WebCore::initializeKillRingIfNeeded): + (WebCore::Editor::addToKillRing): + (WebCore::Editor::yank): + (WebCore::Editor::yankAndSelect): + (WebCore::Editor::setMark): + (WebCore::unionDOMRanges): + (WebCore::Editor::deleteToMark): + (WebCore::Editor::selectToMark): + (WebCore::Editor::swapWithMark): + Pushed kill ring handling down from WebCore. + + * page/mac/WebCoreFrameBridge.h: + * page/mac/WebCoreFrameBridge.mm: + Removed setMarkDOMRange (the corresponding getter is still needed). + + * WebCore.base.exp: No longer need to export Editor::deleteRange() and Editor::insertTextWithoutSendingTextEvent(). + Export the new kill ring functions. + +2007-11-16 Ryan Leavengood <leavengood@gmail.com> + + Reviewed by David Kilzer. + + Build fix: the needed headers for POSIX file functions were not + included. + + * platform/posix/FileSystemPOSIX.cpp: + +2007-11-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix the common case of <http://bugs.webkit.org/show_bug.cgi?id=15994> + REGRESSION: Incomplete repaint of CSS image substitution + + Test: fast/repaint/clip-with-layout-delta.html + + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): Account for layout delta when + pushing additional clip. + +2007-11-16 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Seeking related fixes, updates to match the latest specification + - rename loopCount of HTMLMediaElement to playCount + - add explicit seeking attribute to HTMLMediaElement to get semantics right + - implement the specification behavior that currentTime must immediately return seeked position in HTMLMediaElement + instead of MoviePrivateQTKit + - fix broken behavior when seeking past end of the media, add tests + - replace Movie didEnd callback with broader timeChanged callback (which gets called in didEnd case too) + - use setDelayCallbacks: in various MoviePrivateQTKit methods to avoid bug prone synchronous callbacks from QT, make + HTMLMediaElement not depend on synchronous callbacks + - do some cleanups and simplifications in MoviePrivateQTKit, get rid of m_rateBeforeSeek and m_blockStateUpdate variables + + Tests: http/tests/media/video-seekable-stall.html + media/video-seeking.html + media/video-seek-past-end-paused.html + media/video-seek-past-end-playing.html + + * html/HTMLAttributeNames.in: + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::movieNetworkStateChanged): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::seek): + (WebCore::HTMLMediaElement::seeking): + (WebCore::HTMLMediaElement::currentTime): + (WebCore::HTMLMediaElement::ended): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + (WebCore::HTMLMediaElement::playCount): + (WebCore::HTMLMediaElement::setPlayCount): + (WebCore::HTMLMediaElement::checkIfSeekNeeded): + (WebCore::HTMLMediaElement::movieTimeChanged): + (WebCore::HTMLMediaElement::endedPlayback): + (WebCore::HTMLMediaElement::updateMovie): + * html/HTMLMediaElement.h: + * html/HTMLMediaElement.idl: + * platform/graphics/Movie.cpp: + (WebCore::Movie::timeChanged): + * platform/graphics/Movie.h: + (WebCore::MovieClient::movieTimeChanged): + * platform/graphics/mac/MoviePrivateQTKit.h: + * platform/graphics/mac/MoviePrivateQTKit.mm: + (WebCore::MoviePrivate::MoviePrivate): + (WebCore::MoviePrivate::load): + (WebCore::MoviePrivate::play): + (WebCore::MoviePrivate::pause): + (WebCore::MoviePrivate::currentTime): + (WebCore::MoviePrivate::seek): + (WebCore::MoviePrivate::doSeek): + (WebCore::MoviePrivate::cancelSeek): + (WebCore::MoviePrivate::seekTimerFired): + (WebCore::MoviePrivate::startCuePointTimerIfNeeded): + (WebCore::MoviePrivate::paused): + (WebCore::MoviePrivate::updateStates): + (WebCore::MoviePrivate::timeChanged): + (WebCore::MoviePrivate::didEnd): + +2007-11-16 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + <rdar://problem/5603832> + XMLHttpRequest readyState 3 & responseText buffer issues. + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::makeFinalRequest): + Add new parameter which controls whether content sniffing should be turned off. + + (WebCore::ResourceHandle::loadResourceSynchronously): + Always content sniff sync loads. + + * platform/network/cf/ResourceRequestCFNet.cpp: + (WebCore::ResourceRequest::doUpdatePlatformRequest): + If the ResourceRequest already has a backing CFURLRequest, make a copy of it. This preserves + any properties set on the CFURLRequest. + +2007-11-16 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Ollie. + + <rdar://problem/5605175> Crash closing or leaving window with ViewPoint + Media player plugin + + ViewPoint plugin requires that we pass a valid NPSavedData* to + NPP_Destroy. + + * plugins/win/PluginViewWin.cpp: Pass a valid NPSavedData* to + NPP_Destroy. If the plugin allocates data, discard it + +2007-11-16 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Build WebCore as a sub-framework of WebKit in all configurations. + + * Configurations/WebCore.xcconfig: + * WebCore.xcodeproj/project.pbxproj: + +2007-11-16 Doug Turner <dougt@meer.net> + + Reviewed by Alp. + + http://bugs.webkit.org/show_bug.cgi?id=16018 + build bustage when building on debian 4.0 + + Fix build bustage on GTK+ with older versions of Pango. + + Don't cache the return value since the docs say it can change. + + * platform/gtk/Language.cpp: + (WebCore::defaultLanguage): + +2007-11-16 Brady Eidson <beidson@apple.com> + + Build fix + + * platform/SecurityOriginData.h: + (WebCore::operator!=): Whoops! + +2007-11-16 Brady Eidson <beidson@apple.com> + + Reviewed by Sam + + Further purify DatabaseTracker to use SecurityOriginData instead of "a String" + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * WebCore.vcproj/WebCore.vcproj + * WebCore.pro + + * platform/SecurityOriginData.cpp: Added. + (WebCore::SecurityOriginData::SecurityOriginData): Add a constructor that takes a "stringIdentifier"-style string, + since that form is what will be stored in the Databases.db on disk + (WebCore::SecurityOriginData::stringIdentifier): + * platform/SecurityOriginData.h: + (WebCore::SecurityOriginData::protocol): + (WebCore::SecurityOriginData::host): + (WebCore::SecurityOriginData::port): + + * storage/DatabaseTracker.cpp: + (WebCore::SecurityOriginDataHash::hash): Follow the pattern Darin set in FontCache.cpp to make a decent hash for + a SecurityOriginData object + (WebCore::SecurityOriginDataHash::equal): + (WebCore::SecurityOriginDataTraits::deletedValue): "file::1" will never exist in normal operation + (WebCore::SecurityOriginDataTraits::emptyValue): "file::2" will never exist in normal operation + (WebCore::DatabaseTracker::fullPathForDatabase): + (WebCore::DatabaseTracker::populateOrigins): + (WebCore::DatabaseTracker::origins): + (WebCore::DatabaseTracker::addDatabase): + * storage/DatabaseTracker.h: + +2007-11-16 Alexey Proskuryakov <ap@webkit.org> + + Windows build fix. + + * WebCore.vcproj/WebCore.vcproj: Removed VoidCallback.cpp, added JSCustomVoidCallback.{h,cpp}. + +2007-11-16 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=12290 + + Implement all SVGTextContentElement DOM methods. + This is the last missing SVG text feature. SVG fonts is next. + + Added testcase: svg/custom/text-dom-01-f.svg (tests all new methods) + + * ksvg2/svg/SVGTextContentElement.cpp: + (WebCore::cummulatedCharacterRangeLength): + (WebCore::SVGInlineTextBoxQueryWalker::): + (WebCore::SVGInlineTextBoxQueryWalker::SVGInlineTextBoxQueryWalker): + (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBoxQueryWalker::setQueryInputParameters): + (WebCore::SVGInlineTextBoxQueryWalker::longResult): + (WebCore::SVGInlineTextBoxQueryWalker::floatResult): + (WebCore::SVGInlineTextBoxQueryWalker::pointResult): + (WebCore::SVGInlineTextBoxQueryWalker::rectResult): + (WebCore::SVGInlineTextBoxQueryWalker::stopProcessing): + (WebCore::findInlineTextBoxInTextChunks): + (WebCore::rootInlineBoxForTextContentElement): + (WebCore::executeTextQuery): + (WebCore::SVGTextContentElement::getNumberOfChars): + (WebCore::SVGTextContentElement::getComputedTextLength): + (WebCore::SVGTextContentElement::getSubStringLength): + (WebCore::SVGTextContentElement::getStartPositionOfChar): + (WebCore::SVGTextContentElement::getEndPositionOfChar): + (WebCore::SVGTextContentElement::getExtentOfChar): + (WebCore::SVGTextContentElement::getRotationOfChar): + (WebCore::SVGTextContentElement::getCharNumAtPosition): + (WebCore::SVGTextContentElement::selectSubString): + * ksvg2/svg/SVGTextContentElement.h: + * rendering/SVGInlineTextBox.h: + +2007-11-15 Adele Peterson <adele@apple.com> + + Reviewed by Oliver. + + Fix for <rdar://problem/5566652> CrashTracer: [USER] 3 crashes in Safari at HTMLSelectElement::menuListDefaultEventHandler (reproducible on mactc30.com) + + Test: fast/forms/menulist-no-renderer-onmousedown.html + + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::defaultEventHandler): Nil check the renderer here. None of the default behavior makes sense if there's no renderer. + (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Moved the nil check to the main defaultEventHandler. + +2007-11-15 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Fix <rdar://problem/5601598> + The movie tag should do initialization on need and not during startup. + + Initialize Movie MIME type hash on demand + + * platform/MIMETypeRegistry.cpp: + (WebCore::initialiseSupportedMovieMIMETypes): + (WebCore::initialiseMIMETypeRegistry): + (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType): + (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes): + +2007-11-15 Mark Rowe <mrowe@apple.com> + + Build fix for Qt on Windows. + + * xml/XPathStep.cpp: + (WebCore::XPath::Step::nodesInAxis): + +2007-11-15 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + Bug 14761: Web Inspector leaks JS objects and DOM nodes + http://bugs.webkit.org/show_bug.cgi?id=14761 + + * page/InspectorController.cpp: + (WebCore::InspectorController::~InspectorController): + Change the tear down order so that inspectorDestroyed() is called before + InspectorController private data is set to Zero. The inspectorDestroyed() + call ends up closing the WebView and triggering InspectorController::close() + which unprotects m_scriptObject. This didn't happen when the private data + was cleared before calling inspectorDestroyed(). + +2007-11-15 Mark Rowe <mrowe@apple.com> + + Gtk build fix. + + * WebCore.pro: + +2007-11-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15989 + XPath queries with predicates incorrectly retains the current node across unions + + Test: fast/xpath/union-context-node.xhtml + + * xml/XPathPath.cpp: + (WebCore::XPath::LocationPath::evaluate): Restore context after evaluation. + * xml/XPathStep.cpp: + (WebCore::XPath::Step::evaluate): Do not backup context, as we can easily re-create it. + +2007-11-15 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15988 + REGRESSION: XPath preceding-axis query misses nested elements + + Test: fast/xpath/preceding-axis.xhtml + + * xml/XPathStep.cpp: + (WebCore::XPath::Step::nodesInAxis): Hopefully correct this time. + +2007-11-15 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe and Sam. + + This corrects a couple of issues in the Web Inspector where selected search results + would not have the right text color when the window is inactive or the results are focused. + + * page/inspector/inspector.css: + +2007-11-15 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam. + + Bug 16007: REGRESSION: Disclosure triangle click zone for resource categories is off by 10 pixels + http://bugs.webkit.org/show_bug.cgi?id=16007 + + Makes the click width an option on TreeElement and make ResourceCategoryTreeElement + a true subclass of TreeElement. The click width for ResourceCategoryTreeElement is + 20 pixels, and the default is 10 pixels. + + * page/inspector/ResourceCategory.js: + * page/inspector/treeoutline.js: + +2007-11-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + Pass a VoidCallback to Database::transaction and Database::changeVersion. + This is not yet hooked up to the database machinery. + + * WebCore.vcproj/WebCore.vcproj: + * bindings/js/JSDatabaseCustom.cpp: + (WebCore::JSDatabase::changeVersion): + (WebCore::JSDatabase::transaction): + * storage/Database.cpp: + (WebCore::Database::changeVersion): + (WebCore::Database::transaction): + * storage/Database.h: + +2007-11-15 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Bug 16005: Hovering in the breadcrumbs causes jumpy behavior + http://bugs.webkit.org/show_bug.cgi?id=16005 + + Hovering over cumbs no longer exposes new crumbs. Clicking on a collapsed + crumb will expose as many hidden crumbs as possible to the user. Also crumbs + that have ID attributes will compact to the ID over the tag name. + + * page/inspector/DocumentPanel.js: + +2007-11-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Make the VoidCallback DOM interface behave more like our other DOM interfaces. + + * bindings/js/JSCustomVoidCallback.h: Added. + * bindings/js/JSCustomVoidCallback.cpp: Added. + (WebCore::JSCustomVoidCallback::JSCustomVoidCallback): + (WebCore::JSCustomVoidCallback::handleEvent): + VoidCallback implementation that wraps a JS object. + + (WebCore::toVoidCallback): + New method that creates a VoidCallback implementation given a JS object. + + * bindings/scripts/CodeGeneratorJS.pm: + Specify that VoidCallback can fail conversion and add a custom conversion function. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::movieCuePointReached): + Call handleEvent on the callback. + + (WebCore::HTMLMediaElement::removeCuePoint): + Comment out parts of this method, it has already been removed in the HTML5 spec and it relies + on overriding VoidCallback equality. + + * html/VoidCallback.cpp: Removed. + + * html/VoidCallback.h: + (WebCore::VoidCallback::VoidCallback): + (WebCore::VoidCallback::~VoidCallback): + Make this an abstract class with a pure virtual handleEvent method. + +2007-11-15 Adam Roben <aroben@apple.com> + + Fix <rdar://5485108> Type-select while a <select> menu is open doesn't work + + There were two things broken here: + - WebView now requires a WM_CHAR message to be sent before it will + create a keyboard event with a charCode, but we were only sending + a WM_KEYDOWN event. + - The popup menu was not updating its focused index when the + <select> element's selectedIndex changed. + + Reviewed by Adele. + + * platform/win/PopupMenuWin.cpp: + (WebCore::PopupMenu::updateFromElement): Update the focused index from + the client's selected index. + (WebCore::PopupWndProc): When we receive a WM_CHAR message for a + printable character, manufacture a WM_KEYDOWN message for it and post + both that and the current WM_CHAR message to the WebView. + +2007-11-15 Brady Eidson <beidson@apple.com> + + Build fix + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::fullPathForDatabase): + (WebCore::DatabaseTracker::databaseNamesForOrigin): + +2007-11-15 Brady Eidson <beidson@apple.com> + + Reviewed by John and Sam + + Stubbing out everything required for a WebKit API for databases + + Biggest change in WebCore is that we passed around SecurityOriginData as the representation + of a SecurityOrigin, instead of a String or a SecurityOrigin itself (which is an opaque object + that has a different purpose besides just hanging on to the data) + + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + + * platform/SecurityOrigin.cpp: + * platform/SecurityOrigin.h: + * platform/SecurityOriginData.h: Added. Simple object to encapsulate the 3 + pieces of data in the SecurityOrigin tuple + (WebCore::SecurityOriginData::SecurityOriginData): + (WebCore::SecurityOriginData::protocol): + (WebCore::SecurityOriginData::host): + (WebCore::SecurityOriginData::port): + (WebCore::SecurityOriginData::toString): Simple concatenation of the 3 components, + colon separated + + * storage/Database.cpp: + (WebCore::Database::Database): Use SecurityOriginData instead + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::fullPathForDatabase): + (WebCore::DatabaseTracker::databaseNamesForOrigin): + (WebCore::DatabaseTracker::deleteDatabasesWithOrigin): + (WebCore::DatabaseTracker::deleteDatabase): + * storage/DatabaseTracker.h: + + * storage/DatabaseTrackerClient.h: Added. For dispatching notifications up to WebKit + (WebCore::DatabaseTrackerClient::~DatabaseTrackerClient):2007-11-15 Jon Honeycutt <jhoneycutt@apple.com> + +2007-11-15 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + NP_ASFILEONLY streams should not buffer data in m_deliveryData. + + * plugins/win/PluginStreamWin.cpp: + (WebCore::PluginStreamWin::didReceiveData): + +2007-11-15 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Adele Peterson. + + <rdar://problem/5497643> Crash at Node::isDescendantOf when switching out of Edit HTML Source mode + + A textarea that contained the selection was removed but the selection wasn't cleared, + and we'd crash in code that assumed a valid, in-document selection. + + * editing/SelectionController.cpp: + (WebCore::removingNodeRemovesPosition): Clear the selection if the node being removed is the + shadowAncestorNode of the node that contains the position, not just if the node being removed + contains that shadowAncestorNode. + +2007-11-15 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Maciej. + + Fix logic error: calculateGlyphBoundaries takes RTL text into account itself, no need to adjust offsets before. + + * rendering/SVGInlineTextBox.cpp: + (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): + (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): + +2007-11-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + <rdar://problem/5562470> + openDatabase does not work when the version string is empty + + If the string is empty, pass a real empty string to sqlite3_bind_text16. + + * platform/sql/SQLiteStatement.cpp: + (WebCore::SQLiteStatement::bindText): + +2007-11-15 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + Get rid of SQLiteStatement::bindText and rename bindText16 to bindText. + Remove the copy parameter from bindText and bindBlob and always copy passed in data instead. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): + (WebCore::IconDatabase::removePageURLFromSQLDatabase): + (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase): + (WebCore::IconDatabase::addIconURLToSQLDatabase): + (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): + (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): + * platform/sql/SQLiteStatement.cpp: + (WebCore::SQLiteStatement::prepare): + * platform/sql/SQLiteStatement.h: + * storage/Database.cpp: + (WebCore::setTextValueInDatabase): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::fullPathForDatabase): + (WebCore::DatabaseTracker::databaseNamesForOrigin): + (WebCore::DatabaseTracker::addDatabase): + +2007-11-14 Brady Eidson <beidson@apple.com> + + Rubberstamped by Sam + + * platform/SecurityOrigin.h: Lets make this an unsigned short and *not* rule out half the possible ports? + +2007-11-14 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Justin Garcia. + + http://bugs.webkit.org/show_bug.cgi?id=15781 + REGRESSION: Ligatures fail to form when typing in Devanagari (because WebKit can't handle + a marked range that covers half of a composed character sequence) + + Test: platform/mac/editing/input/devanagari-ligature.html + + This fix is somewhat of a hack, as it asks editing commands to work with invalid selections. + However, this is not entirely new for them, as Roman accents are typed in a similar manner. + + In the future, we probably want to make commands work with ranges (or Positions explicitly). + + * editing/Editor.cpp: + (WebCore::Editor::selectComposition): Force selection to composition range. + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::input): Force ending selection to inserted text range. + +2007-11-14 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for <rdar://problem/5540855> REGRESSION: Combination of client- + side image map and <a> tag is not working properly (15522) + + * html/HTMLMapElement.cpp: + (WebCore::HTMLMapElement::checkDTD): Allow <map> to have both block + and inline children rather than just block children. This matches + Firefox. + +2007-11-14 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Alexey Proskuryakov. + + <rdar://problem/5546763> CrashTracer: [USER] 362 crashes at WebCore::DeleteSelectionCommand::mergeParagraphs + + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + Removed an irrelevant FIXME. + (WebCore::DeleteSelectionCommand::mergeParagraphs): If the block that contained the end of the selection + hasn't been removed but has been emptied by deletion, we would to try and fail to create a VisiblePosition + inside that block, which could lead to a crash. If that happens, there's no content in the block to move, + so just remove the block and return. + Preserve m_needPlaceholder during the call to moveParagraphs, since it may change it and since it does + its own placeholder insertion when necessary. + (WebCore::DeleteSelectionCommand::doApply): No need to check m_needPlaceholder before calling mergeParagraphs, + because it handles preserving m_needPlaceholder when it calls moveParagraphs. + +2007-11-14 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Bug 14380: Long DOM ancestry breadcrumb lists get cut off + http://bugs.webkit.org/show_bug.cgi?id=14380 + + The breadcumbs will now be compacted and collapsed if there isn't enough room + to show everything. The collapsing algorithm always affects the crumbs that + are farthest away from the selected or hovered crumb first. + + * page/inspector/DocumentPanel.js: + * page/inspector/inspector.css: + +2007-11-14 Anders Carlsson <andersca@apple.com> + + Use the correct include path. + + * platform/Cursor.h: + * plugins/win/PluginPackageWin.h: + * plugins/win/PluginStreamWin.h: + +2007-11-13 Brady Eidson <beidson@apple.com> + + Reviewed by Adam + + http://bugs.webkit.org/show_bug.cgi?id=15976 - ASSERT/crash when SQLTransactionCallback throws an exception + + * storage/SQLTransaction.cpp: + (WebCore::SQLTransaction::deliverTransactionCallback): Make a transaction error for the case where the + SQLTransactionCallback fails + (WebCore::SQLTransaction::deliverTransactionErrorCallback): Don't assert on the error callback, but null check it + and make the commit/rollback decision accordingly + +2007-11-13 Oliver Hunt <oliver@apple.com> + + Reviewed by Anders. + + <rdar://problem/5365030> calling dataWithPDFInsideRect on an SVG with a gradient crashes (14780) + + When drawing directly to PDF CG may delay the use of the gradient function until outside our + standard drawing path, which in turn could let us invalidate the caches before they were used. + + To work around this we now store the cached stops in a RefCounted object, so that we can ensure + that cache exists as long as required. + + * platform/graphics/svg/SVGPaintServerGradient.cpp: + (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): + * platform/graphics/svg/SVGPaintServerGradient.h: + * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: + (WebCore::cgGradientCallback): + (WebCore::CGShadingRefForLinearGradient): + (WebCore::CGShadingRefForRadialGradient): + (WebCore::SVGPaintServerGradient::updateQuartzGradientStopsCache): + +2007-11-13 Anders Carlsson <andersca@apple.com> + + Fix Windows build. + + * platform/Cursor.h: + * plugins/win/PluginPackageWin.h: + * plugins/win/PluginStreamWin.h: + +2007-11-13 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Anders Carlsson. + + Renamed Shared to RefCounted. + + * ForwardingHeaders/wtf/RefCounted.h: Copied from WebCore/ForwardingHeaders/wtf/Shared.h. + * ForwardingHeaders/wtf/Shared.h: Removed. + * bindings/js/JSSVGPODTypeWrapper.h: + * css/CSSFontFace.h: + * css/CSSRuleList.h: + * css/Counter.h: + * css/Pair.h: + * css/Rect.h: + * css/StyleBase.h: + * css/StyleSheetList.h: + * dom/Attribute.h: + * dom/Clipboard.h: + * dom/DOMImplementation.h: + * dom/Event.h: + * dom/EventListener.h: + * dom/NamedNodeMap.h: + * dom/NodeFilter.h: + * dom/NodeFilterCondition.h: + * dom/NodeList.h: + * dom/QualifiedName.h: + * dom/Range.h: + * dom/RangeException.h: + * dom/RegisteredEventListener.h: + * dom/Traversal.h: + * editing/EditCommand.h: + * history/BackForwardList.h: + * history/CachedPage.h: + * history/HistoryItem.cpp: + (WebCore::HistoryItem::HistoryItem): + * history/HistoryItem.h: + * html/CanvasGradient.h: + * html/CanvasPattern.h: + * html/CanvasRenderingContext2D.h: + * html/CanvasStyle.h: + * html/HTMLCollection.h: + * html/MediaError.h: + * html/TimeRanges.h: + * html/VoidCallback.h: + * ksvg2/css/SVGRenderStyle.cpp: + (WebCore::SVGRenderStyle::SVGRenderStyle): + * ksvg2/css/SVGRenderStyle.h: + * ksvg2/css/SVGRenderStyleDefs.cpp: + (StyleFillData::StyleFillData): + (StyleStrokeData::StyleStrokeData): + (StyleStopData::StyleStopData): + (StyleTextData::StyleTextData): + (StyleClipData::StyleClipData): + (StyleMaskData::StyleMaskData): + (StyleMarkerData::StyleMarkerData): + (StyleMiscData::StyleMiscData): + * ksvg2/css/SVGRenderStyleDefs.h: + * ksvg2/svg/SVGAngle.cpp: + (WebCore::SVGAngle::SVGAngle): + * ksvg2/svg/SVGAngle.h: + * ksvg2/svg/SVGAnimatedTemplate.h: + * ksvg2/svg/SVGElementInstanceList.h: + * ksvg2/svg/SVGException.h: + * ksvg2/svg/SVGList.h: + * ksvg2/svg/SVGPathSeg.h: + * ksvg2/svg/SVGPreserveAspectRatio.cpp: + (WebCore::SVGPreserveAspectRatio::SVGPreserveAspectRatio): + * ksvg2/svg/SVGPreserveAspectRatio.h: + * ksvg2/svg/SVGRenderingIntent.h: + * ksvg2/svg/SVGTransform.h: + * ksvg2/svg/SVGUnitTypes.h: + * loader/DocumentLoader.h: + * loader/FormState.h: + * loader/ResourceLoader.h: + * loader/TextResourceDecoder.h: + * loader/icon/IconRecord.h: + * page/BarInfo.h: + * page/Console.h: + * page/DOMSelection.h: + * page/DOMWindow.h: + * page/Frame.h: + * page/History.h: + * page/InspectorController.cpp: + * page/Plugin.h: + * page/Screen.h: + * platform/ArrayImpl.h: + * platform/CString.h: + * platform/Cursor.h: + * platform/DeprecatedValueListImpl.cpp: + (WebCore::DeprecatedValueListImpl::Private::Private): + * platform/FileChooser.h: + * platform/FontFallbackList.h: + * platform/FontFamily.cpp: + (WebCore::FontFamily::FontFamily): + * platform/FontFamily.h: + * platform/FontSelector.h: + * platform/GlyphPageTreeNode.h: + * platform/PopupMenu.h: + * platform/RegularExpression.cpp: + * platform/ScrollBar.h: + * platform/SharedBuffer.h: + * platform/StringImpl.h: + * platform/graphics/Icon.h: + * platform/graphics/svg/SVGResource.h: + * platform/network/FormData.cpp: + (WebCore::FormData::FormData): + * platform/network/FormData.h: + * platform/network/ResourceHandle.h: + * platform/network/ResourceHandleClient.h: + * rendering/RenderStyle.cpp: + (WebCore::StyleSurroundData::StyleSurroundData): + (WebCore::StyleBoxData::StyleBoxData): + (WebCore::StyleVisualData::StyleVisualData): + (WebCore::StyleBackgroundData::StyleBackgroundData): + (WebCore::StyleMarqueeData::StyleMarqueeData): + (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData): + (WebCore::StyleMultiColData::StyleMultiColData): + (WebCore::StyleTransformData::StyleTransformData): + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareInheritedData::StyleRareInheritedData): + (WebCore::StyleInheritedData::StyleInheritedData): + * rendering/RenderStyle.h: + * rendering/SVGCharacterLayoutInfo.h: + (WebCore::SVGCharOnPath::SVGCharOnPath): + * storage/SQLResultSetRowList.h: + * xml/DOMParser.h: + * xml/XMLHttpRequest.h: + * xml/XMLSerializer.h: + * xml/XPathEvaluator.h: + * xml/XPathExpression.h: + * xml/XPathNSResolver.h: + * xml/XPathResult.h: + * xml/XPathValue.h: + * xml/XSLTProcessor.h: + +2007-11-13 Brady Eidson <beidson@apple.com> + + Reviewed by Mark Rowe + + Remove errantly added files, and fix the idl (for reference's sake) + + * storage/JSCustomSQLStatementCallback.h: Removed. + * storage/JSCustomSQLStatementErrorCallback.h: Removed. + * storage/JSCustomSQLTransactionCallback.h: Removed. + * storage/JSCustomSQLTransactionErrorCallback.h: Removed. + * storage/SQLStatementCallback.idl: + +2007-11-13 Adam Roben <aroben@apple.com> + + Fix a bug and improve upon Brady's fix + + Reviewed by Anders. + + * bindings/js/JSSQLTransactionCustom.cpp: + (WebCore::JSSQLTransaction::executeSql): Made the code a little + clearer and more correct. + * loader/icon/IconDatabase.cpp: Put parentheses around the expansion + of IS_ICON_SYNC_THREAD() so that ASSERT_NOT_SYNC_THREAD() does the + comparison it meant to. + +2007-11-13 Sam Weinig <sam@webkit.org> + + Fix Qt and Gtk builds. + + * WebCore.pro: Remove non-generated idl files. + +2007-11-13 Mark Rowe <mrowe@apple.com> + + Remove removed file from the project. + + * WebCore.pro: + +2007-11-13 Brady Eidson <beidson@apple.com> + + Release build fix + + * bindings/js/JSSQLTransactionCustom.cpp: + (WebCore::JSSQLTransaction::executeSql): + +2007-11-13 Adam Roben <aroben@apple.com> + + Add WindowMessageBroadcaster + + This class is used to listen in on messages sent to HWNDs. Multiple + WindowMessageListeners can be notified about messages sent to a single + HWND, and one WindowMessageListener can listen to messages from + multiple HWNDs. + + Reviewed by Ada. + + * WebCore.vcproj/WebCore.vcproj: Added new files to project. + * platform/win/WindowMessageBroadcaster.cpp: Added. + (WebCore::instancesMap): Static helper. + (WebCore::WindowMessageBroadcaster::addListener): Registers a listener + for a particular HWND. + (WebCore::WindowMessageBroadcaster::removeListener): Removes a + listener for a particular HWND. + (WebCore::WindowMessageBroadcaster::WindowMessageBroadcaster): + (WebCore::WindowMessageBroadcaster::~WindowMessageBroadcaster): + (WebCore::WindowMessageBroadcaster::destroy): Removes this broadcaster + from the instancesMap, removes all of its listeners, unsubclasses the + window, and deletes the broadcaster. + (WebCore::WindowMessageBroadcaster::unsubclassWindow): Unsubclasses + the window (which means that SubclassedWndProc won't be called again + for this window). + (WebCore::WindowMessageBroadcaster::SubclassedWndProc): Notifies all + the listeners about every message sent to the HWND + * platform/win/WindowMessageBroadcaster.h: Added. + (WebCore::WindowMessageBroadcaster::listeners): + (WebCore::WindowMessageBroadcaster::originalWndProc): + * platform/win/WindowMessageListener.h: Added. + +2007-11-13 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Sam Weinig. + + Moved Shared.h into wtf so it could be used in more places. Retained + TreeShared, but moved it to its own file, TreeShared.h. + + * ForwardingHeaders/wtf/Shared.h: Added. + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSSVGPODTypeWrapper.h: + * css/CSSFontFace.h: + * css/CSSRuleList.h: + * css/Counter.h: + * css/Pair.h: + * css/Rect.h: + * css/StyleBase.h: + * css/StyleSheetList.h: + * dom/Clipboard.h: + * dom/DOMImplementation.h: + * dom/Event.h: + * dom/EventListener.h: + * dom/NamedNodeMap.h: + * dom/NodeFilterCondition.h: + * dom/NodeList.h: + * dom/Range.h: + * dom/RangeException.h: + * dom/RegisteredEventListener.h: + * dom/Traversal.h: + * history/BackForwardList.h: + * history/CachedPage.h: + * history/HistoryItem.h: + * html/CanvasGradient.h: + * html/CanvasPattern.h: + * html/HTMLCollection.h: + * html/MediaError.h: + * html/TimeRanges.h: + * html/VoidCallback.h: + * ksvg2/css/SVGRenderStyleDefs.h: + * ksvg2/svg/SVGAnimatedTemplate.h: + * ksvg2/svg/SVGElementInstanceList.h: + * ksvg2/svg/SVGList.h: + * ksvg2/svg/SVGPathSeg.h: + * ksvg2/svg/SVGPreserveAspectRatio.h: + * ksvg2/svg/SVGRenderingIntent.h: + * ksvg2/svg/SVGTransform.h: + * ksvg2/svg/SVGUnitTypes.h: + * loader/DocumentLoader.h: + * loader/FormState.h: + * loader/ResourceLoader.h: + * loader/TextResourceDecoder.h: + * loader/icon/IconRecord.h: + * page/BarInfo.h: + * page/Console.h: + * page/DOMSelection.h: + * page/DOMWindow.h: + * page/History.h: + * page/InspectorController.cpp: + * page/Plugin.h: + * page/Screen.h: + * platform/ArrayImpl.h: + * platform/CString.h: + * platform/DeprecatedValueListImpl.cpp: + * platform/FontFallbackList.h: + * platform/FontFamily.h: + * platform/FontSelector.h: + * platform/GlyphPageTreeNode.h: + * platform/PopupMenu.h: + * platform/RegularExpression.cpp: + * platform/ScrollBar.h: + * platform/Shared.h: Removed. + * platform/SharedBuffer.h: + * platform/StringImpl.h: + * platform/graphics/Icon.h: + * platform/graphics/svg/SVGResource.h: + * platform/network/FormData.h: + * platform/network/ResourceHandleClient.h: + * rendering/RenderStyle.h: + * rendering/SVGCharacterLayoutInfo.h: + * storage/SQLResultSetRowList.h: + * xml/DOMParser.h: + * xml/XMLSerializer.h: + * xml/XPathEvaluator.h: + * xml/XPathExpression.h: + * xml/XPathNSResolver.h: + * xml/XPathResult.h: + +2007-11-13 Brady Eidson <beidson@apple.com> + + JS bindings by Anders, reviewed by Brady + WebCore changes by Brady, reviewed by Anders and Tim + + Adapt to the new iteration of the HTML5 client-side storage spec. + + Based largely on implementation feedback we generated in landing our first version of this API and also + on the input of others in the community, the database spec went through a large overhaul that addresses + many concerns. Amongst other changes/improvements: + - SQLTransaction object is added and all transactions are explicit. In addition, since the API manages + transactions explicitly, transaction-related language in SQL statements is disallowed + - executeSql() is now on a transaction object instead of the database object. + - Database.changeVersion() now takes place within the context of a transaction. Therefore the version + change can be atomic along with the statements that modify the DB schema + + Most of the logic now takes place during the "transaction steps," which the specification clearly lays out + as a chain of events on the SQLTransaction object where processing is handed off between being processed + asynchronously and calling back up to javascript. To accomplish this voodoo, SQLTransaction has a series of + methods that roughly match up with the "transaction steps" and it keeps a pointer to the next step. + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + + * bindings/js/JSDatabaseCustom.cpp: + (WebCore::JSDatabase::changeVersion): Adapt to the new API + (WebCore::JSDatabase::transaction): Added + + * bindings/js/JSSQLTransactionCustom.cpp: Added. + (WebCore::JSSQLTransaction::executeSql): Added + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::openDatabase): Add the new arguments + * page/DOMWindow.h: + * page/DOMWindow.idl: + + * page/inspector/DatabasePanel.js: Use the new API + + * storage/ChangeVersionWrapper.cpp: Added. Implementation of "SQLTransactionWrapper" that enforces + changing the version of the database + (WebCore::ChangeVersionWrapper::ChangeVersionWrapper): + (WebCore::ChangeVersionWrapper::performPreflight): + (WebCore::ChangeVersionWrapper::performPostflight): + * storage/ChangeVersionWrapper.h: Added. + (WebCore::ChangeVersionWrapper::sqlError): + + * storage/Database.cpp: Removed the "main thread" and "background thread" sqlite handles as all sqlite operations can now + happen solely on the background thread - most of these changes result from that change + (WebCore::Database::Database): Removed an obsolete FIXME + (WebCore::Database::openAndVerifyVersion): + (WebCore::Database::getVersionFromDatabase): + (WebCore::Database::setVersionInDatabase): + (WebCore::Database::versionMatchesExpected): Atomically guarantee that the current version and expected version are the same + (WebCore::Database::performOpenAndVerify): + (WebCore::Database::performTransactionStep): Added, as a hook for the DatabaseTransactionTask on the DatabaseThread + (WebCore::Database::changeVersion): Changed for the new API from JS + (WebCore::Database::transaction): Added, for the new API from JS + (WebCore::Database::scheduleTransaction): Add a transaction to this Database's transaction queue + (WebCore::Database::scheduleTransactionStep): Schedule the current transaction to be called on the background thread + (WebCore::Database::scheduleTransactionCallback): Schedule the current transaction to perform a callback on the main thread + (WebCore::Database::performGetTableNames): + (WebCore::Database::deliverAllPendingCallbacks): + (WebCore::Database::deliverPendingCallback): + (WebCore::Database::setExpectedVersion): + * storage/Database.h: + * storage/Database.idl: + + * storage/DatabaseTask.cpp: Changed DatabaseTask to create a mutex on demand, and use the existence of that mutex + to replace the m_synchronous flag + (WebCore::DatabaseTask::performTask): + (WebCore::DatabaseTask::lockForSynchronousScheduling): + (WebCore::DatabaseTask::waitForSynchronousCompletion): + (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): + * storage/DatabaseTask.h: + + * storage/SQLError.h: New API object + + * storage/SQLResultSet.cpp: + (WebCore::SQLResultSet::SQLResultSet): Small changes to the API object + * storage/SQLResultSet.h: + * storage/SQLResultSet.idl: + + * storage/SQLStatement.cpp: Added. + (WebCore::SQLStatement::SQLStatement): + (WebCore::SQLStatement::execute): Actually execute the sql statement on the SQLiteDatabase if it's still valid + (WebCore::SQLStatement::setVersionMismatchedError): Flag this statement as bad before it even starts in case + of an actual version vs. expected version mismatch + (WebCore::SQLStatement::performCallback): Call the right callback (SQLStatement or SQLStatementError) for this statement + * storage/SQLStatement.h: Added. + (WebCore::SQLStatement::hasStatementCallback): + (WebCore::SQLStatement::hasStatementErrorCallback): + (WebCore::SQLStatement::sqlError): Get the error for this statement, if any + + * storage/SQLTransaction.cpp: Added. + (WebCore::SQLTransaction::SQLTransaction): + (WebCore::SQLTransaction::executeSQL): Entry point for the API from JS + (WebCore::SQLTransaction::enqueueStatement): Add a new statement onto the queue + (WebCore::SQLTransaction::performNextStep): Call the method for the next step + (WebCore::SQLTransaction::performPendingCallback): Call the method for the pending callback + (WebCore::SQLTransaction::openTransactionAndPreflight): Open a transaction to the database and preflight + using the SQLTransactionWrapper, if any + (WebCore::SQLTransaction::deliverTransactionCallback): Deliver the transaction callback to the javascript thread + (WebCore::SQLTransaction::scheduleToRunStatements): Convinience to schedule this transaction on the database thread + and make runStatements() the next step + (WebCore::SQLTransaction::runStatements): Start running the sql statements queued up for this transaction + (WebCore::SQLTransaction::getNextStatement): Bring the next statement off the queue + (WebCore::SQLTransaction::runCurrentStatement): Execute the current statement + (WebCore::SQLTransaction::deliverStatementCallback): Deliver the SQLStatementCallback for this statement + (WebCore::SQLTransaction::postflightAndCommit): Postflight the transaction using SQLTransactionWrapper and commit it + (WebCore::SQLTransaction::handleTransactionError): Make the right call for any error that occurred on the Transaction + (WebCore::SQLTransaction::deliverTransactionErrorCallback): Deliver the SQLTransactionErrorCallback + (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): Either do a final commit or rollback to cleanup the + transaction after it error'ed out + * storage/SQLTransaction.h: + (WebCore::SQLTransactionWrapper::~SQLTransactionWrapper): + (WebCore::SQLTransaction::database): + * storage/SQLTransaction.idl: + + The following were made obsolete by the new version of the API: + * bindings/js/JSCustomSQLCallback.cpp: Removed. + * bindings/js/JSCustomSQLCallback.h: Removed. + * bindings/js/JSCustomVersionChangeCallback.cpp: Removed. + * bindings/js/JSCustomVersionChangeCallback.h: Removed. + * storage/DatabaseCallback.cpp: Removed. + * storage/DatabaseCallback.h: Removed. + * storage/SQLCallback.h: Removed. + * storage/SQLCallback.idl: Removed. + * storage/VersionChangeCallback.h: Removed. + * storage/VersionChangeCallback.idl: Removed. + +2007-11-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + - fix <rdar://problem/5551163> REGRESSION: Cursor does not change to arrow on "X" button in google maps, making it hard to click + + * css/html4.css: Added a 'cursor: auto' rule for links. + * manual-tests/link-cursor-auto.html: Added. + +2007-11-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + - fix <rdar://problem/5516272> Reproducible crash in RenderObject::setStyle involving going Back from a non-HTML document (Bookmarks view, PDF view) + + The root cause for the crash is that when a non-HTML view enters the + frame, the frame's document pointer keeps pointing at the last HTML-type + document it contained. This patch does not address the root cause, but + makes changes to account for that condition. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::receivedMainResourceError): Do not change the + frame's current document's page cache state here. + (WebCore::FrameLoader::invalidateCurrentItemCachedPage): If the frame's + current document is in fact the history item being invalidated, then + set its page cache state here. + +2007-11-12 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Fix that 'timeupdate' and 'waiting' events were never dispatched. + + Add explicit m_paused attribute instead of trying to derive paused state from + underlying media. Call updatePlayState() to start/stop media playback + when any attribute that affects active playback state changes. This matches + specification text. + + Test: http/tests/media/video-play-stall.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::paused): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + (WebCore::HTMLMediaElement::checkIfSeekNeeded): + (WebCore::HTMLMediaElement::movieDidEnd): + (WebCore::HTMLMediaElement::updatePlayState): + * html/HTMLMediaElement.h: + +2007-11-13 John Sullivan <sullivan@apple.com> + + Reviewed by Darin. + + removed recently-added PreferredType concept; we found a better way to do what + ths was accomplishing + + * bridge/WindowFeatures.h: + (WebCore::WindowFeatures::WindowFeatures): + removed definition of PreferredType + + * page/ContextMenuController.cpp: + (WebCore::openNewWindow): + removed use of PreferredType + +2007-11-12 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15954 + Move DOM Selection operations out of SelectionController + + No change in functionality. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelectedRange): + * editing/SelectionController.h: + * page/DOMSelection.cpp: + (WebCore::DOMSelection::anchorNode): + (WebCore::DOMSelection::baseNode): + (WebCore::DOMSelection::anchorOffset): + (WebCore::DOMSelection::baseOffset): + (WebCore::DOMSelection::focusNode): + (WebCore::DOMSelection::extentNode): + (WebCore::DOMSelection::focusOffset): + (WebCore::DOMSelection::extentOffset): + (WebCore::DOMSelection::isCollapsed): + (WebCore::DOMSelection::type): + (WebCore::DOMSelection::rangeCount): + (WebCore::DOMSelection::collapse): + (WebCore::DOMSelection::collapseToEnd): + (WebCore::DOMSelection::collapseToStart): + (WebCore::DOMSelection::empty): + (WebCore::DOMSelection::setBaseAndExtent): + (WebCore::DOMSelection::setPosition): + (WebCore::DOMSelection::modify): + (WebCore::DOMSelection::extend): + (WebCore::DOMSelection::getRangeAt): + (WebCore::DOMSelection::removeAllRanges): + (WebCore::DOMSelection::addRange): + (WebCore::DOMSelection::deleteFromDocument): + (WebCore::DOMSelection::containsNode): + (WebCore::DOMSelection::selectAllChildren): + (WebCore::DOMSelection::toString): + * page/DOMSelection.h: + Moved all DOM API methods to DOMSelection; changed SelectionController::setSelectedRange() + to return its result directly instead of via an ExceptionCode that no caller wanted. + + * editing/Editor.cpp: + (WebCore::Editor::deleteRange): + (WebCore::Editor::removeFormattingAndStyle): + (WebCore::Editor::selectComposition): + (WebCore::Editor::setComposition): + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): + Adapted for SelectionController::setSelectedRange() now returning a bool. + SelectionController::toString() is no longer avasilable, use plainText() explicitly. + + * WebCore.base.exp: Changed SelectionController::setSelectedRange() signature. + +2007-11-12 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - <http://bugs.webkit.org/show_bug.cgi?id=15890> + Most of www.aol.com still redraws unnecessarily when headline/photo section changes + + Test: fast/repaint/invisible-objects.html + + Avoid repainting invisible blocks if they are enclosed in a layer that + contains no visible objects. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::absoluteClippedOverflowRect): + +2007-11-12 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + Prevent selecting a word in the breadcrumb or the styles section when double + clicking on a DOM node in the outline tree. + + * page/inspector/DocumentPanel.js: Call preventDefault() when a mousedown event + with a detail of 2 or higher comes in. This prevents the selection. + * page/inspector/inspector.css: Mark the breadcrumb as user-select: none. + +2007-11-12 Oliver Hunt <oliver@apple.com> + + Reviewed by John S. + + <rdar://problem/5537289> REGRESSION: Dragging a link or an image from an IFrame causes the page to not respond to clicks afterwards (15460) + + EventHandler needs to reset these fields when a drag terminates, otherwise + EventHandler is left in an inconsistent state when a drag is initiated on a + page with multiple frames. + + * page/EventHandler.cpp: + (WebCore::EventHandler::cancelDragAndDrop): + (WebCore::EventHandler::performDragAndDrop): + (WebCore::EventHandler::clearDragState): + * page/EventHandler.h: + +2007-11-12 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin and Antti. + + Return behaviour for 0 sized pattern back to what it was prior to r27704 + + This change in behaviour broke two layout tests in DRT, so correcting it + corrects existing tests. + + * platform/graphics/cg/ImageBufferCG.cpp: + +2007-11-12 Timothy Hatcher <timothy@apple.com> + + Reviewed by John. + + <rdar://problem/5268311> REGRESSION (Safari 2-3): Exception thrown when calling -[WebDataSource subresources] + + * page/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]): + If the SharedBuffer is null insert an empty NSData instead of nil. + +2007-11-12 Darin Adler <darin@apple.com> + + Reviewed by Tim. + + - http://bugs.webkit.org/show_bug.cgi?id=15947 + speed up page loading a bit by inlining + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::isLocationChange): + Factored out the slow case of isScheduledLocationChangePending into this. + + * loader/FrameLoader.h: + (WebCore::FrameLoader::isScheduledLocationChangePending): Added an + inline check of the far and away most common case, where m_scheduledRedirection + is 0; the rest is in the isLocationChange function. + +2007-11-12 George Staikos <staikos@kde.org> + + Reviewed by Tim. + + Extract the text match marker highlight color into RenderTheme instead + of the hardcoded yellow. + + * rendering/InlineTextBox.cpp: + (WebCore::InlineTextBox::paintTextMatchMarker): + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::platformTextSearchHighlightColor): + * rendering/RenderTheme.h: + +2007-11-12 Mark Rowe <mrowe@apple.com> + + Fix deadlock on launch on the Mac. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::open): Restore unlock that was mistakenly removed in r27717. + +2007-11-12 Justin Haygood <jhaygood@reaktix.com> + + Reviewed by Brady. + + http://bugs.webkit.org/show_bug.cgi?id=15955 + Reimplement threading functions in IconDatabase and SQLiteDatabase in terms of the threading abstractions + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::open): + (WebCore::IconDatabase::close): + * loader/icon/IconDatabase.h: + * platform/sql/SQLiteDatabase.cpp: + (WebCore::SQLiteDatabase::SQLiteDatabase): + (WebCore::SQLiteDatabase::open): + (WebCore::SQLiteDatabase::close): + * platform/sql/SQLiteDatabase.h: + +2007-11-12 Adam Roben <aroben@apple.com> + + Windows build fix + + * config.h: Touch because VS apparently can't figure out which files + depend on ResourceResponse.h. + * WebCore.vcproj/WebCore.vcproj: Add ResourceResponseBase files to + project and remove old ResourceResponse files. + +2007-11-12 Julien Chaffraix <julien.chaffraix@gmail.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15334 + Split ResourceResponse into platform specific files + + * WebCore.base.exp: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/network/ResourceResponse.cpp: Removed. + * platform/network/ResourceResponse.h: Removed. + * platform/network/ResourceResponseBase.cpp: Copied from platform/network/ResourceResponse.cpp. + (WebCore::ResourceResponseBase::asResourceResponse): + (WebCore::ResourceResponseBase::isHTTP): + (WebCore::ResourceResponseBase::url): + (WebCore::ResourceResponseBase::setUrl): + (WebCore::ResourceResponseBase::mimeType): + (WebCore::ResourceResponseBase::setMimeType): + (WebCore::ResourceResponseBase::expectedContentLength): + (WebCore::ResourceResponseBase::setExpectedContentLength): + (WebCore::ResourceResponseBase::textEncodingName): + (WebCore::ResourceResponseBase::setTextEncodingName): + (WebCore::ResourceResponseBase::suggestedFilename): + (WebCore::ResourceResponseBase::setSuggestedFilename): + (WebCore::ResourceResponseBase::httpStatusCode): + (WebCore::ResourceResponseBase::setHTTPStatusCode): + (WebCore::ResourceResponseBase::httpStatusText): + (WebCore::ResourceResponseBase::setHTTPStatusText): + (WebCore::ResourceResponseBase::httpHeaderField): + (WebCore::ResourceResponseBase::setHTTPHeaderField): + (WebCore::ResourceResponseBase::httpHeaderFields): + (WebCore::ResourceResponseBase::isAttachment): + (WebCore::ResourceResponseBase::setExpirationDate): + (WebCore::ResourceResponseBase::expirationDate): + (WebCore::ResourceResponseBase::setLastModifiedDate): + (WebCore::ResourceResponseBase::lastModifiedDate): + (WebCore::ResourceResponseBase::updateResourceResponse): + * platform/network/ResourceResponseBase.h: Copied from platform/network/ResourceResponse.h. + (WebCore::ResourceResponseBase::ResourceResponseBase): + * platform/network/cf/ResourceResponse.h: Added. + (WebCore::ResourceResponse::ResourceResponse): + * platform/network/curl/ResourceResponse.h: Added. + (WebCore::ResourceResponse::ResourceResponse): + (WebCore::ResourceResponse::doUpdateResourceResponse): + * platform/network/mac/ResourceResponse.h: Added. + (WebCore::ResourceResponse::ResourceResponse): + * platform/network/qt/ResourceResponse.h: Added. + (WebCore::ResourceResponse::ResourceResponse): + (WebCore::ResourceResponse::doUpdateResourceResponse): + +2007-11-11 Justin Haygood <jhaygood@reaktix.com> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=15939 + Adds a currentThread API for use by SQLiteDatabase, etc. + + * platform/Threading.h: + * platform/ThreadingNone.cpp: + (WebCore::currentThread): + * platform/gtk/ThreadingGtk.cpp: + (WebCore::identifierByGthreadHandle): + (WebCore::): + * platform/pthreads/ThreadingPthreads.cpp: + (WebCore::identifierByPthreadHandle): + (WebCore::currentThread): + +2007-11-11 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15942 + REGRESSION: Selecting "Edit Html" tab in Blogger causes crash (Assertion failed: isRange()) + + Test: editing/selection/cleared-by-relayout.html + + * editing/Selection.cpp: + (WebCore::Selection::toRange): Check if the selection has been cleared + by updating layout. + +2007-11-11 Darin Adler <darin@apple.com> + + Reviewed by Mark Rowe. + + - fix line numbers that were off since my recent patch + + * platform/SegmentedString.h: + (WebCore::SegmentedSubstring::SegmentedSubstring): Reversed the sense of m_excludeLineNumbers + and rename it to m_doNotExcludeLineNumbers. + (WebCore::SegmentedSubstring::excludeLineNumbers): Updated. + (WebCore::SegmentedSubstring::doNotExcludeLineNumbers): Added. + (WebCore::SegmentedSubstring::setExcludeLineNumbers): Updated. + (WebCore::SegmentedString::advance): Use doNotExcludeLineNumbers to reverse the sense and fix + the regression, but keep the speediness. I accidentally had removed a ! here. + + * platform/SegmentedString.cpp: + (WebCore::SegmentedString::advanceSlowCase): Use doNotExcludeLineNumbers. + +2007-11-11 Oliver Hunt <oliver@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5585334> numfuzz: integer overflows opening + malformed SVG file in WebCore::ImageBuffer::create. Add protection + against a potential overflow. + + * platform/graphics/cg/ImageBufferCG.cpp: + +2007-11-11 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + Fix a bunch of cases where the exception code is checked by the function but is not zeroed first. + + * bindings/js/kjs_binding.cpp: + (KJS::setDOMException): + * dom/Attr.cpp: + (WebCore::Attr::setPrefix): + * dom/Document.cpp: + (WebCore::Document::createElement): + * dom/Element.cpp: + (WebCore::Element::setPrefix): + * dom/Range.cpp: + (WebCore::Range::setStart): + (WebCore::Range::setEnd): + (WebCore::Range::isPointInRange): + (WebCore::Range::comparePoint): + (WebCore::Range::compareBoundaryPoints): + (WebCore::Range::deleteContents): + (WebCore::Range::processContents): + (WebCore::Range::extractContents): + (WebCore::Range::insertNode): + (WebCore::Range::setStartAfter): + (WebCore::Range::setEndBefore): + (WebCore::Range::setEndAfter): + (WebCore::Range::selectNode): + (WebCore::Range::surroundContents): + (WebCore::Range::setStartBefore): + * editing/TextIterator.cpp: + (WebCore::TextIterator::TextIterator): + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::createPattern): + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + * html/HTMLSelectElement.cpp: + (WebCore::HTMLSelectElement::add): + (WebCore::HTMLSelectElement::setOption): + * xml/XPathEvaluator.cpp: + (WebCore::XPathEvaluator::evaluate): + +2007-11-11 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - http://bugs.webkit.org/show_bug.cgi?id=15945 + speed up GraphicsContextCG typical case by skipping roundToDevicePixels + + * platform/graphics/cg/GraphicsContextCG.cpp: + (WebCore::GraphicsContext::restorePlatformState): Clear the flag since we no + longer know if the transform is identity or not. + (WebCore::GraphicsContext::strokeArc): Removed an extra set of redundant + CGContextSave/RestoreGState. + (WebCore::GraphicsContext::beginTransparencyLayer): Clear the flag since we no + longer know if the transform is identity or not. + (WebCore::GraphicsContext::endTransparencyLayer): Ditto. + (WebCore::GraphicsContext::scale): Ditto. + (WebCore::GraphicsContext::rotate): Ditto. + (WebCore::GraphicsContext::translate): Ditto. + (WebCore::GraphicsContext::concatCTM): Ditto. + (WebCore::GraphicsContext::roundToDevicePixels): Return quickly if the transform + is known to be identity, and record that fact when we discover it otherwise. + + * platform/graphics/cg/GraphicsContextPlatformPrivate.h: + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + Added a m_userToDeviceTransformKnownToBeIdentity flag, initialized to false. + +2007-11-11 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - http://bugs.webkit.org/show_bug.cgi?id=15944 + streamline SegmentedString to speed up parsing + + I measured a speed-up of the page load test while developing this patch. I don't + have a precise figure, though. + + * html/HTMLTokenizer.h: Removed unneeded lineNumberPtr() function. Also renamed + lineno to m_lineNumber. + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::processListing): Don't pass 0 to the advance function + since we don't want to update a line number. + (WebCore::HTMLTokenizer::parseSpecial): Ditto. + (WebCore::HTMLTokenizer::parseComment): Pass the line number data member directly + instead of lineNumberPtr() since the advance function now takes a reference. + (WebCore::HTMLTokenizer::parseServer): Ditto. + (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. + (WebCore::HTMLTokenizer::parseText): Ditto. + (WebCore::HTMLTokenizer::parseEntity): Ditto. + (WebCore::HTMLTokenizer::parseTag): Ditto. + (WebCore::HTMLTokenizer::write): Ditto. + + * loader/FTPDirectoryDocument.cpp: (WebCore::FTPDirectoryTokenizer::write): + * loader/TextDocument.cpp: (WebCore::TextTokenizer::write): + Don't pass 0 to the advance function. + + * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Streamlined + the most common case, and pushed less common cases into a separate function + that is not inlined. Also got rid of a branch by separating the case with a + line number from the case without one. + + * platform/SegmentedString.cpp: (WebCore::SegmentedString::advanceSlowCase): + Added. The aforementioned less common cases are here. + +2007-11-11 Antti Koivisto <antti@apple.com> + + Forgot to do this review change (and test HTTP commit). + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::play): + +2007-11-11 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + - Update play() and pause() to match current HTML5 draft + - send events asynchronously + - add timeupdate event to pause + - rethrow load() exception, not others + - Use list for async events to get ordering right + + Tests: media/video-pause-empty-events.html + media/video-play-empty-events.html + media/video-play-pause-events.html + media/video-play-pause-exception.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::dispatchEventAsync): + (WebCore::HTMLMediaElement::asyncEventTimerFired): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + * html/HTMLMediaElement.h: + +2007-11-11 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=6424 (<text>, <tspan> dominant-baseline attribute is not respected) + + Add (basic) support for dominant-baseline / alignment-baseline text properties. + Note: there are no official testcases, and no-one implemented it before. Only ASV3 + supported dominant-baseline, but not correct it seems. + + * rendering/SVGRootInlineBox.cpp: + (WebCore::dominantBaselineToShift): + (WebCore::alignmentBaselineToShift): + (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): + +2007-11-11 Adam Roben <aroben@apple.com> + + Add wrappers around CoCreateInstance to COMPtr + + I followed the example of the Query constructor and query method by + adding a Create constructor and create method. + + Reviewed by Darin. + + * platform/win/COMPtr.h: + (COMPtr::COMPtr): Added a new constructor that calls + CoCreateInstance. + (COMPtr::create): Added. + (COMPtr::createInstance): Added. + +2007-11-11 Alexey Proskuryakov <ap@nypop.com> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15896 + More editing cleanup + + No functionality changes. + + * dom/Node.h: Moved several editing-related methods elsewhere. + * dom/Node.cpp: (WebCore::Node::maxCharacterOffset): Renamed from maxOffset() + to highlight that it is a match to offsetInCharacters(), and much different from other + offset-related methods. Added ASSERT_NOT_REACHED(), as callers are supposed to check + offsetInCharacters() before calling this. + + * dom/CharacterData.cpp: (WebCore::CharacterData::maxCharacterOffset): + * dom/CharacterData.h: (WebCore::CharacterData::isCharacterDataNode): + Updated for above renamings. + + * dom/Comment.{h,cpp}: Removed an override for offsetInCharacters(), which is already present in CharacterData. + + * dom/Document.{h,cpp}: Folded updateSelection() into Frame::selectionLayoutChanged(). + + * dom/Position.h: + * dom/Position.cpp: + (WebCore::Position::uncheckedPreviousOffset): Moved from Node::previousOffset(). + (WebCore::Position::uncheckedNextOffset): Moved from Node::NextOffset(). + (WebCore::Position::previous): Adapted to the above move. + (WebCore::Position::next): Ditto. + (WebCore::Position::upstream): Removed an isBR() check, since a non-BR element cannot have a BR renderer (I think), + and BR elements are covered by editingIgnoresContent(). + (WebCore::Position::downstream): Ditto. + (WebCore::caretMaxRenderedOffset): Moved from Node::caretMaxRenderedOffset(). + (WebCore::Position::rendersInDifferentPosition): Updated for the above moves. + + * dom/PositionIterator.h: Added a comment describing this class from the original check-in. + * dom/PositionIterator.cpp: + (WebCore::PositionIterator::increment): Updated for the above moves. + (WebCore::PositionIterator::decrement): Ditto. + + * dom/ProcessingInstruction.h: + * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::maxCharacterOffset): + ProcessingInstruction was already returning true from offsetInCharacters(), but didn't override maxCharacterOffset(). + I think that implementing it has no actual effect, as PIs are not rendered, but it looks cleaner this way. + + * dom/Range.cpp: + (WebCore::Range::selectNodeContents): + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): + (WebCore::ApplyStyleCommand::applyInlineStyle): + (WebCore::maxRangeOffset): + (WebCore::ApplyStyleCommand::removeInlineStyle): + (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded): + (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded): + (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded): + (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded): + (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): + * editing/CompositeEditCommand.cpp: + (WebCore::CompositeEditCommand::insertNodeAt): + (WebCore::CompositeEditCommand::positionOutsideTabSpan): + * editing/DeleteSelectionCommand.cpp: + (WebCore::DeleteSelectionCommand::handleGeneralDelete): + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::doApply): + * editing/InsertParagraphSeparatorCommand.cpp: + (WebCore::InsertParagraphSeparatorCommand::doApply): + * editing/InsertTextCommand.cpp: + (WebCore::InsertTextCommand::insertTab): + * editing/visible_units.cpp: + (WebCore::previousLinePosition): + (WebCore::nextLinePosition): + Updated for the above moves. + + * editing/Editor.cpp: + (WebCore::Editor::advanceToNextMisspelling): Added a missing rangeCompliantEquivalent() call. + + * editing/TextIterator.cpp: + (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Changed the condition to obviously + match a maxCharacterOffset() call made after it; hopefully, this doesn't break any border cases. + (WebCore::SimplifiedBackwardsTextIterator::advance): Updated for the above moves. + + * editing/htmlediting.h: + * editing/htmlediting.cpp: + (WebCore::canHaveChildrenForEditing): Removed a bogus comment: I don't thin BRs have a special ability to accept + child nodes, other than via DOM manipulation, which is not specific to BRs. + (WebCore::rangeCompliantEquivalent): Removed a check for BR, which is already covered by editingIgnoresContent(). + (WebCore::maxDeepOffset): Ditto. + (WebCore::caretMinOffset): Moved from Node. Changed some runtime checks that seemingly cannot fail into assertions. + (WebCore::caretMaxOffset): Ditto. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEventSingleClick): Pass 0 to VisiblePosition constructor instead of + caretMinOffset. I didn't want to include htmlediting.h here, and I think that VisiblePosition constructor + will take care of adjusting the offset. + + * page/Frame.cpp: (WebCore::Frame::selectionLayoutChanged): Folded Document::updateSelection() here. + * page/mac/WebCoreFrameBridge.mm: + (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]): Added missing rangeCompliantEquivalent() calls. + * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForRenderer): Changed to not round-trip via editing. + Changed some runtime checks that seemingly cannot fail into assertions. + +2007-11-11 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - updated for JSRegExp function changes + + * platform/RegularExpression.cpp: + (WebCore::RegularExpression::Private::compile): + (WebCore::RegularExpression::match): + +2007-11-10 Mark Rowe <mrowe@apple.com> + + Qt Linux build fix. + + * platform/UnicodeRange.h: + +2007-11-10 Mark Rowe <mrowe@apple.com> + + Qt Windows build fix. + + * platform/UnicodeRange.h: + +2007-11-10 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support) + Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off) + + Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto') + Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes) + + * WebCore.pro: Add platform/UnicodeRange.cpp to build + * WebCore.xcodeproj/project.pbxproj: Dito. + * rendering/SVGCharacterLayoutInfo.cpp: Respect orientationShiftX/Y & angle in characterTransform() + (WebCore::SVGChar::characterTransform): + * rendering/SVGCharacterLayoutInfo.h: New variables. + (WebCore::SVGCharOnPath::SVGCharOnPath): + (WebCore::SVGChar::SVGChar): + * rendering/SVGRootInlineBox.cpp: Added glyph-orientation-* handling. + (WebCore::glyphOrientationToAngle): + (WebCore::glyphOrientationIsMultiplyOf180Degrees): + (WebCore::calculateGlyphAdvanceAndShiftRespectingOrientation): + (WebCore::cummulatedHeightOfInlineBoxCharacterRange): + (WebCore::cummulatedWidthOrHeightOfTextChunk): + (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): + +2007-11-10 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam Weinig. + + * page/inspector/StylesSidebarPane.js: Fix the wording of a comment + and switch over to use getUniqueProperties in another place. + +2007-11-10 John Sullivan <sullivan@apple.com> + + Reviewed by Sam Weinig + + Rest of fix for 5394877 + + * bindings/js/kjs_window.cpp: + (KJS::Window::isSafeScript): + Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in + private browsing mode either. + +2007-11-10 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Fix function name difference - header said 'unicodeRangeForCharacter', actually + implemented function is 'findCharUnicodeRange'. They are not compiled yet. + + * platform/UnicodeRange.h: + +2007-11-10 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link + + No test because context menu events cannot be tested in DumpRenderTree. + + * page/EventHandler.cpp: + (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added. + If the click occurred in an active link, selects the entire link + element. Otherwise selects the closest word. + (WebCore::EventHandler::sendContextMenuEvent): Call + selectClosestWordOrLinkFromMouseEvent(). + * page/EventHandler.h: + +2007-11-10 John Sullivan <sullivan@apple.com> + + Reviewed by Tim Hatcher + + - fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when + in private browsing mode (only an issue if Log JavaScript Exceptions is turned on) + + * bindings/js/kjs_window.cpp: + (KJS::Window::isSafeScript): + Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode + +2007-11-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15922 + Implement more of Mozilla Selection API + + Tests: editing/selection/containsNode.html + editing/selection/deleteFromDocument.html + editing/selection/extend.html + editing/selection/selectAllChildren.html + + * editing/SelectionController.cpp: + (WebCore::SelectionController::deleteFromDocument): + (WebCore::SelectionController::containsNode): + (WebCore::SelectionController::selectAllChildren): + (WebCore::SelectionController::extend): + * editing/SelectionController.h: + Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(), + which existed, but didn't match Firefox behavior and wasn't exposed via bindings. + Removed a comment mentioning removeRange(), as this method makes no sense without multiple + selection range support. + + * page/DOMSelection.cpp: + (WebCore::DOMSelection::extend): + (WebCore::DOMSelection::deleteFromDocument): + (WebCore::DOMSelection::containsNode): + (WebCore::DOMSelection::selectAllChildren): + * page/DOMSelection.h: + * page/DOMSelection.idl: + Exposed the new methods. + +2007-11-10 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15892 + DOM Range operations are not implemented for ProcessingInstruction nodes + + Test: fast/dom/Range/range-processing-instructions.html + + * dom/Range.cpp: + (WebCore::Range::processContents): Implemented ProcessingInstruction cases. + (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed + to use ProcessingInstruction.data. + +2007-11-09 Timothy Hatcher <timothy@apple.com> + + Reviewed by Mark Rowe. + + Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector + http://bugs.webkit.org/show_bug.cgi?id=12054 + + - Add support code for routing copy events to the focused element. + - Implement copying the currently selected DOM node. The node + and it's subtree is copied to the clipboard. If the node has no + outerHTML, the nodeValue is copied (text nodes, etc.) + - Implement copy for the resource sidebar. The URL is copied for the + currently selected resource. + + * page/inspector/DocumentPanel.js: + * page/inspector/inspector.js: + +2007-11-09 Antti Koivisto <antti@apple.com> + + Reviewed by Adele. + + Fix occasional blank video with poster attribute. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::didRestoreFromCache): + Just calling updateFromElement() does the right thing for both poster image and video. + +2007-11-04 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + <rdar://problem/5435940> + The COM bindings for the DOM should be autogenerated like the other DOM bindings + + Initial commit of the autogeneration of the COM DOM Bindings. No behavior change + is being introduced in this patch and to insure that no conflicts arise, a temporary + prefix of "GEN_" has been used for all the new classes. + + The build architecture for these bindings differs slightly from the other autogenerated + bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as + is done for the Objective-C bindigs currently), the IDLs and generation scripts are + migrated to WebKit and built there. This is done with a series of scripts and Makefiles. + + This commit includes: + - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation + and ref-counting. + - Generating all of the Core DOM and most of HTML and CSS + - Generating Event, EventTarget, and EventListener + + * WebCore.vcproj/MigrateIDLAndScripts.make: Added. + * WebCore.vcproj/WebCore.vcproj: + * WebCore.vcproj/migrate-idls.sh: Added. + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorCOM.pm: Added. + * dom/EventListener.h: Make the isWindowEvent parameter default to false + to allow autogeneration based on the IDL. + +2007-11-09 Tristan O'Tierney <tristan@apple.com> + + Reviewed by Timothy Hatcher. + + This patch is for the WebKit side of <rdar://problem/5591115>. + We need a way to tell context menu navigations, such as "Open in New Window" + to override any sort of browser preference for tab based navigation. + + * bridge/WindowFeatures.h: + (WebCore::WindowFeatures::WindowFeatures): + Added a new struct member var, preferredType + and an accompanying enum type PreferredType + to send a window type recommendation up to the Chrome. + + * page/ContextMenuController.cpp: + (WebCore::openNewWindow): + Set the window features to recommend a new Window for + "Open in New Window" context menu action. + +2007-11-08 Adam Roben <aroben@apple.com> + + Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick + + We now match the behavior of Firefox and IE, which is to always just + send a click event to the focused button when the Enter key is pressed + (previously we were submitting forms directly in some cases). + + Reviewed by Adele. + + Test: fast/forms/enter-clicks-buttons.html + + * html/HTMLButtonElement.cpp: + (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything + fancy when Enter is pressed on a <button type=button> -- just send a + click event like we do for other button types. + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button + the same way we treat type=submit and type=reset: just send a click + event when Enter is pressed. + +2007-11-09 Dan Bernstein <mitz@apple.com> + + Reviewed by Antti Koivisto. + + - fix a bug in invisible layer culling: dynamically changing a + descendant of an invisible layer to be visible did not work + + Test: fast/layers/layer-content-visibility-change.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::setHasVisibleContent): If we got visible content, + make sure that our stacking context rebuilds its z-order lists to + include us. + +2007-11-09 David Hyatt <hyatt@apple.com> + + Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two + args can be lengths or numbers or percents. + + Reviewed by Beth + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSParser.cpp: + (WebCore::TransformOperationInfo::TransformOperationInfo): + (WebCore::CSSParser::parseTransform): + * rendering/RenderStyle.h: + (WebCore::MatrixTransformOperation::apply): + +2007-11-09 Beth Dakin <bdakin@apple.com> + + Reviewed by Oliver. + + Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix + math leads to crazy problems + + Transform matrices accept the first four parameters as CSS lengths. + CSS lengths get mapped into WebCore::Lengths as percents by + WebCore::convertToLength(). Percent lengths cannot call value(). It + does not yield a correct result and it asserts on Debug builds. + + * rendering/RenderStyle.h: + (WebCore::MatrixTransformOperation::apply): Instead of calling + value() on the lengths, call calcValue. This fixes the assert and + the bad rendering. + +2007-11-09 Simon Hausmann <hausmann@kde.org> + + build/link fix for Qt/Windows. + + userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't + define it twice. + + * platform/qt/TemporaryLinkStubs.cpp: + +2007-11-09 Simon Hausmann <hausmann@kde.org> + + Reviewed by Holger. + + Fix ContextMenu allocation in the Qt port. + + Store all items and submenus value based in ContextMenu and ContextMenuItem. + That fixes the crashes when the context menu was populated with sub-menus because + of the use of temporary ContextMenu objects like this: + + ContextMenu subMenu(...); + subMenu.appendItem(...); + subMenu.appendItem(...); + + subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents + + * platform/ContextMenu.h: + * platform/ContextMenuItem.h: + * platform/PlatformMenuDescription.h: + * platform/qt/ContextMenuItemQt.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::platformSubMenu): + * platform/qt/ContextMenuQt.cpp: + (WebCore::ContextMenu::ContextMenu): + (WebCore::ContextMenu::~ContextMenu): + (WebCore::ContextMenu::appendItem): + (WebCore::ContextMenu::itemCount): + +2007-11-09 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=15909 + Malformed GIFs should not result in memory corruption. + + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::haveDecodedRow): + +2007-11-08 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam Weinig. + + Some Web Inspector CSS editing changes. + - Only delete the property if all the text is delete or the new user input correctly parses. + This prevents deleting the existing property if the new text is invalid. + - Intercept the Escape key and cancel editing, not saving any changes. + + * page/inspector/StylesSidebarPane.js: + +2007-11-08 Kevin Ollivier <kevino@theolliviers.com> + + Bakefiles for building WebCore, needed by wx port. + + Reviewed by Mark Rowe. + + * WebCoreSources.bkl: Added. + * webcore-base.bkl: Added. + * webcore-wx.bkl: Added. + +2007-11-08 Justin Haygood <jhaygood@reaktix.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=15905 + + Fix builds with HTML 5 Storage support disabled. + ENABLE(DATABASE) needs to be added in a few places. + + * page/InspectorController.cpp: + * storage/Database.h: + +2007-11-08 Steve Falkenburg <sfalken@apple.com> + + <rdar://problem/5524082> Allow images to be dragged out directly into other apps + + We weren't including CF_HDROP in our image drops. This broke drag of + images out of the browser window directly into other apps (examples + include notepad, mspaint, msword). + + Reviewed by Oliver, Ada. + + * platform/win/ClipboardWin.cpp: + (WebCore::createGlobalImageFileContent): Removed unused variable. + (WebCore::createGlobalHDropContent): Added + (WebCore::writeFileToDataObject): Write HDROP data if available. + (WebCore::writeImageToDataObject): Write HDROP for dragged images. + (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs. + +2007-11-08 Xan Lopez <xan@gnome.org> + + Reviewed by Alp. + + http://bugs.webkit.org/show_bug.cgi?id=15908 + Use g_object_ref_sink when available + + * platform/gtk/PopupMenuGtk.cpp: + (WebCore::PopupMenu::show): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::setGtkAdjustments): + +2007-11-08 Dan Bernstein <mitz@apple.com> + + Reviewed by Beth Dakin. + + - fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely + + Test: fast/dom/length-attribute-mapping.html + + * dom/StyledElement.cpp: + (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping + logic to stop after the first "%" or "*" in the string. This allows for + "100%25" to be mapped to "100%" like it is in Firefox and WinIE. + +2007-11-08 Kevin McCullough <kmccullough@apple.com> + + - Build fix. + + * loader/FrameLoaderClient.h: + * platform/graphics/svg/SVGImageEmptyClients.h: + (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared): + +2007-11-08 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Sam. + + - windowObjectCleared() is no longer const. It needs to setup the + script debugger and cannot be const to do so. + + * loader/FrameLoaderClient.h: + * platform/graphics/svg/SVGImageEmptyClients.h: + (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared): + +2007-11-08 Adam Roben <aroben@apple.com> + + Hopeful Windows build fix + + * rendering/RenderObject.cpp: Touch this file to make it recompile. + +2007-11-08 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + Convert JavaScript internal function objects to use one class per + function. This avoids a switch statement inside what used to be + the shared function classes and will allow Shark to better analyze + the code. + + To make this switch, the value property of the HashEntry was changed + to a union of an intptr_t (which is used to continue handle valueGetters) + and function pointer which points to a static constructor for the + individual new function objects. + + SunSpider claims this is a 1.0% speedup. + + - On the WebCore side, I updated CodeGeneratorJS.pm to generate the + new classes and hand updated the remain non-generated (groan) classes. + + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::customGetOwnPropertySlot): + * bindings/js/JSEventTargetNode.cpp: + (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction): + (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction): + (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction): + * bindings/js/JSEventTargetNode.h: + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction): + (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): + * bindings/js/JSHTMLInputElementBase.h: + (WebCore::JSHTMLInputElementBase::): + * bindings/js/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction): + (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction): + * bindings/js/JSXMLHttpRequest.h: + (KJS::JSXMLHttpRequest::impl): + * bindings/js/JSXSLTProcessor.cpp: + (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction): + (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction): + (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction): + (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction): + (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction): + (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction): + (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction): + (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction): + * bindings/js/JSXSLTProcessor.h: + * bindings/js/kjs_events.cpp: + (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction): + (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction): + (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction): + (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction): + * bindings/js/kjs_events.h: + * bindings/js/kjs_navigator.cpp: + (KJS::Plugins::): + (KJS::Navigator::getOwnPropertySlot): + (KJS::Plugins::getOwnPropertySlot): + (KJS::PluginsFunctionRefresh::callAsFunction): + (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction): + * bindings/js/kjs_navigator.h: + (KJS::Navigator::): + * bindings/js/kjs_window.cpp: + (KJS::Window::getOwnPropertySlot): + (KJS::Window::put): + (KJS::WindowProtoFuncAToB::callAsFunction): + (KJS::WindowProtoFuncBToA::callAsFunction): + (KJS::WindowProtoFuncOpen::callAsFunction): + (KJS::WindowProtoFuncScrollBy::callAsFunction): + (KJS::WindowProtoFuncScrollTo::callAsFunction): + (KJS::WindowProtoFuncMoveBy::callAsFunction): + (KJS::WindowProtoFuncMoveTo::callAsFunction): + (KJS::WindowProtoFuncResizeBy::callAsFunction): + (KJS::WindowProtoFuncResizeTo::callAsFunction): + (KJS::WindowProtoFuncSetTimeout::callAsFunction): + (KJS::WindowProtoFuncClearTimeout::callAsFunction): + (KJS::WindowProtoFuncSetInterval::callAsFunction): + (KJS::WindowProtoFuncAddEventListener::callAsFunction): + (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): + (KJS::WindowProtoFuncShowModalDialog::callAsFunction): + (KJS::WindowProtoFuncNotImplemented::callAsFunction): + (KJS::Location::getOwnPropertySlot): + (KJS::Location::put): + (KJS::LocationProtoFuncReplace::callAsFunction): + (KJS::LocationProtoFuncReload::callAsFunction): + (KJS::LocationProtoFuncAssign::callAsFunction): + (KJS::LocationProtoFuncToString::callAsFunction): + * bindings/js/kjs_window.h: + (KJS::Window::): + * bindings/scripts/CodeGeneratorJS.pm: + +2007-11-08 Mark Rowe <mrowe@apple.com> + + Fix the Gtk, Qt and Wx builds. + + * platform/gtk/TemporaryLinkStubs.cpp: + * platform/qt/TemporaryLinkStubs.cpp: + * platform/wx/TemporaryLinkStubs.cpp: + +2007-11-08 Mark Rowe <mrowe@apple.com> + + Not reviewed. Fix two instances of includes using the wrong case in the filename. + + * platform/graphics/mac/MoviePrivateQTKit.mm: + * platform/wx/MimeTypeRegistryWx.cpp: + +2007-11-08 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - fix <rdar://problem/5552943> accesskey does not focus <button> elements + + Test: fast/forms/access-key.html + + * html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction): + Added a call to focus. + +2007-11-07 Darin Adler <darin@apple.com> + + Reviewed by Steve. + + - cut down on notImplemented() functions on Windows + + * bridge/AXObjectCache.h: Put #if around the accessibility + global. + + * bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles): + Moved here from TemporaryLinkStubs. + + * dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented + using the ResourceResponse that's now available from the DocumentLoader. + + * editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on + the Editor instead of the obsolete one on the Frame. + + * loader/DocumentLoader.h: Removed getResponseModifiedHeader. + * loader/FrameLoader.h: Removed overrideMediaType. + + * loader/gtk/DocumentLoaderGtk.cpp: Removed. + * loader/mac/DocumentLoaderMac.mm: Removed. + * loader/qt/DocumentLoaderQt.cpp: Removed. + + * page/Frame.cpp: Removed transpose. + * page/Frame.h: Ditto. + * page/FrameView.h: Removed updateBorder. + * page/gtk/FrameGtk.cpp: Removed issueTransposeCommand. + * page/mac/FrameMac.mm: Ditto. + * page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and + overrideMediaType. + * page/qt/FrameQt.cpp: Removed issueTransposeCommand. + + * platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled. + * platform/qt/TemporaryLinkStubs.cpp: Ditto. + * platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs. + * platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled, + issueTransposeCommand, and overrideMediaType. + + * platform/network/cf/ResourceHandleCFNet.cpp: + (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs. + (WebCore::ResourceHandle::willLoadFromCache): Ditto. + * platform/win/GraphicsContextWin.cpp: + (WebCore::GraphicsContextPlatformPrivate::clip): Ditto. + * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto. + * platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto. + * platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto. + + * WebCore.pro: Updated for removed files. + * WebCore.xcodeproj/project.pbxproj: Updated for removed file. + +2007-11-08 Mark Rowe <mrowe@apple.com> + + Build fix for case-sensitive file systems. Fix case of file names + in #include's. + + * html/HTMLMediaElement.cpp: + * platform/graphics/Movie.cpp: + +2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Remove some warnings about not implemented methods. + + * ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are + specific to the NS API and won't be implemented on Qt. + * ResourceHandle::bufferedData can not be reached as we return false in + ResourceHandle::supportsBufferedData. + + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::supportsBufferedData): + +2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Cleanup checking for the request method. + + * Check the request method only in QWebNetworkManager::add. + * Currently HEAD, GET, POST are allowed and for everything else + QWebNetworkManager::add returns false. + * Returning false is compatible with ResourceHandle::start and it + can be used in ResourceHandle::loadResourceSynchronously to generate + a ResourceError + + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::start): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Implement WebCore::callOnMainThread + + Implemented using a global QObject, that is moved to the main thread + and then sending a custom event to it. + Picked a number below QEvent::User but above any other documented value. + + + * platform/qt/ThreadingQt.cpp: + (WebCore::PerformFunctionEvent::PerformFunctionEvent): + (WebCore::MainThreadInvoker::MainThreadInvoker): + (WebCore::MainThreadInvoker::event): + (WebCore::callOnMainThread): + +2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Avoid problems with calling QPainter::begin() on an already active paintdevice + + * Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting + crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw. + * If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar + used by the ScrollView on a layout triggered by QWebPage::paintEvent. + + + * platform/qt/WidgetQt.cpp: + (WebCore::Widget::invalidateRect): + +2007-11-08 Eric Seidel <eric@webkit.org> + + No review. + + * ksvg2/svg/SVGPathElement.h: remove old comment + +2007-11-07 Antti Koivisto <antti@apple.com> + + Reviewed by Ollie. + + Ensure video renderer has correct size if video has already been loaded + when it is constructed. + + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::RenderVideo): + +2007-11-07 Antti Koivisto <antti@apple.com> + + Reviewed by Ollie. + + Ensure video is visible when it should be. + + * rendering/RenderVideo.cpp: + (WebCore::RenderVideo::updateMovie): + +2007-11-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips' + + Layers and listboxes are two kinds of ScrollBarClient that can be + removed while the scrollbar is tracking the mouse. The scrollbar is not + destroyed until later, and meanwhile it can try to call the client, + which results in a crash. + + * manual-tests/stale-scrollbar-client-crash.html: Added. + * platform/ScrollBar.h: + (WebCore::Scrollbar::setClient): Added. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient(). + * rendering/RenderListBox.cpp: + (WebCore::RenderListBox::~RenderListBox): Ditto. + +2007-11-07 Adam Roben <aroben@apple.com> + + Fix <rdar://5569268> Crash when opening any FTP site in second tab/window + + Reviewed by Sam. + + No test possible. + + * platform/win/SharedBufferWin.cpp: + (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an + empty path, because _wfopen_s will crash if we pass it a null pointer. + +2007-11-07 David Kilzer <ddkilzer@apple.com> + + WebKit confuses width/height for Media Queries device-aspect-ratio evaluation + <http://bugs.webkit.org/show_bug.cgi?id=14893> + <rdar://problem/5380295> + + Reviewed by Darin. + + Tests: fast/css/device-aspect-ratio.html + fast/css/max-device-aspect-ratio.html + fast/css/min-device-aspect-ratio.html + + * css/MediaQueryEvaluator.cpp: + (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v. + (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from + a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix + the bug. + +2007-11-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15887 + REGRESSION (r27576): Crash in RenderStyle::affectedByHoverRules clicking link on Digg + + Test: fast/css/display-none-inline-style-change-crash.html + + * dom/Element.cpp: + (WebCore::Element::recalcStyle): Fixed the crash by null-checking + the current style and removed other checks that are not strictly + necessary. + +2007-11-07 Brady Eidson <beidson@apple.com> + + Rubberstamped by Sam + + Remove FrameLoaderClient methods from SVG that were pruned awhile ago + + * platform/graphics/svg/SVGImageEmptyClients.h: + +2007-11-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix a bug where CSS rules with :hover in the ancestor chain stopped + working after changing the inline style declaration of the ancestor + + Test: fast/css/affected-by-hover-after-style-change.html + + * dom/Element.cpp: + (WebCore::Element::recalcStyle): If we are not forcing style + recalculation for all descendants, preserve any "affected by + {hover|active|drag} bits that we may have acquired from them. + Also renamed _style to currentStyle. + +2007-11-06 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Bug 11920: Web Inspector should have Firebug-like CSS editing + http://bugs.webkit.org/show_bug.cgi?id=11920 + + * css/CSSComputedStyleDeclaration.h: + (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why + this was true, but computed style has no concept of implicit. So false makes more sense + and makes the code simpler in the inspector. This function was added for the inspector, + so this isn't a compatibility change. + * page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status. + * page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for + style editing. + * page/inspector/inspector.css: Style changes for propery editing and focus correctness. + * page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before + trying to call a function based on the element's id. Call focused and blurred on the focused + element when currentFocusElement is changed. Use the new listItemElement getter instead of + the private property. + * page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented. + Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call + to allow generation of the title using the DOM element. Add listItemElement and + childrenListElement getters. + * page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration. + * page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private + property. Also expand the DOM node on double click now that the TreeOutline dosen't do it. + * page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters + instead of the private properties. + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Alexey Proskuryakov. + + Coding style fix, don't use inline explicitly. + + * bridge/WindowFeatures.h: + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Maciej. + + For safety provide a default constructor for WindowFeatures(). + ContextMenuController.cpp: createNewWindow as well as QWebPage need to + create a default initialized WindowFeatures object on the fly. + + * bridge/WindowFeatures.h: + (WebCore::WindowFeatures::WindowFeatures): + +2007-11-07 Simon Hausmann <shausman@trolltech.com> + + Reviewed by Lars. + + Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool. + + * WebCore.pro: + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway. + + * platform/graphics/qt/ImageQt.cpp: + (loadResourcePixmap): + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static. + + * platform/graphics/qt/ImageQt.cpp: + (loadResourcePixmap): + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store + QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created + in ContextMenu::populate(). + For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu + out of it. That menu is currently not functional anymore though. + + * platform/ContextMenu.h: + * platform/ContextMenuItem.h: + (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): + * platform/PlatformMenuDescription.h: + * platform/qt/ContextMenuItemQt.cpp: + (WebCore::ContextMenuItem::ContextMenuItem): + (WebCore::ContextMenuItem::type): + (WebCore::ContextMenuItem::setType): + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::setAction): + (WebCore::ContextMenuItem::title): + (WebCore::ContextMenuItem::setTitle): + (WebCore::ContextMenuItem::platformSubMenu): + (WebCore::ContextMenuItem::setSubMenu): + (WebCore::ContextMenuItem::setChecked): + (WebCore::ContextMenuItem::setEnabled): + * platform/qt/ContextMenuQt.cpp: + (WebCore::ContextMenu::ContextMenu): + (WebCore::ContextMenu::~ContextMenu): + (WebCore::ContextMenu::appendItem): + (WebCore::ContextMenu::itemCount): + (WebCore::ContextMenu::insertItem): + (WebCore::ContextMenu::setPlatformDescription): + (WebCore::ContextMenu::platformDescription): + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away + but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu). + Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec() + on it. + + * platform/qt/ContextMenuQt.cpp: + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent. + Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent. + + * platform/PlatformMouseEvent.h: + * platform/qt/PlatformMouseEventQt.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + +2007-11-07 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + don't put nbsp's into the plan text paste + + Fix both ClipboardQt and PasteboardQt to replace + nbsp's with spaces before putting the text onto the + native clipboard. This is consistent with Mac and Win + and fixes at least editing/pasteboard/4076267-3.html + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::writeRange): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeSelection): + +2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Implement Pasteboard::writeImage() + + * Pasteboard is now fully implemented. Copying of Images into the Clipboard + is now supported. + * As with URLs we only copy into the Clipboard (and not additionally to the + Selection) + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeImage): + +2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Apple CodingStyle fixes + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::documentFragment): + +2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Implement Pasteboard::writeURL() + * The URL currently gets written as text/plain and text/uri-list. + The win and mac port have some more types which we currently do + not support. When supporting them we can use the 'titleString' + as well. + * As with writeSelection we only copy into the Clipboard. We could + consider copying into the Selection as well. + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeURL): + +2007-11-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Kill whitespace + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::documentFragment): + +2007-11-07 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + Use the correct function calls to convert a selection to + HTML or plain text. + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::setData): + (WebCore::ClipboardQt::writeRange): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::writeSelection): + +2007-11-07 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + Some more clipboard fixes. + + We have to set things immediately on the QClipBoard if the + Clipboard object is not for dragging. + + This is due to the fact that the Clipboard object might be + rather long lived if accessed through javascript (it'll only + get deleted by JS garbage collection). We have to transfer + the data over to the QClipboard before that to make things work. + + Fixes editing/execCommand/copy-without-selection.html + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::ClipboardQt): + (WebCore::ClipboardQt::~ClipboardQt): + (WebCore::ClipboardQt::clearData): + (WebCore::ClipboardQt::clearAllData): + (WebCore::ClipboardQt::getData): + (WebCore::ClipboardQt::setData): + (WebCore::ClipboardQt::declareAndWriteDragImage): + (WebCore::ClipboardQt::writeURL): + (WebCore::ClipboardQt::writeRange): + +2007-11-07 Simon Hausmann <hausmann@kde.org> + + Reviewed by Mark. + + Fix compilation on Windows with non-cygwin perl. open FILE, "|-" is + not supported due to implicit forks, use IPC::Open2 instead. + + * bindings/scripts/IDLParser.pm: + +2007-11-07 Dan Bernstein <mitz@apple.com> + + Reviewed by Brady Eidson. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15877 + REGRESSION: r27486 caused a layout regression at my bank's website + + Test: fast/block/float/overhanging-after-height-decrease-offsets.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): + +2007-11-06 Beth Dakin <bdakin@apple.com> + + Reviewed by Sam. + + <rdar://problem/5575812> REGRESSION:When using absolute positioning + with overflow:auto div, WebKit seems to add an additional 15px + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::containingBlockWidthForPositioned): We need to + subtract off the vertical scrollbar width too. + +2007-11-06 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Dan Bernstein. + + <rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail + <rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail + + * editing/markup.cpp: + (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block + that encloses the input context, unless that block is the body, which shouldn't + be cloned. In that case, use regular divs, as we did before r27369. + +2007-11-06 Christian Dywan <christian@twotoasts.de> + + Reviewed by Darin. + + Fix http://bugs.webkit.org/show_bug.cgi?id=15828 + Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory + + * WebCore.pro: Use sane default install paths for the gtk port. + +2007-11-06 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5576619> + REGRESSION: Caret disappears after deleting the last character in inline hole (15714) + + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including + both of the other deletion commands, call typingAddedToOpenCommand(), which takes + the command's endingSelection and sets it as selection. + +2007-11-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Antti Koivisto and Dave Hyatt. + + - fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height + + Test: fast/block/float/overhanging-after-height-decrease.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutBlock): If after calculating the height + it turns out that there are overhanging floats that were not overhanging + before, rescan children with overhanging floats and add them. + (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that + returns the lowest float bottom of any of the children. + (WebCore::RenderBlock::addOverhangingFloats): Changed to return the + lowest float bottom. + * rendering/RenderBlock.h: + +2007-11-06 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Switched all uses of HTMLImageLoader to use OwnPtrs. + + * html/HTMLInputElement.h: + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::init): + (WebCore::HTMLInputElement::~HTMLInputElement): + (WebCore::HTMLInputElement::setInputType): + (WebCore::HTMLInputElement::parseMappedAttribute): + (WebCore::HTMLInputElement::attach): + * html/HTMLObjectElement.h: + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::HTMLObjectElement): + (WebCore::HTMLObjectElement::~HTMLObjectElement): + (WebCore::HTMLObjectElement::parseMappedAttribute): + (WebCore::HTMLObjectElement::attach): + * html/HTMLVideoElement.h: + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::HTMLVideoElement): + (WebCore::HTMLVideoElement::attach): + (WebCore::HTMLVideoElement::detach): + (WebCore::HTMLVideoElement::parseMappedAttribute): + +2007-11-06 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + Trigger media load on on src attribute changes as specified in new HTML5 draft. + + Tests: media/video-src-change.html + media/video-src-remove.html + media/video-src-set.html + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::attributeChanged): + * html/HTMLMediaElement.h: + +2007-11-06 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15838 + Incomplete repaint toggling "How you know this person" on Facebook + + Test: fast/repaint/make-children-non-inline.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This + is needed because the inline children may be repositioned as they move + into new anonymous blocks, but those blocks have no knowledge of where + their children used to be, so they cannot invalidate those areas. + +2007-11-06 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15847 + Some editing cleanup + + No change in functionality. + + * editing/TextIterator.cpp: + (WebCore::plainText): + * editing/TextIterator.h: + Made WebCore::plainText() return String instead of DeprecatedString. + + * bridge/mac/WebCoreAXObject.mm: + (-[WebCoreAXObject textUnderElement]): + (-[WebCoreAXObject value]): + (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]): + (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]): + (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]): + Updated for the above change. There is no need to explicitly convert to NSString now. + + * editing/EditCommand.cpp: + (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually + initialized in constructor body, so the work done in initializer list was wasted. + + (WebCore::EditCommand::apply): Moved some stars. + (WebCore::EditCommand::unapply): Ditto. + (WebCore::EditCommand::reapply): Ditto. + (WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice, + removed one of the checks. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::toString): plainText() result type now matches what we need here. + + * page/mac/WebCoreFrameBridge.h: + * page/mac/WebCoreFrameBridge.mm: + Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and + -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]. + +2007-11-05 Mark Rowe <mrowe@apple.com> + + Mac build fix. + + * bindings/js/JSHTMLDocumentCustom.cpp: + (WebCore::writeHelper): + +2007-11-05 Adam Roben <aroben@apple.com> + + Don't crash if SafariTheme can't be loaded + + PlatformScrollBarSafari and RenderThemeSafari were not checking + whether SafariTheme was successfully loaded. All other uses of + SafariTheme already check this. + + Reviewed by Steve. + + * platform/win/PlatformScrollBarSafari.cpp: Don't paint if SafariTheme + couldn't be loaded. + (WebCore::PlatformScrollbar::paintButton): + (WebCore::PlatformScrollbar::paintTrack): + (WebCore::PlatformScrollbar::paintThumb): + * rendering/RenderThemeSafari.cpp: + (WebCore::RenderThemeSafari::isControlStyled): Always return true if + we couldn't load SafariTheme. This way we should never try to paint + themed controls (and we assert as such in the paint functions). + (WebCore::RenderThemeSafari::paintCheckbox): + (WebCore::RenderThemeSafari::paintRadio): + (WebCore::RenderThemeSafari::paintButton): + (WebCore::RenderThemeSafari::paintTextField): + (WebCore::RenderThemeSafari::paintCapsLockIndicator): + (WebCore::RenderThemeSafari::paintTextArea): + (WebCore::RenderThemeSafari::paintMenuList): + (WebCore::RenderThemeSafari::paintSliderThumb): + (WebCore::RenderThemeSafari::paintSearchField): + (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): + (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): + +2007-11-05 Kevin Ollivier <kevino@theolliviers.com> + + Adding the rest of wx port's graphics impl. + + Rubber-stamped by Maciej Stachowiak. + + * platform/graphics/wx/AffineTransformWx.cpp: Added. + * platform/graphics/wx/GraphicsContextWx.cpp: Added. + * platform/graphics/wx/ImageBufferWx.cpp: Added. + * platform/graphics/wx/ImageSourceWx.cpp: Added. + * platform/graphics/wx/ImageWx.cpp: Added. + * platform/graphics/wx/PathWx.cpp: Added. + +2007-11-05 Kevin Ollivier <kevino@theolliviers.com> + + wx port bug fixes and new files to get platform/wx building on trunk. + + Rubber-stamped by Maciej Stachowiak. + + * platform/wx/CursorWx.cpp: + * platform/wx/FileSystemWx.cpp: Added. + * platform/wx/FontCacheWx.cpp: + * platform/wx/FontPlatformDataWx.cpp: + * platform/wx/FontWx.cpp: + * platform/wx/KeyboardEventWx.cpp: + * platform/wx/LocalizedStringsWx.cpp: Added. + * platform/wx/LoggingWx.cpp: Added. + * platform/wx/RenderThemeWx.cpp: + * platform/wx/ScrollViewWx.cpp: + * platform/wx/SharedTimerWx.cpp: + * platform/wx/StringWx.cpp: + * platform/wx/ThreadingWx.cpp: Added. + * platform/wx/WidgetWx.cpp: + +2007-11-05 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + Fix for <rdar://problem/5579999> Add poster attribute for video element + + * html/HTMLAttributeNames.in: Added poster attribute. + + * html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement): + Calls imageSourceAttributeName instead of having special cases for the different kinds of elements. + * dom/Element.cpp: (WebCore::Element::imageSourceAttributeName): Added. + * dom/Element.h: + * html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::imageSourceAttributeName): Added. + * html/HTMLObjectElement.h: + + * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::movieNetworkStateChanged): + Calls updatePosterImage when the network state is empty and when the first frame has been loaded. + * html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::rendererIsNeeded): Made this inline. HTMLVideoElement now also implements this. + + * html/HTMLVideoElement.idl: Added case for poster attribute. + * html/HTMLVideoElement.h: Added image loader and flag to keep track of whether or not the poster image should be shown. + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::HTMLVideoElement): Initialize m_imageLoader and m_shouldShowPosterImage. + (WebCore::HTMLVideoElement::rendererIsNeeded): Calls HTMLElement::rendererIsNeeded since HTMLMediaElements have renderer by default. + (WebCore::HTMLVideoElement::createRenderer): Create a RenderImage or RenderVideo depending on whether or not the poster image should be shown. + (WebCore::HTMLVideoElement::attach): Set up image loader and RenderImage if necessary. + (WebCore::HTMLVideoElement::detach): Delete image loader if its no longer needed. + (WebCore::HTMLVideoElement::parseMappedAttribute): Added case to process poster attribute. + (WebCore::HTMLVideoElement::poster): Added getter for poster attribute. + (WebCore::HTMLVideoElement::setPoster): Added setter for poster attribute. + (WebCore::HTMLVideoElement::isURLAttribute): Added. + (WebCore::HTMLVideoElement::imageSourceAttributeName): Added. + (WebCore::HTMLVideoElement::updatePosterImage): Added. Updates m_shouldShowPosterImage and if its changed, detaches and attaches so the renderer is correct. + +2007-11-05 Adam Roben <aroben@apple.com> + + Fix <rdar://5563572> SVG image support is turned off + + Turned on SVG images for all platforms. + + Reviewed by Eric. + + * WebCore.vcproj/WebCore.vcproj: Added SVGImage.{cpp,h} + * loader/CachedImage.cpp: + (WebCore::CachedImage::createImage): Removed platform checks for + SVGImage. + +2007-11-05 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + QTMovieView can generate callbacks during paint. This can lead to crashes. + + Delay callbacks so they get handled after painting is completed. No test case, + I don't know how to reliably reproduce this. + + * platform/graphics/mac/MoviePrivateQTKit.mm: + (WebCore::MoviePrivate::MoviePrivate): + (WebCore::MoviePrivate::~MoviePrivate): + (WebCore::MoviePrivate::paint): + (-[WebCoreMovieObserver initWithCallback:WebCore::]): + (-[WebCoreMovieObserver disconnect]): + (-[WebCoreMovieObserver loadStateChanged:]): + (-[WebCoreMovieObserver rateChanged:]): + (-[WebCoreMovieObserver sizeChanged:]): + (-[WebCoreMovieObserver timeChanged:]): + (-[WebCoreMovieObserver volumeChanged:]): + (-[WebCoreMovieObserver didEnd:]): + (-[WebCoreMovieObserver setDelayCallbacks:]): + +2007-11-05 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + Add some missing WebCore* prefixes to ObjC classes + + * platform/mac/FileChooserMac.mm: + (WebCore::FileChooser::FileChooser): + * platform/mac/SharedBufferMac.mm: + (WebCore::SharedBuffer::createNSData): + (WebCore::SharedBuffer::createCFData): + * platform/mac/SharedTimerMac.cpp: + (WebCore::setSharedTimerFireTime): + +2007-11-05 Ada Chan <adachan@apple.com> + + <rdar://problem/5579772> Regression: AltGr does not work + We now store the system key event info in PlatforkKeyboardEvent(). + + Reviewed by Oliver. + + * platform/PlatformKeyboardEvent.h: + (WebCore::PlatformKeyboardEvent::isSystemKey): + * platform/win/KeyEventWin.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2007-11-02 Tristan O'Tierney <tristan@apple.com> + + Reviewed by Darin Adler. + + * WebCore.xcodeproj/project.pbxproj: + Set WindowFeatures.h as a Private header. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::createWindow): + Revised to use a single createWindow function instead of + two createWindow functions and one createModalDialog function. + The logic for this is now addressed in WebKit in an effort + to make this easier to follow. + + * page/Chrome.cpp: + (WebCore::Chrome::createWindow): + * page/Chrome.h: + * page/ChromeClient.h: + * page/ContextMenuController.cpp: + (WebCore::openNewWindow): + * platform/graphics/svg/SVGImageEmptyClients.h: + (WebCore::SVGEmptyChromeClient::createWindow): + Revised to take new additional windowFeatures parameter. + +2007-11-04 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Darin Adler. + + http://bugs.webkit.org/show_bug.cgi?id=15835 + + Small adaptations to new KJS::List class. + + * bindings/js/kjs_window.cpp: + (KJS::WindowFunc::callAsFunction): + (KJS::ScheduledAction::ScheduledAction): + +2007-11-05 Adam Roben <aroben@apple.com> + + Allow passing a base class pointer to COMPtr::copyRefTo + + Reviewed by Sam. + + * platform/win/COMPtr.h: + +2007-11-05 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - fix ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when a class attribute is all-whitespace + + Test: fast/dom/class-all-whitespace.html + + * dom/StyledElement.cpp: + (WebCore::StyledElement::parseMappedAttribute): Check if there is any + non-whitespace character in the class attribute. + +2007-11-05 Brady Eidson <beidson@apple.com> + + Reviewed by Sam + + Add transaction blocking to the DatabaseAuthorizer in preparation for the new version + of the sql storage API + + * storage/DatabaseAuthorizer.cpp: + (WebCore::DatabaseAuthorizer::allowTransaction): + * storage/DatabaseAuthorizer.h: + +2007-11-05 Mark Rowe <mrowe@apple.com> + + Reviewed by Alp Toker. + + Have getMIMETypeForExtension return a null string when no MIME type is known + for the extension rather than returning "text/plain". This prevents plugin data + being dumped into object elements when plugins are disabled. + + * platform/gtk/MIMETypeRegistryGtk.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + +2007-11-04 Sam Weinig <sam@webkit.org> + + Rubber-stamped by Adam Roben. + + Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to + clear up ambiguity. + + * bindings/js/kjs_window.cpp: + (KJS::Window::isSafeScript): + * platform/SecurityOrigin.cpp: + (WebCore::SecurityOrigin::canAccess): + * platform/SecurityOrigin.h: + +2007-11-04 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Bug 15834: There are many subtle bugs in the Styles pane of the Web Inspector + http://bugs.webkit.org/show_bug.cgi?id=15834 + + - Broke up DocumentPanel and added three SidebarPane sub-classes. + - Fixed many Style pane bugs, including: + * Poor handling of duplicate properties in the same rule. Some of this can't be + fixed since we can't only get the "winning" value for duplicate properties. + So we should only show one entry per unique property name. + * Computed style does not show font shorthand sub-properties if 'font' was used. + * Property priority was broken, the wrong properties were crossed out. + * The 'border' shorthand shows null for the shorthand value. + * Shorthands didn't show their priority (e.g. !important). + * HSL and HTML hex colors didn't have preview swatch blocks. + * Code refactoring, making it easier to reuse for console.log later. + + * page/inspector/DocumentPanel.js: Move sidebar pane code to three seperate + classes in new files. + * page/inspector/MetricsSidebarPane.js: Added. + * page/inspector/Panel.js: Remove an InspectorController.log() call. + * page/inspector/PropertiesSection.js: Add the section to the TreeOutline. + So TreeElements can access properties on their section. + * page/inspector/PropertiesSidebarPane.js: Added. + * page/inspector/SidebarPane.js: Remove the explicit asignment of the + onexpand and oncollapse to null. These were hiding prototypes. + * page/inspector/StylesSidebarPane.js: Added. + * page/inspector/inspector.html: Include the new script files. + * page/inspector/treeoutline.js: If a null representedObject is passed + in just use a empty object. + +2007-11-04 David D. Kilzer <ddkilzer@webkit.org> + + Fix build when spaces appear in the WebKit source path. + + Reviewed by Mark Rowe. + + * bindings/scripts/IDLParser.pm: Use safer open() method which lists + arguments individually and prevents the need to work around spaces + in the path. + +2007-11-04 Alp Toker <alp@atoker.com> + + Reviewed by Alexey Proskuryakov. + + Fix a crash when no clipboard text is available + + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::plainText): + +2007-11-03 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=15821 + remove unused PCRE features for speed + + * page/Frame.cpp: (WebCore::Frame::matchLabelsAgainstElement): + * page/mac/FrameMac.mm: (WebCore::Frame::matchLabelsAgainstElement): + Remove use of "[[:digit:]]" syntax. This hasn't worked for some time. + Use "\d" instead. + + * platform/RegularExpression.h: Remove the unused cap function. We can + add it back later if we find we need it. + * platform/RegularExpression.cpp: + (WebCore::RegularExpression::Private::compile): Update for JavaScriptCore + regular expression entry point changes. + (WebCore::RegularExpression::Private::~Private): Ditto. + (WebCore::RegularExpression::match): Remove the code to set PCRE_NOTBOL. + This means that regular expressions with metacharactesr like ^ in them + won't work any more with non-whole-string searches, but we don't use + any regular expressions like that. + +2007-11-03 Kevin Ollivier <kevino@theolliviers.com> + + Update the link stubs to match the current build, + and fix coding style issues. + + Reviewed by Mark Rowe. + + * platform/wx/TemporaryLinkStubs.cpp: + (loadResourceIntoArray): + (findNextSentenceFromIndex): + (findSentenceBoundary): + (Frame::dashboardRegionsChanged): + (WebCore::historyContains): + (CachedPage::close): + (Editor::showStylesPanel): + (EventHandler::passSubframeEventToSubframe): + (EventHandler::passWheelEventToWidget): + (WebCore::currentTextBreakLocaleID): + +2007-11-03 Kevin Ollivier <kevino@theolliviers.com> + + wx <-> WebKit conversions for IntPoint, IntRect and FloatRect + + Reviewed by Mark Rowe. + + * platform/graphics/wx/FloatRectWx.cpp: Added. + * platform/graphics/wx/IntPointWx.cpp: Added. + * platform/graphics/wx/IntRectWx.cpp: Added. + +2007-11-03 Kevin Ollivier <kevino@theolliviers.com> + + wx <-> WebKit data type conversions for Pen and Color. + + Reviewed by Darin Adler. + + * platform/graphics/wx: Added. + * platform/graphics/wx/ColorWx.cpp: Added. + * platform/graphics/wx/PenWx.cpp: Added. + +2007-11-03 Sam Weinig <sam@webkit.org> + + Reviewed by Oliver. + + Remove dummy variable from ClassInfo reducing the size of the struct by 1 word. + The variable had been kept around for binary compatibility, but since nothing + else is there is no point in continuing to keep it around. + + * bindings/js/JSDOMExceptionConstructor.cpp: + (WebCore::): + * bindings/js/JSHTMLInputElementBase.cpp: + (WebCore::): + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::): + * bindings/js/JSXMLHttpRequest.cpp: + (KJS::): + * bindings/js/JSXSLTProcessor.cpp: + (KJS::): + * bindings/js/kjs_css.cpp: + (WebCore::): + * bindings/js/kjs_events.cpp: + (WebCore::): + * bindings/js/kjs_navigator.cpp: + (KJS::): + * bindings/js/kjs_window.cpp: + (KJS::): + * bindings/scripts/CodeGeneratorJS.pm: + +2007-11-03 Kevin Ollivier <kevino@theolliviers.com> + + Build fixes to get wx impls. building on trunk. + + Reviewed by Mark Rowe. + + * platform/wx/DragDataWx.cpp: + (WebCore::DragData::containsFiles): + (WebCore::DragData::asFilenames): + * platform/wx/DragImageWx.cpp: + (WebCore::scaleDragImage): + * platform/wx/MimeTypeRegistryWx.cpp: + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + * platform/wx/MouseEventWx.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + * platform/wx/MouseWheelEventWx.cpp: + * platform/wx/PasteboardWx.cpp: + (WebCore::Pasteboard::writeImage): + * platform/wx/WidgetWx.cpp: + (WebCore::Widget::setCursor): + +2007-11-03 David D. Kilzer <ddkilzer@webkit.org> + + Sort files(...); sections of Xcode project files. + + Rubber-stamped by Darin. + + * WebCore.xcodeproj/project.pbxproj: + * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: + +2007-11-03 Kevin Ollivier <kevino@theolliviers.com> + + Coding style fixes for platform/wx files. + + Reviewed by Mark Rowe. + + * platform/wx/ClipboardWx.cpp: + * platform/wx/GlyphMapWx.cpp: + * platform/wx/ScreenWx.cpp: + +2007-11-03 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Implement platform scrollbar static width/height getters + + * platform/gtk/PlatformScrollBar.h: + * platform/gtk/PlatformScrollBarGtk.cpp: + (scrollbarSize): + (PlatformScrollbar::horizontalScrollbarHeight): + +2007-11-03 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Cast function pointers to gpointer. + + * platform/gtk/PlatformScrollBarGtk.cpp: + (PlatformScrollbar::~PlatformScrollbar): + +2007-11-03 Alp Toker <alp@atoker.com> + + Reviewed by Adam Roben. + + RenderThemeGtk implementation based on Mozilla's GTK+ style code + + There is still work needed to complete this feature. + + * WebCore.pro: + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::theme): + (WebCore::RenderThemeGtk::RenderThemeGtk): + (WebCore::supportsFocus): + (WebCore::RenderThemeGtk::supportsFocusRing): + (WebCore::RenderThemeGtk::controlSupportsTints): + (WebCore::RenderThemeGtk::baselinePosition): + (WebCore::adjustMozStyle): + (WebCore::setMozState): + (WebCore::paintMozWidget): + (WebCore::setButtonPadding): + (WebCore::setToggleSize): + (WebCore::RenderThemeGtk::setCheckboxSize): + (WebCore::RenderThemeGtk::paintCheckbox): + (WebCore::RenderThemeGtk::setRadioSize): + (WebCore::RenderThemeGtk::paintRadio): + (WebCore::RenderThemeGtk::adjustButtonStyle): + (WebCore::RenderThemeGtk::paintButton): + (WebCore::RenderThemeGtk::adjustMenuListStyle): + (WebCore::RenderThemeGtk::paintMenuList): + (WebCore::RenderThemeGtk::adjustTextFieldStyle): + (WebCore::RenderThemeGtk::paintTextField): + (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle): + (WebCore::RenderThemeGtk::paintSearchFieldResultsButton): + (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle): + (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): + (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle): + (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): + (WebCore::RenderThemeGtk::adjustSearchFieldStyle): + (WebCore::RenderThemeGtk::paintSearchField): + (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::caretBlinkFrequency): + (WebCore::RenderThemeGtk::systemFont): + (WebCore::gtkStyleSetCallback): + (WebCore::RenderThemeGtk::gtkContainer): + (WebCore::RenderThemeGtk::gtkEntry): + (WebCore::RenderThemeGtk::gtkTreeView): + * platform/gtk/RenderThemeGtk.h: + * platform/gtk/gtk2drawing.c: Added. + (moz_gtk_enable_style_props): + (ensure_window_widget): + (setup_widget_prototype): + (ensure_button_widget): + (ensure_checkbox_widget): + (ensure_radiobutton_widget): + (ensure_scrollbar_widget): + (ensure_spin_widget): + (ensure_scale_widget): + (ensure_entry_widget): + (ensure_option_menu_widget): + (ensure_arrow_widget): + (ensure_handlebox_widget): + (ensure_toolbar_widget): + (ensure_tooltip_widget): + (ensure_tab_widget): + (ensure_progress_widget): + (ensure_frame_widget): + (ensure_menu_bar_widget): + (ensure_menu_bar_item_widget): + (ensure_menu_popup_widget): + (ensure_menu_item_widget): + (ensure_check_menu_item_widget): + (ConvertGtkState): + (TSOffsetStyleGCArray): + (TSOffsetStyleGCs): + (moz_gtk_button_paint): + (moz_gtk_init): + (moz_gtk_checkbox_get_metrics): + (moz_gtk_radio_get_metrics): + (moz_gtk_checkbox_get_focus): + (moz_gtk_radio_get_focus): + (moz_gtk_button_get_focus): + (moz_gtk_option_menu_get_metrics): + (moz_gtk_toggle_paint): + (calculate_arrow_dimensions): + (moz_gtk_scrollbar_button_paint): + (moz_gtk_scrollbar_trough_paint): + (moz_gtk_scrollbar_thumb_paint): + (moz_gtk_spin_paint): + (moz_gtk_scale_paint): + (moz_gtk_scale_thumb_paint): + (moz_gtk_gripper_paint): + (moz_gtk_entry_paint): + (moz_gtk_option_menu_paint): + (moz_gtk_dropdown_arrow_paint): + (moz_gtk_container_paint): + (moz_gtk_toggle_label_paint): + (moz_gtk_toolbar_paint): + (moz_gtk_tooltip_paint): + (moz_gtk_frame_paint): + (moz_gtk_progressbar_paint): + (moz_gtk_progress_chunk_paint): + (moz_gtk_tab_paint): + (moz_gtk_tabpanels_paint): + (moz_gtk_menu_bar_paint): + (moz_gtk_menu_popup_paint): + (moz_gtk_menu_item_paint): + (moz_gtk_check_menu_item_paint): + (moz_gtk_window_paint): + (moz_gtk_get_widget_border): + (moz_gtk_get_dropdown_arrow_size): + (moz_gtk_get_scalethumb_metrics): + (moz_gtk_get_scrollbar_metrics): + (moz_gtk_widget_paint): + (moz_gtk_get_scrollbar_widget): + (moz_gtk_shutdown): + * platform/gtk/gtkdrawing.h: Added. + +2007-11-03 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Do not allow scrollbars to handle wheel events + + We bubble the wheel event up so the parent can handle it instead. + + * platform/gtk/PlatformScrollBarGtk.cpp: + (gtkScrollEventCallback): + (PlatformScrollbar::PlatformScrollbar): + (PlatformScrollbar::~PlatformScrollbar): + +2007-11-03 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Frame scrolling and invalidation fixes + + Make upward scroll events have a positive delta to match other ports. + + Fix the invalidation rect offset for frames so that scrolling works properly. + + Avoid allocating negative sizes to widgets to avoid GTK+ warnings. + + Allow tabbing to all widgets and links. + + Fix event returns, improving the focus situation and correcting scroll wheel + behavior. + + * page/gtk/EventHandlerGtk.cpp: + (WebCore::EventHandler::tabsToAllControls): + (WebCore::EventHandler::passWheelEventToWidget): + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollViewScrollbar::geometryChanged): + (WebCore::ScrollView::updateContents): + (WebCore::ScrollView::update): + (WebCore::ScrollView::wheelEvent): + (WebCore::ScrollView::updateScrollbars): + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2007-11-03 David D. Kilzer <ddkilzer@webkit.org> + + LGPL'ed files contain incorrect FSF address + <http://bugs.webkit.org/show_bug.cgi?id=14885> + + * bindings/js/JSSVGTransformListCustom.cpp: + * ksvg2/svg/SVGException.idl: + * ksvg2/svg/SVGTextPathElement.cpp: + * ksvg2/svg/SVGTextPathElement.h: + * ksvg2/svg/SVGViewSpec.cpp: + * ksvg2/svg/SVGViewSpec.h: + * platform/mac/FontCustomPlatformData.cpp: + * platform/mac/FontCustomPlatformData.h: + * platform/mac/FontPlatformDataMac.mm: + * platform/win/FontCustomPlatformData.cpp: + * platform/win/FontCustomPlatformData.h: + * rendering/RenderSVGRoot.cpp: + * rendering/RenderSVGRoot.h: + * rendering/RenderSVGTextPath.cpp: + * rendering/RenderSVGTextPath.h: + * rendering/RenderSVGTransformableContainer.h: + * rendering/RenderSVGViewportContainer.cpp: + * rendering/RenderSVGViewportContainer.h: + * rendering/SVGCharacterLayoutInfo.cpp: + * rendering/SVGCharacterLayoutInfo.h: + * rendering/SVGRenderSupport.cpp: + * rendering/SVGRenderSupport.h: + +2007-11-02 Antti Koivisto <antti@apple.com> + + Reviewed by Adam. + + Add video width/height DOM and content attributes from latest HTML5 draft. + + Test: media/video-width-height.html + + * html/HTMLVideoElement.cpp: + (WebCore::HTMLVideoElement::parseMappedAttribute): + (WebCore::HTMLVideoElement::width): + (WebCore::HTMLVideoElement::setWidth): + (WebCore::HTMLVideoElement::height): + (WebCore::HTMLVideoElement::setHeight): + * html/HTMLVideoElement.h: + * html/HTMLVideoElement.idl: + +2007-11-02 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + * DerivedSources.make: Remove a few explicit filenames from some rules by using + make variables a little more. + * WebCore.LP64.exp: Fix typo, grammar. + +2007-11-02 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - use the new HashMap::take function where appropriate + + * bindings/js/kjs_binding.cpp: + (KJS::addWrapper): Made an inline rather than a macro; inlines good, macros bad. + (KJS::removeWrapper): Ditto. + (KJS::removeWrappers): Ditto. + (KJS::ScriptInterpreter::putDOMObject): Use the inline instead of the macro. + (KJS::ScriptInterpreter::forgetDOMObject): Ditto. This involves using take instead + of remove -- in theory ever so slightly less efficient, but I think it's fine. + (KJS::ScriptInterpreter::forgetDOMNodeForDocument): Ditto. + (KJS::ScriptInterpreter::putDOMNodeForDocument): Use the inline instead of the macro. + (KJS::ScriptInterpreter::forgetAllDOMNodesForDocument): Use take instead of find/remove. + (KJS::ScriptInterpreter::updateDOMNodeDocument): Use the inlines instead of the macros. + + * bindings/js/kjs_window.cpp: (KJS::Window::clearTimeout): Use take instead of find/remove. + * bridge/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::remove): Ditto. + * page/AnimationController.cpp: (WebCore::AnimationControllerPrivate::clear): Ditto. + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::~RenderBlock): Ditto. + (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Ditto. + * rendering/RootInlineBox.cpp: Ditto.(WebCore::RootInlineBox::detachEllipsisBox): Ditto. + +2007-11-02 Antti Koivisto <antti@apple.com> + + Reviewed by Darin. + + Enable video composition. + + * WebCore.base.exp: + * platform/graphics/mac/MoviePrivateQTKit.mm: + (WebCore::MoviePrivate::createQTMovieView): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2007-11-02 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15806 + <rdar://problem/5561626> ASSERT(element->isRadioButton()) fires destroying form elements + + Test: fast/forms/remove-radio-button-assert.html + + * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::removeFromForm): + Added protected function to be used by derived classes that need to do the same sort + of removal from form that's automatically done by the base class in certain circumstances. + * html/HTMLGenericFormElement.h: Added removeFromForm. + + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): + Call removeFromForm here so the element is removed before we destroy the HTMLInputElement + part of this object. By the time we get to the base class's destructor it's too late. + The problem is specific to radio buttons so we don't have to worry about other classes + derived from HTMLGenericFormElement. + +2007-11-02 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - speculative fix for http://bugs.webkit.org/show_bug.cgi?id=15805 + <rdar://problem/5510779> crashes in isLoadingMultipartContent + + * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::isLoadingMultipartContent): + Instead of asserting the frame loader is non-0, return false if it is 0. + +2007-11-02 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix <rdar://problem/5530185> WebKit does not show <object> fallback content when both + URL and MIME type is omitted + + Already covered by existing tests (that had incorrect results). + + * loader/FrameLoader.cpp: (WebCore::FrameLoader::requestObject): Return false to indicate + failure when both URL and MIME type are empty. The old code would not attempt a load, but + it would indicate success. + + * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): Remove + non-helpful early exit for the case where there is no URL and no type. Returning early + prevents the fallback code from running. + +2007-11-02 Alp Toker <alp@atoker.com> + + Reviewed by Darin. + + Include Cairo headers properly + + * platform/graphics/AffineTransform.h: + * platform/graphics/ImageBuffer.h: + * platform/graphics/cairo/AffineTransformCairo.cpp: + * platform/gtk/FontPlatformDataGtk.cpp: + +2007-11-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Alexey. + + Make sure we send the correct events for Capslock, Shift, Ctrl, Alt and the Windows key + + * platform/win/KeyEventWin.cpp: + (WebCore::keyIdentifierForWindowsKeyCode): + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2007-11-01 Geoffrey Garen <ggaren@apple.com> + + Reviewed by Maciej Stachowiak. + + In preparation for making List a simple stack-allocated Vector: + + Removed all instances of List copying, assignment, and/or storage. + + Layout tests and JS tests pass. + + * bindings/js/kjs_window.cpp: + (KJS::WindowFunc::callAsFunction): Stores a Vector of protected + JSValue*'s instead of a List now. Converts to List on the fly when + calling the timer function. This is slightly less efficient, but the + common case is 0-2 arguments, so it's no biggie. + + (HTML iBench shows no regression. PLT does not use JS timers.) + + (KJS::ScheduledAction::execute): Uses the more efficient and non-copying + List::slice now. + (KJS::ScheduledAction::ScheduledAction): ditto + + * bindings/objc/WebScriptObject.mm: + (getListFromNSArray): Takes a List out parameter now, to avoid copying. + +2007-11-01 Oliver Hunt <oliver@apple.com> + + Reviewed by Geoff. + + Correct event behaviour on certain control keys + + Make sure we send the correct keyDown and keyUp events for the + control keys CapsLock, Shift, Ctrl, Alt, and Meta/Command, and + uses Windows key codes for the event keyCode. + + * WebCore.base.exp: + * page/EventHandler.cpp: + (WebCore::EventHandler::keyEvent): + * platform/PlatformKeyboardEvent.h: + * platform/gtk/KeyEventGtk.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/mac/KeyEventMac.mm: + (WebCore::keyIdentifierForKeyEvent): + (WebCore::WindowsKeyCodeForKeyEvent): + (WebCore::isKeyUpEvent): + (WebCore::textFromEvent): + (WebCore::unmodifiedTextFromEvent): + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/win/KeyEventWin.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/wx/KeyEventWin.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2007-11-01 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam. + + * page/inspector/inspector.css: Use the white disclosure triangles + when a parent DOM element is sepected. + +2007-11-01 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply + + * editing/ReplaceSelectionCommand.cpp: + (WebCore::ReplaceSelectionCommand::doApply): No need to match style when pasting + into a plaintext-only region, since when we build the fragment to insert from + plain text, we don't put any style information on it, so it will automatically + match style with no intervention. + * editing/markup.cpp: + (WebCore::createFragmentFromText): Place paragraphs into clones of the + block being inserted into, instead of default paragraph elements, + so that when inserted content will match the surrounding paragraph style. + This was broken before, but I haven't added a layout test yet because + there currently isn't a way to get only plain text onto the pasteboard + in a layout test. + +2007-11-01 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Add a releaseRef method to COMPtr which matches the behavior + of the method by the same name in PassRefPtr. This is in + preparation of adding autogenerated COM DOM bindings. + + * platform/win/COMPtr.h: + (COMPtr::releaseRef): + +2007-11-01 Kevin Ollivier <kevino@theolliviers.com> + + wx impl. for DragController and EventHandler interfaces. + + Reviewed by Adam Roben. + + * page/wx: Added. + * page/wx/DragControllerWx.cpp: Added. + (WebCore::DragController::isCopyKeyDown): + (WebCore::DragController::dragOperation): + (WebCore::DragController::maxDragImageSize): + * page/wx/EventHandlerWx.cpp: Added. + (WebCore::EventHandler::passMousePressEventToSubframe): + (WebCore::EventHandler::passMouseMoveEventToSubframe): + (WebCore::EventHandler::passMouseReleaseEventToSubframe): + (WebCore::EventHandler::passMousePressEventToScrollbar): + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + (WebCore::EventHandler::focusDocumentView): + (WebCore::EventHandler::eventActivatedView): + (WebCore::EventHandler::createDraggingClipboard): + +2007-11-01 Kevin Ollivier <kevino@theolliviers.com> + + Adding files for wx impl. of editing interfaces. + + Reviewed by Adam Roben. + + * editing/wx: Added. + * editing/wx/EditorWx.cpp: Added. + (WebCore::Editor::newGeneralClipboard): + +2007-11-01 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Make implicit conversions from LPCSTRs and BSTRs to WebCore string + types possible in preparation of adding autogenerated COM DOM bindings. + + * platform/AtomicString.cpp: + (WebCore::AtomicString::add): + * platform/AtomicString.h: + (WebCore::AtomicString::AtomicString): + * platform/PlatformString.h: + * platform/win/BString.cpp: + (WebCore::BString::BString): + * platform/win/BString.h: + +2007-11-01 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + Renamed a flag inside of SQLiteTransaction and added an accessor (for future work) + + * platform/sql/SQLiteTransaction.cpp: + (WebCore::SQLiteTransaction::SQLiteTransaction): + (WebCore::SQLiteTransaction::~SQLiteTransaction): + (WebCore::SQLiteTransaction::begin): + (WebCore::SQLiteTransaction::commit): + (WebCore::SQLiteTransaction::rollback): + * platform/sql/SQLiteTransaction.h: + (WebCore::SQLiteTransaction::inProgress): + +2007-11-01 Adam Roben <aroben@apple.com> + + Remove all duplicate xcopy commands from WebCore's post-build step + + Also add the /d option to the copy of platform/sql. + + Rubberstamped by Sam. + + * WebCore.vcproj/WebCore.vcproj: + +2007-11-01 Adele Peterson <adele@apple.com> + + Reviewed by Maciej. + + Add support for the animation of the -webkit-border-raduis properties. + + * page/AnimationController.cpp: + (WebCore::blendFunc): Added for IntSize. + (WebCore::ImplicitAnimation::animate): Added cases for border radius properties. + +2007-11-01 Alp Toker <alp@atoker.com> + + Reviewed by Mitz Pettel. + + Fix an unbalanced save/restore. + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): + +2007-11-01 David Hyatt <hyatt@apple.com> + + Add support for the animation of the visibility property. + + Reviewed by oliver, aroben + + * page/AnimationController.cpp: + (WebCore::blendFunc): + (WebCore::ImplicitAnimation::animate): + +2007-11-01 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Adam. + + - Made COMPtr be able to be used by certain other templates, + specifically HashSet. + + * platform/win/COMPtr.h: + (WTF::): + +2007-11-01 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15015 + <rdar://problem/5420308> Most of www.aol.com redraws unnecessarily when headline/photo section changes + + Test: fast/repaint/overflow-clip-subtree-layout.html + + This patch does not address the bigger issue of doing a full relayout + of inline flows containing floats, but it addresses the problem on + aol.com, where the changes that trigger layout are confined to an + overflow area inside the float. + + * page/FrameView.cpp: + (WebCore::FrameView::scheduleRelayoutOfSubtree): If the new and old + layout roots are different but one descends from the other, make (or + keep) the ancestor as the layout root. + * rendering/RenderObject.cpp: + (WebCore::objectIsRelayoutBoundary): Made boxes with overflow + clipping and non-auto width and height relayout boundaries. + +2007-11-01 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Mark Rowe. + + Fixed line endings that got confused in this file somehow. + + * platform/network/ResourceResponse.cpp: + (WebCore::ResourceResponse::isAttachment): + +2007-11-01 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Dave Hyatt. + + http://bugs.webkit.org/show_bug.cgi?id=15778 + Malformed GIFs should not result in memory corruption. + + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::haveDecodedRow): + * platform/image-decoders/gif/GIFImageReader.cpp: + (GIFImageReader::output_row): + (GIFImageReader::read): + +2007-10-31 Adam Roben <aroben@apple.com> + + Fix a crash when parsing a cubic-bezier function + + Reviewed by Hyatt. + + Test: fast/css/parse-timing-function-crash.html + + * WebCore.vcproj/WebCore.vcproj: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTimingFunctionValue): Don't walk off the end + of the ValueList. + +2007-10-31 David Hyatt <hyatt@apple.com> + + Fix a merge error from when I applied my patch to ToT. A couple of lines should be part of an if. + + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::adjustTransitions): + +2007-10-31 Anders Carlsson <andersca@apple.com> + + Reviewed by Sam. + + Add new SQL callback interfaces and JS implementations of them. + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSCustomSQLStatementCallback.cpp: Added. + (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback): + (WebCore::JSCustomSQLStatementCallback::handleEvent): + * bindings/js/JSCustomSQLStatementCallback.h: Added. + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: Added. + (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback): + (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): + * bindings/js/JSCustomSQLStatementErrorCallback.h: Added. + * bindings/js/JSCustomSQLTransactionCallback.cpp: Added. + (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): + (WebCore::JSCustomSQLTransactionCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionCallback.h: Added. + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: Added. + (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback): + (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionErrorCallback.h: Added. + * storage/JSCustomSQLStatementCallback.h: Added. + * storage/JSCustomSQLStatementErrorCallback.h: Added. + * storage/JSCustomSQLTransactionCallback.h: Added. + * storage/JSCustomSQLTransactionErrorCallback.h: Added. + * storage/SQLStatementCallback.h: Added. + (WebCore::SQLStatementCallback::~SQLStatementCallback): + * storage/SQLStatementCallback.idl: Added. + * storage/SQLStatementErrorCallback.h: Added. + (WebCore::SQLStatementErrorCallback::~SQLStatementErrorCallback): + * storage/SQLStatementErrorCallback.idl: Added. + * storage/SQLTransaction.h: Added. + * storage/SQLTransaction.idl: Added. + * storage/SQLTransactionCallback.h: Added. + (WebCore::SQLTransactionCallback::~SQLTransactionCallback): + * storage/SQLTransactionCallback.idl: Added. + * storage/SQLTransactionErrorCallback.h: Added. + (WebCore::SQLTransactionErrorCallback::~SQLTransactionErrorCallback): + * storage/SQLTransactionErrorCallback.idl: Added. + +2007-10-31 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Dave Harrison. + + <rdar://problem/5569741> Pasting content with a line break into a list can remove the list + + * editing/htmlediting.cpp: + (WebCore::enclosingEmptyListItem): A single list item can contain multiple + paragraphs, so if the incoming VisiblePosition is in an empty paragraph in a + list item, that list item isn't necessarily empty. + +2007-10-31 David Hyatt <hyatt@apple.com> + + Disable style sharing for animating styles. + + Reviewed by mitzpettel + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::canShareStyleWithElement): + +2007-10-31 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix intermediate length calculation + + * rendering/Length.h: + (WebCore::Length::blend): + +2007-10-31 Anders Carlsson <andersca@apple.com> + + Reviewed by Darin. + + Add new SQLError implementation. + + * DerivedSources.make: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * storage/SQLError.h: Added. + (WebCore::SQLError::SQLError): + (WebCore::SQLError::code): + (WebCore::SQLError::message): + * storage/SQLError.idl: Added. + +2007-10-31 David Hyatt <hyatt@apple.com> + + Change the initial value of transition-property to all. Change the initial value of + transition-duration to 0. + + Reviewed by antti + + * rendering/RenderStyle.h: + (WebCore::RenderStyle::initialTransitionDuration): + (WebCore::RenderStyle::initialTransitionProperty): + +2007-10-31 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + The new Color must be marked valid. + + * platform/graphics/gtk/ColorGtk.cpp: + +2007-10-31 Simon Hausmann <hausmann@kde.org> + + Reviewed by Maciej; + + Build fix for non-Qt builds. + + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::XMLTokenizer): + +2007-10-31 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Fix dependency path to header files of the public API of the Qt port. + + * WebCore.pro: + +2007-10-31 Holger Freyther <zecke@selfish.org> + + Reviewed by Simon. + + * QXmlStreamNamespaceDeclaration doesn't have the constructor we + want to use for Qt4.3. Reenable the old code path which is likely + to be dead as I have not checked if m_prefixToNamespaceMap is actually + used. + * Guard the entity resolver with the QT_VERSION as well. + * Partially reverts 369506279abdaa863e15efed649ca19e062f2c30 and + d2b54d0fc1b07a2480f4f7a1417abd7a636b0107 for Qt4.3. + + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::XMLTokenizer): + * dom/XMLTokenizer.h: + +2007-10-31 Holger Freyther <zecke@selfish.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + * QMimeData::removeData will be new in Qt4.4, don't use it for Qt4.3 + * Provide a bad fallback implementation to filter the format list. + + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::clearData): + +2007-10-31 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + add an entitiy resolver to QXmlStream. + Fixes fast/parser/entities-in-attributes.xhtml. + + * dom/XMLTokenizer.cpp: + (WebCore::EntityResolver::resolveUndeclaredEntity): + (WebCore::XMLTokenizer::XMLTokenizer): + (WebCore::XMLTokenizer::~XMLTokenizer): + +2007-10-31 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + Fixes in the XML tokenizer when using QXmlStream. + + Use new functionality of QXmlStream in Qt 4.4 to simplify + the code (but keep the old code for now to still support Qt 4.3). + + Add proper support for namespace handling when parsing into + a document fragment. + + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::XMLTokenizer): + (WebCore::XMLTokenizer::write): + (WebCore::XMLTokenizer::startElementNs): + (WebCore::): + * dom/XMLTokenizer.h: + +2007-10-31 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + add support for dragging images. + + * platform/DragImage.h: + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::clearData): + (WebCore::ClipboardQt::setDragImage): + (WebCore::ClipboardQt::setDragImageElement): + (WebCore::ClipboardQt::createDragImage): + (WebCore::getCachedImage): + (WebCore::ClipboardQt::declareAndWriteDragImage): + * platform/qt/ClipboardQt.h: + +2007-10-31 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + fix most of the issues I found with Clipboard and DnD. + + * editing/qt/EditorQt.cpp: + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::ClipboardQt): + (WebCore::ClipboardQt::~ClipboardQt): + (WebCore::ClipboardQt::clearData): + (WebCore::ClipboardQt::clearAllData): + (WebCore::ClipboardQt::getData): + (WebCore::ClipboardQt::setData): + (WebCore::ClipboardQt::types): + (WebCore::ClipboardQt::setDragImage): + (WebCore::ClipboardQt::setDragImageElement): + (WebCore::ClipboardQt::declareAndWriteDragImage): + (WebCore::ClipboardQt::writeURL): + (WebCore::ClipboardQt::writeRange): + (WebCore::ClipboardQt::hasData): + * platform/qt/ClipboardQt.h: + * platform/qt/DragDataQt.cpp: + (WebCore::DragData::asURL): + +2007-10-30 Mark Rowe <mrowe@apple.com> + + Fix the Gtk and Qt builds by stubbing out PlatformKeyboardEvent::currentCapsLockState. + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::PlatformKeyboardEvent::currentCapsLockState): + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::PlatformKeyboardEvent::currentCapsLockState): + +2007-10-31 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Anders. + + http://bugs.webkit.org/show_bug.cgi?id=15762 + XSLStylesheet loads subresources from a wrong URL + + Covered by corrected existing tests. + + * xml/XSLStyleSheet.cpp: + (WebCore::XSLStyleSheet::parseString): Pass stylesheet URL, not + the document one. + +2007-10-31 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=10818 + String::append does 2 full copies instead of 1 (or zero!) + + No change in functionality, thus no test. + + * platform/String.cpp: + (WebCore::String::append): Rewrote to copy once. Also removed an ancient + FIXME that doesn't seem to make any sense. Note that append() behavior doesn't + match documented String behavior ("modifications to one instance will + also modify all others"), but there are a lot of methods that don't. + +2007-10-31 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Add [JS]ProgressEvent.{cpp,h} files. + +2007-10-30 Adam Roben <aroben@apple.com> + + Windows build fixes + + I'm not completely sure why these const issues weren't caught by GCC, + but MSVC was certainly not happy with them. + + * editing/IndentOutdentCommand.cpp: + (WebCore::isIndentBlockquote): + * editing/markup.cpp: + (WebCore::styleFromMatchedRulesAndInlineDecl): + +2007-10-30 David Hyatt <hyatt@apple.com> + + transition-property was defaulting to all when it should default to none. + + It was taking a string type. I figured out how to make it take an ident instead, so you can write: + + transition-property: opacity + + instead of + + transition-property: "opacity" + + Transition layers also weren't properly repeating patterns the way they were supposed to. I fixed that. + + Finally, I fixed a bug in the code to fix up transition layers where something was misplaced that should have been inside a null check. + + Reviewed by aroben + + * css/CSSHelper.h: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTransitionProperty): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * page/AnimationController.cpp: + (WebCore::ImplicitAnimation::animate): + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::adjustTransitions): + * rendering/RenderStyle.h: + (WebCore::RenderStyle::initialTransitionProperty): + +2007-10-30 Antti Koivisto <antti@apple.com> + + Reviewed by Geoff. + + Leak fix + + * platform/graphics/mac/MoviePrivateQTKit.mm: + (WebCore::MoviePrivate::getSupportedTypes): + +2007-10-30 Dan Bernstein <mitz@apple.com> + + Reviewed by Stephanie Lewis. + + - fix <rdar://problem/5547237> REGRESSION (304-ToT): Repro font-related crash in fontdatawin.cpp Line 93 (many sites) + + * platform/win/FontDataWin.cpp: + (WebCore::FontData::platformInit): Handle the case where the font has no + glyphs on page zero. + +2007-10-30 David Hyatt <hyatt@apple.com> + + Make sure CSS transforms can be animated using the CSS transition property. + + Reviewed by Dan and Antti + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * page/AnimationController.cpp: + (WebCore::blendFunc): + (WebCore::ImplicitAnimation::animate): + * rendering/Length.h: + (WebCore::Length::blend): + * rendering/RenderStyle.cpp: + (WebCore::StyleTransformData::operator==): + (WebCore::TransformOperations::operator==): + (WebCore::blendLengths): + (WebCore::ScaleTransformOperation::blend): + (WebCore::RotateTransformOperation::blend): + (WebCore::SkewTransformOperation::blend): + (WebCore::TranslateTransformOperation::blend): + (WebCore::MatrixTransformOperation::blend): + * rendering/RenderStyle.h: + (WebCore::TransformOperations::operator!=): + (WebCore::TransformOperations::isEmpty): + (WebCore::TransformOperations::size): + (WebCore::TransformOperations::operator[]): + (WebCore::TransformOperations::append): + (WebCore::RenderStyle::transform): + (WebCore::RenderStyle::setTransform): + (WebCore::RenderStyle::initialTransform): + +2007-10-30 Antti Koivisto <antti@apple.com> + + Another Qt/GTK build fix. + + * bindings/js/JSHTMLElementWrapperFactory.cpp: + +2007-10-30 Antti Koivisto <antti@apple.com> + + Attempt to fix Qt/GTK build. + + * WebCore.pro: + +2007-10-30 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5549929> CrashTracer: [USER] 35 crashes at WebCore::CharacterData::insertData + + We were trying to insert a tab into a br, after the br incorrectly ended up inside + a tab span. + + * editing/DeleteButtonController.cpp: + (WebCore::isDeletableElement): Changed to take in a const Node* instead of a Node*. + * editing/DeleteSelectionCommand.cpp: + (WebCore::isTableRow): Ditto. + * editing/IndentOutdentCommand.cpp: + (WebCore::isIndentBlockquote): Ditto. + (WebCore::isListOrIndentBlockquote): Ditto. + * editing/InsertLineBreakCommand.cpp: + (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Added, moved code from + doApply here. + (WebCore::InsertLineBreakCommand::doApply): + Don't upstream() the insertion position. upstream()ing it will only have an effect + when the insertion position is the first in its paragraph (since we canonicalize + VisiblePositions to the upstream() candidate). In this start of paragraph case, + upstream() can move outside inline elements like tab spans or elements that might + have a different whitespace mode (added two test cases to cover these). + Moved code to decide whether to insert a br or a '\n' to its own method. + Removed special case code for inserting at a position inside a tab span. We instead + adjust the insertion position before insertion if it is inside a tab span and + handle insertion in the appropriate if-block. This fixes a bug where we would + only insert one line break when two were needed (added a testcase). + Removed special case code for inserting before and after tables and horizontal + rules. We handle these insertions in the appropriate if-block. + * editing/InsertLineBreakCommand.h: + * editing/ReplaceSelectionCommand.cpp: + (WebCore::isMailPasteAsQuotationNode): Change to take in a const Node*. + * editing/htmlediting.cpp: + (WebCore::isContentEditable): Ditto. + (WebCore::isBlock): Ditto. + (WebCore::enclosingNodeOfType): Changed to take a function pointer to a function + that takes in a const Node*. + (WebCore::isTabSpanTextNode): Check to see that the node actually a text node, + and not, say, a br. + * editing/htmlediting.h: + * editing/markup.cpp: + (WebCore::styleFromMatchedRulesAndInlineDecl): Changed to take in a const Node*. + (WebCore::elementHasTextDecorationProperty): Ditto. + +2007-10-30 Antti Koivisto <antti@apple.com> + + Add missing files. + + * html/VoidCallback.cpp: Added. + (VoidCallback::VoidCallback): + (VoidCallback::~VoidCallback): + (VoidCallback::handleEvent): + (VoidCallback::execute): + (VoidCallback::operator==): + (WebCore::toVoidCallback): + * html/VoidCallback.h: Added. + * html/VoidCallback.idl: Added. + +2007-10-30 David Kilzer <ddkilzer@webkit.org> + + Generated files missing from WebCore's Xcode project file + <http://bugs.webkit.org/show_bug.cgi?id=15406> + + Reviewed by Darin. + + Added the following files to the Xcode project file (note that + JSHTMLInputElementBaseTable.cpp is used as a header file): + + - DOMCSSStyleSheetPrivate.h + - DOMEventPrivate.h + - DOMHTMLCollectionPrivate.h + - DOMHTMLEmbedElementPrivate.h + - DOMHTMLIFrameElementPrivate.h + - DOMHTMLObjectElementPrivate.h + - DOMHTMLSelectElementPrivate.h + - DOMTextEventInternal.h + - JSHTMLInputElementBaseTable.cpp + + * DerivedSources.make: Removed DOMSVGException.h and JSSVGAnimatedPoints.h + since their generated code was not used. + * WebCore.xcodeproj/project.pbxproj: Added missing header files. + +2007-10-29 Antti Koivisto <antti@apple.com> + + Rubber stamped by Adele. + + Initial media (<video> and <audio>) support from feature branch and + QTKit based platform implementation. + + This will need to be updated to match current draft specification. + + * Configurations/WebCore.xcconfig: + * DerivedSources.make: + * WebCore.base.exp: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSHTMLAudioElementConstructor.cpp: Added. + (WebCore::JSHTMLAudioElementConstructor::JSHTMLAudioElementConstructor): + (WebCore::JSHTMLAudioElementConstructor::implementsConstruct): + (WebCore::JSHTMLAudioElementConstructor::construct): + * bindings/js/JSHTMLAudioElementConstructor.h: Added. + * bindings/js/JSHTMLElementWrapperFactory.cpp: + (WebCore::createJSHTMLWrapper): + * bindings/js/kjs_window.cpp: + (KJS::Window::getValueProperty): + * bindings/js/kjs_window.h: + (KJS::Window::): + * bindings/scripts/CodeGeneratorJS.pm: + * dom/Document.cpp: + (WebCore::Document::createEvent): + (WebCore::Document::willSaveToCache): + (WebCore::Document::didRestoreFromCache): + (WebCore::Document::registerForCacheCallbacks): + (WebCore::Document::unregisterForCacheCallbacks): + * dom/Document.h: + * dom/Element.cpp: + (WebCore::Element::setBooleanAttribute): + * dom/Element.h: + (WebCore::Element::willSaveToCache): + * dom/Event.cpp: + (WebCore::Event::isProgressEvent): + * dom/Event.h: + * dom/EventNames.h: + * dom/EventTargetNode.cpp: + (WebCore::EventTargetNode::dispatchProgressEvent): + * dom/EventTargetNode.h: + * dom/ProgressEvent.cpp: Added. + (WebCore::ProgressEvent::ProgressEvent): + (WebCore::ProgressEvent::initProgressEvent): + (WebCore::ProgressEvent::initProgressEventNS): + * dom/ProgressEvent.h: Added. + (WebCore::ProgressEvent::lengthComputable): + (WebCore::ProgressEvent::loaded): + (WebCore::ProgressEvent::total): + (WebCore::ProgressEvent::isProgressEvent): + * dom/ProgressEvent.idl: Added. + * history/CachedPage.cpp: + (WebCore::CachedPage::CachedPage): + * html/HTMLAttributeNames.in: + * html/HTMLAudioElement.cpp: Added. + (WebCore::HTMLAudioElement::HTMLAudioElement): + * html/HTMLAudioElement.h: Added. + (WebCore::HTMLAudioElement::tagPriority): + * html/HTMLAudioElement.idl: Added. + * html/HTMLElement.cpp: + (WebCore::inlineTagList): + * html/HTMLElementFactory.cpp: + (WebCore::audioConstructor): + (WebCore::videoConstructor): + (WebCore::sourceConstructor): + (WebCore::createFunctionMap): + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::~HTMLInputElement): + (WebCore::HTMLInputElement::setInputType): + (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): + (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): + * html/HTMLMediaElement.cpp: Added. + (WebCore::HTMLMediaElement::HTMLMediaElement): + (WebCore::HTMLMediaElement::~HTMLMediaElement): + (WebCore::HTMLMediaElement::checkDTD): + (WebCore::HTMLMediaElement::rendererIsNeeded): + (WebCore::HTMLMediaElement::createRenderer): + (WebCore::HTMLMediaElement::insertedIntoDocument): + (WebCore::HTMLMediaElement::removedFromDocument): + (WebCore::HTMLMediaElement::scheduleLoad): + (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): + (WebCore::HTMLMediaElement::dispatchEventAsync): + (WebCore::HTMLMediaElement::loadTimerFired): + (WebCore::HTMLMediaElement::asyncEventTimerFired): + (WebCore::serializeTimeOffset): + (WebCore::parseTimeOffset): + (WebCore::HTMLMediaElement::getTimeOffsetAttribute): + (WebCore::HTMLMediaElement::setTimeOffsetAttribute): + (WebCore::HTMLMediaElement::error): + (WebCore::HTMLMediaElement::src): + (WebCore::HTMLMediaElement::HTMLMediaElement::setSrc): + (WebCore::HTMLMediaElement::currentSrc): + (WebCore::HTMLMediaElement::networkState): + (WebCore::HTMLMediaElement::bufferingRate): + (WebCore::HTMLMediaElement::load): + (WebCore::HTMLMediaElement::movieNetworkStateChanged): + (WebCore::HTMLMediaElement::movieReadyStateChanged): + (WebCore::HTMLMediaElement::setReadyState): + (WebCore::HTMLMediaElement::progressEventTimerFired): + (WebCore::HTMLMediaElement::seek): + (WebCore::HTMLMediaElement::readyState): + (WebCore::HTMLMediaElement::seeking): + (WebCore::HTMLMediaElement::currentTime): + (WebCore::HTMLMediaElement::setCurrentTime): + (WebCore::HTMLMediaElement::duration): + (WebCore::HTMLMediaElement::paused): + (WebCore::HTMLMediaElement::defaultPlaybackRate): + (WebCore::HTMLMediaElement::setDefaultPlaybackRate): + (WebCore::HTMLMediaElement::playbackRate): + (WebCore::HTMLMediaElement::setPlaybackRate): + (WebCore::HTMLMediaElement::ended): + (WebCore::HTMLMediaElement::autoplay): + (WebCore::HTMLMediaElement::setAutoplay): + (WebCore::HTMLMediaElement::play): + (WebCore::HTMLMediaElement::pause): + (WebCore::HTMLMediaElement::loopCount): + (WebCore::HTMLMediaElement::setLoopCount): + (WebCore::HTMLMediaElement::start): + (WebCore::HTMLMediaElement::setStart): + (WebCore::HTMLMediaElement::end): + (WebCore::HTMLMediaElement::setEnd): + (WebCore::HTMLMediaElement::loopStart): + (WebCore::HTMLMediaElement::setLoopStart): + (WebCore::HTMLMediaElement::loopEnd): + (WebCore::HTMLMediaElement::setLoopEnd): + (WebCore::HTMLMediaElement::currentLoop): + (WebCore::HTMLMediaElement::setCurrentLoop): + (WebCore::HTMLMediaElement::controls): + (WebCore::HTMLMediaElement::setControls): + (WebCore::HTMLMediaElement::volume): + (WebCore::HTMLMediaElement::setVolume): + (WebCore::HTMLMediaElement::muted): + (WebCore::HTMLMediaElement::setMuted): + (WebCore::HTMLMediaElement::pickMedia): + (WebCore::HTMLMediaElement::checkIfSeekNeeded): + (WebCore::HTMLMediaElement::movieVolumeChanged): + (WebCore::HTMLMediaElement::movieDidEnd): + (WebCore::HTMLMediaElement::movieCuePointReached): + (WebCore::HTMLMediaElement::addCuePoint): + (WebCore::HTMLMediaElement::removeCuePoint): + (WebCore::HTMLMediaElement::buffered): + (WebCore::HTMLMediaElement::played): + (WebCore::HTMLMediaElement::seekable): + (WebCore::HTMLMediaElement::effectiveStart): + (WebCore::HTMLMediaElement::effectiveEnd): + (WebCore::HTMLMediaElement::effectiveLoopStart): + (WebCore::HTMLMediaElement::effectiveLoopEnd): + (WebCore::HTMLMediaElement::activelyPlaying): + (WebCore::HTMLMediaElement::endedPlayback): + (WebCore::HTMLMediaElement::willSaveToCache): + (WebCore::HTMLMediaElement::didRestoreFromCache): + * html/HTMLMediaElement.h: Added. + (WebCore::HTMLMediaElement::movie): + (WebCore::HTMLMediaElement::isVideo): + (WebCore::HTMLMediaElement::): + (WebCore::HTMLMediaElement::CallbackEntry::CallbackEntry): + * html/HTMLMediaElement.idl: Added. + * html/HTMLSourceElement.cpp: Added. + (WebCore::HTMLSourceElement::HTMLSourceElement): + (WebCore::HTMLSourceElement::~HTMLSourceElement): + (WebCore::HTMLSourceElement::insertedIntoDocument): + (WebCore::HTMLSourceElement::src): + (WebCore::HTMLSourceElement::setSrc): + (WebCore::HTMLSourceElement::media): + (WebCore::HTMLSourceElement::setMedia): + (WebCore::HTMLSourceElement::type): + (WebCore::HTMLSourceElement::setType): + * html/HTMLSourceElement.h: Added. + (WebCore::HTMLSourceElement::endTagRequirement): + (WebCore::HTMLSourceElement::tagPriority): + * html/HTMLSourceElement.idl: Added. + * html/HTMLTagNames.in: + * html/HTMLVideoElement.cpp: Added. + (WebCore::HTMLVideoElement::HTMLVideoElement): + (WebCore::HTMLVideoElement::videoWidth): + (WebCore::HTMLVideoElement::videoHeight): + * html/HTMLVideoElement.h: Added. + (WebCore::HTMLVideoElement::tagPriority): + (WebCore::HTMLVideoElement::isVideo): + * html/HTMLVideoElement.idl: Added. + * html/MediaError.h: Added. + (WebCore::MediaError::): + (WebCore::MediaError::MediaError): + (WebCore::MediaError::code): + * html/MediaError.idl: Added. + * html/TimeRanges.cpp: Added. + (TimeRanges::TimeRanges): + (TimeRanges::start): + (TimeRanges::end): + (TimeRanges::add): + (TimeRanges::contain): + * html/TimeRanges.h: Added. + (WebCore::TimeRanges::TimeRanges): + (WebCore::TimeRanges::length): + (WebCore::TimeRanges::Range::Range): + * html/TimeRanges.idl: Added. + * page/DOMWindow.idl: + * platform/MIMETypeRegistry.cpp: + (WebCore::initialiseSupportedMovieMIMETypes): + (WebCore::initialiseMIMETypeRegistry): + (WebCore::MIMETypeRegistry::isSupportedMovieMIMEType): + (WebCore::MIMETypeRegistry::getSupportedMovieMIMETypes): + * platform/MIMETypeRegistry.h: + * platform/graphics/Movie.cpp: Added. + (WebCore::Movie::Movie): + (WebCore::Movie::~Movie): + (WebCore::Movie::load): + (WebCore::Movie::cancelLoad): + (WebCore::Movie::play): + (WebCore::Movie::pause): + (WebCore::Movie::duration): + (WebCore::Movie::currentTime): + (WebCore::Movie::seek): + (WebCore::Movie::paused): + (WebCore::Movie::seeking): + (WebCore::Movie::naturalSize): + (WebCore::Movie::hasVideo): + (WebCore::Movie::networkState): + (WebCore::Movie::readyState): + (WebCore::Movie::volume): + (WebCore::Movie::setVolume): + (WebCore::Movie::rate): + (WebCore::Movie::setRate): + (WebCore::Movie::muted): + (WebCore::Movie::setMuted): + (WebCore::Movie::dataRate): + (WebCore::Movie::setEndTime): + (WebCore::Movie::addCuePoint): + (WebCore::Movie::removeCuePoint): + (WebCore::Movie::clearCuePoints): + (WebCore::Movie::maxTimeBuffered): + (WebCore::Movie::maxTimeSeekable): + (WebCore::Movie::bytesLoaded): + (WebCore::Movie::totalBytesKnown): + (WebCore::Movie::totalBytes): + (WebCore::Movie::setRect): + (WebCore::Movie::visible): + (WebCore::Movie::setVisible): + (WebCore::Movie::paint): + (WebCore::Movie::getSupportedTypes): + (WebCore::Movie::networkStateChanged): + (WebCore::Movie::readyStateChanged): + (WebCore::Movie::volumeChanged): + (WebCore::Movie::didEnd): + (WebCore::Movie::cuePointReached): + * platform/graphics/Movie.h: Added. + (WebCore::MovieClient::~MovieClient): + (WebCore::MovieClient::movieNetworkStateChanged): + (WebCore::MovieClient::movieReadyStateChanged): + (WebCore::MovieClient::movieVolumeChanged): + (WebCore::MovieClient::movieDidEnd): + (WebCore::MovieClient::movieCuePointReached): + (WebCore::Movie::parentWidget): + (WebCore::Movie::setParentWidget): + (WebCore::Movie::rect): + (WebCore::Movie::): + * platform/graphics/mac/MoviePrivateQTKit.h: Added. + * platform/graphics/mac/MoviePrivateQTKit.mm: Added. + (WebCore::MoviePrivate::MoviePrivate): + (WebCore::MoviePrivate::~MoviePrivate): + (WebCore::MoviePrivate::createQTMovie): + (WebCore::MoviePrivate::createQTMovieView): + (WebCore::MoviePrivate::createQTTime): + (WebCore::MoviePrivate::load): + (WebCore::MoviePrivate::play): + (WebCore::MoviePrivate::pause): + (WebCore::MoviePrivate::duration): + (WebCore::MoviePrivate::currentTime): + (WebCore::MoviePrivate::seek): + (WebCore::MoviePrivate::setEndTime): + (WebCore::MoviePrivate::addCuePoint): + (WebCore::MoviePrivate::removeCuePoint): + (WebCore::MoviePrivate::clearCuePoints): + (WebCore::MoviePrivate::startCuePointTimerIfNeeded): + (WebCore::MoviePrivate::cancelSeek): + (WebCore::MoviePrivate::seekTimerFired): + (WebCore::MoviePrivate::cuePointTimerFired): + (WebCore::MoviePrivate::paused): + (WebCore::MoviePrivate::seeking): + (WebCore::MoviePrivate::naturalSize): + (WebCore::MoviePrivate::hasVideo): + (WebCore::MoviePrivate::setVolume): + (WebCore::MoviePrivate::setMuted): + (WebCore::MoviePrivate::setRate): + (WebCore::MoviePrivate::dataRate): + (WebCore::MoviePrivate::networkState): + (WebCore::MoviePrivate::readyState): + (WebCore::MoviePrivate::maxTimeBuffered): + (WebCore::MoviePrivate::maxTimeSeekable): + (WebCore::MoviePrivate::maxTimeLoaded): + (WebCore::MoviePrivate::bytesLoaded): + (WebCore::MoviePrivate::totalBytesKnown): + (WebCore::MoviePrivate::totalBytes): + (WebCore::MoviePrivate::cancelLoad): + (WebCore::MoviePrivate::updateStates): + (WebCore::MoviePrivate::loadStateChanged): + (WebCore::MoviePrivate::rateChanged): + (WebCore::MoviePrivate::sizeChanged): + (WebCore::MoviePrivate::timeChanged): + (WebCore::MoviePrivate::volumeChanged): + (WebCore::MoviePrivate::didEnd): + (WebCore::MoviePrivate::setRect): + (WebCore::MoviePrivate::setVisible): + (WebCore::MoviePrivate::paint): + (WebCore::MoviePrivate::getSupportedTypes): + (-[WebCoreMovieObserver loadStateChanged:]): + (-[WebCoreMovieObserver rateChanged:]): + (-[WebCoreMovieObserver sizeChanged:]): + (-[WebCoreMovieObserver timeChanged:]): + (-[WebCoreMovieObserver volumeChanged:]): + (-[WebCoreMovieObserver didEnd:]): + (-[WebCoreMovieObserver setCallback:WebCore::]): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::collectLayers): + * rendering/RenderVideo.cpp: Added. + (WebCore::RenderVideo::RenderVideo): + (WebCore::RenderVideo::~RenderVideo): + (WebCore::RenderVideo::movie): + (WebCore::RenderVideo::videoSizeChanged): + (WebCore::RenderVideo::paint): + (WebCore::RenderVideo::layout): + (WebCore::RenderVideo::updateFromElement): + (WebCore::RenderVideo::updateMovie): + (WebCore::RenderVideo::isWidthSpecified): + (WebCore::RenderVideo::isHeightSpecified): + (WebCore::RenderVideo::calcReplacedWidth): + (WebCore::RenderVideo::calcReplacedHeight): + (WebCore::RenderVideo::calcAspectRatioWidth): + (WebCore::RenderVideo::calcAspectRatioHeight): + (WebCore::RenderVideo::calcPrefWidths): + * rendering/RenderVideo.h: Added. + (WebCore::RenderVideo::renderName): + +2007-10-30 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Add Interface and Class UUIDs to the IDLs in preparation of adding + autogeneration of the COM DOM bindings. + + * bindings/scripts/IDLParser.pm: Relax parsing rules to allow newlines as whitespace. + * css/CSSCharsetRule.idl: + * css/CSSFontFaceRule.idl: + * css/CSSImportRule.idl: + * css/CSSMediaRule.idl: + * css/CSSPageRule.idl: + * css/CSSPrimitiveValue.idl: + * css/CSSRule.idl: + * css/CSSRuleList.idl: + * css/CSSStyleDeclaration.idl: + * css/CSSStyleRule.idl: + * css/CSSStyleSheet.idl: + * css/CSSUnknownRule.idl: + * css/CSSValue.idl: + * css/CSSValueList.idl: + * css/Counter.idl: + * css/MediaList.idl: + * css/RGBColor.idl: + * css/Rect.idl: + * css/StyleSheet.idl: + * css/StyleSheetList.idl: + * dom/Attr.idl: + * dom/CDATASection.idl: + * dom/CharacterData.idl: + * dom/Comment.idl: + * dom/DOMImplementation.idl: + * dom/Document.idl: + * dom/DocumentFragment.idl: + * dom/DocumentType.idl: + * dom/Element.idl: + * dom/Entity.idl: + * dom/EntityReference.idl: + * dom/Event.idl: + * dom/EventListener.idl: + * dom/EventTarget.idl: + * dom/NamedNodeMap.idl: + * dom/Node.idl: + * dom/NodeList.idl: + * dom/Notation.idl: + * dom/ProcessingInstruction.idl: + * dom/Text.idl: + * html/CanvasGradient.idl: + * html/CanvasPattern.idl: + * html/CanvasRenderingContext2D.idl: + * html/HTMLAnchorElement.idl: + * html/HTMLAppletElement.idl: + * html/HTMLAreaElement.idl: + * html/HTMLBRElement.idl: + * html/HTMLBaseElement.idl: + * html/HTMLBaseFontElement.idl: + * html/HTMLBlockquoteElement.idl: + * html/HTMLBodyElement.idl: + * html/HTMLButtonElement.idl: + * html/HTMLCanvasElement.idl: + * html/HTMLCollection.idl: + * html/HTMLDListElement.idl: + * html/HTMLDirectoryElement.idl: + * html/HTMLDivElement.idl: + * html/HTMLDocument.idl: + * html/HTMLElement.idl: + * html/HTMLEmbedElement.idl: + * html/HTMLFieldSetElement.idl: + * html/HTMLFontElement.idl: + * html/HTMLFormElement.idl: + * html/HTMLFrameElement.idl: + * html/HTMLFrameSetElement.idl: + * html/HTMLHRElement.idl: + * html/HTMLHeadElement.idl: + * html/HTMLHeadingElement.idl: + * html/HTMLHtmlElement.idl: + * html/HTMLIFrameElement.idl: + * html/HTMLImageElement.idl: + * html/HTMLInputElement.idl: + * html/HTMLIsIndexElement.idl: + * html/HTMLLIElement.idl: + * html/HTMLLabelElement.idl: + * html/HTMLLegendElement.idl: + * html/HTMLLinkElement.idl: + * html/HTMLMapElement.idl: + * html/HTMLMarqueeElement.idl: + * html/HTMLMenuElement.idl: + * html/HTMLMetaElement.idl: + * html/HTMLModElement.idl: + * html/HTMLOListElement.idl: + * html/HTMLObjectElement.idl: + * html/HTMLOptGroupElement.idl: + * html/HTMLOptionElement.idl: + * html/HTMLOptionsCollection.idl: + * html/HTMLParagraphElement.idl: + * html/HTMLParamElement.idl: + * html/HTMLPreElement.idl: + * html/HTMLQuoteElement.idl: + * html/HTMLScriptElement.idl: + * html/HTMLSelectElement.idl: + * html/HTMLStyleElement.idl: + * html/HTMLTableCaptionElement.idl: + * html/HTMLTableCellElement.idl: + * html/HTMLTableColElement.idl: + * html/HTMLTableElement.idl: + * html/HTMLTableRowElement.idl: + * html/HTMLTableSectionElement.idl: + * html/HTMLTextAreaElement.idl: + * html/HTMLTitleElement.idl: + * html/HTMLUListElement.idl: + +2007-10-30 Adele Peterson <adele@apple.com> + + RS by Darin. + + * page/AnimationController.cpp: (WebCore::blendFunc): Use lround instead of round. + +2007-10-29 Timothy Hatcher <timothy@apple.com> + + Reviewed by John Sullivan. + + - Allow showing and closing the inspector programatically. + - Add showConsole() and showTimeline() methods. + + * WebCore.base.exp: Add exports for WebKit. + * page/InspectorController.cpp: + (WebCore::callSimpleFunction): Renamed from callClearFunction(). + (WebCore::unloading): Renamed to close(). + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::inspect): Moved showing code to show(). + (WebCore::InspectorController::setWindowVisible): Show the timeline or console if needed. + (WebCore::InspectorController::show): Code factored out of inspect(). + (WebCore::InspectorController::showConsole): Call show() and the JS showConsole(). + (WebCore::InspectorController::showTimeline): Call show() and the JS showTimeline(). + (WebCore::InspectorController::close): + (WebCore::InspectorController::clearScriptResources): Call the new callSimpleFunction. + (WebCore::InspectorController::clearDatabaseScriptResources): Ditto. + (WebCore::InspectorController::clearScriptConsoleMessages): Ditto. + (WebCore::InspectorController::clearNetworkTimeline): Ditto. + * page/InspectorController.h: Add and rename methods. + * page/inspector/inspector.js: Add showConsole() and showTimeline(). + +2007-10-30 Adele Peterson <adele@apple.com> + + Reviewed by Sam. + + Build fix. + + * page/AnimationController.cpp: (WebCore::blendFunc): + +2007-10-30 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577 + <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields + + Test: manual-tests/password-caps-lock.html + + * WebCore.base.exp: Added symbol for capsLockStateMayHaveChanged. + + * page/Frame.cpp: (WebCore::Frame::setIsActive): Calls capsLockStateMayHaveChanged. + * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged): Added. Tells the focused node's renderer that the capsLockStateMayHaveChanged. + * page/EventHandler.h: + + * platform/PlatformKeyboardEvent.h: + * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added. + * platform/win/KeyEventWin.cpp: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Added. + + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::RenderTextControl): + (WebCore::RenderTextControl::paint): Added. If m_shouldDrawCapsLockIndicator is true, paints the caps lock indicator after the background. + (WebCore::RenderTextControl::forwardEvent): When the control gets and loses focus, update the caps lock state. + (WebCore::RenderTextControl::capsLockStateMayHaveChanged): Added. Updates m_shouldDrawCapsLockIndicator, which is true if the field is a password field, + and the frame is active, and the element is focused, and the caps lock is on. Causes a repaint when m_shouldDrawCapsLockIndicator changes state. + * rendering/RenderTextControl.h: Added m_shouldDrawCapsLockIndicator. + * rendering/RenderObject.h: (WebCore::RenderObject::capsLockStateMayHaveChanged): Added. + + * rendering/RenderTheme.h: (WebCore::RenderTheme::paintCapsLockIndicator): Added. + * rendering/RenderThemeMac.h: + * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCapsLockIndicator): Added. Calls wkDrawCapsLockIndicator. + * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintCapsLockIndicator): Added. Calls paintThemePart for the CapsLockPart. + * rendering/RenderThemeSafari.h: + +2007-10-30 David Hyatt <hyatt@apple.com> + + Land support for implicit animation in CSS. + + Reviewed by mitz, darin + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTimingFunctionValue): + (WebCore::CSSParser::parseTransitionTimingFunction): + (WebCore::CSSParser::parseTransitionProperty): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapTransitionDuration): + (WebCore::CSSStyleSelector::mapTransitionRepeatCount): + (WebCore::CSSStyleSelector::mapTransitionTimingFunction): + (WebCore::CSSStyleSelector::mapTransitionProperty): + * css/CSSTimingFunctionValue.h: + (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): + (WebCore::CSSTimingFunctionValue::x1): + (WebCore::CSSTimingFunctionValue::y1): + (WebCore::CSSTimingFunctionValue::x2): + (WebCore::CSSTimingFunctionValue::y2): + * dom/Element.cpp: + (WebCore::Element::styleForRenderer): + (WebCore::Element::createRenderer): + * dom/Node.cpp: + (WebCore::Node::createRendererIfNeeded): + (WebCore::Node::setRenderStyle): + * page/AnimationController.cpp: + (WebCore::CurveData::CurveData): + (WebCore::CurveData::sampleCurveX): + (WebCore::CurveData::sampleCurveY): + (WebCore::CurveData::sampleCurveDerivativeX): + (WebCore::CurveData::solveCurveX): + (WebCore::solveEpsilon): + (WebCore::solveCubicBezierFunction): + (WebCore::ImplicitAnimation::finished): + (WebCore::CompositeImplicitAnimation::~CompositeImplicitAnimation): + (WebCore::CompositeImplicitAnimation::hasAnimationForProperty): + (WebCore::ImplicitAnimation::ImplicitAnimation): + (WebCore::ImplicitAnimation::~ImplicitAnimation): + (WebCore::ImplicitAnimation::reset): + (WebCore::ImplicitAnimation::progress): + (WebCore::blendFunc): + (WebCore::ImplicitAnimation::animate): + (WebCore::CompositeImplicitAnimation::animate): + (WebCore::CompositeImplicitAnimation::animating): + (WebCore::CompositeImplicitAnimation::reset): + (WebCore::AnimationControllerPrivate::hasImplicitAnimations): + (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): + (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate): + (WebCore::AnimationControllerPrivate::get): + (WebCore::AnimationControllerPrivate::clear): + (WebCore::AnimationControllerPrivate::updateTimer): + (WebCore::AnimationControllerPrivate::timerFired): + (WebCore:::m_data): + (WebCore::AnimationController::~AnimationController): + (WebCore::AnimationController::cancelImplicitAnimations): + (WebCore::AnimationController::updateImplicitAnimations): + (WebCore::AnimationController::suspendAnimations): + (WebCore::AnimationController::resumeAnimations): + * page/AnimationController.h: + * page/Frame.cpp: + (WebCore::FramePrivate::FramePrivate): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::setStyle): + (WebCore::RenderBox::destroy): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::setAnimatableStyle): + (WebCore::RenderObject::destroy): + * rendering/RenderObject.h: + * rendering/RenderStyle.h: + (WebCore::TimingFunction::TimingFunction): + (WebCore::TimingFunction::operator==): + (WebCore::TimingFunction::x1): + (WebCore::TimingFunction::y1): + (WebCore::TimingFunction::x2): + (WebCore::TimingFunction::y2): + (WebCore::TimingFunction::type): + (WebCore::Transition::transitionProperty): + (WebCore::Transition::setTransitionProperty): + (WebCore::RenderStyle::initialTransitionProperty): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + +2007-10-29 Beth Dakin <bdakin@apple.com> + + Reviewed by Hyatt. + + Fix for <rdar://problem/5399614> anchor tag is not rendered without + text content, works in Firefox with CSS background-image (13237) + + This patch allows empty inlines that have box decorations or width + from border/padding/margin to have line boxes. + + * rendering/bidi.cpp: + (WebCore::inlineFlowAllowsLineBox): Convenience function that + defines when we allow an inline flow to have a line box. + (WebCore::requiresLineBox): Call inlineFlowAllowsLineBox. + (WebCore::shouldSkipWhitespaceAfterStartObject): New function to + merge some shared code between list markers and empty inline flows + that fall at the beginning of a line. + (WebCore::RenderBlock::findNextLineBreak): Make flows more like + list markers. + + One interesting side effect of this bug appeared in our xhtml/svg + tests that generate parser error tags. The tag we generate was + actually an empty inline with box decorations. This patch causes + those inlines to draw now, and the parser errors looked strange. So + I changed it so that the parsererror tag is display:block. This + matches Firefox, and I think was the original intent of the tag + since that causes its red background and border to show up. + * dom/XMLTokenizer.cpp: + (WebCore::createXHTMLParserErrorHeader): + +2007-10-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix crashing tests fast/frames/inline-object-inside-frameset.html and + fast/forms/form-hides-table.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::destroy): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + +2007-10-29 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15750 + REGRESSION(r27173): Web Inspector freezes beneath Image::drawPattern() + + Test: fast/backgrounds/size/zero.html + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::Image::drawPattern): Added an ASSERT and an early return + to guard against singular pattern transforms. + * rendering/RenderBox.cpp: + (WebCore::cacluateBackgroundSize): Changed to ensure a minimum tile + size of 1x1. + +2007-10-29 Alp Toker <alp@atoker.com> + + Reviewed by Maciej. + + Add GTK+ convenience conversions for various primitives + + * WebCore.pro: + * platform/graphics/Color.h: + * platform/graphics/IntPoint.h: + * platform/graphics/IntRect.h: + * platform/graphics/gtk/ColorGtk.cpp: Added. + (WebCore::Color::Color): + * platform/graphics/gtk/IntPointGtk.cpp: Added. + (WebCore::IntPoint::IntPoint): + (WebCore::IntPoint::operator GdkPoint): + * platform/graphics/gtk/IntRectGtk.cpp: Added. + (WebCore::IntRect::IntRect): + (WebCore::IntRect::operator GdkRectangle): + +2007-10-29 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + Speculative fix for <rdar://5538489> Safari 3.0.4 seed hangs at + http://tgmonline.futuregamer.it/ (works fine on Safari 2.0.4 and Safari + Beta for Mac) + + I cannot reproduce this hang, but it is likely due to our not limiting + WM_USER+1 messages or InvalidateRect calls for a plugin with initially- + unknown MIME type. The embed tag on the page is missing a type + attribute, so as fallback, we choose to load the Flash plugin based on + the file extension of "swf." However, we do not record this determined + MIME type, and so our quirks cannot be established. + + Changed findPlugin() so that, if it fails to find a plugin for the + given MIME type, it will lookup the MIME type for the file extension - + overwriting its passed MIME type parameter - and search for a plugin + for that MIME type. + + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::PluginDatabaseWin::pluginForMIMEType): Added an early return + if the MIME type is empty + (WebCore::PluginDatabaseWin::MIMETypeForExtension): Added to replace + pluginForExtension. Returns a String with the MIME type for the file + extension. Also, changed to use case-insensitive compares + (WebCore::PluginDatabaseWin::findPlugin): If we fail to find a plugin + for the given extension, overwrite the incoming MIME type parameter + with the MIME type for the file extension, and search for a plugin for + that MIME type. Also, changed the way that the extension is determined + (WebCore::PluginDatabaseWin::createPluginView): Pass a mutable String + to findPlugin() so that it can be updated if necessary + * plugins/win/PluginDatabaseWin.h: Changed findPlugin() to take a non- + const String, removed definition of pluginForExtension, added + definition for MIMETypeForExtension + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackageWin::fetchInfo): Store the MIME type in + lowercase for easier compares + +2007-10-29 Andrew Wellington <proton@wiretapped.net> + + Not reviewed - build fix + + Fix Mac Build. + + WebKit/WebCore/xml/XSLTProcessor.cpp:79: warning: 'level' may be used uninitialized + in this function + + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::parseErrorFunc): + +2007-10-29 Alp Toker <alp@atoker.com> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=15725 + [GTK] WebCore.pro header dependencies are incorrect + + Fix header dependencies in the build system + + INCLUDEPATH and DEPENDPATH are now up to date. + + * WebCore.pro: + +2007-10-29 Beth Dakin <bdakin@apple.com> + + Build fix. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseTimingFunctionValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapTransitionTimingFunction): + +2007-10-29 David Hyatt <hyatt@apple.com> + + Land the back end for CSS animated property transitions. I am landing this in stages, so the AnimationController + class is deliberately left empty. + + Reviewed by darin/aroben + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSPropertyNames.in: + * css/CSSTimingFunctionValue.cpp: Added. + (WebCore::CSSTimingFunctionValue::cssText): + * css/CSSTimingFunctionValue.h: Added. + (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue): + (WebCore::CSSTimingFunctionValue::firstPoint): + (WebCore::CSSTimingFunctionValue::secondPoint): + * css/CSSValueKeywords.in: + * history/CachedPage.cpp: + (WebCore::CachedPage::restore): + * page/AnimationController.cpp: Added. + (WebCore::AnimationController::AnimationController): + (WebCore::AnimationController::~AnimationController): + (WebCore::AnimationController::cancelTransitions): + (WebCore::AnimationController::updateTransitions): + (WebCore::AnimationController::suspendAnimations): + (WebCore::AnimationController::resumeAnimations): + * page/AnimationController.h: Added. + * page/Frame.cpp: + (WebCore::Frame::animationController): + (WebCore::Frame::clearTimers): + * page/Frame.h: + * page/FramePrivate.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::setStyle): + (WebCore::RenderBox::destroy): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::animationController): + * rendering/RenderObject.h: + * rendering/RenderStyle.cpp: + (WebCore::Transition::Transition): + (WebCore::Transition::~Transition): + (WebCore::Transition::operator=): + (WebCore::Transition::operator==): + (WebCore::Transition::fillUnsetProperties): + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + (WebCore::StyleRareNonInheritedData::transitionDataEquivalent): + (WebCore::RenderStyle::diff): + (WebCore::RenderStyle::adjustTransitions): + (WebCore::RenderStyle::accessTransitions): + * rendering/RenderStyle.h: + (WebCore::BackgroundLayer::next): + (WebCore::): + (WebCore::TimingFunction::TimingFunction): + (WebCore::TimingFunction::operator==): + (WebCore::Transition::next): + (WebCore::Transition::isTransitionDurationSet): + (WebCore::Transition::isTransitionRepeatCountSet): + (WebCore::Transition::isTransitionTimingFunctionSet): + (WebCore::Transition::isTransitionPropertySet): + (WebCore::Transition::isEmpty): + (WebCore::Transition::clearTransitionDuration): + (WebCore::Transition::clearTransitionRepeatCount): + (WebCore::Transition::clearTransitionTimingFunction): + (WebCore::Transition::clearTransitionProperty): + (WebCore::Transition::transitionDuration): + (WebCore::Transition::transitionRepeatCount): + (WebCore::Transition::transitionTimingFunction): + (WebCore::Transition::transitionProperty): + (WebCore::Transition::setTransitionDuration): + (WebCore::Transition::setTransitionRepeatCount): + (WebCore::Transition::setTransitionTimingFunction): + (WebCore::Transition::setTransitionProperty): + (WebCore::Transition::setNext): + (WebCore::Transition::operator!=): + (WebCore::RenderStyle::transitions): + (WebCore::RenderStyle::clearTransitions): + (WebCore::RenderStyle::inheritTransitions): + (WebCore::RenderStyle::initialTransitionDuration): + (WebCore::RenderStyle::initialTransitionRepeatCount): + (WebCore::RenderStyle::initialTransitionTimingFunction): + (WebCore::RenderStyle::initialTransitionProperty): + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::destroy): + +2007-10-29 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=6040 + XSLT does not report errors to the user + + Made parseErrorFunc a static member function of XSLTProcessor to be reusable from XSLStylesheet. + Switched to xmlSetStructuredErrorFunc to get an error structure instead of pre-formatted console + output. Got rid of DeprecatedString in XSLTProcessor. + + * dom/Document.cpp: + (WebCore::Document::applyXSLTransform): + * xml/XSLStyleSheet.cpp: + (WebCore::XSLStyleSheet::parseString): + * xml/XSLTProcessor.cpp: + (WebCore::XSLTProcessor::parseErrorFunc): + (WebCore::docLoaderFunc): + (WebCore::setXSLTLoadCallBack): + (WebCore::writeToString): + (WebCore::saveResultToString): + (WebCore::transformTextStringToXHTMLDocumentString): + (WebCore::xsltParamArrayFromParameterMap): + (WebCore::freeXsltParamArray): + (WebCore::XSLTProcessor::createDocumentFromSource): + (WebCore::createFragmentFromSource): + (WebCore::xsltStylesheetPointer): + (WebCore::xmlDocPtrFromNode): + (WebCore::resultMIMEType): + (WebCore::XSLTProcessor::transformToString): + (WebCore::XSLTProcessor::transformToDocument): + (WebCore::XSLTProcessor::transformToFragment): + * xml/XSLTProcessor.h: + (WebCore::XSLTProcessor::setXSLStylesheet): + (WebCore::XSLTProcessor::importStylesheet): + (WebCore::XSLTProcessor::xslStylesheet): + +2007-10-29 Dan Bernstein <mitz@apple.com> + + Reviewed by John Sullivan. + + - fix <rdar://problem/5424455> REGRESSION (r21168-r21193, Tiger only): Safari scrollbar is clipped at top when loading particular RSS page + + Test: fast/repaint/layout-state-only-positioned.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::layoutOnlyPositionedObjects): Pop layout state + before updating scroll info, which possibly repaints us. + +2007-10-29 David Kilzer <ddkilzer@webkit.org> + + REGRESSION (r17701): Favicons should be viewable as image documents + <http://bugs.webkit.org/show_bug.cgi?id=15640> + + Reviewed by Darin. + + On Tiger and Leopard, the image/x-icon MIME type is not returned from + CGImageSourceCopyTypeIdentifiers(), so opening a URL to a favicon caused + the icon to be downloaded instead being displayed in an image document. + + Test: fast/images/favicon-as-image.html + + * platform/MIMETypeRegistry.cpp: + (WebCore::initialiseSupportedImageMIMETypes): Manually add image/x-icon to + supportedImageMIMETypes and supportedImageResourceMIMETypes. Also fixed + comment about the image/bmp MIME type since it applies to both Tiger and + Leopard. + +2007-10-29 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Mark. + + - fixed assertion failures detected by the new assertions + + * bindings/objc/DOMRGBColor.mm: + (-[DOMRGBColor dealloc]): Clear _internal before calling [super dealloc] + because it's not a pointer and shouldn't be in the normal wrapper cache. + * dom/Document.cpp: + (WebCore::Document::addImageMap): Don't access hashmap if name is null. + (WebCore::Document::removeImageMap): ditto + * dom/StyledElement.cpp: + (WebCore::StyledElement::parseMappedAttribute): Don't claim we have a class + when the class attribute is empty. + * platform/TextCodecICU.cpp: + (WebCore::gbkCallbackEscape): Don't look up 0 code points. + +2007-10-28 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=10734 + Made HTMLOptionElement.index read-only, matching IE and DOM standard. + + Test: fast/dom/HTMLOptionElement/set-option-index-text.html + + * html/HTMLOptionElement.idl: Marked index as readonly. + + * html/HTMLOptionElement.cpp: + * html/HTMLOptionElement.h: + Removed setIndex(). + +2007-10-28 Eric Seidel <eric@webkit.org> + + Reviewed by darin. + + Fix leaks on TOT and prevent Path code from logging to console so frequently + + * platform/graphics/svg/SVGResourceFilter.h: + (WebCore::SVGResourceFilterPlatformData::SVGResourceFilterPlatformData): + (WebCore::SVGResourceFilterPlatformData::~SVGResourceFilterPlatformData): + * platform/graphics/svg/cg/CgSupport.cpp: + (WebCore::strokeBoundingBox): + * platform/graphics/svg/cg/SVGResourceFilterCg.mm: + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: + +2007-10-28 Mark Rowe <mrowe@apple.com> + + Reviewed by Maciej. + + Replace uses of isNaN and isInf with isnan and isinf. + + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + (WebCore::JSHTMLOptionsCollection::setLength): + +2007-10-28 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Mark. + + - fixed REGRESSION(r27176): Reproducible crash while trying to order dinner makes bdash sad + http://bugs.webkit.org/show_bug.cgi?id=15731 + + * bindings/js/kjs_window.cpp: + (KJS::Window::installTimeout): Avoid putting in or accessing empty or deleted keys. + (KJS::Window::clearTimeout): ditto + * manual-tests/bad-clearTimeout-crash.html: Added. Automated test not possible. + +2007-10-28 Kevin Ollivier <kevino@theolliviers.com> + + wx port defines for graphics and network layers. + + Reviewed by Darin Adler. + + * platform/graphics/AffineTransform.h: + * platform/graphics/BitmapImage.h: + * platform/graphics/Color.h: + * platform/graphics/FloatRect.h: + * platform/graphics/GraphicsContext.h: + * platform/graphics/ImageSource.h: + * platform/graphics/IntPoint.h: + * platform/graphics/IntRect.h: + * platform/graphics/Path.h: + * platform/graphics/Pen.h: + * platform/network/ResourceHandle.h: + + +2007-10-28 Alp Toker <alp@atoker.com> + + Reviewed by Anders Carlsson. + + http://bugs.webkit.org/show_bug.cgi?id=14124 + [CURL] Support data URLs + + Add data URL support (both Base64 and percent-encoded formats). + + Inspired by code from the Qt port. + + * platform/Base64.cpp: + (WebCore::base64Decode): + * platform/Base64.h: + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::ResourceHandleManager::startScheduledJobs): + (WebCore::parseDataUrl): + +2007-10-28 Alp Toker <alp@atoker.com> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=15701 + The curl http backend does not deal properly with redirects + + Implement http redirect support. + + * platform/network/curl/ResourceHandleManager.cpp: + (WebCore::headerCallback): + +2007-10-28 Kevin Ollivier <kevino@theolliviers.com> + + Define types and accessors needed for wx implementation + of platform classes. Also, turn off DisallowCTypes.h because + disallowed methods appear in wx headers. + + Reviewed by Adam Roben. + + * config.h: + * platform/ContextMenuItem.h: + * platform/Cursor.h: + * platform/DeprecatedString.h: + * platform/DragData.h: + * platform/DragImage.h: + * platform/FontData.h: + (WebCore::FontData::getWxFont): + * platform/GlyphBuffer.h: + (WebCore::GlyphBuffer::glyphAt): + (WebCore::GlyphBuffer::advanceAt): + (WebCore::GlyphBuffer::add): + * platform/PlatformKeyboardEvent.h: + (WebCore::PlatformKeyboardEvent::isWxCharEvent): + * platform/PlatformMenuDescription.h: + * platform/PlatformMouseEvent.h: + * platform/PlatformString.h: + * platform/PlatformWheelEvent.h: + * platform/ScrollView.h: + * platform/Widget.h: + * platform/image-decoders/bmp/BMPImageDecoder.cpp: + * platform/image-decoders/gif/GIFImageDecoder.cpp: + * platform/image-decoders/gif/GIFImageReader.cpp: + * platform/image-decoders/ico/ICOImageDecoder.cpp: + * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: + * platform/image-decoders/png/PNGImageDecoder.cpp: + * platform/image-decoders/xbm/XBMImageDecoder.cpp: + +2007-10-28 Mark Rowe <mrowe@apple.com> + + We don't include "config.h" in headers. + + * dom/XMLTokenizer.h: + * platform/graphics/svg/SVGResourceFilter.h: + * platform/image-decoders/ImageDecoder.h: + * platform/wx/FontPlatformData.h: + +2007-10-28 Darin Adler <darin@apple.com> + + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: + We don't include "config.h" in headers. Hope this desn't break + the non-SVG build again. + +2007-10-28 Eric Seidel <eric@webkit.org> + + Build fix for non-SVG build, no review. + + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: + +2007-10-28 Eric Seidel <eric@webkit.org> + + Reviewed by Oliver. + + Push SVGResourceFilter platform specific data down into m_platformData + in preparation for implementing a non-mac filter solution. + + Also update a very old email address in copyright headers + + * WebCore.xcodeproj/project.pbxproj: + * platform/graphics/FloatPoint3D.cpp: + (WebCore::FloatPoint3D::FloatPoint3D): + * platform/graphics/FloatPoint3D.h: + * platform/graphics/svg/SVGResourceFilter.cpp: + (WebCore::SVGResourceFilter::SVGResourceFilter): + * platform/graphics/svg/SVGResourceFilter.h: + (WebCore::SVGResourceFilter::platformData): + (WebCore::SVGResourceFilter::effects): + * platform/graphics/svg/cg/SVGResourceFilterCg.mm: + (WebCore::SVGResourceFilter::createPlatformData):l + (WebCore::SVGResourceFilter::prepareFilter): + (WebCore::SVGResourceFilter::applyFilter): + * platform/graphics/svg/filters/SVGDistantLightSource.h: + * platform/graphics/svg/filters/SVGFEBlend.cpp: + * platform/graphics/svg/filters/SVGFEBlend.h: + * platform/graphics/svg/filters/SVGFEColorMatrix.cpp: + * platform/graphics/svg/filters/SVGFEColorMatrix.h: + * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp: + * platform/graphics/svg/filters/SVGFEComponentTransfer.h: + * platform/graphics/svg/filters/SVGFEComposite.cpp: + * platform/graphics/svg/filters/SVGFEComposite.h: + * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp: + * platform/graphics/svg/filters/SVGFEConvolveMatrix.h: + * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp: + * platform/graphics/svg/filters/SVGFEDiffuseLighting.h: + * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp: + * platform/graphics/svg/filters/SVGFEDisplacementMap.h: + * platform/graphics/svg/filters/SVGFEFlood.cpp: + * platform/graphics/svg/filters/SVGFEFlood.h: + * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp: + * platform/graphics/svg/filters/SVGFEGaussianBlur.h: + * platform/graphics/svg/filters/SVGFEImage.cpp: + * platform/graphics/svg/filters/SVGFEImage.h: + * platform/graphics/svg/filters/SVGFEMerge.cpp: + * platform/graphics/svg/filters/SVGFEMerge.h: + * platform/graphics/svg/filters/SVGFEMorphology.cpp: + * platform/graphics/svg/filters/SVGFEMorphology.h: + * platform/graphics/svg/filters/SVGFEOffset.cpp: + * platform/graphics/svg/filters/SVGFEOffset.h: + * platform/graphics/svg/filters/SVGFESpecularLighting.cpp: + * platform/graphics/svg/filters/SVGFESpecularLighting.h: + * platform/graphics/svg/filters/SVGFETile.h: + * platform/graphics/svg/filters/SVGFETurbulence.cpp: + * platform/graphics/svg/filters/SVGFETurbulence.h: + * platform/graphics/svg/filters/SVGFilterEffect.cpp: + * platform/graphics/svg/filters/SVGFilterEffect.h: + * platform/graphics/svg/filters/SVGLightSource.cpp: + * platform/graphics/svg/filters/SVGLightSource.h: + * platform/graphics/svg/filters/SVGPointLightSource.h: + * platform/graphics/svg/filters/SVGSpotLightSource.h: + * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm: + (WebCore::SVGFEBlend::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm: + (WebCore::SVGFEColorMatrix::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm: + (WebCore::SVGFEComponentTransfer::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm: + (WebCore::SVGFEComposite::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm: + (WebCore::SVGFEDiffuseLighting::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm: + (WebCore::SVGFEDisplacementMap::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm: + (WebCore::SVGFEFlood::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h: + * platform/graphics/svg/filters/cg/SVGFEImageCg.mm: + (WebCore::SVGFEImage::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm: + (WebCore::SVGFEMerge::getCIFilter): + * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm: + (WebCore::SVGFESpecularLighting::getCIFilter): + * platform/graphics/svg/mac: Added. + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.h: Added. + * platform/graphics/svg/mac/SVGResourceFilterPlatformDataMac.mm: Added. + (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac): + (WebCore::SVGResourceFilterPlatformDataMac::~SVGResourceFilterPlatformDataMac): + (WebCore::SVGResourceFilterPlatformDataMac::getCIFilterStack): + (WebCore::alphaImageForImage): + (WebCore::SVGResourceFilterPlatformDataMac::imageForName): + (WebCore::SVGResourceFilterPlatformDataMac::setImageForName): + (WebCore::SVGResourceFilterPlatformDataMac::setOutputImage): + (WebCore::SVGResourceFilterPlatformDataMac::inputImage): + +2007-10-28 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=15217 + Plugin complains that xpcom_core.dll missing + + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::PluginDatabaseWin::isPluginBlacklisted): Blacklist npmozax.dll. + +2007-10-28 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Pass the Document's domain to InspectorController:didOpenDatabase. This matches + what the Inspector shows for other resources. + + * storage/Database.cpp: + (WebCore::Database::openDatabase): + + * dom/Document.h: Remove KURL.h, no longer needed. + +2007-10-28 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Bug 15728: Selected Resource background image gradient has banding + http://bugs.webkit.org/show_bug.cgi?id=15728 + + - Reduced images to 1px wide that are tiled horizontally in CSS. + - Corrected the -webkit-background-size usage to specify auto for the width. + + * page/inspector/Images/attachedShadow.png: + * page/inspector/Images/bottomShadow.png: + * page/inspector/Images/darkShadow.png: + * page/inspector/Images/gradient.png: + * page/inspector/Images/gradientHighlight.png: + * page/inspector/Images/gradientHighlightBottom.png: + * page/inspector/Images/sidebarSelection.png: + * page/inspector/Images/sidebarSelectionBlurred.png: + * page/inspector/Images/sidebarSelectionBlurredTall.png: + * page/inspector/Images/sidebarSelectionGray.png: + * page/inspector/Images/sidebarSelectionGrayTall.png: + * page/inspector/Images/sidebarSelectionTall.png: + * page/inspector/inspector.css: + +2007-10-27 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Bug 15727: Resizing the resource sidebar doesn't scale the font preview or network timeline + http://bugs.webkit.org/show_bug.cgi?id=15727 + + Add one window resize listener and call the new resize function on the currentPanel. + Also call the currentPanel's resize function when resizing the sidebar. + + * page/inspector/DocumentPanel.js: Implement resize and call updateTreeSelection() when + the panel is shown and when resizing the DOM sidebar. + * page/inspector/FontPanel.js: Implement resize. + * page/inspector/NetworkPanel.js: Ditto. + * page/inspector/inspector.js: Add a window resize listener. + +2007-10-27 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Oliver. + + - update for HashTable changes + + * bindings/js/JSSVGPODTypeWrapper.h: + * dom/Document.h: + * dom/QualifiedName.cpp: + * dom/StyledElement.cpp: + * ksvg2/svg/SVGAnimatedTemplate.h: + * platform/FontCache.cpp: + * platform/StringHash.h: + (WTF::): + * platform/TextEncodingRegistry.cpp: + * platform/graphics/IntSizeHash.h: + (WTF::): + * plugins/win/PluginPackageWin.h: + +2007-10-28 Alp Toker <alp@atoker.com> + + Reviewed by Adam Roben. + + http://bugs.webkit.org/show_bug.cgi?id=15646 + [GTK] caretBlinkFrequency is hard-coded in Frame.cpp + + Abstract caretBlinkFrequency to RenderTheme. + + * page/Frame.cpp: + (WebCore::Frame::selectionLayoutChanged): + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::caretShouldBlink): + (WebCore::RenderThemeGtk::caretBlinkFrequency): + * platform/gtk/RenderThemeGtk.h: + * rendering/RenderTheme.h: + +2007-10-27 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Don't print the line number in the Inspector Console if it is Zero. + + * page/inspector/ConsolePanel.js: + +2007-10-27 Sam Weinig <sam@webkit.org> + + Reviewed by Adam Roben. + + Fix http://bugs.webkit.org/show_bug.cgi?id=14953 + Implement window.console in WebCore + + - Adds a window.console object that has 4 methods (log, info, warn, and error) + that send messages to the Chrome. This moves functionality that was in the + app down into WebCore. + + * DerivedSources.make: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/scripts/CodeGeneratorJS.pm: Add extended attribute + to mark attributes as [Replacable] which indicates they can + overridden when set. + * page/Chrome.cpp: + (WebCore::Chrome::addMessageToConsole): Allow all messages to go + up to the ChromeClient. + * page/Console.cpp: Added. + (WebCore::Console::Console): + (WebCore::Console::disconnectFrame): + (WebCore::Console::error): + (WebCore::Console::info): + (WebCore::Console::log): + (WebCore::Console::warn): + * page/Console.h: Added. + * page/Console.idl: Added. + * page/DOMWindow.cpp: + (WebCore::DOMWindow::clear): + (WebCore::DOMWindow::console): + * page/DOMWindow.h: + * page/DOMWindow.idl: + +2007-10-27 Eric Seidel <eric@webkit.org> + + Reviewed by aroben. + + Remove legacy createFilterEffect function (causing extra filter tests to fail on windows) + + No functional changes, thus no tests. + + * ksvg2/svg/SVGFEBlendElement.cpp: + (WebCore::SVGFEBlendElement::filterEffect): + * ksvg2/svg/SVGFEColorMatrixElement.cpp: + (WebCore::SVGFEColorMatrixElement::filterEffect): + * ksvg2/svg/SVGFEComponentTransferElement.cpp: + (WebCore::SVGFEComponentTransferElement::filterEffect): + * ksvg2/svg/SVGFECompositeElement.cpp: + (WebCore::SVGFECompositeElement::filterEffect): + * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: + (WebCore::SVGFEDiffuseLightingElement::filterEffect): + * ksvg2/svg/SVGFEDisplacementMapElement.cpp: + (WebCore::SVGFEDisplacementMapElement::filterEffect): + * ksvg2/svg/SVGFEFloodElement.cpp: + (WebCore::SVGFEFloodElement::filterEffect): + * ksvg2/svg/SVGFEGaussianBlurElement.cpp: + (WebCore::SVGFEGaussianBlurElement::filterEffect): + * ksvg2/svg/SVGFEImageElement.cpp: + (WebCore::SVGFEImageElement::filterEffect): + * ksvg2/svg/SVGFEMergeElement.cpp: + (WebCore::SVGFEMergeElement::filterEffect): + * ksvg2/svg/SVGFEOffsetElement.cpp: + (WebCore::SVGFEOffsetElement::filterEffect): + * ksvg2/svg/SVGFESpecularLightingElement.cpp: + (WebCore::SVGFESpecularLightingElement::filterEffect): + * ksvg2/svg/SVGFETileElement.cpp: + (WebCore::SVGFETileElement::filterEffect): + * ksvg2/svg/SVGFETurbulenceElement.cpp: + (WebCore::SVGFETurbulenceElement::filterEffect): + * platform/graphics/svg/SVGResourceFilter.h: + * platform/graphics/svg/cg/SVGResourceFilterCg.cpp: + * platform/graphics/svg/cg/SVGResourceFilterCg.mm: + * platform/graphics/svg/qt/SVGResourceFilterQt.cpp: + +2007-10-27 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + - fix a crash when opening Zenoss server history view + <rdar://problem/5530657> + + Test: fast/table/colgroup-relative.html + + * rendering/LayoutState.cpp: + (WebCore::LayoutState::LayoutState): Added a hasLayer() check before + accessing layer(). + +2007-10-27 Julien <julien.chaffraix@gmail.com> + + Reviewed by Alexey. + + http://bugs.webkit.org/show_bug.cgi?id=13141 + XMLHttpRequest should set readyState to 0 after abort() + + Test: http/tests/xmlhttprequest/xmlhttprequest-abort-readyState.html + + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::open): + (WebCore::XMLHttpRequest::abort): + +2007-10-27 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix rotated border images by using a temporary subimage containing + only the part we want to tile + + Test: fast/borders/border-image-rotate-transform.html + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::Image::drawPatternCallback): + (WebCore::Image::drawPattern): + +2007-10-27 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp. + + http://bugs.webkit.org/show_bug.cgi?id=15722 + [GTK] Refactor gtk/RenderThemeGtk and implement a few more methods + + Refactor/enhance GTK RenderTheme + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::supportsFocus): added TextArea, Menulist, Radio, and Checkbox Appearances + (WebCore::RenderThemeGtk::supportsFocusRing): call supportsFocus() to check if focus on appearance is supported + (WebCore::RenderThemeGtk::controlSupportsTints): copied from Qt and Safari ports + (WebCore::RenderThemeGtk::baselinePosition): copied from Qt and Safari ports + (WebCore::RenderThemeGtk::paintCheckbox): moved painting in paintButton + (WebCore::RenderThemeGtk::paintRadio): moved painting in paintButton + (WebCore::RenderThemeGtk::paintButton): paint the different buttons here, checking for the right appearance before doing so + (WebCore::RenderThemeGtk::paintMenuList): use 0 instead of NULLs + (WebCore::RenderThemeGtk::adjustTextFieldStyle): + (WebCore::RenderThemeGtk::getThemeData): + * platform/gtk/RenderThemeGtk.h: + (WebCore::RenderThemeGtk::supportsControlTints): + +2007-10-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15555 + XMLHttpRequest does not support charset "x-user-defined", which can + facilitate loading of binary data + + Test: http/tests/xmlhttprequest/binary-x-user-defined.html + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * platform/TextCodecUserDefined.cpp: Added. + (WebCore::TextCodecUserDefined::registerEncodingNames): + (WebCore::newStreamingTextDecoderUserDefined): + (WebCore::TextCodecUserDefined::registerCodecs): + (WebCore::TextCodecUserDefined::decode): + (WebCore::encodeComplexUserDefined): + (WebCore::TextCodecUserDefined::encode): + * platform/TextCodecUserDefined.h: Added. + * platform/TextEncodingRegistry.cpp: + (WebCore::buildBaseTextCodecMaps): + +2007-10-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15467 + Setting innerHTML to blank string in application/xhtml+xml mode + throws DOM Exception 7 + + Test: fast/dom/blank-innerHTML.xhtml + + * dom/XMLTokenizer.cpp: + (WebCore::parseXMLDocumentFragment): Bail out early if the input string is empty. + +2007-10-26 Sam Weinig <sam@webkit.org> + + Enable dragging the left sidebar using the separator. + + Reviewed by Anders (unless Mitz says otherwise). + + * page/inspector/DocumentPanel.js: + * page/inspector/inspector.css: + * page/inspector/inspector.html: + * page/inspector/inspector.js: + +2007-10-26 Sam Weinig <sam@webkit.org> + + Fix an off by one error when resizing the Inspector find window. + + Reviewed by Hyatt. + + * page/inspector/inspector.js: + +2007-10-26 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Adam. + + Fix fallout from r26072, which leads to all plugin streams for local + resources being cancelled + + * loader/win/NetscapePlugInStreamLoaderWin.cpp: + (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Ensure this + is an HTTP response before checking the HTTP response code + +2007-10-26 David Hyatt <hyatt@apple.com> + + Fix for http://bugs.webkit.org/show_bug.cgi?id=15719, transformed box doesn't repaint properly + when only translation changes. + + Move the updating of the transform to in between the old repaint and the new repaint. + + Reviewed by mitz + + fast/repaint/transform-translate.html + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::updateLayerPositions): + +2007-10-26 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Darin. + + <rdar://5557379> Crash in Silverlight when opening microsoft.com + + The crash is within Silverlight, and the latest version of the plugin + does not exhibit this crash, so just avoid loading this version of the + plugin. + + * plugins/win/PluginDatabaseWin.cpp: Added isPluginBlacklisted() and + constants silverlightPluginMinRequiredVersionMSDWORD and + silverlightPluginMinRequiredVersionLSDWORD. Their values are taken from + the version info of Silverlight 1.0.20926.0, which is a version known + not to exhibit this crash + (WebCore::PluginDatabaseWin::isPluginBlacklisted): Determine whether + this plugin is blacklisted + * plugins/win/PluginDatabaseWin.h: + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackageWin::PluginPackageWin): Initialize m_fileVersion* + (WebCore::PluginPackageWin::getFileVersion): + (WebCore::PluginPackageWin::storeFileVersion): Read version info for + the plugin, and store the file version + (WebCore::PluginPackageWin::fetchInfo): After determining the name, + description, and file version, determine whether this plug-in is + blacklisted. If so, return false so this plug-in isn't loaded + * plugins/win/PluginPackageWin.h: + +2007-10-26 Sam Weinig <sam@webkit.org> + + Reviewed by Adele Peterson. + + Fix for <rdar://problem/5421754> + m_frameName member variable in HTMLPlugInElement unnecessary + + - Refactor the willRemove() method down into HTMLFrameOwnerElement now that + we no longer need to use the m_frameName variable. + + * html/HTMLFrameElementBase.cpp: + * html/HTMLFrameElementBase.h: + * html/HTMLFrameOwnerElement.cpp: + (WebCore::HTMLFrameOwnerElement::willRemove): + * html/HTMLFrameOwnerElement.h: + * html/HTMLPlugInElement.cpp: + * html/HTMLPlugInElement.h: + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::requestObject): + +2007-10-26 Adele Peterson <adele@apple.com> + + Export _wkDrawCapsLockIndicator. + + * WebCore.base.exp: + +2007-10-26 Adele Peterson <adele@apple.com> + + Reviewed by Oliver. + + Adding WebKitSystemInterface support for the caps lock indicator + + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2007-10-26 Tristan O'Tierney <tristan@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/5555053> REGRESSION:9A581: Window disappears when opening http://research.microsoft.com/users/darkok/ + The problem was caused by checkin r24654. This change moved explicit bounds checking into adjustWindowRect + but failed to account for bounds checking (instead replaced with bounds clipping). This caused issues + when NaN was used. This patch goes one step further and does NaN checking to prevent the possibility of + setting window bounds to NaN before an update occurs. + + Test: fast/dom/Window/window-resize-nan.html + + * bindings/js/kjs_window.cpp: + (KJS::adjustWindowRect): + Added a new parameter, pendingChanges, which takes pending changes to the window + rect, and if they are valid (not NaN) sets them on window. + + (KJS::WindowFunc::callAsFunction): + Adjusted uses of adjustWindowRect to take new update parameter. + +2007-10-26 Sam Weinig <sam@webkit.org> + + Reviewed by Tim Hatcher. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=15175 + Cannot copy text of errors from Web Inspector from Console view + + * page/inspector/inspector.css: add -webkit-user-select: text for console messages. + +2007-10-26 Sam Weinig <sam@webkit.org> + + Reviewed by Tim Hatcher. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=15446 + Web Inspector find window is not resizable + + - Adds ability to resize the find window. + - Fixes bug that messed up the find window when resizing the left sidebar. + + * page/inspector/inspector.css: + * page/inspector/inspector.html: + * page/inspector/inspector.js: + +2007-10-26 Ada Chan <adachan@apple.com> + + Update m_current index after we've removed an item: + - if item removed is before m_current, decrement m_current + - if the current item is removed, make sure m_current is within bounds. + + Reviewed by Darin. + + * history/BackForwardList.cpp: + (WebCore::BackForwardList::removeItem): + +2007-10-26 Mark Rowe <mrowe@apple.com> + + Debug build fix. + + * bindings/js/kjs_proxy.cpp: + (WebCore::KJSProxy::~KJSProxy): + +2007-10-26 Maciej Stachowiak <mjs@apple.com> + + No review, build fix. + + * bindings/objc/WebScriptObject.mm: + (+[WebScriptObject throwException:]): + (-[WebScriptObject setException:]): + +2007-10-26 Maciej Stachowiak <mjs@apple.com> + + Rubber Stamped by Mark. + + - fix build + + * bridge/mac/WebCoreScriptDebugger.mm: + (-[WebCoreScriptCallFrame scopeChain]): + (-[WebCoreScriptCallFrame functionName]): + (-[WebCoreScriptCallFrame evaluateWebScript:]): + +2007-10-26 Maciej Stachowiak <mjs@apple.com> + + Reviewed by Oliver. + + - update for JavaScriptCore header changes + + * bindings/objc/WebScriptObject.mm: + * bridge/mac/WebCoreScriptDebugger.mm: + +2007-10-26 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=15693 + [GTK] Paging does not work when widget is added to a GtkScrolledWindow + + Eliminate MagicGtkScrollConstant in favour of the same calculations as + GtkTextView for step and page increments. This also makes paging work, + as the page increment was previously always 0. + + * platform/gtk/ScrollViewGtk.cpp: + (WebCore::ScrollView::updateScrollbars): + +2007-10-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt and Sam Weinig. + + Build fix + + * platform/graphics/cg/ImageCG.cpp: + (WebCore::Image::drawPattern): + +2007-10-23 Jan Michael Alonzo <jmalonzo@unpluggable.com> + + Reviewed by Alp. + + http://bugs.webkit.org/show_bug.cgi?id=15656 + [GTK] Implement WebCore::Widget::isEnabled/setEnabled + + * platform/gtk/WidgetGtk.cpp: + (WebCore::Widget::isEnabled): + (WebCore::Widget::setEnabled): Implemented. + +2007-10-25 David Hyatt <hyatt@apple.com> + + Fix for bug 15672, background images don't tile properly inside transforms. This patch fixes background + tiling to work in the presence of transforms and fixes bugs in both SVG and CSS transforms. + + Reviewed by aroben and mitz + + * WebCore.base.exp: + * platform/graphics/Image.cpp: + (WebCore::Image::setData): + * platform/graphics/cg/ImageCG.cpp: + (WebCore::ImageInfo::ImageInfo): + (WebCore::Image::drawPatternCallback): + (WebCore::Image::drawPattern): + * platform/graphics/mac/GraphicsContextMac.mm: + (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): + * platform/mac/WebCoreSystemInterface.h: + * platform/mac/WebCoreSystemInterface.mm: + +2007-10-25 Brady Eidson <beidson@apple.com> + + Blind build fix attempt + + * WebCore.pro: + +2007-10-25 Brady Eidson <beidson@apple.com> + + Reviewed by Anders and Sam + + Bulk rename of platform/sql/SQL* to platform/sql/SQLite* + + This is more accurate in that there is no realistic "SQL" abstraction, the classes are obviously + tied extremely close to SQLite, and is necessitated by the introduction of "SQLTransaction" in + the HTML5 database API which we are adopting. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::iconDatabaseSyncThread): + (WebCore::databaseVersionNumber): + (WebCore::isValidDatabase): + (WebCore::createDatabaseTables): + (WebCore::IconDatabase::performOpenInitialization): + (WebCore::IconDatabase::checkIntegrity): + (WebCore::IconDatabase::performURLImport): + (WebCore::IconDatabase::writeToDatabase): + (WebCore::IconDatabase::pruneUnretainedIcons): + (WebCore::IconDatabase::checkForDanglingPageURLs): + (WebCore::IconDatabase::imported): + (WebCore::IconDatabase::setImported): + (WebCore::readySQLiteStatement): + (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase): + (WebCore::IconDatabase::removePageURLFromSQLDatabase): + (WebCore::IconDatabase::getIconIDForIconURLFromSQLDatabase): + (WebCore::IconDatabase::addIconURLToSQLDatabase): + (WebCore::IconDatabase::getImageDataForIconURLFromSQLDatabase): + (WebCore::IconDatabase::removeIconFromSQLDatabase): + (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): + * loader/icon/IconDatabase.h: + * loader/icon/IconRecord.cpp: + * platform/sql/SQLAuthorizer.cpp: Removed. + * platform/sql/SQLAuthorizer.h: Removed. + * platform/sql/SQLDatabase.cpp: Removed. + * platform/sql/SQLDatabase.h: Removed. + * platform/sql/SQLStatement.cpp: Removed. + * platform/sql/SQLStatement.h: Removed. + * platform/sql/SQLTransaction.cpp: Removed. + * platform/sql/SQLTransaction.h: Removed. + * platform/sql/SQLiteAuthorizer.cpp: Copied from platform/sql/SQLAuthorizer.cpp. + * platform/sql/SQLiteAuthorizer.h: Copied from platform/sql/SQLAuthorizer.h. + (WebCore::SQLiteAuthorizer::~SQLiteAuthorizer): + * platform/sql/SQLiteDatabase.cpp: Copied from platform/sql/SQLDatabase.cpp. + (WebCore::SQLiteDatabase::SQLiteDatabase): + (WebCore::SQLiteDatabase::~SQLiteDatabase): + (WebCore::SQLiteDatabase::open): + (WebCore::SQLiteDatabase::close): + (WebCore::SQLiteDatabase::setFullsync): + (WebCore::SQLiteDatabase::setSynchronous): + (WebCore::SQLiteDatabase::setBusyTimeout): + (WebCore::SQLiteDatabase::setBusyHandler): + (WebCore::SQLiteDatabase::executeCommand): + (WebCore::SQLiteDatabase::returnsAtLeastOneResult): + (WebCore::SQLiteDatabase::tableExists): + (WebCore::SQLiteDatabase::clearAllTables): + (WebCore::SQLiteDatabase::runVacuumCommand): + (WebCore::SQLiteDatabase::lastInsertRowID): + (WebCore::SQLiteDatabase::lastChanges): + (WebCore::SQLiteDatabase::lastError): + (WebCore::SQLiteDatabase::lastErrorMsg): + (WebCore::SQLiteDatabase::authorizerFunction): + (WebCore::SQLiteDatabase::setAuthorizer): + (WebCore::SQLiteDatabase::lock): + (WebCore::SQLiteDatabase::unlock): + * platform/sql/SQLiteDatabase.h: Copied from platform/sql/SQLDatabase.h. + * platform/sql/SQLiteStatement.cpp: Copied from platform/sql/SQLStatement.cpp. + (WebCore::SQLiteStatement::SQLiteStatement): + (WebCore::SQLiteStatement::~SQLiteStatement): + (WebCore::SQLiteStatement::prepare): + * platform/sql/SQLiteStatement.h: Copied from platform/sql/SQLStatement.h. + (WebCore::SQLiteStatement::database): + * platform/sql/SQLiteTransaction.cpp: Copied from platform/sql/SQLTransaction.cpp. + (WebCore::SQLiteTransaction::SQLiteTransaction): + (WebCore::SQLiteTransaction::~SQLiteTransaction): + (WebCore::SQLiteTransaction::begin): + (WebCore::SQLiteTransaction::commit): + (WebCore::SQLiteTransaction::rollback): + * platform/sql/SQLiteTransaction.h: Copied from platform/sql/SQLTransaction.h. + * storage/Database.cpp: + (WebCore::retrieveTextResultFromDatabase): + (WebCore::setTextValueInDatabase): + (WebCore::Database::performExecuteSql): + (WebCore::Database::performGetTableNames): + (WebCore::Database::executeSql): + * storage/Database.h: + * storage/DatabaseAuthorizer.h: + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::fullPathForDatabase): + (WebCore::DatabaseTracker::populateOrigins): + (WebCore::DatabaseTracker::databaseNamesForOrigin): + (WebCore::DatabaseTracker::addDatabase): + * storage/DatabaseTracker.h: + +2007-10-25 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15650 + XML attribute nodes are not importable + + Tests: fast/dom/import-attribute-node.html + fast/dom/import-document-fragment.html + + * dom/Document.cpp: + (WebCore::Document::importNode): Implemented for Attribute and DocumentFragment nodes. + +2007-10-25 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15362 + <rdar://problem/5558715> Safari Crashes when opening a JS TreeGrid widget + + Test: fast/dynamic/insert-before-table-part-in-continuation.html + + * rendering/RenderFlow.cpp: + (WebCore::RenderFlow::addChildWithContinuation): If beforeChild's + parent is an anonymous table part, let the table figure out where to + insert the new child. + +2007-10-25 Alp Toker <alp@atoker.com> + + Reviewed by Brady. + + http://bugs.webkit.org/show_bug.cgi?id=15686 + GtkLauncher aborts on launch due to uninitialized threading subsystem + + Re-enable database support in the GTK+ port, with a fix. + + * WebCore.pro: + +2007-10-25 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Steve. + + <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a + java page + + Previous patch erroneously compared a path and a + path-including-filename. This corrects that. It also caches the result + of safariPluginsPath() and uses shell API funcs for determining filename + and parent directory from a full path. + + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::safariPluginsPath): Cache return value. Use API functions to + build the path + (WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's + parent directory, not full path + (WebCore::PluginDatabaseWin::pluginForExtension): Same + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackageWin::PluginPackageWin): Store parent directory + * plugins/win/PluginPackageWin.h: + (WebCore::PluginPackageWin::parentDirectory): + * plugins/win/PluginStreamWin.cpp: + (WebCore::PluginStreamWin::didReceiveData): + +2007-10-25 Alp Toker <alp@atoker.com> + + Unreviewed fix to make the GTK+ port run. + + http://bugs.webkit.org/show_bug.cgi?id=15686 + GtkLauncher aborts on launch due to uninitialized threading subsystem + + Disable database support until #15686 is fixed. + + * WebCore.pro: + +2007-10-25 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Fixed a crash in the Qt 4.4 based text iterators when they're called with a null string. + + * platform/qt/TextBreakIteratorQt.cpp: + (WebCore::wordBreakIterator): + (WebCore::characterBreakIterator): + (WebCore::lineBreakIterator): + (WebCore::sentenceBreakIterator): + +2007-10-25 Holger Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann <hausmann@kde.org>. + + * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html + * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid. + * This is causing some regressions... + + + * dom/XMLTokenizer.cpp: + (WebCore::XMLTokenizer::XMLTokenizer): + (WebCore::XMLTokenizer::write): + (WebCore::XMLTokenizer::end): + * dom/XMLTokenizer.h: + +2007-10-25 Holger Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann <hausmann@kde.org>. + + * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started. + * Use the error message from Qt. It might or might not be translated. + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::didFail): + +2007-10-25 Holger Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann <hausmann@kde.org>. + + * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported. + * This should be thread-safe besides QWebNetworkJob::{ref,deref} + + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::ResourceHandle::loadResourceSynchronously): + +2007-10-25 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Add support for list box theme colors and styled menu list buttons. + + Remove obsolete FIXMEs. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::RenderThemeGtk): + (WebCore::RenderThemeGtk::paintCheckbox): + (WebCore::RenderThemeGtk::paintRadio): + (WebCore::RenderThemeGtk::paintButton): + (WebCore::RenderThemeGtk::adjustMenuListStyle): + (WebCore::RenderThemeGtk::paintMenuList): + (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor): + (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor): + (WebCore::RenderThemeGtk::gtkTreeView): + * platform/gtk/RenderThemeGtk.h: + +2007-10-25 Eric Seidel <eric@webkit.org> + + Reviewed by Geoff. + + * bindings/js/kjs_window.h: fix bogus comment, s/DOMNode/DOMObject/ + +2007-10-24 Eric Seidel <eric@webkit.org> + + Reviewed by Maciej. + + Make Window subclass from JSGlobalObject (for a .5% win in Sunspider) + http://bugs.webkit.org/show_bug.cgi?id=15681 + + No test cases necessary, no functional changes. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/kjs_binding.cpp: + (KJS::ScriptInterpreter::ScriptInterpreter): + * bindings/js/kjs_binding.h: + * bindings/js/kjs_proxy.cpp: + (WebCore::KJSProxy::initScriptIfNeeded): + * bindings/js/kjs_window.cpp: + (KJS::Window::Window): + * bindings/js/kjs_window.h: + * bindings/objc/WebScriptObject.mm: + (_didExecute): + * bridge/mac/WebCoreScriptDebugger.mm: + +2007-10-24 Adam Roben <aroben@apple.com> + + Add font database initialization code to WebCore + + Reviewed by Ada. + + * WebCore.vcproj/WebCore.vcproj: Added FontDatabase.{cpp,h}. + * platform/win/FontDatabase.cpp: Added. + (WebCore::systemFontsDirectory): + (WebCore::fontsPlistPath): + (WebCore::systemHasFontsNewerThanFontsPlist): + (WebCore::readFontPlist): + (WebCore::populateFontDatabaseFromPlist): + (WebCore::populateFontDatabaseFromFileSystem): + (WebCore::writeFontDatabaseToPlist): + (WebCore::populateFontDatabase): This is the only function callable + from outside this file. It populates the font database once, either + from the fonts plist, or from the filesystem (and then saves a new + fonts plist). + * platform/win/FontDatabase.h: Added. + +2007-10-24 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Darin Adler. + + Correcting the fix for: + <rdar://problem/5544856> + REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time + + Made removal of the previous composition part of the current Undo step in the + case where the new composition is the empty string, too. + + * editing/Editor.cpp: + (WebCore::Editor::confirmComposition): Call the new TypingCommand::deleteSelection, + which either has the currently open typing command delete the current selection, or + opens a new typing command (of type DeleteSelection) if one is not already open. + (WebCore::Editor::setComposition): Ditto. + * editing/TypingCommand.cpp: + (WebCore::TypingCommand::deleteSelection): Added. + (WebCore::TypingCommand::doApply): Handle DeleteSelection. + (WebCore::TypingCommand::deleteKeyPressed): Clarified which deleteSelection + is called. + (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. + (WebCore::TypingCommand::preservesTypingStyle): Handle DeleteSelection. + * editing/TypingCommand.h: + +2007-10-24 Sam Weinig <sam@webkit.org> + + Build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2007-10-24 Alice Liu <alice.liu@apple.com> + + Reviewed by Oliver. + + Fix <rdar://5410959> editing/selection/drag-to-contenteditable-iframe.html fails on Windows + + * page/win/EventHandlerWin.cpp: + (WebCore::EventHandler::passMouseMoveEventToSubframe): + Some mouse move events are actually drags, which on mac return early from this function. + Adding the same logic to its Windows equivalent. + +2007-10-24 Brady Eidson <beidson@apple.com> + + Reviewed by Anders + + <rdar://5554130> DatabaseTracker.o has a global initializer + + Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable. + Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases + path is set. + + * WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build + + * storage/Database.cpp: + (WebCore::Database::~Database): Remove bogus assertion + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::DatabaseTracker): Does nothing now! Move this code to openTrackerDatabase + (WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed + (WebCore::DatabaseTracker::databasePath): + (WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor + (WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable + * storage/DatabaseTracker.h: + +2007-10-24 David Hyatt <hyatt@apple.com> + + Don't try to gap fill transformed selections. Fix the invalidation of selection to use the clip to visible content + code path so that it works with multi-column layouts and transforms. + + Reviewed by aroben + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::isSelectionRoot): + (WebCore::RenderBlock::fillSelectionGaps): + * rendering/RenderView.cpp: + (WebCore::RenderView::setSelection): + +2007-10-24 Eric Seidel <eric@webkit.org> + + No review, I want to tickle the CIA bot to test changes, + and took this as an opportunity to clean up some old change logs. + + * ChangeLog-2005-08-23: update email address + * ChangeLog-2006-12-31: fix spelling mistakes + +2007-10-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Oliver Hunt. + + - add "(anonymous)" to the renderName of anonymous table cells, rows and sections + + * rendering/RenderTableCell.h: + (WebCore::RenderTableCell::renderName): + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::renderName): + * rendering/RenderTableSection.h: + (WebCore::RenderTableSection::renderName): + +2007-10-24 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Bug 15476: DOM tree fully expands some elements when arrowing up + http://bugs.webkit.org/show_bug.cgi?id=15476 + + Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option + is used only for the sidebar and search results. + + * page/inspector/inspector.js: Opt-in for the sidebar and search results. + * page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass + this option to traverseNextTreeElement and traversePreviousTreeElement. + +2007-10-24 Anders Carlsson <andersca@apple.com> + + Reviewed by Geoff and Mitz. + + <rdar://problem/5493833> + REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too) + + * bindings/js/kjs_binding.cpp: + (KJS::ScriptInterpreter::markDOMNodesForDocument): + If an image element that is currently loading an image is not in the document, + it should still be marked. + + * bindings/js/kjs_html.cpp: + (WebCore::ImageConstructorImp::construct): + Force the document wrapper to be created. + + * html/HTMLImageElement.h: + (WebCore::HTMLImageElement::haveFiredLoadEvent): + New method which calls down to the image loader. + + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::HTMLImageLoader): + (WebCore::HTMLImageLoader::~HTMLImageLoader): + (WebCore::HTMLImageLoader::setLoadingImage): + (WebCore::HTMLImageLoader::dispatchLoadEvent): + Remove code that's not needed anymore. + + * html/HTMLImageLoader.h: + (WebCore::HTMLImageLoader::haveFiredLoadEvent): + Make this public. + +2007-10-23 Adam Roben <aroben@apple.com> + + Move Windows safe file creation code into WebCore from WebPreferences + + Reviewed by Brady. + + * platform/FileSystem.h: + * platform/win/FileSystemWin.cpp: + (WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp. + +2007-10-23 Adam Roben <aroben@apple.com> + + Add methods to FileSystemWin to get some user profile directories + + These directories are used to hold things like preferences, caches, + etc. + + Reviewed by Brady. + + * platform/FileSystem.h: Added new method declarations for Windows + only. + * platform/win/FileSystemWin.cpp: + (WebCore::bundleName): Added. + (WebCore::storageDirectory): Added. + (WebCore::cachedStorageDirectory): Added. + (WebCore::localUserSpecificStorageDirectory): Added. Returns the + directory where WebKit should store any user-specific data that should + stay local to the current machine (i.e., shouldn't be stored in a + roaming profile). + (WebCore::roamingUserSpecificStorageDirectory): Added. Returns the + directory where WebKit should store any user-specific data that should + move with the user from machine to machine (i.e., should be stored in + a roaming profile). + +2007-10-24 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=15659 + InlineTextBox does not setStrokeStyle() as needed + + GraphicsContextCairo workaround to support a GraphicsContextCG quirk: + + Save and restore the StrokeStyle manually. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawLineForText): + +2007-10-24 Julien Chaffraix <julien.chaffraix@gmail.com> + + Reviewed by Darin. + + Patch for http://bugs.webkit.org/show_bug.cgi?id=15356 + Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions + + - getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification + + - Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour) + + - Updated XMLHttpRequest::responseMIMEType() to keep its behaviour + + Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html + http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html + http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html + + * bindings/js/JSXMLHttpRequest.cpp: + (KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction): + * xml/XMLHttpRequest.cpp: + (WebCore::XMLHttpRequest::getAllResponseHeaders): + (WebCore::XMLHttpRequest::getResponseHeader): + (WebCore::XMLHttpRequest::responseMIMEType): + * xml/XMLHttpRequest.h: + +2007-10-24 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + implement most of DragData. + + * platform/qt/DragDataQt.cpp: + (WebCore::DragData::containsColor): + (WebCore::DragData::containsFiles): + (WebCore::DragData::asFilenames): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::asPlainText): + (WebCore::DragData::asColor): + (WebCore::DragData::containsCompatibleContent): + (WebCore::DragData::containsURL): + +2007-10-24 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + remove a stupid notImplemented() warning and implement PasteBoad::clear(). + + * platform/qt/PasteboardQt.cpp: + +2007-10-24 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + implement Pasteboard::documentFragment(), and fix a mem leak. + + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::generalPasteboard): + (WebCore::Pasteboard::documentFragment): + +2007-10-24 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information. + + * platform/PlatformKeyboardEvent.h: + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2007-10-24 Lars Knoll <lars@trolltech.com> + + Reviewed by Simon. + + use the new QTextBoundaryFinder class in Qt. + + * platform/qt/TextBoundaries.cpp: + (WebCore::findNextWordFromIndex): + (WebCore::findWordBoundary): + * platform/qt/TextBreakIteratorQt.cpp: + (WebCore::wordBreakIterator): + (WebCore::characterBreakIterator): + (WebCore::lineBreakIterator): + (WebCore::sentenceBreakIterator): + (WebCore::textBreakFirst): + (WebCore::textBreakNext): + (WebCore::textBreakPreceding): + (WebCore::textBreakFollowing): + (WebCore::textBreakCurrent): + (WebCore::isTextBreak): + +2007-10-24 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=15657 + change static hash tables to use powers of two for speed + + * bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format. + +2007-10-24 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Make the implementation of pathByAppendingComponent use QDir. + + * platform/qt/FileSystemQt.cpp: + +2007-10-24 David Hyatt <hyatt@apple.com> + + Make repainting work with transforms. + + Reviewed by John Sullivan + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::computeAbsoluteRepaintRect): + +2007-10-23 Alp Toker <alp@atoker.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=14412 + [GDK] Clipboard support + + Initial clipboard implementation for the GTK+ port. + + * platform/gtk/ClipboardGtk.cpp: + (WebCore::Editor::newGeneralClipboard): + * platform/gtk/PasteboardGtk.cpp: + (WebCore::Pasteboard::generalPasteboard): + (WebCore::Pasteboard::Pasteboard): + (WebCore::Pasteboard::~Pasteboard): + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::writeImage): + (WebCore::Pasteboard::clear): + (WebCore::Pasteboard::plainText): + * platform/gtk/TemporaryLinkStubs.cpp: + +2007-10-23 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Fixes the Network panel so that it refreshes as needed. + + * page/inspector/ConsolePanel.js: Call the base class show() and hide() first. + * page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto. + +2007-10-23 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Oliver Hunt. + + <rdar://problem/5544856> + REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time + + No layout test for now because I'm having trouble getting Undo during a layout + test to only undo the last Undo step, and I want to write a test that fails + without the code change. + + * editing/Editor.cpp: + (WebCore::Editor::confirmComposition): When we replace the previous composition, + delete it with a sub-command of the command used to insert the new composition, + instead of with a separate command. No new code was added because insertText + already deletes the current selection. + (WebCore::Editor::setComposition): Ditto. + +2007-10-23 Adam Roben <aroben@apple.com> + + Fix the behavior of pathByAppendingComponent when path is empty + + We now use the Windows Shell API function PathAppendW instead of + rolling our own broken implementation. + + Reviewed by Anders. + + * platform/win/FileSystemWin.cpp: + (WebCore::pathByAppendingComponent): + +2007-10-23 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872 + + Test: fast/forms/textfield-onchange-deletion.html + + * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): + Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it. + +2007-10-23 Timothy Hatcher <timothy@apple.com> + + Reviewed by Sam Weinig. + + - Made seperate files for the various classes in ResourcePanel.js. + - Broke up ResourcePanel.js and created seperate panel classes for different resource types. + - Moved View code down to the Panel base-class. + - Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel. + + * page/inspector/DatabasePanel.js: + * page/inspector/DocumentPanel.js: Added. + * page/inspector/FontPanel.js: Added. + * page/inspector/ImagePanel.js: Added. + * page/inspector/Panel.js: Added. + * page/inspector/PropertiesSection.js: Added. + * page/inspector/Resource.js: + * page/inspector/ResourcePanel.js: + * page/inspector/SidebarPane.js: Added. + * page/inspector/SourcePanel.js: Added. + * page/inspector/inspector.css: + * page/inspector/inspector.html: + * page/inspector/inspector.js: + +2007-10-23 Anders Carlsson <andersca@apple.com> + + Correct the version #if check. + + * platform/sql/SQLDatabase.cpp: + (WebCore::SQLDatabase::authorizerFunction): + +2007-10-23 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a + java page + + It is possible to load Mozilla's Java plugin instead of our own, which + can lead to a crash. The fix is to prefer plugins in our own Plugins + directory when searching for a plugin. + + * plugins/win/PluginDatabaseWin.cpp: + (WebCore::safariPluginsPath): Return the path to our own Plugins + directory + (WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method + safariPluginsPath() + (WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is + our Plugins path, return this plugin. Otherwise, continue scanning the + list of plugins + (WebCore::PluginDatabaseWin::pluginForExtension): Same + * plugins/win/PluginPackageWin.h: + (WebCore::PluginPackageWin::path): Return this plugin's path + +2007-10-23 Jasper Bryant-Greene <m@ni.ac.nz> + + Reviewed by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15058 + Precedence fault in KeyEventGdk causes shift, control, alt etc to work incorrectly + + Corrected precendence fault which was causing Shift, Alt, Control and + Meta to behave incorrectly on GTK. + + Coding style fix by Alp. + + * platform/gtk/KeyEventGtk.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + +2007-10-23 Sam Weinig <sam@webkit.org> + + Reviewed by Tim Hatcher. + + Add resizing of the DOM view right sidebar. This allows us to actually see the values now. + + * page/inspector/ResourcePanel.js: + * page/inspector/inspector.css: + * page/inspector/inspector.js: + * page/inspector/utilities.js: + +2007-10-23 David Hyatt <hyatt@apple.com> + + Get basic hit testing right for transforms. + + Reviewed by ollliej + + * platform/graphics/AffineTransform.cpp: + (WebCore::AffineTransform::mapPoint): + * platform/graphics/AffineTransform.h: + * rendering/InlineBox.cpp: + (WebCore::InlineBox::nodeAtPoint): + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::nodeAtPoint): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::hitTest): + (WebCore::RenderLayer::hitTestLayer): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::hitTest): + * rendering/RenderObject.h: + +2007-10-23 Eric Seidel <eric@webkit.org> + + Reviewed by Mark Rowe. + + Fix leaks seen on TOT from new font-face code. + + * ksvg2/svg/SVGFontFaceElement.cpp: + (WebCore::SVGFontFaceElement::rebuildFontFace): use a stack allocated CSSProperty instead of mallocing + +2007-10-23 Eric Seidel <eric@webkit.org> + + Build fix only, no review. + + Sacrifice three virgin hours upon the altar of the heathen XCode gods + and pray that our build troubles are finally over. :( + + * DerivedSources.make: add DOMSVGException.h + * WebCore.xcodeproj/project.pbxproj: Remove DOMSVG*Interal.h files from "Copy Generated Headers" phase. Why? Who knows. + +2007-10-22 Steve Falkenburg <sfalken@apple.com> + + Fix build. + + * plugins/win/PluginViewWin.cpp: + +2007-10-22 Eric Seidel <eric@webkit.org> + + Build fix only, no review. + + * WebCore.xcodeproj/project.pbxproj: re-add all DOMSVG headers to copy-files phase to make sure. + +2007-10-22 Eric Seidel <eric@webkit.org> + + Build fix only, no review. + + * WebCore.xcodeproj/project.pbxproj: make sure DOMSVGAnimateElement.h is copied into headers. + +2007-10-22 Eric Seidel <eric@webkit.org> + + Reviewed by Maciej. + + Fix build by properly exposing SVG font-face dom bindings. + + * DerivedSources.make: + * WebCore.vcproj/WebCore.vcproj: add font-face files to build + * WebCore.xcodeproj/project.pbxproj: add missing DOM bindings files + * bindings/js/JSSVGElementWrapperFactory.cpp: + * bindings/objc/DOM.mm: + (WebCore::createElementClassMap): + * bindings/objc/DOMSVG.h: + * ksvg2/svg/SVGDefinitionSrcElement.idl: inherit from SVGElement + +2007-10-22 Mark Rowe <mrowe@apple.com> + + Gtk build fix. + + * WebCore.pro: + +2007-10-22 Darin Adler <darin@apple.com> + + - a first cut at fixing the Qt and GTK builds + + * WebCore.pro: Add new .idl and .cpp files. + * DerivedSources.make: Re-sorted. + +2007-10-22 Eric Seidel <eric@webkit.org> + + Reviewed by hyatt. + + Implement <font-face> and friends for SVG. + http://bugs.webkit.org/show_bug.cgi?id=10652 + + * DerivedSources.make: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSSVGElementWrapperFactory.cpp: + * dom/Document.cpp: + (WebCore::Document::mappedElementSheet): + (WebCore::Document::recalcStyleSelector): + * dom/Document.h: + * ksvg2/scripts/make_names.pl: + * ksvg2/svg/SVGDefinitionSrcElement.cpp: Added. + (WebCore::SVGDefinitionSrcElement::SVGDefinitionSrcElement): + (WebCore::SVGDefinitionSrcElement::~SVGDefinitionSrcElement): + (WebCore::SVGDefinitionSrcElement::childrenChanged): + * ksvg2/svg/SVGDefinitionSrcElement.h: Added. + * ksvg2/svg/SVGDefinitionSrcElement.idl: Added. + * ksvg2/svg/SVGFontFaceElement.cpp: Added. + (WebCore::SVGFontFaceElement::SVGFontFaceElement): + (WebCore::SVGFontFaceElement::~SVGFontFaceElement): + (WebCore::cssPropertyIdForName): + (WebCore::mapAttributeToCSSProperty): + (WebCore::cssPropertyIdForSVGAttributeName): + (WebCore::SVGFontFaceElement::parseMappedAttribute): + (WebCore::SVGFontFaceElement::rebuildFontFace): + (WebCore::SVGFontFaceElement::childrenChanged): + * ksvg2/svg/SVGFontFaceElement.h: Added. + * ksvg2/svg/SVGFontFaceElement.idl: Added. + * ksvg2/svg/SVGFontFaceFormatElement.cpp: Added. + (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement): + (WebCore::SVGFontFaceFormatElement::~SVGFontFaceFormatElement): + (WebCore::SVGFontFaceFormatElement::childrenChanged): + * ksvg2/svg/SVGFontFaceFormatElement.h: Added. + * ksvg2/svg/SVGFontFaceFormatElement.idl: Added. + * ksvg2/svg/SVGFontFaceNameElement.cpp: Added. + (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement): + (WebCore::SVGFontFaceNameElement::~SVGFontFaceNameElement): + (WebCore::SVGFontFaceNameElement::srcValue): + * ksvg2/svg/SVGFontFaceNameElement.h: Added. + * ksvg2/svg/SVGFontFaceNameElement.idl: Added. + * ksvg2/svg/SVGFontFaceSrcElement.cpp: Added. + (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement): + (WebCore::SVGFontFaceSrcElement::~SVGFontFaceSrcElement): + (WebCore::SVGFontFaceSrcElement::srcValue): + (WebCore::SVGFontFaceSrcElement::childrenChanged): + * ksvg2/svg/SVGFontFaceSrcElement.h: Added. + * ksvg2/svg/SVGFontFaceSrcElement.idl: Added. + * ksvg2/svg/SVGFontFaceUriElement.cpp: Added. + (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement): + (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement): + (WebCore::SVGFontFaceUriElement::srcValue): + (WebCore::SVGFontFaceUriElement::childrenChanged): + * ksvg2/svg/SVGFontFaceUriElement.h: Added. + * ksvg2/svg/SVGFontFaceUriElement.idl: Added. + * ksvg2/svg/svgtags.in: + +2007-10-22 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + <rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a + java page + + We purposefully do not destroy our Java VM when its reference count + reaches 0, but we were unloading our JavaPlugin.dll when its reference + count reached 0, which lost the reference to the VM. This led to our + process trying to create a new VM the next time a page using Java was + loaded, and the JNI spec states that a single process is not allowed to + create more than one VM. The fix is to avoid unloading the Java plugin + via our PluginQuirkDontUnloadPlugin. + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginViewWin::determineQuirks): + +2007-10-22 David Hyatt <hyatt@apple.com> + + Fix for bug 15624, make transforms work properly with opacity. + + Make sure a unitless 0 is allowed as an angle argument to rotation/skew. + + Reviewed by Mitz Pettel + + fast/transforms/transforms-with-opacity.html + fast/transforms/skew-with-unitless-zero.html + + * css/CSSParser.cpp: + (WebCore::CSSParser::validUnit): + * rendering/RenderLayer.cpp: + (WebCore::transparencyClipBox): + (WebCore::RenderLayer::beginTransparencyLayers): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::calculateClipRects): + * rendering/RenderLayer.h: + (WebCore::RenderLayer::transform): + +2007-10-22 Adam Roben <aroben@apple.com> + + Windows build fix + + * WebCore.vcproj/WebCore.vcproj: Copy header files from platform/sql. + * page/Page.cpp: Touched to force the header files to be copied. + +2007-10-22 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Simon. + + Move textPath related SVGChar data in it's own structure SVGCharOnPath. + Store a pointer to that datastructure inside SVGChar, instead of 4 floats & one bool. + + Saves space for the common case. And allows me to add more data (another float) to support + glyph-orientation-* on textPath later on... + + * rendering/SVGCharacterLayoutInfo.cpp: + (WebCore::SVGChar::characterTransform): + * rendering/SVGCharacterLayoutInfo.h: + * rendering/SVGRootInlineBox.cpp: + (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): + (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): + +2007-10-22 Alp Toker <alp@atoker.com> + + Reviewed by Nikolas Zimmermann. + + Implement more GraphicsContextCairo stubs. + + Remove a hack "to work around no current point bug" that was breaking + canvas tests. + + Fix warnings. + + * platform/graphics/cairo/CairoPath.h: + (WebCore::CairoPath::CairoPath): + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::addInnerRoundedRectClip): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::isEmpty): + * platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp: + (WebCore::SVGPaintServerGradient::setup): + * platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp: + (WebCore::SVGPaintServerSolid::setup): + +2007-10-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by Nikolas. + + Fix compilation from a clean build with the database feature disabled. + JSCustomVersionChangeCallback.cpp doesn't actually need the SQL header file, just ScriptInterpreter. + + * bindings/js/JSCustomVersionChangeCallback.cpp: + * page/InspectorController.cpp: + +2007-10-22 Andrew Wellington <proton@wiretapped.net> + + Reviewed by Mark Rowe. + + Fix for local database support after r26879 + Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set + + * Configurations/WebCore.xcconfig: + * WebCore.pro: + * WebCore.vcproj/build-generated-files.sh: + +2007-10-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Disable the Database feature for the qmake build for now. + + * WebCore.pro: + +2007-10-22 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Make disabling the database feature (ENABLE_DATABASE=0) work by + placing various #ifdefs into the code and making the compilation of + some files optional. + + * WebCore.pro: + * dom/Document.cpp: + (WebCore::Document::~Document): + (WebCore::Document::defaultEventHandler): + * dom/Document.h: + * page/DOMWindow.cpp: + * page/DOMWindow.h: + * page/DOMWindow.idl: + * page/InspectorController.cpp: + (WebCore::InspectorController::windowScriptObjectAvailable): + (WebCore::InspectorController::populateScriptResources): + (WebCore::InspectorController::clearDatabaseScriptResources): + (WebCore::InspectorController::didCommitLoad): + * page/InspectorController.h: + +2007-10-22 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + http://bugs.webkit.org/show_bug.cgi?id=15611 + [GTK] Text selection behaviour different in Debug and Release builds + + http://bugs.webkit.org/show_bug.cgi?id=15578 + [GTK] Text editor caret does not blink + + Never allow control to reach the end of non-void functions. + + Return more sensible values, or in some cases, nulls. + + * page/gtk/EventHandlerGtk.cpp: + (WebCore::isKeyboardOptionTab): + (WebCore::EventHandler::tabsToAllControls): + (WebCore::EventHandler::eventActivatedView): + +2007-10-22 Holger Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann <hausmann@kde.org>. + + Implement ResourceHandle::loadResourceSynchronously using ResourceHandle and a special ResourceHandleClient. This approach has the possible danger of reentrancy. + + * platform/network/qt/ResourceHandleQt.cpp: + (WebCore::WebCoreSynchronousLoader::resourceResponse): + (WebCore::WebCoreSynchronousLoader::resourceError): + (WebCore::WebCoreSynchronousLoader::data): + (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): + (WebCore::WebCoreSynchronousLoader::didReceiveResponse): + (WebCore::WebCoreSynchronousLoader::didReceiveData): + (WebCore::WebCoreSynchronousLoader::didFinishLoading): + (WebCore::WebCoreSynchronousLoader::didFail): + (WebCore::WebCoreSynchronousLoader::waitForCompletion): + (WebCore::ResourceHandle::loadResourceSynchronously): + +2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Style fix. It is allowed to attempt to delete 0. + + * platform/qt/ClipboardQt.cpp: + +2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Make it actually localizable.... + + * platform/qt/Localizations.cpp: + (WebCore::submitButtonDefaultLabel): + (WebCore::inputElementAltText): + (WebCore::searchableIndexIntroduction): + (WebCore::fileButtonChooseFileLabel): + (WebCore::fileButtonNoFileSelectedLabel): + (WebCore::contextMenuItemTagOpenLinkInNewWindow): + (WebCore::contextMenuItemTagDownloadLinkToDisk): + (WebCore::contextMenuItemTagCopyLinkToClipboard): + (WebCore::contextMenuItemTagOpenImageInNewWindow): + (WebCore::contextMenuItemTagDownloadImageToDisk): + (WebCore::contextMenuItemTagCopyImageToClipboard): + (WebCore::contextMenuItemTagOpenFrameInNewWindow): + (WebCore::contextMenuItemTagCopy): + (WebCore::contextMenuItemTagGoBack): + (WebCore::contextMenuItemTagGoForward): + (WebCore::contextMenuItemTagStop): + (WebCore::contextMenuItemTagReload): + (WebCore::contextMenuItemTagCut): + (WebCore::contextMenuItemTagPaste): + (WebCore::contextMenuItemTagNoGuessesFound): + (WebCore::contextMenuItemTagIgnoreSpelling): + (WebCore::contextMenuItemTagLearnSpelling): + (WebCore::contextMenuItemTagSearchWeb): + (WebCore::contextMenuItemTagLookUpInDictionary): + (WebCore::contextMenuItemTagOpenLink): + (WebCore::contextMenuItemTagIgnoreGrammar): + (WebCore::contextMenuItemTagSpellingMenu): + (WebCore::contextMenuItemTagShowSpellingPanel): + (WebCore::contextMenuItemTagCheckSpelling): + (WebCore::contextMenuItemTagCheckSpellingWhileTyping): + (WebCore::contextMenuItemTagCheckGrammarWithSpelling): + (WebCore::contextMenuItemTagFontMenu): + (WebCore::contextMenuItemTagBold): + (WebCore::contextMenuItemTagItalic): + (WebCore::contextMenuItemTagUnderline): + (WebCore::contextMenuItemTagOutline): + (WebCore::contextMenuItemTagWritingDirectionMenu): + (WebCore::contextMenuItemTagDefaultDirection): + (WebCore::contextMenuItemTagLeftToRight): + (WebCore::contextMenuItemTagRightToLeft): + (WebCore::contextMenuItemTagInspectElement): + (WebCore::searchMenuNoRecentSearchesText): + (WebCore::searchMenuRecentSearchesText): + +2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Adjust the code to obey the Coding Style. + + * platform/qt/Localizations.cpp: + (WebCore::submitButtonDefaultLabel): + (WebCore::inputElementAltText): + (WebCore::resetButtonDefaultLabel): + (WebCore::defaultLanguage): + (WebCore::searchableIndexIntroduction): + (WebCore::fileButtonChooseFileLabel): + (WebCore::fileButtonNoFileSelectedLabel): + (WebCore::contextMenuItemTagOpenLinkInNewWindow): + (WebCore::contextMenuItemTagDownloadLinkToDisk): + (WebCore::contextMenuItemTagCopyLinkToClipboard): + (WebCore::contextMenuItemTagOpenImageInNewWindow): + (WebCore::contextMenuItemTagDownloadImageToDisk): + (WebCore::contextMenuItemTagCopyImageToClipboard): + (WebCore::contextMenuItemTagOpenFrameInNewWindow): + (WebCore::contextMenuItemTagCopy): + (WebCore::contextMenuItemTagGoBack): + (WebCore::contextMenuItemTagGoForward): + (WebCore::contextMenuItemTagStop): + (WebCore::contextMenuItemTagReload): + (WebCore::contextMenuItemTagCut): + (WebCore::contextMenuItemTagPaste): + (WebCore::contextMenuItemTagNoGuessesFound): + (WebCore::contextMenuItemTagIgnoreSpelling): + (WebCore::contextMenuItemTagLearnSpelling): + (WebCore::contextMenuItemTagSearchWeb): + (WebCore::contextMenuItemTagLookUpInDictionary): + (WebCore::contextMenuItemTagOpenLink): + (WebCore::contextMenuItemTagIgnoreGrammar): + (WebCore::contextMenuItemTagSpellingMenu): + (WebCore::contextMenuItemTagShowSpellingPanel): + (WebCore::contextMenuItemTagCheckSpelling): + (WebCore::contextMenuItemTagCheckSpellingWhileTyping): + (WebCore::contextMenuItemTagCheckGrammarWithSpelling): + (WebCore::contextMenuItemTagFontMenu): + (WebCore::contextMenuItemTagBold): + (WebCore::contextMenuItemTagItalic): + (WebCore::contextMenuItemTagUnderline): + (WebCore::contextMenuItemTagOutline): + (WebCore::contextMenuItemTagWritingDirectionMenu): + (WebCore::contextMenuItemTagDefaultDirection): + (WebCore::contextMenuItemTagLeftToRight): + (WebCore::contextMenuItemTagRightToLeft): + (WebCore::contextMenuItemTagInspectElement): + (WebCore::searchMenuNoRecentSearchesText): + (WebCore::searchMenuRecentSearchesText): + (WebCore::searchMenuClearRecentSearchesText): + (WebCore::AXWebAreaText): + (WebCore::AXLinkText): + (WebCore::AXListMarkerText): + (WebCore::AXImageMapText): + (WebCore::AXHeadingText): + (WebCore::unknownFileSizeText): + +2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Return a non empty string in more functions. + + * platform/qt/Localizations.cpp: + (WebCore::contextMenuItemTagShowSpellingPanel): + +2007-10-22 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Shrink the TemporaryLinkStubs and move the + Frame::setNeedsReapplyStyles stub to FrameQt.cpp + + * page/qt/FrameQt.cpp: + (WebCore::Frame::setNeedsReapplyStyles): + * platform/qt/TemporaryLinkStubs.cpp: + +2007-10-22 Holger Freyther <zecke@selfish.org> + + Reviewed by Lars Knoll <lars@trolltech.com>. + + Implement the WebCore::fileSize function. The + implementation assumes that QFileInfo will cache + the result of the stat so that info.size() and + info.exists() use the same stat result. + + * platform/qt/FileSystemQt.cpp: + (WebCore::deleteFile): + * platform/qt/TemporaryLinkStubs.cpp: + +2007-10-21 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Use the portable GLib time function. + + Use event timestamps rather than the current time where available. + + Rename SharedTimerLinux.cpp since it isn't Linux-specific. + + * WebCore.pro: + * platform/gtk/MouseEventGtk.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + * platform/gtk/SystemTimeGtk.cpp: Added. + (WebCore::currentTime): + * platform/gtk/SharedTimerGtk.cpp: Copied from platform/gtk/SharedTimerLinux.cpp. + * platform/gtk/SharedTimerLinux.cpp: Removed. + +2007-10-22 David Hyatt <hyatt@apple.com> + + Fix for 15596, regression from my transform changes. Preserve null checks on the clip rects calls for parent(), + since the method is called on orphaned layers. This is not very well understood. + + Reviewed by eric + + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::calculateClipRects): + (WebCore::RenderLayer::calculateRects): + +2007-10-21 Mark Rowe <mrowe@apple.com> + + Reviewed by Alp. + + http://bugs.webkit.org/show_bug.cgi?id=15575 + Bug 15575: [GTK] Implement threading using GThread + + * WebCore.pro: Remove ThreadingPthreads.cpp from the Gtk build and link against libgthreads. + * loader/icon/IconDatabase.cpp: Initialize threading before the mutex is created to be compatible with gthreads. + (WebCore::iconDatabase): + (WebCore::IconDatabase::open): + * platform/Threading.h: + * platform/gtk/ThreadingGtk.cpp: Threading implementation in terms of GThread, based heavily on the pthreads implementation. + (WebCore::initializeThreading): + (WebCore::threadMapMutex): + (WebCore::threadMap): + (WebCore::establishIdentifierForThread): + (WebCore::threadForIdentifier): + (WebCore::clearThreadForIdentifier): + (WebCore::createThread): + (WebCore::waitForThreadCompletion): + (WebCore::detachThread): + (WebCore::Mutex::Mutex): + (WebCore::Mutex::~Mutex): + (WebCore::Mutex::lock): + (WebCore::Mutex::tryLock): + (WebCore::Mutex::unlock): + (WebCore::ThreadCondition::ThreadCondition): + (WebCore::ThreadCondition::~ThreadCondition): + (WebCore::ThreadCondition::wait): + (WebCore::ThreadCondition::signal): + (WebCore::ThreadCondition::broadcast): + * storage/Database.cpp: + (WebCore::Database::Database): Initialize threading when Database is used so that it will be initialized even + if the icon database is compiled out + +2007-10-21 Mark Rowe <mrowe@apple.com> + + Build fix. + + * ksvg2/css/SVGCSSStyleSelector.cpp: Use fabsf when dealing with a float to prevent the + implicit conversion warning. + +2007-10-21 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Implement spelling and grammar mistake underlining with Pango/Cairo. + + This change does not add any actual support for spelling or grammar + checking to any port. + + * platform/graphics/cairo/GraphicsContextCairo.cpp: + (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): + +2007-10-21 Alp Toker <alp@atoker.com> + + Reviewed by Mark Rowe. + + Cairo canvas fixes: + + Fix a refcounting issue leading to leaks and crashes on canvas + content. + + Delegate memory management of canvas images to Cairo. + + Mark unhandled conditions with notImplemented() instead of silently + ignoring them. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::drawImage): + * html/CanvasStyle.cpp: + (WebCore::CanvasStyle::applyStrokeColor): + * html/CanvasStyle.h: + * html/HTMLCanvasElement.cpp: + (WebCore::HTMLCanvasElement::HTMLCanvasElement): + (WebCore::HTMLCanvasElement::~HTMLCanvasElement): + (WebCore::HTMLCanvasElement::reset): + (WebCore::HTMLCanvasElement::paint): + (WebCore::HTMLCanvasElement::createDrawingContext): + (WebCore::HTMLCanvasElement::createPlatformImage): + +2007-10-21 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Handle glyph-orientation-vertical / glyph-orientation-horizontal SVG CSS properties. + + The SVG layouting code itself doesn't handle these properties yet, + it's just about recognizing them in the SVG CSS engine. + + * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): + * ksvg2/css/SVGCSSParser.cpp: + (WebCore::CSSParser::parseSVGValue): + * ksvg2/css/SVGCSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applySVGProperty): + * ksvg2/css/SVGRenderStyle.h: + (WebCore::SVGRenderStyle::InheritedFlags::operator==): + (WebCore::SVGRenderStyle::InheritedFlags::operator!=): + (WebCore::SVGRenderStyle::setBitDefaults): + * ksvg2/css/SVGRenderStyleDefs.h: + +2007-10-21 Christian Dywan <christian@twotoasts.de> + + Reviewed by Alp. + + http://bugs.webkit.org/show_bug.cgi?id=15589 + Use glib's path separator on gtk + + * platform/gtk/FileSystemGtk.cpp: + (WebCore::pathByAppendingComponent): + +2007-10-21 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15259 + <rdar://problem/5499902> REGRESSION: Text overflows when using word spacing and centering (affects myspace.com music videos page) + + Test: fast/text/word-space.html + + * rendering/RenderBlock.cpp: + (WebCore::stripTrailingSpace): Added word-spacing to the width of the + space being stripped out. + * rendering/RenderText.cpp: + (WebCore::RenderText::trimmedPrefWidths): Changed handling of + leading space. Since Font::width includes leading space width but not + leading word spacing, this method needs to either remove the width of a + space character or add word spacing, + depending on stripFrontSpaces. + (WebCore::RenderText::calcPrefWidths): Corrected the check for adding + trailing word spacing so that it would work in the case where the last + space is ignored. + * rendering/bidi.cpp: + (WebCore::RenderBlock::computeHorizontalPositionsForLine): Changed to + actually add word spacing to the total width. + +2007-10-20 David Hyatt <hyatt@apple.com> + + Land support for the transform CSS property. Basic painting now works properly. There are many open issues + that will have to be covered by individual bugs. + + Reviewed by olliej + + * css/CSSParser.cpp: + (WebCore::CSSParser::validUnit): + (WebCore::CSSParser::parseTransform): + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::RenderLayer): + (WebCore::RenderLayer::~RenderLayer): + (WebCore::RenderLayer::updateLayerPositions): + (WebCore::RenderLayer::updateTransform): + (WebCore::transparencyClipBox): + (WebCore::RenderLayer::beginTransparencyLayers): + (WebCore::RenderLayer::paintLayer): + (WebCore::RenderLayer::calculateClipRects): + (WebCore::RenderLayer::calculateRects): + (WebCore::RenderLayer::childrenClipRect): + (WebCore::RenderLayer::selfClipRect): + (WebCore::RenderLayer::intersectsDamageRect): + (WebCore::RenderLayer::boundingBox): + * rendering/RenderLayer.h: + * rendering/RenderObject.cpp: + (WebCore::RenderObject::containingBlock): + (WebCore::RenderObject::container): + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::applyTransform): + * rendering/RenderStyle.h: + (WebCore::TransformOperation::isScaleOperation): + (WebCore::TransformOperation::isRotateOperation): + (WebCore::TransformOperation::isSkewOperation): + (WebCore::TransformOperation::isTranslateOperation): + (WebCore::TransformOperation::isMatrixOperation): + (WebCore::ScaleTransformOperation::isScaleOperation): + (WebCore::RotateTransformOperation::isRotateOperation): + (WebCore::SkewTransformOperation::isSkewOperation): + (WebCore::TranslateTransformOperation::isTranslateOperation): + (WebCore::MatrixTransformOperation::isMatrixOperation): + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::requiresLayer): + * rendering/RenderTreeAsText.cpp: + (WebCore::writeLayers): + +2007-10-20 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam. + + Add basic @font-face to the Web Inspector. + + * page/InspectorController.cpp: + (WebCore::InspectorResource::type): Check for CachedResource::FontResource. + * page/inspector/Resource.js: Add support for Font types and font preview in the icon. + * page/inspector/ResourcePanel.js: Show a font preview for font resources. + * page/inspector/inspector.css: Style for the font preview and font icon. + * page/inspector/inspector.js: Add font mime types. + +2007-10-20 Sam Weinig <sam@webkit.org> + + Reviewed by Mark Rowe. + + Fixes: + - http://bugs.webkit.org/show_bug.cgi?id=14393 + Column on the left side of the Web Inspector should have a smaller minimum width for resizing + - http://bugs.webkit.org/show_bug.cgi?id=14394 + Left pane of the Web Inspector "shakes" when resizing it to maximum width + + * page/inspector/inspector.js: Change the constraint logic to only enforce a 100px min-width + and window.innerWidth - 100 max-width for the sidebar. The change also makes the viewbuttons + move with the sidebar. + +2007-10-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15208 + display:table causes the collapsed text to show at a different position when expanded + + Test: fast/table/insert-before-anonymous-ancestors.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): Rolled out r11579. I think whatever + that change was supposed to accomplish has since been done in other + places in the code. + +2007-10-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Dave Hyatt. + + Fix http://bugs.webkit.org/show_bug.cgi?id=15584 + Bug 15584: REGRESSION(r26696): GtkLauncher segfaults on WebCore::WidthIterator::advance + + * platform/Font.cpp: + (WebCore::Font::glyphDataForCharacter): If the fallback page exists but does not have a + glyph for the character, fall back to the missing glyph data rather than returning an + invalid GlyphData. + +2007-10-20 Jasper Bryant-Greene <m@ni.ac.nz> + + Reviewed by Maciej. + + Changed the hard-coded scroll delta in WheelEventGtk from 120 to 0.25, + as suggested by George Wright in #15108 (which this patch will + resolve). + + This gives a more sane scrolling behaviour, rather than the + jumping to the end or start of the document as occurred previously. + + * platform/gtk/WheelEventGtk.cpp: + (WebCore::PlatformWheelEvent::PlatformWheelEvent): + +2007-10-20 Alp Toker <alp@atoker.com> + + Reviewed by Eric. + + Support text boundary detection. + Move TextBoundariesWin.cpp to platform/ since it's portable and useful. + Split out and implement some TemporaryLinkStubs. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * platform/TextBoundariesICU.cpp: Copied from WebCore/platform/win/TextBoundariesWin.cpp. + * platform/gtk/Language.cpp: Added. + (WebCore::defaultLanguage): + * platform/gtk/TemporaryLinkStubs.cpp: + * platform/gtk/TextBreakIteratorInternalICUGtk.cpp: Added. + (WebCore::currentTextBreakLocaleID): + * platform/win/TextBoundariesWin.cpp: Removed. + +2007-10-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Tim Hatcher. + + Workaround for http://bugs.webkit.org/show_bug.cgi?id=15574 + Bug 15574: Web Inspector doesn't work with the new Database feature + + The executeSql callback is executed in the security domain of the web page that owns the database, + while the inspector's window object is in the callback functions scope chain. This is leading to a + security violation when the callback attempts to access "document". We can work around this by + ensuring that "document" can be found in the scope chain before the window object. + + * page/inspector/DatabasePanel.js: + +2007-10-20 Darin Adler <darin@apple.com> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=15567 + speed up hashing const char* by removing call to strlen + + This includes one other fix as well. Both were from a day where I did some + profiling to find hot spots when running the page load test. + + * platform/StringImpl.cpp: + (WebCore::StringImpl::computeHash): Compute the hash without calling strlen. + Also change the argument names to not confusingly use m_ prefixes. + (WebCore::StringImpl::createStrippingNull): Added a faster case for strings that + don't have null. + +2007-10-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Alp. + + Gtk changes needed to enable HTML 5 client-side database storage. + + * WebCore.pro: Have Gtk use ThreadingPthreads.cpp. + * platform/pthreads/ThreadingPthreads.cpp: Include errno so that EDEADLK and EBUSY are available. + +2007-10-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Alp. + + Implement callOnMainThread for Gtk+ via a one-shot zero-delay timer that will be dispatched + from the main event loop. + + * WebCore.pro: + * platform/gtk/TemporaryLinkStubs.cpp: + * platform/gtk/ThreadingGtk.cpp: Added. + (WebCore::callFunctionOnMainThread): + (WebCore::callOnMainThread): + +2007-10-20 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fix non-functional display="inline" / display="none" for SVG text. + + Fixes: svg/W3C-SVG-1.1/animate-elem-39-t.svg (display="inline" support) + Fixes: svg/batik/text/textProperties2.svg (display="inline/none" support) + Fixes: svg/carto.net/tabgroup.svg (display="none" support, stray content before layouting) + + * css/svg.css: Remove "important" flag on text/foreignObject display: block property + * rendering/RenderSVGBlock.cpp: + (WebCore::RenderSVGBlock::setStyle): + +2007-10-20 Mark Rowe <mrowe@apple.com> + + Reviewed by Alp. + + Replace #ifdef'd code with the appropriate use of a forwarding header. + + * ForwardingHeaders/kjs/array_instance.h: Added. + * bindings/js/JSDatabaseCustom.cpp: + +2007-10-20 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Oliver. + + Add support for 'kerning' property in SVG text layout code. + Support all textLength/lengthAdjust modes on normal text & textPaths. + + Support letter & word spacing on textPath. + Fix text selection when any spacing (letter/word/kerning) is involved. + + Fixes: http://bugs.webkit.org/show_bug.cgi?id=15571 + Fixes: svg/batik/text/textOnPathSpaces.svg (spacing) + svg/batik/text/textLayout.svg (kerning support) + svg/text/text-spacing-01-b.svg (text selection) + + * platform/Font.cpp: + (WebCore::WidthIterator::advance): + * platform/TextStyle.h: + (WebCore::TextStyle::TextStyle): + (WebCore::TextStyle::spacingDisabled): + (WebCore::TextStyle::disableSpacing): + * rendering/SVGCharacterLayoutInfo.cpp: + (WebCore::SVGCharacterLayoutInfo::SVGCharacterLayoutInfo): + (WebCore::SVGCharacterLayoutInfo::nextPathLayoutPointAndAngle): + (WebCore::SVGCharacterLayoutInfo::setInPathLayout): + (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): + (WebCore::SVGChar::characterTransform): + * rendering/SVGCharacterLayoutInfo.h: + (WebCore::SVGTextChunkLayoutInfo::SVGTextChunkLayoutInfo): + * rendering/SVGRootInlineBox.cpp: + (WebCore::closeTextChunk): + (WebCore::calculateKerning): + (WebCore::SVGRootInlineBox::placeBoxesHorizontally): + (WebCore::svgTextStyleForInlineTextBox): + (WebCore::calculateTextAnchorShiftForTextChunk): + (WebCore::applyTextAnchorToTextChunk): + (WebCore::calculateTextLengthCorrectionForTextChunk): + (WebCore::applyTextLengthCorrectionToTextChunk): + (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): + (WebCore::SVGRootInlineBox::buildLayoutInformation): + (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): + (WebCore::SVGRootInlineBox::buildTextChunks): + (WebCore::SVGRootInlineBox::layoutTextChunks): + * rendering/SVGRootInlineBox.h: + +2007-10-20 Rodney Dawes <dobey@wayofthemonkey.com> + + Reviewd by Darin. + + http://bugs.webkit.org/show_bug.cgi?id=15563 + Fix conflict with X11 Window type in WebCore + + * WebCore/bindings/js/JSDocumentCustom.cpp: + * WebCore/bindings/js/JSHTMLDocumentCustom.cpp: + * WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp: + * WebCore/bindings/js/kjs_dom.cpp: + * WebCore/bindings/js/kjs_events.cpp: + * WebCore/bindings/js/kjs_proxy.cpp: + * WebCore/history/CachedPage.cpp: + * WebCore/page/Chrome.cpp: + * WebCore/page/Frame.cpp: + +2007-10-20 Simon Hausmann <hausmann@kde.org> + + Build fix, not reviewed. + + Fix the Qt build by adding the two missing FileSystem functions. + + * platform/qt/FileSystemQt.cpp: + (WebCore::makeAllDirectories): + (WebCore::pathByAppendingComponent): + +2007-10-19 Alp Toker <alp@atoker.com> + + Reviewed by Oliver. + + GTK+ build fix enabling the new local database storage feature. + There is also a prospective Qt build fix. + + * WebCore.pro: + * bindings/js/JSDatabaseCustom.cpp: + * platform/gtk/FileSystemGtk.cpp: + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + +2007-10-19 Andrew Wellington <proton@wiretapped.net> + + Reviewed by Brady Eidson. + + Mac build fix. + + * WebCore.xcodeproj/project.pbxproj: + +2007-10-19 Alp Toker <alp@atoker.com> + + Reviewed by Oliver. + + Use platform colors for text selection. + Update the cache when the GTK style is changed. + + * platform/gtk/RenderThemeGtk.cpp: + (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): + (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): + (WebCore::RenderThemeGtk::gtkStyleSet): + (WebCore::RenderThemeGtk::gtkEntry): + * platform/gtk/RenderThemeGtk.h: + +2007-10-19 Adele Peterson <adele@apple.com> + + Reviewed by Beth. + + Fix for: <rdar://problem/5518461> REGRESSION (2.0.4-3): Popup arrows are missing in small popups at homedepot.com + + Test: fast/forms/menulist-no-overflow.html + + * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle): Don't allow overflow on menu lists. + +2007-10-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + Move some SQL-related classes to platform/sql. + + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * loader/icon/SQLDatabase.cpp: Removed. + * loader/icon/SQLDatabase.h: Removed. + * loader/icon/SQLStatement.cpp: Removed. + * loader/icon/SQLStatement.h: Removed. + * loader/icon/SQLTransaction.cpp: Removed. + * loader/icon/SQLTransaction.h: Removed. + * platform/sql/SQLDatabase.cpp: Copied from loader/icon/SQLDatabase.cpp. + * platform/sql/SQLDatabase.h: Copied from loader/icon/SQLDatabase.h. + * platform/sql/SQLStatement.cpp: Copied from loader/icon/SQLStatement.cpp. + * platform/sql/SQLStatement.h: Copied from loader/icon/SQLStatement.h. + * platform/sql/SQLTransaction.cpp: Copied from loader/icon/SQLTransaction.cpp. + * platform/sql/SQLTransaction.h: Copied from loader/icon/SQLTransaction.h. + +2007-10-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Adam. + + Update to match the latest version of the spec. Now, executeSQL takes an array + of SQL parameters instead of them being passed as arguments. + + * bindings/js/JSDatabaseCustom.cpp: + (WebCore::JSDatabase::executeSql): + * page/inspector/DatabasePanel.js: + * storage/Database.idl: + +2007-10-19 Brady Eidson <beidson@apple.com> + + Reviewed by Tim + + Tiger's SQLite doesn't support CREATE TABLE IF NOT EXISTS :( + + * storage/Database.cpp: + (WebCore::Database::performOpenAndVerify): + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::DatabaseTracker): + +2007-10-19 Anders Carlsson <andersca@apple.com> + + Release build fix. + + * WebCore.vcproj/WebCore.vcproj: + +2007-10-19 Brady Eidson <beidson@apple.com> + + Remove stray printfs + + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::~Document): + +2007-10-19 Anders Carlsson <andersca@apple.com> + + Reviewed by Brady. + + Apparently the Win32 pthreads impl we use does not allow unlocking a mutex that has not + already been locked, so lock the mutex first. + + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::databaseThread): + +2007-10-19 Brady Eidson <beidson@apple.com> + + Better build fix + + * loader/icon/SQLDatabase.cpp: + (WebCore::SQLDatabase::authorizerFunction): Definite works by 3.3.13 + +2007-10-19 Brady Eidson <beidson@apple.com> + + Build fix + + * loader/icon/SQLDatabase.cpp: + (WebCore::SQLDatabase::authorizerFunction): I don't know *when* these constants were + added to SQLite, but I know they were by 3.4.0 + +2007-10-19 Brady Eidson <beidson@apple.com> + Reviewed by Anders + + Windows specific changes, as well as renaming Queue -> Deque + + * ForwardingHeaders/wtf/Deque.h: Added. + * ForwardingHeaders/wtf/Queue.h: Removed. + * platform/win/FileSystemWin.cpp: + (WebCore::fileSize): + (WebCore::fileExists): + (WebCore::deleteFile): + (WebCore::pathByAppendingComponent): + (WebCore::fileSystemRepresentation): + (WebCore::makeAllDirectories): + (WebCore::homeDirectoryPath): + * storage/Database.h: + * storage/DatabaseThread.cpp: + (WebCore::DatabaseThread::documentGoingAway): + (WebCore::DatabaseThread::databaseGoingAway): + (WebCore::DatabaseThread::dispatchNextTaskIdentifier): + (WebCore::DatabaseThread::scheduleTask): + (WebCore::DatabaseThread::scheduleImmediateTask): + * storage/DatabaseThread.h: + +2007-10-19 Brady Eidson <beidson@apple.com> + + Reviewed by Tim and Anders + + Preliminary support for HTML5 local database storage (http://www.whatwg.org/specs/web-apps/current-work/) + + The specification is still in flux but the fundamentals are pretty solid and we can start using and testing + this implementation even while filing bugs to track changes in the spec as it becomes more final + + There are some implementation details in this patch that seem unused or useless, but they remain in place + while the spec is in flux and might go one way or another. + + * platform/Logging.cpp: Add StorageAPI logging channel + * platform/Logging.h: + + * storage/Database.cpp: Added. + (WebCore::Database::databaseInfoTableName): + (WebCore::databaseVersionKey): + (WebCore::Database::openDatabase): C++ version of the window.openDatabase() javascript API + (WebCore::Database::Database): + (WebCore::Database::~Database): + (WebCore::Database::openAndVerifyVersion): + (WebCore::retrieveTextResultFromDatabase): + (WebCore::Database::getVersionFromDatabase): + (WebCore::setTextValueInDatabase): + (WebCore::Database::setVersionInDatabase): + (WebCore::Database::databaseThreadGoingAway): May be removed in the future + (WebCore::Database::disableAuthorizer): For internal (WebInspector) use to get around the authorizer's restrictions + (WebCore::Database::enableAuthorizer): + (WebCore::Database::guidForOriginAndName): Candidate for refactoring and/or moving to the database tracker. + The GUID for each database identifier is currently for tracking the database version, but might be rescoped in the future + (WebCore::Database::resetAuthorizer): + (WebCore::Database::performPolicyChecks): Currently, the only post-executeSql policy check planned is the origin size usage + (WebCore::Database::scheduleDatabaseCallback): + (WebCore::Database::performOpenAndVerify): + (WebCore::Database::performChangeVersion): + (WebCore::Database::performExecuteSql): + (WebCore::Database::performCloseTransaction): + (WebCore::Database::performGetTableNames): + (WebCore::Database::version): C++ version of the javascript API + (WebCore::Database::changeVersion): Ditto + (WebCore::Database::executeSql): Ditto + (WebCore::Database::closeTransaction): Ditto + (WebCore::Database::tableNames): For internal (WebInspector) use + (WebCore::Database::deliverAllPendingCallbacks): + (WebCore::Database::deliverPendingCallbacks): + * storage/Database.h: Added. + (WebCore::Database::databaseDebugName): For debug logging purposes + * storage/Database.idl: Added. + + * storage/DatabaseAuthorizer.cpp: Added. + The DatabaseAuthorizer is used to both prevent the script from doing "illegal" things in sql as well as + tracking when effects certain sql statements might have (such as increasing the size of the database) + (WebCore::DatabaseAuthorizer::DatabaseAuthorizer): + (WebCore::DatabaseAuthorizer::reset): + (WebCore::DatabaseAuthorizer::createTable): + (WebCore::DatabaseAuthorizer::createTempTable): + (WebCore::DatabaseAuthorizer::dropTable): + (WebCore::DatabaseAuthorizer::dropTempTable): + (WebCore::DatabaseAuthorizer::allowAlterTable): + (WebCore::DatabaseAuthorizer::createIndex): + (WebCore::DatabaseAuthorizer::createTempIndex): + (WebCore::DatabaseAuthorizer::dropIndex): + (WebCore::DatabaseAuthorizer::dropTempIndex): + (WebCore::DatabaseAuthorizer::createTrigger): + (WebCore::DatabaseAuthorizer::createTempTrigger): + (WebCore::DatabaseAuthorizer::dropTrigger): + (WebCore::DatabaseAuthorizer::dropTempTrigger): + (WebCore::DatabaseAuthorizer::createVTable): + (WebCore::DatabaseAuthorizer::dropVTable): + (WebCore::DatabaseAuthorizer::allowDelete): + (WebCore::DatabaseAuthorizer::allowInsert): + (WebCore::DatabaseAuthorizer::allowUpdate): + (WebCore::DatabaseAuthorizer::allowRead): + (WebCore::DatabaseAuthorizer::allowAnalyze): + (WebCore::DatabaseAuthorizer::allowPragma): + (WebCore::DatabaseAuthorizer::allowAttach): + (WebCore::DatabaseAuthorizer::allowDetach): + (WebCore::DatabaseAuthorizer::allowFunction): + (WebCore::DatabaseAuthorizer::disable): + (WebCore::DatabaseAuthorizer::enable): + (WebCore::DatabaseAuthorizer::denyBasedOnTableName): Don't allow access to the __WebKit meta info table as + it should be invisible to scripts + * storage/DatabaseAuthorizer.h: Added. + (WebCore::DatabaseAuthorizer::lastActionWasInsert): + (WebCore::DatabaseAuthorizer::lastActionIncreasedSize): + + * storage/DatabaseCallback.cpp: Added. + Generic item to queue up for callbacks on the main thread for database activities that take place on + a secondary thread + (WebCore::DatabaseChangeVersionCallback::DatabaseChangeVersionCallback): + (WebCore::DatabaseChangeVersionCallback::performCallback): + (WebCore::DatabaseExecuteSqlCallback::DatabaseExecuteSqlCallback): + (WebCore::DatabaseExecuteSqlCallback::performCallback): + * storage/DatabaseCallback.h: Added. + (WebCore::DatabaseCallback::~DatabaseCallback): + (WebCore::DatabaseChangeVersionCallback::~DatabaseChangeVersionCallback): + (WebCore::DatabaseExecuteSqlCallback::~DatabaseExecuteSqlCallback): + + * storage/DatabaseTask.h: Added. + Generic work-item to be queued up on the background database thread + (WebCore::DatabaseTask::isComplete): + (WebCore::DatabaseOpenTask::exceptionCode): + (WebCore::DatabaseOpenTask::openSuccessful): + (WebCore::DatabaseTableNamesTask::tableNames): + * storage/DatabaseTask.cpp: Added. + (WebCore::DatabaseTask::DatabaseTask): + (WebCore::DatabaseTask::~DatabaseTask): + (WebCore::DatabaseTask::performTask): + (WebCore::DatabaseTask::lockForSynchronousScheduling): Used when the main thread needs this task accomplished + synchronously + (WebCore::DatabaseTask::waitForSynchronousCompletion): + + (WebCore::DatabaseOpenTask::DatabaseOpenTask): + (WebCore::DatabaseOpenTask::doPerformTask): + + (WebCore::DatabaseExecuteSqlTask::DatabaseExecuteSqlTask): + (WebCore::DatabaseExecuteSqlTask::doPerformTask): + + (WebCore::DatabaseChangeVersionTask::DatabaseChangeVersionTask): + (WebCore::DatabaseChangeVersionTask::doPerformTask): + + (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): + (WebCore::DatabaseTableNamesTask::doPerformTask): + + * storage/DatabaseThread.cpp: Added. + The current design is that each Document will have its own DatabaseThread. This makes scripts on each + individual document more response at the cost of adding more threads and potentially creating concurrency + issues when the same database is open twice from two different documents + (WebCore::DatabaseThread::DatabaseThread): + (WebCore::DatabaseThread::~DatabaseThread): + (WebCore::DatabaseThread::start): + (WebCore::DatabaseThread::documentGoingAway): Called to shut the thread down when the document is destroyed + (WebCore::DatabaseThread::databaseGoingAway): Remove all pending tasks for this database + (WebCore::DatabaseThread::databaseThreadStart): + (WebCore::DatabaseThread::databaseThread): + (WebCore::DatabaseThread::dispatchNextTaskIdentifier): + (WebCore::DatabaseThread::scheduleTask): + (WebCore::DatabaseThread::scheduleImmediateTask): Schedule a task that gets to "cut to the front of the line" when + the main thread requires a task be performed synchronously + (WebCore::DatabaseThread::wakeWorkThread): + * storage/DatabaseThread.h: Added. + + * storage/DatabaseTracker.cpp: Added. + The DatabaseTracker is the master management of all databases. It will keep track of the filename for a given + unique database, keep track of the total disk usage per-origin, and policys per database/origin + (WebCore::DatabaseTracker::setDatabasePath): + (WebCore::DatabaseTracker::databasePath): + (WebCore::DatabaseTracker::tracker): + (WebCore::DatabaseTracker::DatabaseTracker): + (WebCore::DatabaseTracker::fullPathForDatabase): + (WebCore::DatabaseTracker::populateOrigins): + (WebCore::DatabaseTracker::origins): + (WebCore::DatabaseTracker::databaseNamesForOrigin): + (WebCore::DatabaseTracker::addDatabase): + (WebCore::DatabaseTracker::deleteAllDatabases): + (WebCore::DatabaseTracker::deleteAllDatabasesForOrigin): + * storage/DatabaseTracker.h: Added. + + * storage/SQLCallback.h: Added. C++ version of the javascript executeSql() callback + (WebCore::SQLCallback::~SQLCallback): + * storage/SQLCallback.idl: Added. + + * storage/SQLResultSet.cpp: Added. C++ version of the javascript SQLResultSet object + (WebCore::SQLResultSet::SQLResultSet): + (WebCore::SQLResultSet::insertId): + (WebCore::SQLResultSet::rowsAffected): + (WebCore::SQLResultSet::errorCode): + (WebCore::SQLResultSet::error): + (WebCore::SQLResultSet::rows): + (WebCore::SQLResultSet::setInsertId): + (WebCore::SQLResultSet::setRowsAffected): + (WebCore::SQLResultSet::setErrorCode): + (WebCore::SQLResultSet::setErrorMessage): + * storage/SQLResultSet.h: Added. + * storage/SQLResultSet.idl: Added. + + * storage/SQLResultSetRowList.cpp: Added. C++ version of the javascript SQLResultSetRowList object + (WebCore::SQLResultSetRowList::length): + * storage/SQLResultSetRowList.h: Added. + (WebCore::SQLResultSetRowList::columnNames): + (WebCore::SQLResultSetRowList::values): + (WebCore::SQLResultSetRowList::addColumn): + (WebCore::SQLResultSetRowList::addResult): + * storage/SQLResultSetRowList.idl: Added. + + * storage/VersionChangeCallback.h: Added. C++ version of the javascript changeVersion() callback + (WebCore::VersionChangeCallback::~VersionChangeCallback): + * storage/VersionChangeCallback.idl: Added. + +2007-10-19 Brady Eidson <beidson@apple.com> + + Reviewed by Oliver + Same + + Forwarding header for the new wtf/Queue.h + + * ForwardingHeaders/wtf/Queue.h: Added. + +2007-10-19 Anders Carlsson <beidson@apple.com> + + Reviewed by Sam Weinig + + Most of the Javascript binding support for the Storage API + + * bindings/js/JSCustomSQLCallback.cpp: Added. + (WebCore::JSCustomSQLCallback::JSCustomSQLCallback): + (WebCore::JSCustomSQLCallback::handleEvent): + * bindings/js/JSCustomSQLCallback.h: Added. + Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches + handleEvent to a JS function or a JS object with a handleEvent function. + + * bindings/js/JSCustomVersionChangeCallback.cpp: Added. + (WebCore::JSCustomVersionChangeCallback::JSCustomVersionChangeCallback): + (WebCore::JSCustomVersionChangeCallback::handleEvent): + * bindings/js/JSCustomVersionChangeCallback.h: Added. + Add JSCustomSQLCallback which is an SQLCallback implementation that dispatches + handleEvent to a JS function or a JS object with a handleEvent function. + + * bindings/js/JSDatabaseCustom.cpp: Added. + (WebCore::JSDatabase::executeSql): + Custom implementation of executeSql that takes an array of parameters. + + (WebCore::JSDatabase::changeVersion): + Custom implementation of changeVersion. + + * bindings/js/JSSQLResultSetRowListCustom.cpp: Added. + (WebCore::JSSQLResultSetRowList::item): + Custom method that returns a JS object that corresponds to a given row in the database. + + * bindings/scripts/CodeGeneratorJS.pm: + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::openDatabase): + * page/DOMWindow.h: + * page/DOMWindow.idl: + Add openDatabase implementation. + +2007-10-19 Brady Eidson <beidson@apple.com> + + Reviewed by Oliver + + Added tons of utility to the FileSystem abstractions, including moving + some stuff over from IconDatabase + + * platform/FileSystem.h: + + * platform/cf/FileSystemCF.cpp: Added. + (WebCore::fileSystemRepresentation): + + * platform/mac/FileSystemMac.mm: + + * platform/posix/FileSystemPOSIX.cpp: Added. + (WebCore::fileExists): + (WebCore::deleteFile): + (WebCore::fileSize): + (WebCore::pathByAppendingComponent): + (WebCore::makeAllDirectories): + +2007-10-19 Timothy Hatcher <timothy@apple.com> + + Reviewed by Adam Roben + + Preliminary Web Inspector support for the Storage API + (This patch does not include the support artwork) + + * page/InspectorController.cpp: + (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): + (WebCore::InspectorDatabaseResource::setScriptObject): + (WebCore::databaseTableNames): Return the table names for a Database object. + (WebCore::InspectorController::setWindowVisible): + (WebCore::InspectorController::windowScriptObjectAvailable): + (WebCore::InspectorController::populateScriptResources): + (WebCore::InspectorController::addDatabaseScriptResource): Add the script object for the database. + (WebCore::InspectorController::removeDatabaseScriptResource): Remove the script object for the database. + (WebCore::InspectorController::clearDatabaseScriptResources): Remove all the database resources. + (WebCore::InspectorController::didCommitLoad): Call clearDatabaseScriptResources(). + (WebCore::InspectorController::didOpenDatabase): Make a new InspectorDatabaseResource and add it to m_databaseResources. + * page/InspectorController.h: + * page/inspector/Database.js: Added. + * page/inspector/DatabasePanel.js: Added. + * page/inspector/ResourceCategory.js: Make resource categories assume less about the resource. + * page/inspector/inspector.css: Add styles for the database panel. + * page/inspector/inspector.html: Include DatabasePanel.js + * page/inspector/inspector.js: Support for adding and removing Database resources. + +2007-10-19 Brady Eidson <beidson@apple.com> + + Reviewed by Tim Hatcher + + Added support for Chrome prompts required by the Storage API + + * page/Chrome.cpp: + (WebCore::Chrome::runDatabaseSizeLimitPrompt): + * page/Chrome.h: + * page/ChromeClient.h: + * platform/graphics/svg/SVGImageEmptyClients.h: + +2007-10-19 Brady Eidson <beidson@apple.com> + + Contributions and Review by Anders + + Various SQLite tweaks in preparation for the storage API + + * loader/icon/SQLDatabase.cpp: + (WebCore::SQLDatabase::~SQLDatabase): + (WebCore::SQLDatabase::authorizerFunction): Static callback from sqlite for authorizer functions + (WebCore::SQLDatabase::setAuthorizer): + (WebCore::SQLDatabase::lock): + (WebCore::SQLDatabase::unlock): + * loader/icon/SQLDatabase.h: + + * loader/icon/SQLStatement.cpp: + (WebCore::SQLStatement::prepare): Switch to prepare16_v2 + (WebCore::SQLStatement::bindDouble): Added + (WebCore::SQLStatement::bindValue): Bind a wrapped SQLValue object (described later) + (WebCore::SQLStatement::bindParameterCount): Accessor to the sqlite3 API for validating statements + * loader/icon/SQLStatement.h: + (WebCore::SQLStatement::isPrepared): + + * platform/sql/SQLAuthorizer.cpp: Added. Fully virtual interface to implement your own SQLite authorizer + * platform/sql/SQLAuthorizer.h: Added. + (WebCore::SQLAuthorizer::~SQLAuthorizer): + (WebCore::SQLAuthorizer::createTable): + (WebCore::SQLAuthorizer::createTempTable): + (WebCore::SQLAuthorizer::dropTable): + (WebCore::SQLAuthorizer::dropTempTable): + (WebCore::SQLAuthorizer::allowAlterTable): + (WebCore::SQLAuthorizer::createIndex): + (WebCore::SQLAuthorizer::createTempIndex): + (WebCore::SQLAuthorizer::dropIndex): + (WebCore::SQLAuthorizer::dropTempIndex): + (WebCore::SQLAuthorizer::createTrigger): + (WebCore::SQLAuthorizer::createTempTrigger): + (WebCore::SQLAuthorizer::dropTrigger): + (WebCore::SQLAuthorizer::dropTempTrigger): + (WebCore::SQLAuthorizer::createView): + (WebCore::SQLAuthorizer::createTempView): + (WebCore::SQLAuthorizer::dropView): + (WebCore::SQLAuthorizer::dropTempView): + (WebCore::SQLAuthorizer::createVTable): + (WebCore::SQLAuthorizer::dropVTable): + (WebCore::SQLAuthorizer::allowDelete): + (WebCore::SQLAuthorizer::allowInsert): + (WebCore::SQLAuthorizer::allowUpdate): + (WebCore::SQLAuthorizer::allowTransaction): + (WebCore::SQLAuthorizer::allowSelect): + (WebCore::SQLAuthorizer::allowRead): + (WebCore::SQLAuthorizer::allowAttach): + (WebCore::SQLAuthorizer::allowDetach): + (WebCore::SQLAuthorizer::allowReindex): + (WebCore::SQLAuthorizer::allowAnalyze): + (WebCore::SQLAuthorizer::allowFunction): + + * platform/sql/SQLValue.cpp: Added. Contains a value for a SQLite database that can be one of a few types. + For now, just a String or a double + (WebCore::SQLValue::SQLValue): + (WebCore::SQLValue::string): + (WebCore::SQLValue::number): + * platform/sql/SQLValue.h: Added. + (WebCore::SQLValue::): + (WebCore::SQLValue::SQLValue): + (WebCore::SQLValue::type): + +2007-10-19 Brady Eidson <beidson@apple.com> + + Reviewed by Maciej + + Changed IconDatabase over to use new FileSystem apis + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::open): + +2007-10-19 David Hyatt <hyatt@apple.com> + + Fix for ebay parser crash. + + Reviewed by Beth + + fast/invalid/table-residual-style-crash.html added as a test + + * html/HTMLParser.cpp: + (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): + +2007-10-19 Sam Weinig <sam@webkit.org> + + Fix Windows, Qt and GTK builds. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + +2007-10-19 Sam Weinig <sam@webkit.org> + + Reviewed by Darin. + + Encapsulate the same origin check into the new SecurityOrigin class. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/kjs_window.cpp: + (KJS::Window::isSafeScript): + * dom/Document.cpp: + (WebCore::Document::Document): + (WebCore::Document::defaultEventHandler): + * dom/Document.h: + (WebCore::Document::securityOrigin): + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::begin): + (WebCore::FrameLoader::setOpener): + * loader/FrameLoader.h: + * platform/SecurityOrigin.cpp: Added. + (WebCore::SecurityOrigin::SecurityOrigin): + (WebCore::SecurityOrigin::clear): + (WebCore::SecurityOrigin::isEmpty): + (WebCore::SecurityOrigin::setForFrame): + (WebCore::SecurityOrigin::setDomainFromDOM): + (WebCore::SecurityOrigin::allowsAccessFrom): + (WebCore::SecurityOrigin::isSecureTransitionTo): + * platform/SecurityOrigin.h: Added. + +2007-10-19 Simon Hausmann <hausmann@kde.org> + + Fix the Qt/Windows build: Added missing FontSelector.h include. + + * platform/qt/FontQt.cpp: + +2007-10-19 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Qt/Windows build fix: Threading.h uses int32_t but doesn't include stdint.h. + + * platform/Threading.h: + +2007-10-19 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Fix the Qt/Windows build, don't use cat but use the perl print trick + instead. + + * WebCore.pro: + +2007-10-18 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Kevin McCullough. + + <rdar://problem/5483526> + GoogleDocs: A hang occurs when applying list styling to a selection containing a table and line breaks + + * editing/TextIterator.cpp: + (WebCore::TextIterator::exitNode): For selection preservation, we must emit a character + between every VisiblePosition. We weren't emitting a space after some tables, because + we won't try to emit a space if shouldEmitNewlineAFterNode is true, even if no newline + was emitted. + +2007-10-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Adam Roben. + + - fix <rdar://problem/5313523> + REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard + + * platform/network/mac/ResourceResponseMac.mm: + (WebCore::ResourceResponse::doUpdateResourceResponse): Work around + <rdar://problem/5321972> by testing for the case of a response + with a MIME type of application/octet-stream and a Content-Type header + starting with text/plain and setting the MIME type to text/plain in + that case. + +2007-10-18 Mark Rowe <mrowe@apple.com> + + Fix the no-SVG build. + + * css/CSSPrimitiveValueMappings.h: Move the CSSPrimitiveValue implementations for + LineCap, LineJoin and WindRule inside #if ENABLE(SVG). + +2007-10-18 Darin Adler <darin@apple.com> + + Reviewed by Anders. + + - some small tweaks to the threading implementation + + I had trouble building on Windows. Either the problem went away by itself + or one of these changes fixed it. + + * platform/Threading.h: Eliminated the use of friend, and shared a single + declaration for the initializeThreading function. + + * platform/pthreads/ThreadingPthreads.cpp: (WebCore::ThreadCondition::wait): + Call impl() here. + + * platform/win/ThreadingWin.cpp: Got rid of two globals here with static + constructors. Also added a typedef for the type of the function queue. + (WebCore::functionQueueMutex): Added function. + (WebCore::functionQueue): Ditto. + (WebCore::callFunctionsOnMainThread): Use functions instead of using the + globals directly. + (WebCore::callOnMainThread): Ditto. + + * css/CSSParser.cpp: Had to touch this file to make things build. + +2007-10-18 Adam Roben <aroben@apple.com> + + Fix <rdar://5547462> Need to copy Inspector resources in Production builds + + I also added an excludes file for the xcopy command to avoid copying + .svn folders. + + Reviewed by Geoff. + + * WebCore.vcproj/WebCore.make: Make sure we copy the Inspector + resources. + * WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to + xcopy. + * WebCore.vcproj/xcopy.excludes: Added. + +2007-10-18 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15541 + REGRESSION (r26616): prompt with one argument uses the literal "undefined" as default reply + + * page/DOMWindow.idl: Add ConvertUndefinedOrNullToNullString back for defaultValue. + +2007-10-18 Nikolas Zimmermann <zimmermann@kde.org> + + Build fix. Not reviewed. + + Hopefully fix win build by including wtf/MathExtras.h. + + * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: + +2007-10-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Nikolas Zimmermann. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15367 + Assertion failure inspecting a document including soft hyphen code (0xad) + + Test: fast/text/word-break-soft-hyphen.html + + * rendering/RenderText.cpp: + (WebCore::RenderText::calcPrefWidths): Changed to treat soft hyphens as + word boundaries. This fixes the bug and is consistent with the fact that + run rounding does occur at soft hyphens. + +2007-10-18 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Anders. + + Fix last layout test failure seen on buildbot "trunk-mac-ppc-release". + Problem: "svg/custom/mask-excessive-malloc.svg -> crashed" + + Clamp any ImageBuffer allocation within SVG to the RenderView's visibleSize + to avoid excessive mallocs (in the testcase above 1000000x1000000) + + * ksvg2/svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::drawMaskerContent): + * ksvg2/svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::buildPattern): + * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: + (WebCore::SVGPaintServerGradient::teardown): + (WebCore::SVGPaintServerGradient::setup): + * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: + (WebCore::SVGResourceMasker::applyMask): + * rendering/SVGRenderSupport.cpp: + (WebCore::clampImageBufferSizeToViewport): + * rendering/SVGRenderSupport.h: + +2007-10-18 Alexey Proskuryakov <ap@webkit.org> + + Windows build fix. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Add braces around cases that have local variables now. + +2007-10-18 Alexey Proskuryakov <ap@webkit.org> + + Release build fix. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2007-10-18 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin. + + Split most of CSSPrimitiveValue enum mapping out of CSSComputedStyleDeclaration::getPropertyCSSValue() + and CSSStyleSelector::applyProperty() (and their SVG counterparts). This should make the code more readable. + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::getPositionOffsetValue): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::init): + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + * css/CSSPrimitiveValueMappings.h: Added. + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EBorderStyle): + (WebCore::CSSPrimitiveValue::operator CompositeOperator): + (WebCore::CSSPrimitiveValue::operator EAppearance): + (WebCore::CSSPrimitiveValue::operator EBackgroundBox): + (WebCore::CSSPrimitiveValue::operator EBackgroundRepeat): + (WebCore::CSSPrimitiveValue::operator EBoxAlignment): + (WebCore::CSSPrimitiveValue::operator EBoxDirection): + (WebCore::CSSPrimitiveValue::operator EBoxLines): + (WebCore::CSSPrimitiveValue::operator EBoxOrient): + (WebCore::CSSPrimitiveValue::operator ECaptionSide): + (WebCore::CSSPrimitiveValue::operator EClear): + (WebCore::CSSPrimitiveValue::operator ECursor): + (WebCore::CSSPrimitiveValue::operator EDisplay): + (WebCore::CSSPrimitiveValue::operator EEmptyCell): + (WebCore::CSSPrimitiveValue::operator EFloat): + (WebCore::CSSPrimitiveValue::operator EKHTMLLineBreak): + (WebCore::CSSPrimitiveValue::operator EListStylePosition): + (WebCore::CSSPrimitiveValue::operator EListStyleType): + (WebCore::CSSPrimitiveValue::operator EMarginCollapse): + (WebCore::CSSPrimitiveValue::operator EMarqueeBehavior): + (WebCore::CSSPrimitiveValue::operator EMarqueeDirection): + (WebCore::CSSPrimitiveValue::operator EMatchNearestMailBlockquoteColor): + (WebCore::CSSPrimitiveValue::operator ENBSPMode): + (WebCore::CSSPrimitiveValue::operator EOverflow): + (WebCore::CSSPrimitiveValue::operator EPageBreak): + (WebCore::CSSPrimitiveValue::operator EPosition): + (WebCore::CSSPrimitiveValue::operator EResize): + (WebCore::CSSPrimitiveValue::operator ETableLayout): + (WebCore::CSSPrimitiveValue::operator ETextAlign): + (WebCore::CSSPrimitiveValue::operator ETextSecurity): + (WebCore::CSSPrimitiveValue::operator ETextTransform): + (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): + (WebCore::CSSPrimitiveValue::operator EUserDrag): + (WebCore::CSSPrimitiveValue::operator EUserModify): + (WebCore::CSSPrimitiveValue::operator EUserSelect): + (WebCore::CSSPrimitiveValue::operator EVisibility): + (WebCore::CSSPrimitiveValue::operator EWhiteSpace): + (WebCore::CSSPrimitiveValue::operator EWordBreak): + (WebCore::CSSPrimitiveValue::operator EWordWrap): + (WebCore::CSSPrimitiveValue::operator LineCap): + (WebCore::CSSPrimitiveValue::operator LineJoin): + (WebCore::CSSPrimitiveValue::operator TextDirection): + (WebCore::CSSPrimitiveValue::operator WindRule): + (WebCore::CSSPrimitiveValue::operator EAlignmentBaseline): + (WebCore::CSSPrimitiveValue::operator EColorInterpolation): + (WebCore::CSSPrimitiveValue::operator EColorRendering): + (WebCore::CSSPrimitiveValue::operator EDominantBaseline): + (WebCore::CSSPrimitiveValue::operator EImageRendering): + (WebCore::CSSPrimitiveValue::operator EPointerEvents): + (WebCore::CSSPrimitiveValue::operator EShapeRendering): + (WebCore::CSSPrimitiveValue::operator ETextAnchor): + (WebCore::CSSPrimitiveValue::operator ETextRendering): + (WebCore::CSSPrimitiveValue::operator EWritingMode): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::checkSelector): + (WebCore::CSSStyleSelector::checkOneSelector): + (WebCore::CSSRuleSet::addRulesFromSheet): + (WebCore::convertToLength): + (WebCore::CSSStyleSelector::applyDeclarations): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapBackgroundAttachment): + (WebCore::CSSStyleSelector::mapBackgroundClip): + (WebCore::CSSStyleSelector::mapBackgroundComposite): + (WebCore::CSSStyleSelector::mapBackgroundOrigin): + (WebCore::CSSStyleSelector::mapBackgroundRepeat): + (WebCore::CSSStyleSelector::mapBackgroundXPosition): + (WebCore::CSSStyleSelector::mapBackgroundYPosition): + * ksvg2/css/SVGCSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): + * ksvg2/css/SVGCSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applySVGProperty): + +2007-10-18 Eric Seidel <eric@webkit.org> + + Reviewed by Maciej. + + Fix crashers in SVGViewSpec::parseViewSpec + http://bugs.webkit.org/show_bug.cgi?id=15504 + + Test is blocked by bug 15503, landed as: + * svg/dom/viewspec-parser.html-disabled + + * bindings/scripts/CodeGeneratorObjC.pm: support classes where all parents are interfaces + * ksvg2/svg/SVGViewSpec.cpp: + (WebCore::SVGViewSpec::parseViewSpec): + * ksvg2/svg/SVGViewSpec.idl: Added. + +2007-10-17 Rob Buis <buis@kde.org> + + Reviewed by Darin, Adam, and Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=12988 + First element (in document order) is not returned when other duplicate ID-ed elements were created first + + Reset the element id cache when an id is added and there is a duplicate for that id. + + * dom/Document.cpp: + (WebCore::Document::addElementById): + +2007-10-17 Mark Rowe <mrowe@apple.com> + + Mac build fix. + + * Configurations/WebCore.xcconfig: Make it possible to include CoreGraphics header files. + +2007-10-17 Adam Roben <aroben@apple.com> + + Fix an ASSERT on launch on Windows + + Fix dictated to me by Brady. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::syncThreadMainLoop): Make sure we hold + m_syncLock before going into the loop. + +2007-10-17 Adam Roben <aroben@apple.com> + + Windows build fix + + * platform/graphics/AffineTransform.h: Don't #include + ApplicationServices.h. + * platform/graphics/cg/GraphicsContextCG.cpp: Add an #include that's + needed now that we're not #including ApplicationServices.h. + +2007-10-17 Mark Rowe <mrowe@apple.com> + + Gtk build fix. Move non-pthread stubs from Threading.h to ThreadingNone.cpp to prevent + multiple-definition link errors. + + * WebCore.pro: + * platform/Threading.h: + * platform/ThreadingNone.cpp: Added. + (WebCore::createThread): + (WebCore::waitForThreadCompletion): + (WebCore::detachThread): + (WebCore::Mutex::Mutex): + (WebCore::Mutex::~Mutex): + (WebCore::Mutex::lock): + (WebCore::Mutex::tryLock): + (WebCore::Mutex::unlock): + (WebCore::ThreadCondition::ThreadCondition): + +2007-10-17 Anders Carlsson <andersca@apple.com> + + Reviewed by Oliver. + + * WebCore.xcodeproj/project.pbxproj: + * WebCore.vcproj/WebCore.vcproj: + + * config.h: + #define USE_PTHREADS on Windows. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::getOrCreateIconRecord): + (WebCore::IconDatabase::getOrCreatePageURLRecord): + Update for mutex changes. + + * platform/Threading.h: + (WebCore::): + (WebCore::ThreadSafeShared::ThreadSafeShared): + (WebCore::ThreadSafeShared::ref): + (WebCore::ThreadSafeShared::deref): + (WebCore::ThreadSafeShared::hasOneRef): + (WebCore::ThreadSafeShared::refCount): + (WebCore::ThreadSafeShared::isThreadSafe): + Add a new Shared base class that uses a mutex to manage its refcount. + + (WebCore::createThread): + (WebCore::waitForThreadCompletion): + (WebCore::detachThread): + New functions for thread creation. + + (WebCore::Mutex::Mutex): + (WebCore::Mutex::~Mutex): + (WebCore::Mutex::lock): + (WebCore::Mutex::tryLock): + (WebCore::Mutex::unlock): + Move the definitions to ThreadingPthreads.cpp + + (WebCore::ThreadCondition::ThreadCondition): + (WebCore::ThreadCondition::~ThreadCondition): + (WebCore::ThreadCondition::wait): + (WebCore::ThreadCondition::signal): + (WebCore::ThreadCondition::broadcast): + Move the definitions to ThreadingPthreads.cpp + + * platform/pthreads: Added. + * platform/pthreads/ThreadingPthreads.cpp: Added. + Add pthread specific implementation of the thread creation functions, Mutex and ThreadCondition. + +2007-10-17 David Hyatt <hyatt@apple.com> + + Add support for creating a layer when a transform is in effect. Add support to RenderStyle for + handing back a computed AffineTransform. + + Reviewed by Mitz Pettel + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::adjustRenderStyle): + * rendering/RenderBox.cpp: + (WebCore::RenderBox::setStyle): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::RenderObject): + (WebCore::RenderObject::requiresLayer): + (WebCore::RenderObject::setStyle): + * rendering/RenderObject.h: + (WebCore::RenderObject::hasTransform): + (WebCore::RenderObject::setHasTransform): + * rendering/RenderStyle.cpp: + (WebCore::RenderStyle::applyTransform): + * rendering/RenderStyle.h: + (WebCore::RenderStyle::hasTransform): + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::requiresLayer): + * rendering/RenderTableRow.h: + (WebCore::RenderTableRow::requiresLayer): + +2007-10-17 David Hyatt <hyatt@apple.com> + + Add support for mapping of the transform CSS property into RenderStyles. Everything is now ready for the front + end to use. + + Reviewed by Mitz Pettel + + * WebCore.xcodeproj/project.pbxproj: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSTransformValue.h: + (WebCore::CSSTransformValue::type): + (WebCore::CSSTransformValue::values): + * platform/graphics/AffineTransform.cpp: + (WebCore::AffineTransform::skew): + * platform/graphics/AffineTransform.h: + * rendering/RenderStyle.cpp: + (WebCore::StyleTransformData::StyleTransformData): + (WebCore::StyleTransformData::operator==): + (WebCore::StyleTransformData::transformDataEquivalent): + * rendering/RenderStyle.h: + (WebCore::TransformOperation::~TransformOperation): + (WebCore::TransformOperation::operator!=): + (WebCore::TransformOperation::isScaleOperation): + (WebCore::TransformOperation::isRotateOperation): + (WebCore::TransformOperation::isSkewOperation): + (WebCore::TransformOperation::isTranslateOperation): + (WebCore::TransformOperation::isMatrixOperation): + (WebCore::ScaleTransformOperation::ScaleTransformOperation): + (WebCore::ScaleTransformOperation::isScaleOperation): + (WebCore::ScaleTransformOperation::operator==): + (WebCore::ScaleTransformOperation::apply): + (WebCore::RotateTransformOperation::RotateTransformOperation): + (WebCore::RotateTransformOperation::isRotateOperation): + (WebCore::RotateTransformOperation::operator==): + (WebCore::RotateTransformOperation::apply): + (WebCore::SkewTransformOperation::SkewTransformOperation): + (WebCore::SkewTransformOperation::isSkewOperation): + (WebCore::SkewTransformOperation::operator==): + (WebCore::SkewTransformOperation::apply): + (WebCore::TranslateTransformOperation::TranslateTransformOperation): + (WebCore::TranslateTransformOperation::isTranslateOperation): + (WebCore::TranslateTransformOperation::operator==): + (WebCore::TranslateTransformOperation::apply): + (WebCore::MatrixTransformOperation::MatrixTransformOperation): + (WebCore::MatrixTransformOperation::isMatrixOperation): + (WebCore::MatrixTransformOperation::operator==): + (WebCore::MatrixTransformOperation::apply): + (WebCore::StyleTransformData::operator!=): + (WebCore::RenderStyle::transform): + (WebCore::RenderStyle::setTransform): + (WebCore::RenderStyle::initialTransform): + +2007-10-17 Adam Roben <aroben@apple.com> + + * page/Frame.cpp: I had to touch this file when fixing the Windows + build. Checking it in in case it helps others, too. + +2007-10-17 Eric Seidel <eric@webkit.org> + + Reviewed by Mark Rowe. + + Remove a couple more uses of svg_dynamic_cast. + + No functional changes, no tests. + + * ksvg2/svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::buildPattern): + +2007-10-17 Mark Rowe <mrowe@apple.com> + + Reviewed by Eric and Geoff. + + <rdar://problem/5453743> Repro ASSERT in CachedResource::setEncodedSize() loading image in background tab + http://bugs.webkit.org/show_bug.cgi?id=15191 + + * loader/DocLoader.cpp: + (WebCore::DocLoader::setAutoLoadImages): Don't start a load if the CachedImage is already loading. + +2007-10-17 Justin Garcia <justin.garcia@apple.com> + + Reviewed by Harrison. + + <rdar://problem/5481523> + GoogleDocs: Safari hangs when indenting a particular table twice + + Fixed by fixing problems with the selection preservation done by IndentOutdentCommand. + It is now more difficult to create selections that cause hangs. Those are covered by: + <rdar://problem/5543472> + + * editing/IndentOutdentCommand.cpp: + (WebCore::indexForVisiblePosition): Compute indices from the first VisiblePosition + in the document, instead of the first Position. + Use rangeCompliantEquivalents when creating the Range that we pass to rangeLength. + Tell TextIterator::rangeLength that we're doing selection preservation, so that it + will emit characters between all VisiblePositions. + (WebCore::IndentOutdentCommand::indentRegion): Fixed a bug where the range and location + passed to rangeFromLocationAndLength were reversed. + Tell rangeFromLocationAndLength that we're doing doing selection preservation, as + above. + * editing/TextIterator.cpp: + (WebCore::CharacterIterator::CharacterIterator): + (WebCore::TextIterator::rangeLength): Rename emitSpacesForReplacedElements + to forSelectionPreservation, to match the name of the boolean inside TextIterator and + to match its meaning after r25522. + (WebCore::TextIterator::rangeFromLocationAndLength): Ditto. + +2007-10-16 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15536 + need to cache missing glyph so we're not slow on pages that show missing glyphs + + - <rdar://problem/5404359> UI thread stall (>60sec) in MLANG running stress test + (related to font data caching) + + * platform/Font.cpp: (WebCore::Font::glyphDataForCharacter): Check for a null value + for fontData rather than for glyph to detect non-cached entries in the glyph data. + + * platform/gtk/GlyphPageTreeNodeGtk.cpp: (WebCore::GlyphPage::fill): + * platform/mac/GlyphPageTreeNodeMac.cpp: (WebCore::GlyphPage::fill): + * platform/win/GlyphPageTreeNodeWin.cpp: (WebCore::GlyphPage::fill): + Set fontData to 0 for missing glyph entries. Also fixed the Windows and GTK versions + to return the proper value for haveGlyphs. + +2007-10-16 Mark Rowe <mrowe@apple.com> + + Gtk build fix. Replace use of assert with ASSERT_NOT_REACHED. + + * platform/gtk/FontCacheGtk.cpp: + (WebCore::FontCache::platformInit): + +2007-10-16 Darin Adler <darin@apple.com> + + Reviewed by Adam. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15534 + WebScriptObject.h has some formatting and editorial mistakes + + * bindings/objc/WebScriptObject.h: Fix wording and formatting. + +2007-10-16 Darin Adler <darin@apple.com> + + - try to fix the Qt build + + * config.h: Don't use DisallowCType.h, since it's incompatible with some C++ headers + that are used in some Qt-specific source files. + +2007-10-16 Darin Adler <darin@apple.com> + + Reviewed by Adele. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15525 + transpose (control-T) should do the last two characters on a line if at end of line + - remove unused CommandByName class + - move transpose command implementation here from Mac OS X WebKit + + * editing/Editor.h: + * editing/Editor.cpp: + (WebCore::execTranspose): Added. + (WebCore::Editor::transpose): Added. This has the transpose implementation from + WebCoreFrameBridge and WebHTMLView, translated into WebCore-style C++ and with + a special case for the end of a paragraph. + + * page/Frame.h: Removed unused command() function member. + * page/FramePrivate.h: Removed unused m_command data member. + * page/Frame.cpp: Ditto. + + * page/mac/WebCoreFrameBridge.h: Removed rangeOfCharactersAroundCaret method. + * page/mac/WebCoreFrameBridge.mm: Ditto. + + * WebCore.pro: Removed CommandByName.h/cpp. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + + * editing/CommandByName.cpp: Removed. + * editing/CommandByName.h: Removed. + +2007-10-16 Darin Adler <darin@apple.com> + + Reviewed by Maciej and Geoff (and looked over by Eric). + + - http://bugs.webkit.org/show_bug.cgi?id=15519 + eliminate use of <ctype.h> for processing ASCII + + * ForwardingHeaders/wtf/ASCIICType.h: Added. + * ForwardingHeaders/wtf/DisallowCType.h: Added. + + * WebCorePrefix.h: Get rid of inclusion of <ctype.h>. + * config.h: Include DisallowCType.h. + + * css/CSSParser.cpp: + (WebCore::ParseString::lower): + * css/CSSPrimitiveValue.cpp: + (WebCore::isCSSTokenizerIdentifier): + * css/CSSStyleDeclaration.cpp: + (WebCore::propertyID): + * html/HTMLSelectElement.cpp: + (WebCore::stripLeadingWhiteSpace): + * html/HTMLTokenizer.cpp: + (WebCore::tagMatch): + * loader/FTPDirectoryParser.cpp: + (WebCore::parseOneFTPLine): + * loader/TextResourceDecoder.cpp: + (WebCore::TextResourceDecoder::checkForHeadCharset): + * platform/DeprecatedCString.cpp: + (WebCore::DeprecatedCString::lower): + (WebCore::DeprecatedCString::upper): + (WebCore::DeprecatedCString::find): + (WebCore::DeprecatedCString::contains): + * platform/DeprecatedString.cpp: + (WebCore::equalCaseInsensitive): + (WebCore::isCharacterAllowedInBase): + (WebCore::DeprecatedString::find): + (WebCore::DeprecatedString::contains): + (WebCore::toIntegralType): + * platform/DeprecatedString.h: + (WebCore::DeprecatedChar::isSpace): + (WebCore::DeprecatedChar::lower): + (WebCore::DeprecatedChar::upper): + * platform/KURL.cpp: + (WebCore::KURL::parse): + * platform/StringImpl.cpp: + (WebCore::isSpace): + (WebCore::StringImpl::containsOnlyWhitespace): + (WebCore::StringImpl::isLower): + (WebCore::StringImpl::lower): + (WebCore::StringImpl::find): + (WebCore::StringImpl::reverseFind): + (WebCore::equalIgnoringCase): + * platform/TextEncodingRegistry.cpp: + (WebCore::TextEncodingNameHash::equal): + (WebCore::TextEncodingNameHash::hash): + (WebCore::atomicCanonicalTextEncodingName): + * platform/mac/KeyEventMac.mm: + (WebCore::keyIdentifierForKeyEvent): + * platform/win/KeyEventWin.cpp: + (WebCore::keyIdentifierForWindowsKeyCode): + * platform/win/PopupMenuWin.cpp: + (WebCore::isASCIIPrintable): + (WebCore::PopupWndProc): + * plugins/win/PluginViewWin.cpp: + (WebCore::capitalizeRFC822HeaderFieldName): + * rendering/RenderText.cpp: + (WebCore::RenderText::widthFromCache): + Use ASCIICType.h functions instead of ctype.h ones. + +2007-10-16 Mitz Pettel <mitz@webkit.org> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15296 + REGRESSION (r19716-r19719): width not specified for <marquee> tag is causing the alignment issue. + + Test: fast/block/float/marquee-shrink-to-avoid-floats.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::shrinkToAvoidFloats): Changed to return 'true' for <marquee>s with auto width. + +2007-10-16 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin. + + Fix for <rdar://problem/5517118> REGRESSION: 9A570 - Safari renders + Amazon seller page way too small + + The font size at Amazon was way too small because the calls to + getComputedStyle and getPropertyValue did not cause the div to + attach because there was a pending stylesheet. The fix is to call + updateLayoutIgnorePendingStylesheets() instead of just + updateLayout(). + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + +2007-10-16 David Hyatt <hyatt@apple.com> + + Get transform-origin(x/y) mapped into the front end RenderStyle. Adds a new StyleTransformData struct that + holds transform-origin (and that will also eventually hold the parsed transform operations as well). + + Reviewed by Beth + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * rendering/RenderStyle.cpp: + (WebCore::StyleTransformData::StyleTransformData): + (WebCore::StyleTransformData::operator==): + (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): + (WebCore::StyleRareNonInheritedData::operator==): + (WebCore::RenderStyle::RenderStyle): + (WebCore::RenderStyle::diff): + * rendering/RenderStyle.h: + (WebCore::StyleTransformData::operator!=): + (WebCore::RenderStyle::transformOriginX): + (WebCore::RenderStyle::transformOriginY): + (WebCore::RenderStyle::setTransformOriginX): + (WebCore::RenderStyle::setTransformOriginY): + (WebCore::RenderStyle::initialTransformOriginX): + (WebCore::RenderStyle::initialTransformOriginY): + +2007-10-16 Adele Peterson <adele@apple.com> + + Reviewed by Alice. + + Fix for <rdar://problem/5538793> REGRESSION: Failing layout test: fast/forms/select-change-listbox-to-popup.html (due to landing feature branch) + + * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::parseMappedAttribute): When switching between types of select elements, call setRecalcListItems + since recalcListItems updates the default selection in different ways for the different controls. + +2007-10-16 Alice Liu <alice.liu@apple.com> + + rubber-stamped by Darin. + + flipping my previous fix around so that mac is special-cased instead of win. + + * dom/Document.cpp: + (WebCore::Document::defaultEventHandler): + +2007-10-16 David Hyatt <hyatt@apple.com> + + Clean up transform parsing. Fix a crash, ditch the extra parse context class, and use RefPtr/PassRefPtr more + to simplify the code. + + Reviewed by aroben + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseTransform): + * css/CSSParser.h: + +2007-10-16 Alice Liu <alice.liu@apple.com> + + Reviewed by Adele. + + fixed <rdar://5085596> Accesskeys don't work + + * dom/Document.cpp: + (WebCore::Document::defaultEventHandler): + accesskey modifier is platform-depedent. + +2007-10-15 Mark Rowe <mrowe@apple.com> + + Reviewed by John. + + <rdar://problem/5494040> Reproducible assertion failure in WebCore::IconDatabase::iconForPageURL + + A race condition between icon database import and Safari asking for an icon for the empty URL + was resulting in a PageURLRecord being created for a URL that can never be retained. By enforcing + that PageURLRecord's cannot be created for the empty URL we can prevent the assertion from failing. + + * loader/icon/IconDatabase.cpp: + (WebCore::IconDatabase::iconForPageURL): + (WebCore::IconDatabase::getOrCreatePageURLRecord): Bail out early if the URL is empty. + (WebCore::IconDatabase::performURLImport): Don't create the PageURLRecord if the URL is empty. + +2007-10-15 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Ollie. + + Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing + over m_deliveryData instead of its data buffer + + * plugins/win/PluginStreamWin.cpp: + (WebCore::PluginStreamWin::~PluginStreamWin): Don't delete + m_deliveryData + (WebCore::PluginStreamWin::deliverData): Fix memmove() call + (WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set() + * plugins/win/PluginStreamWin.h: Use OwnPtr + +2007-10-15 Steve Falkenburg <sfalken@apple.com> + + Reviewed by Oliver. + + Add missing null check. + + * platform/network/cf/AuthenticationCF.cpp: + (WebCore::core): + +2007-10-15 Mark Rowe <mrowe@apple.com> + + Fix the no-SVG build again. Add new transform CSS properties to the switch statements. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + +2007-10-15 Darin Adler <darin@apple.com> + + Reviewed by Mitz. + + - http://bugs.webkit.org/show_bug.cgi?id=15518 + Remove the unused attemptFontSubstitution feature and do some + cleanup of glyphDataForCharacter. + + * platform/Font.h: + * platform/Font.cpp: + (WebCore::WidthIterator::advance): Eliminated uneeded attemptFontSubstitution + and cluster parameters to the glyphDataForCharacter function. + (WebCore::Font::glyphDataForCharacter): Removed the cluster parameter and + attemptFontSubstitution parameter. Removed the isUpper check before calling + toUpper in the small caps code path. Split up the inner loop into separate + copies for non-small-caps and small caps. Broke out the system fallback + page handling so it's not inside the loop. Changed system fallback so it uses + the character and breaks it up into UTF-16 as needed, instead of using a + passed-in "character cluster". + + * platform/TextStyle.h: + (WebCore::TextStyle::TextStyle): Removed attemptFontSubstitution. + (WebCore::TextStyle::applyWordRounding): Ditto. + +2007-10-15 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Ollie. + + Remove an operator precedence warning on Windows + + * editing/markup.cpp: + (WebCore::escapeContentText): Use (a) | (b) + (WebCore::appendEscapedContent): Use (a) | (b) + +2007-10-15 Kevin McCullough <kmccullough@apple.com> + + Reviewed by Darin. + + - <rdar://problem/5238818> window.resizeTo doesn't restrict the resized window to the size of the screen + - Now we take the doc into account when resizing. + - Also I found an issue where we would resize to outside the window, because + the resize would be smaller than the window size but the location of the + window would make the resize go off-screen. Now we move the window back into the screen. + + * bindings/js/kjs_window.cpp: + (KJS::adjustWindowRect): + (KJS::WindowFunc::callAsFunction): + +2007-10-15 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Anders. + + <rdar://5510700> Repro crash loading embedded Windows Media Player + content + + Anders noticed that the older Windows Media Player plugin (npdsplay.dll) + will crash if it receives its resource requests out of order, whereas we + were immediately fulfilling untargeted, non-JavaScript requests and + scheduling targeted or JavaScript resource requests. Implement his + suggested fix, which is to schedule PluginRequests for all resource + requests + + * plugins/win/PluginViewWin.cpp: + (WebCore::getString): + (WebCore::PluginViewWin::performRequest): If this non-JavaScript request + has no target, create a stream for it + (WebCore::PluginViewWin::load): Schedule PluginRequests for all resource + requests + +2007-10-15 Mark Rowe <mrowe@apple.com> + + Gtk and Qt build fix. Add new .cpp file to project. + + * WebCore.pro: + +2007-10-15 John Sullivan <sullivan@apple.com> + + * platform/mac/FontDataMac.mm: + D'oh! Added missing #import to fix build + +2007-10-15 John Sullivan <sullivan@apple.com> + + Reviewed by Geoff + + * platform/mac/FontDataMac.mm: + (WebCore::FontData::smallCapsFontData): + replace NS_DURING/NS_HANDLER with WebCore-style BEGIN/END_BLOCK_OBJC_EXCEPTIONS + +2007-10-15 David Hyatt <hyatt@apple.com> + + The CSS WG has been discussing the concept of rotation. In the latest draft specification, two properties + have been introduced: rotation and rotation-point. I believe these properties should be generalized to + allow for arbitrary transformations (e.g., translation, skew, rotate, scale). + + This patch adds support for the back-end parsing of two new CSS properties: transform and transform-origin. + They are directly analogous to the properties specified by the CSS WG, except that they are designed to allow + for arbitrary affine transforms rather than just rotation. + + Reviewed by Beth Dakin + + * WebCore.xcodeproj/project.pbxproj: + * WebCore.vcproj/WebCore.vcproj: + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::TransformParseContext:::m_list): + (WebCore::TransformParseContext::list): + (WebCore::TransformParseContext::failed): + (WebCore::TransformParseContext::addValue): + (WebCore::TransformOperationInfo::TransformOperationInfo): + (WebCore::TransformOperationInfo::type): + (WebCore::TransformOperationInfo::argCount): + (WebCore::TransformOperationInfo::unit): + (WebCore::TransformOperationInfo::unknown): + (WebCore::TransformOperationInfo::hasCorrectArgCount): + (WebCore::CSSParser::parseTransform): + (WebCore::CSSParser::parseTransformOrigin): + * css/CSSParser.h: + * css/CSSPropertyNames.in: + * css/CSSTransformValue.cpp: Added. + (WebCore::CSSTransformValue::CSSTransformValue): + (WebCore::CSSTransformValue::~CSSTransformValue): + (WebCore::CSSTransformValue::addValue): + (WebCore::CSSTransformValue::cssText): + * css/CSSTransformValue.h: Added. + (WebCore::CSSTransformValue::): + +2007-10-15 Mark Rowe <mrowe@apple.com> + + Reviewed by Oliver. + + Fix the no-SVG build. + + * DerivedSources.make: Use the correct file as input to generate CSSPropertyNames.h. + * rendering/RenderObject.cpp: + (WebCore::objectIsRelayoutBoundary): + +2007-10-15 Darin Adler <darin@apple.com> + + Reviewed by Sam. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15520 + alert(undefined) should say "undefined" in the alert + + Test: fast/dom/Window/alert-undefined.html + + * page/DOMWindow.idl: Remove ConvertUndefinedOrNullToNullString from alert, confirm, and prompt. + It turns out that the default behavior is what the other browsers do (browsers tested: IE 7, + Firefox 2). + +2007-10-15 Adele Peterson <adele@apple.com> + + Reviewed by Darin. + + Fix for http://bugs.webkit.org/show_bug.cgi?id=15252 + <rdar://problem/5498184> REGRESSION: <select multiple> doesn't scroll to top when old options are removed and new ones are added, leaving listbox empty-looking + + * rendering/RenderListBox.cpp: (WebCore::RenderListBox::calcHeight): If the scrollbar is disabled, make sure the scroll offset gets reset to 0. In general, + we don't want to unnecessarily adjust the scroll offset, but in this case, there won't be an obvious way for the user to adjust the scroller position once it's disabled. + +2007-10-15 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Maciej. + + Return a more appropriate error from NPN_RequestRange, which is + currently unimplemented + + * plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE + (NPN_RequestRead): + +2007-10-15 Jon Honeycutt <jhoneycutt@apple.com> + + Reviewed by Maciej. + + Add a missing function pointer to the m_browserFuncs structure + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackageWin::load): + +2007-10-15 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Fix the compilation of the Font code in the Qt port by adding the necessary stubs to support downloadable fonts through the @font-face rules. + + * WebCore.pro: + * loader/CachedFont.cpp: + * platform/qt/FontCacheQt.cpp: Removed. + * platform/qt/FontCustomPlatformData.cpp: Removed. + * platform/qt/FontCustomPlatformData.h: Removed. + * platform/qt/FontDataQt.cpp: Removed. + * platform/qt/FontPlatformData.h: Removed. + * platform/qt/FontQt.cpp: + * platform/qt/GlyphPageTreeNodeQt.cpp: Removed. + +2007-10-15 Simon Hausmann <hausmann@kde.org> + + Reviewed by Lars. + + Adapt to the latest API changes in the SVG API/Code. + + * platform/graphics/svg/qt/RenderPathQt.cpp: + (WebCore::RenderPath::strokeContains): + (WebCore::getPathStroke): + * platform/graphics/svg/qt/SVGPaintServerQt.cpp: + (WebCore::SVGPaintServer::setPenProperties): + * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp: + +2007-10-14 Nikolas Zimmermann <zimmermann@kde.org> + + Reviewed by Eric. + + Fix bad abstraction in ImageBuffer class. + While the class itself is platform-aware and thus it's location in platform/graphics + is fine, it contains the "renderSubtreeToImage" method which operates on RenderObject. + + As it's SVG specific I decided to move this method into SVGRenderSupport, to avoid + implicit platform/ <-> rendering/ dependencies. + + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * ksvg2/svg/SVGMaskElement.cpp: + (WebCore::SVGMaskElement::drawMaskerContent): + * ksvg2/svg/SVGPatternElement.cpp: + (WebCore::SVGPatternElement::buildPattern): + * platform/graphics/ImageBuffer.cpp: Removed. + * platform/graphics/ImageBuffer.h: + (WebCore::ImageBuffer::size): + * platform/graphics/svg/SVGImage.cpp: + (WebCore::SVGImage::nativeImageForCurrentFrame): + * rendering/SVGRenderSupport.cpp: + (WebCore::renderSubtreeToImage): + * rendering/SVGRenderSupport.h: + +2007-10-14 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=15210 + Draw the image outline even for broken images. + + * rendering/RenderImage.cpp: + (WebCore::RenderImage::paint): + +2007-10-14 Kevin Ollivier <kevino@theolliviers.com> + + Reviewed by Adam. + + Add support for MSVC7, and fix cases where PLATFORM(WIN) should + be PLATFORM(WIN_OS) for other ports building on Windows. + + * dom/XMLTokenizer.cpp: + * page/FrameTree.cpp: + * platform/StaticConstructors.h: + * platform/String.cpp: + +2007-10-14 Maxime Britto <mbritto@pleyo.com> + + Reviewed by Mitz. + + Fix an error in the goBackOrForward() function : confusion between forwardListCount and backListCount. + http://bugs.webkit.org/show_bug.cgi?id=15212 + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::goBackOrForward): + +2007-10-14 Mitz Pettel <mitz@webkit.org> + + Reviewed by Darin. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15181 + text-transform: uppercase not working in input (submit, reset, button) elements + <rdar://problem/5474647> + + Test: fast/forms/button-text-transform.html + + Text transformations require access to the original text. The button's inner + text was an anonymous RenderText, meaning it did not have a node to retrieve + the original text from. The patch fixes this by changing the inner text into a + RenderTextFragment, which stores its own original text. + + * rendering/RenderButton.cpp: + (WebCore::RenderButton::setText): + * rendering/RenderButton.h: + +2007-10-14 Eric Seidel <eric@webkit.org> + + Reviewed by Maciej. + + REGRESSION: Javascript bug in getElementsByName + http://bugs.webkit.org/show_bug.cgi?id=15274 + + Test: fast/dom/getelementbyname-invalidation.html + + * dom/NameNodeList.h: remove empty rootNodeChildrenChanged override + +2007-10-14 Mitz Pettel <mitz@webkit.org> + + Reviewed by Maciej. + + - http://bugs.webkit.org/show_bug.cgi?id=15303 + Remove now-redundant code to restore dialog arguments after clear + + This patch reverts the kjs_window.* parts of r25576 because following + r25783, window properties, including dialog arguments, are not cleared + when the newly created modal dialog transitions to the document. + + * bindings/js/kjs_window.cpp: + (KJS::WindowPrivate::WindowPrivate): + (KJS::createWindow): + (KJS::showModalDialog): + (KJS::Window::clear): + (KJS::WindowFunc::callAsFunction): + (KJS::Window::setReturnValueSlot): + * bindings/js/kjs_window.h: + +2007-10-14 Mitz Pettel <mitz@webkit.org> + + Reviewed by Dave Hyatt. + + - fix http://bugs.webkit.org/show_bug.cgi?id=15309 + <rdar://problem/5512020> Crash due to infinite recursion in RenderTable::addChild + + Test: fast/table/generated-caption.html + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::addChild): Changed to make sure that the child is + not added into generated after content. Also made adding a child before + a table caption work correctly instead of adding the child after the caption. + +2007-10-14 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=15141 + Feed GIF reader data from the point in the stream it expects. Also, + mirror the reader's failure state up to the wrapping decoder. + + * platform/image-decoders/gif/GIFImageReader.cpp: + (GIFImageReader::read): + +2007-10-14 Peter Kasting <zerodpx@gmail.com> + + Reviewed by Maciej. + + http://bugs.webkit.org/show_bug.cgi?id=15142 + Return correct frame count in GIFImageDecoder::frameBufferAtIndex(), + even if more data has arrived since the last decoding pass. + + * platform/image-decoders/gif/GIFImageDecoder.cpp: + (WebCore::GIFImageDecoder::frameBufferAtIndex): + +== Rolled over to ChangeLog-2007-10-14 == |
