summaryrefslogtreecommitdiffstats
path: root/WebCore/ChangeLog
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2008-10-21 07:00:00 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2008-10-21 07:00:00 -0700
commit9364f22aed35e1a1e9d07c121510f80be3ab0502 (patch)
treed49911209b132da58d838efa852daf28d516df21 /WebCore/ChangeLog
parent87eb0cb35bad8784770ebc807e6c982432e47107 (diff)
downloadexternal_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.zip
external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.tar.gz
external_webkit-9364f22aed35e1a1e9d07c121510f80be3ab0502.tar.bz2
Initial Contribution
Diffstat (limited to 'WebCore/ChangeLog')
-rw-r--r--WebCore/ChangeLog31850
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 ==