Timeline


and

02/02/09:

23:57 Changeset [40528] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebHistory.cpp: (WebHistory::visitedURL):
23:41 Changeset [40527] by ap@webkit.org

Reviewed by Alexey Proskuryakov.

Part 2 of
Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
<https://bugs.webkit.org/show_bug.cgi?id=23636>

Enable the async portion of ThreadableLoader for workers.

No observable change in behavior, so no test.

23:38 Changeset [40526] by ap@webkit.org

2009-02-02 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 23636: Make the async api of ThreadableLoader functional for the worker context.
<https://bugs.webkit.org/show_bug.cgi?id=23636>

No observable change in behavior, so no test.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Worker.cpp:
  • dom/Worker.h:
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::addMessage): (WebCore::WorkerContext::postTask): (WebCore::WorkerContext::postTaskToWorkerObject):
  • dom/WorkerContext.h:
  • dom/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerContextTask::performTask): (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): (WebCore::WorkerMessagingProxy::postTaskToWorkerContext): Expose postTaskToWorkerContext for use by the worker object thread.

(WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency
with postMessageToWorkerObject.

  • dom/WorkerMessagingProxy.h:
  • dom/WorkerRunLoop.cpp: (WebCore::WorkerRunLoop::run): (WebCore::WorkerRunLoop::postTask):
  • dom/WorkerRunLoop.h:
  • dom/WorkerTask.cpp: Removed.
  • dom/WorkerTask.h: Removed. Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task.

The resulted in the class going away along with an adapter that made
a ScriptExecutionContext::Task look like a WorkerTask.

  • dom/WorkerThread.cpp:
  • dom/WorkerThread.h:
23:36 Changeset [40525] by ap@webkit.org

2009-02-02 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 23618: Templated worker tasks should be more error proof to use.
<https://bugs.webkit.org/show_bug.cgi?id=23618>

Add the generic worker tasks templates needed for the WorkerThreadableLoader.

No observable change in behavior, so no test.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • dom/CrossThreadCopier.cpp: Added.
  • dom/CrossThreadCopier.h: Added. (WebCore::CrossThreadCopierPassThrough::copy):
  • dom/GenericWorkerTask.h: Stop doing the WorkerMessagingProxy::askedToTerminate call automatically in performTask because was not obvious that it would be done and not always needed.

(WebCore::GenericWorkerTask1::create):
(WebCore::GenericWorkerTask1::GenericWorkerTask1):
(WebCore::GenericWorkerTask1::performTask):
(WebCore::GenericWorkerTask2::create):
(WebCore::GenericWorkerTask2::GenericWorkerTask2):
(WebCore::GenericWorkerTask2::performTask):
(WebCore::GenericWorkerTask3::create):
(WebCore::GenericWorkerTask3::GenericWorkerTask3):
(WebCore::GenericWorkerTask3::performTask):
(WebCore::GenericWorkerTask4::create):
(WebCore::GenericWorkerTask4::GenericWorkerTask4):
(WebCore::GenericWorkerTask4::performTask):
(WebCore::GenericWorkerTask5::create):
(WebCore::GenericWorkerTask5::GenericWorkerTask5):
(WebCore::GenericWorkerTask5::performTask):
(WebCore::GenericWorkerTask6::create):
(WebCore::GenericWorkerTask6::GenericWorkerTask6):
(WebCore::GenericWorkerTask6::performTask):
(WebCore::GenericWorkerTask7::create):
(WebCore::GenericWorkerTask7::GenericWorkerTask7):
(WebCore::GenericWorkerTask7::performTask):
(WebCore::createCallbackTask):

  • dom/WorkerContext.cpp: (WebCore::addMessageTask): (WebCore::WorkerContext::addMessage):
  • dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate):
22:45 Changeset [40524] by weinig@apple.com

2009-02-02 Sam Weinig <sam@webkit.org>

Reviewed by David "The Barnabas Jones" Hyatt.

Move removeChildNode, appendChildNode and insertChildNode from
RenderContainer into RenderObjectChildList. Make moveChildNode
static in RenderBlock, as that was the only user.

  • rendering/RenderBlock.cpp: (WebCore::moveChild): (WebCore::RenderBlock::makeChildrenNonInline): (WebCore::RenderBlock::removeChild): (WebCore::RenderBlock::handleRunInChild):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): (WebCore::RenderContainer::removeChild):
  • rendering/RenderContainer.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::splitInlines): (WebCore::RenderInline::splitFlow): (WebCore::RenderInline::childBecameNonInline):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::handleDynamicFloatPositionChange):
  • rendering/RenderObject.h: (WebCore::RenderObject::createsAnonymousWrapper):
  • rendering/RenderObjectChildList.cpp: (WebCore::updateListMarkerNumbers): (WebCore::RenderObjectChildList::removeChildNode): (WebCore::RenderObjectChildList::appendChildNode): (WebCore::RenderObjectChildList::insertChildNode):
  • rendering/RenderObjectChildList.h:
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::addChild): (WebCore::RenderSVGContainer::removeChild):
  • rendering/RenderSVGContainer.h:
  • rendering/RenderTable.cpp: (WebCore::RenderTable::removeChild):
  • rendering/RenderTable.h:
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::removeChild):
  • rendering/RenderTableSection.h:
22:39 Changeset [40523] by ap@webkit.org

Reviewed by Darin Alder.

https://bugs.webkit.org/show_bug.cgi?id=23697
Leaks seen on Worker tests

  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed() is called.
22:08 Changeset [40522] by oliver@apple.com

<https://bugs.webkit.org/show_bug.cgi?id=21414> REGRESSION: Regular Expressions and character classes, shorthands and ranges
<rdar://problem/6543487>

Reviewed by Gavin Barraclough.

In certain circumstances when WREC::Generator::generateCharacterClassInvertedRange invokes
itself recursively, it will incorrectly emit (and thus consume) the next single character
match in the current character class. As WREC uses a binary search this out of sequence
codegen could result in a character match being missed and so cause the regex to produce
incorrect results.

21:26 Changeset [40521] by hyatt@apple.com

2009-02-02 David Hyatt <hyatt@apple.com>

Move positionForCoordinates up from RenderContainer into RenderBox.

Reviewed by Sam Weinig

  • rendering/RenderBox.cpp: (WebCore::RenderBox::positionForCoordinates):
  • rendering/RenderBox.h:
  • rendering/RenderContainer.cpp:
  • rendering/RenderContainer.h:
20:47 Changeset [40520] by bfulgham@webkit.org

Incorrect handling of findstr results in *.vcproj.
Fixes https://bugs.webkit.org/show_bug.cgi?id=15813

20:46 Changeset [40519] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::updateGlobalHistoryForRedirectWithoutHistoryItem): (WebCore::FrameLoaderClientWx::createPlugin): (WebCore::FrameLoaderClientWx::createJavaAppletWidget):
  • WebKitSupport/FrameLoaderClientWx.h:
20:33 Changeset [40518] by hyatt@apple.com

2009-02-02 David Hyatt <hyatt@apple.com>

Refactor the handling of before/after content and generated content. Move most of the functions from
RenderContainer into RenderObjectChildList.

Reviewed by Sam Weinig

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateBeforeAfterContent):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::isAfterContent):
  • rendering/RenderBox.h:
  • rendering/RenderButton.cpp: (WebCore::RenderButton::updateBeforeAfterContent):
  • rendering/RenderContainer.cpp:
  • rendering/RenderContainer.h:
  • rendering/RenderCounter.cpp: (WebCore::destroyCounterNodeChildren):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::styleDidChange): (WebCore::RenderInline::addChildIgnoringContinuation): (WebCore::RenderInline::splitInlines):
  • rendering/RenderObject.h:
  • rendering/RenderObjectChildList.cpp: (WebCore::beforeAfterContainer): (WebCore::findBeforeAfterParent): (WebCore::invalidateCountersInContainer): (WebCore::RenderObjectChildList::invalidateCounters): (WebCore::RenderObjectChildList::updateBeforeAfterContent):
  • rendering/RenderObjectChildList.h:
20:23 Changeset [40517] by dglazkov@chromium.org

2009-02-02 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23661
Fix Chromium build.

  • history/HistoryItem.h: need to include <wtf/OwnPtr.h>
  • rendering/RenderThemeChromiumMac.mm: (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement.
19:08 Changeset [40516] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • plugins/PluginView.cpp: (WebCore::PluginView::performRequest):
19:06 Changeset [40515] by ggaren@apple.com

WebKit/qt:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • Api/qwebframe.cpp: (QWebFrame::QWebFrame): (QWebFrame::load): (QWebFrame::setHtml): (QWebFrame::setContent):

WebKit/wx:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebFrame.cpp: (wxWebFrame::LoadURL):
19:03 Changeset [40514] by ggaren@apple.com

WebCore:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCore.base.exp:

WebKit/mac:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
18:56 Changeset [40513] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • webkit/webkitwebview.cpp:
18:54 Changeset [40512] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • webkit/webkitwebframe.cpp:
18:52 Changeset [40511] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::loadURLIntoChild):
18:52 Changeset [40510] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::createFrame):
18:49 Changeset [40509] by ggaren@apple.com

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createFrame):
18:31 Changeset [40508] by ggaren@apple.com

WebCore:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Track redirects in global history.

  • WebCore.base.exp: Renamed some exports.


  • bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow): (windowProtoFuncOpen):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setLocation):
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::setLocation):
  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::submit):
  • bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setHref): (WebCore::JSLocation::setProtocol): (WebCore::JSLocation::setHost): (WebCore::JSLocation::setHostname): (WebCore::JSLocation::setPort): (WebCore::JSLocation::setPathname): (WebCore::JSLocation::setSearch): (WebCore::JSLocation::setHash): (WebCore::JSLocation::assign): Treat any navigation that is not initiated by the user as a redirect from the perspective of global history.
  • history/HistoryItem.cpp: (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect chain.
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::DocumentLoader):
  • loader/DocumentLoader.h: (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect): (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect): (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly, added yet another way to track redirect state during loading, since none of the others did what I wanted, and I didn't want to cause behavior changes in existing code.
  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Stubbed out a client function to keep things building.


  • loader/FrameLoader.cpp: (WebCore::isBackForwardLoadType): (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect => FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all the other meanings of "redirect" in the loading code.

(WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh
redirect as a redirect from the perspective of global history.

(WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra
parameter.

(WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter.

(WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load): Updated for rename and extra parameter.

(WebCore::FrameLoader::loadWithNavigationAction): Track redirect status
in the DocumentLoader, so it's accessible to WebKit's global history code.

(WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it
only has meaning to global history, and m_quickRedirectComing pertains
to other kinds of history.

(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadEmptyDocumentSynchronously):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::loadItem): Updated for extra parameter and rename.


(WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect
navigations even if they don't create new history items, so we can track
the redirect in the existing history item.

  • loader/FrameLoader.h: See above.


  • loader/FrameLoaderClient.h: New client interface used by FrameLoader::updateHistory* to record a redirect even if it doesn't create a new history item of its own.
  • loader/FrameLoaderTypes.h: See above. (WebCore::):
  • page/DragController.cpp: (WebCore::DragController::performDrag):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged): Updated for extra parameter.

WebKit/gtk:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Track redirects in global history.

Keep GTK building.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createFrame): (WebKit::FrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Track redirects in global history.

  • History/WebHistory.mm: (-[WebHistoryPrivate dealloc]): (-[WebHistoryPrivate lastVisitedEntry]): (-[WebHistoryPrivate setLastVisitedEntry:]): Remember the last global history entry in case we're asked to add redirect information to it later.

(-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
(-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): Record redirect
information in global history.

  • History/WebHistoryInternal.h:
  • WebCoreSupport/WebFrameLoaderClient.h: See above and below.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Record redirect information in global history.
  • WebView/WebFrame.mm: (-[WebFrame loadRequest:]): (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
  • WebView/WebFramePrivate.h: Updated for rename and extra parameter.

WebKit/qt:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Track redirects in global history.

Keep Qt building.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::updateGlobalHistoryForRedirectWithoutHistoryItem): (WebCore::FrameLoaderClientQt::createFrame):
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

2009-02-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Track redirects in global history.

  • Interfaces/IWebFramePrivate.idl: Updated for WebCore rename.
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Store redirect information in global history.

(WebFrameLoaderClient::loadURLIntoChild): Updated for extra parameter.

  • WebCoreSupport/WebFrameLoaderClient.h: See above.
  • WebFrame.cpp: (WebFrame::loadRequest): (WebFrame::loadData): Updated for extra parameter.
  • WebHistory.cpp: (WebHistory::visitedURL): (WebHistory::visitedURLForRedirectWithoutHistoryItem): Store redirect information in global history.
  • WebHistory.h: See above.
17:35 Changeset [40507] by andersca@apple.com

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Work around a limitation in MIG where two functions can't have the same name even if they're
not in the same subsystem.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/Hosted/WebKitPluginHost.defs:
17:21 Changeset [40506] by hyatt@apple.com

2009-02-02 David Hyatt <hyatt@apple.com>

Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation.
Remove RenderSVGContainer's implementation, since it was never called.

Reviewed by Beth Dakin

  • rendering/RenderBox.cpp: (WebCore::RenderBox::minPrefWidth):
  • rendering/RenderBox.h: (WebCore::RenderBox::calcPrefWidths):
  • rendering/RenderContainer.h: (WebCore::RenderContainer::moveChildNode):
  • rendering/RenderSVGContainer.h:
16:59 Changeset [40505] by andersca@apple.com

WebCore:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it.


  • WebCore.LP64.exp:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::createScriptObjectForPluginElement): (WebCore::ScriptController::jsObjectForPluginElement):
  • bindings/js/ScriptController.h:

WebKit/mac:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Implement WKPCGetPluginElementObject.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCGetPluginElementNPObject):
  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
  • Plugins/Hosted/WebKitPluginClient.defs:
  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView WebCore::]):
16:45 Changeset [40504] by darin@chromium.org

2009-02-02 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel (and Ojan Vafai).

https://bugs.webkit.org/show_bug.cgi?id=23696
Select element doesn't show new value when focus is switched in
onchange event.

Fix PopupMenuChromium to hide itself before calling valueChanged. This
better matches the behavior of the other ports.

  • platform/chromium/PopupMenuChromium.cpp: (WebCore::PopupListBox::create): (WebCore::PopupContainer::PopupContainer): (WebCore::PopupContainer::showPopup): (WebCore::PopupContainer::hidePopup): (WebCore::PopupListBox::abandon): (WebCore::PopupListBox::acceptIndex): (WebCore::PopupMenu::show): (WebCore::PopupMenu::hide):
16:28 Changeset [40503] by beidson@apple.com

2009-02-02 Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein

Transition Windows WebHistory to using the same "update already existing History Items" technique that Mac does.

  • Interfaces/IWebHistoryItemPrivate.idl:
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory):
  • WebHistory.cpp: (WebHistory::visitedURL):
  • WebHistory.h:
  • WebHistoryItem.cpp: (WebHistoryItem::visitedWithTitle):
  • WebHistoryItem.h:
16:27 Changeset [40502] by hyatt@apple.com

2009-02-02 David Hyatt <hyatt@apple.com>

Make sure scrollWidth/Height just return 0 for inline flows.

Reviewed by Beth Dakin

  • rendering/RenderBox.cpp: (WebCore::RenderBox::scrollWidth): (WebCore::RenderBox::scrollHeight):
16:27 Changeset [40501] by darin@apple.com

JavaScriptCore:

2009-02-02 Darin Adler <darin@apple.com>

Reviewed by Dave Hyatt.

Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
https://bugs.webkit.org/show_bug.cgi?id=23676

  • API/JSObjectRef.cpp: (JSObjectCopyPropertyNames): Use reserveInitialCapacity.
  • parser/Lexer.cpp: (JSC::Lexer::Lexer): Ditto. (JSC::Lexer::clear): Ditto.
  • wtf/Vector.h: Added reserveInitialCapacity, a more efficient version of reserveCapacity for use when the vector is brand new (still size 0 with no capacity other than the inline capacity).

WebCore:

2009-02-02 Darin Adler <darin@apple.com>

Reviewed by Dave Hyatt.

Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity
https://bugs.webkit.org/show_bug.cgi?id=23676

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::cssPropertyName):
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
  • css/CSSStyleDeclaration.cpp: (WebCore::CSSStyleDeclaration::copyPropertiesInSet):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::sortMatchedRules):
  • dom/Document.cpp: (WebCore::Document::formElementsState):
  • dom/NamedAttrMap.h: (WebCore::NamedAttrMap::reserveInitialCapacity):
  • editing/TextIterator.cpp: (WebCore::CharacterIterator::string): (WebCore::SearchBuffer::SearchBuffer): (WebCore::plainTextToMallocAllocatedBuffer):
  • editing/markup.cpp: (WebCore::joinMarkups):
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem):
  • html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute):
  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::items):
  • page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::toString):
  • page/mac/AccessibilityObjectWrapper.mm: (convertToVector):
  • platform/graphics/FontCache.cpp: (WebCore::FontCache::purgeInactiveFontData): (WebCore::FontCache::invalidate):
  • platform/network/FormData.cpp: (WebCore::FormData::deepCopy):
  • platform/network/HTTPHeaderMap.cpp: (WebCore::HTTPHeaderMap::copyData):
  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::copyData):
  • platform/network/mac/FormDataStreamMac.mm: (WebCore::formCreate):
  • xml/XPathNodeSet.cpp: (WebCore::XPath::NodeSet::sort): Use reserveInitialCapacity instead of of reserveCapacity in all these call sites, which are working on new vectors that are guaranteed not to be empty.
16:22 Changeset [40500] by jhoneycutt@apple.com

2009-02-26 Jon Honeycutt <jhoneycutt@apple.com>

Build fix after r40486.

Rubber-stamped by Ada Chan.

  • dom/Document.h:
  • page/EventHandler.h:
  • rendering/EllipsisBox.h:
  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.h:
  • rendering/RenderLayer.h:
16:07 Changeset [40499] by darin@apple.com

2009-02-02 Darin Adler <darin@apple.com>

Reviewed by Anders Carlsson.

Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests
https://bugs.webkit.org/show_bug.cgi?id=23694

  • dom/ContainerNode.cpp: (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode. (WebCore::ContainerNode::removedFromDocument): Ditto.
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node. (WebCore::EventTargetNode::removedFromDocument): Ditto.
  • dom/Node.cpp: (WebCore::Node::insertedIntoDocument): Updated comment. (WebCore::Node::removedFromDocument): Ditto.
15:57 Changeset [40498] by andersca@apple.com

2009-02-02 Anders Carlsson <andersca@apple.com>

Build fix.


  • WebView/WebHTMLView.mm:
15:48 Changeset [40497] by andersca@apple.com

WebCore:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

More plug-in cleanup.


  • WebCore.NPAPI.exp: Add new symbols.


  • bindings/objc/DOM.mm:
  • bindings/objc/DOMPrivate.h: Remove methods that WebKit doesn't use anymore.

WebKit:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.


Remove WebKitPluginContainerView.{h|mm}, they aren't used anywhere.


  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Make WebBaseNetscapePluginView hold a reference to a HTMLPlugInElement instead of a DOMElement.


  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): (-[WebBaseNetscapePluginView _windowClipRect]): (-[WebBaseNetscapePluginView visibleRect]): (-[WebBaseNetscapePluginView dataSource]):
  • Plugins/WebKitPluginContainerView.h: Removed.
  • Plugins/WebKitPluginContainerView.mm: Removed.
  • Plugins/WebNetscapePluginView.h:
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]): (-[WebNetscapePluginView getVariable:value:]):
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin):
15:44 Changeset [40496] by andersca@apple.com

2009-02-02 Anders Carlsson <andersca@apple.com>

Build fix.


  • WebCoreSupport/FrameLoaderClientGtk.h:
15:30 Changeset [40495] by andersca@apple.com

2009-02-02 Anders Carlsson <andersca@apple.com>

Fix build.


  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::createPlugin):
  • WebCoreSupport/WebFrameLoaderClient.h:
15:07 Changeset [40494] by eric@webkit.org

2009-02-02 Jay Campan <jcampan@chromium.org>

Reviewed by Eric Seidel.

Clean up PopupMenuChromium a little.
https://bugs.webkit.org/show_bug.cgi?id=23653

No functional changes, only code cleanup, thus no tests.

  • platform/chromium/PopupMenuChromium.cpp: (WebCore::): (WebCore::PopupListBox::PopupListBox): (WebCore::PopupContainer::create): (WebCore::PopupContainer::PopupContainer): (WebCore::PopupContainer::showPopup): (WebCore::PopupListBox::handleKeyEvent): (WebCore::PopupListBox::isSelectableItem): (WebCore::PopupListBox::selectNextRow): (WebCore::PopupListBox::selectPreviousRow): (WebCore::PopupMenu::show):
  • platform/chromium/PopupMenuChromium.h:
14:36 Changeset [40493] by andersca@apple.com

WebCore:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement.


  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::createPlugin): (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
  • loader/FrameLoader.cpp: (WebCore::toPlugInElement): (WebCore::FrameLoader::loadPlugin): (WebCore::FrameLoader::loadItem):
  • loader/FrameLoader.h:
  • loader/FrameLoaderClient.h:

WebKit/gtk:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Update for changes to WebCore.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createPlugin): (WebKit::FrameLoaderClient::createJavaAppletWidget):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Update for changes to WebCore.


  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin):

WebKit/qt:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Update for changes to WebCore.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::createPlugin): (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Update for changes to WebCore.

  • WebFrame.cpp: (WebFrame::createJavaAppletWidget):
  • WebFrame.h:
14:10 Changeset [40492] by ap@webkit.org

Adding bug URL for a recent check-in.

13:48 Changeset [40491] by staikos@webkit.org

Fix shouldLoadAsEmptyDocument() to return a blank page for an empty
url or about:blank

Applies to Torch Mobile platform only right now, as per request.

13:35 Changeset [40490] by bfulgham@webkit.org
13:15 Changeset [40489] by christian@webkit.org

2009-02-02 Christian Dywan <christian@twotoasts.de>

Rubber-stamped by Holger Freyther.

Don't require Geolocation by default.

  • configure.ac:
12:59 Changeset [40488] by darin@apple.com

2009-02-02 Darin Adler <darin@apple.com>

Try to fix Wx build, and maybe Chromium build too.

  • WebCore.scons: Added IdentifierRep.cpp.
  • WebCoreSources.bkl: Ditto.
12:55 Changeset [40487] by darin@apple.com

2009-02-02 Darin Adler <darin@apple.com>

Try to fix Wx build.

  • html/HTMLAreaElement.cpp: Added missing include of "Path.h".
12:46 Changeset [40486] by treat@webkit.org

2009-02-02 Adam Treat <adam.treat@torchmobile.com>

Reviewed by Nikolas Zimmermann.

https://bugs.webkit.org/show_bug.cgi?id=23587
Refactor HitTestRequest to eliminate all the ugly boolean arguments and
use an enum bitflag instead. Cleanup all the code that constructs the
various HitTestRequests to make the code more readable.

  • dom/Document.cpp: (WebCore::Document::elementFromPoint): (WebCore::Document::prepareMouseEvent):
  • editing/SelectionController.cpp: (WebCore::SelectionController::contains):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::visiblePositionForPoint): (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
  • page/EventHandler.cpp: (WebCore::EventHandler::eventMayStartDrag): (WebCore::EventHandler::updateSelectionForMouseDrag): (WebCore::EventHandler::hitTestResultAtPoint): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseMoveEvent): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::EventHandler::updateDragAndDrop): (WebCore::EventHandler::handleWheelEvent): (WebCore::EventHandler::sendContextMenuEvent): (WebCore::EventHandler::hoverTimerFired): (WebCore::EventHandler::handleDrag):
  • page/EventHandler.h:
  • rendering/HitTestRequest.h: (WebCore::HitTestRequest::): (WebCore::HitTestRequest::HitTestRequest): (WebCore::HitTestRequest::readOnly): (WebCore::HitTestRequest::active): (WebCore::HitTestRequest::mouseMove): (WebCore::HitTestRequest::mouseUp): (WebCore::HitTestRequest::ignoreClipping):
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::nodeAtPoint):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTest): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateHoverActiveState):
12:41 Changeset [40485] by staikos@webkit.org

Fix the WML build by including the inlined renderStyle().

12:11 Changeset [40484] by darin@apple.com

2009-02-02 Darin Adler <darin@apple.com>

Reviewed by Niko Zimmermann.

Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html
https://bugs.webkit.org/show_bug.cgi?id=23686
rdar://problem/6547971

Also fix other XPath tests that are crashing.

  • xml/XPathFunctions.cpp: (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName.
  • xml/XPathStep.cpp: (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we need to make Attr nodes here. Yuck!
11:53 Changeset [40483] by andersca@apple.com

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Oliver Hunt.

When a new Web View was not created, report back to the plug-in host.


  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::performRequest):
  • Plugins/Hosted/WebKitPluginHost.defs:
11:29 Changeset [40482] by staikos@webkit.org

Implement WML specific attributes of WMLInputElement.

11:14 Changeset [40481] by andersca@apple.com

2009-02-02 Anders Carlsson <andersca@apple.com>

Reviewed by Kevin Decker.

Draw the regular missing plug-in icon instead of a red rect when a plug-in has crashed.


  • Plugins/Hosted/WebHostedNetscapePluginView.mm: (-[WebHostedNetscapePluginView drawRect:]):
11:12 Changeset [40480] by darin@chromium.org

2009-01-29 Scott Violet <sky@google.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23633
The test transitions/transition-end-event-nested.html occasionally fails

Ups the timeout of the test transitions/transition-end-event-nested.html
and makes the test exit as soon as all events received.

  • transitions/transition-end-event-helpers.js: (recordTransitionEndEvent): (runTransitionTest.startTest._endFunction): (runTransitionTest.startTest): (runTransitionTest):
  • transitions/transition-end-event-nested.html:
11:10 Changeset [40479] by zimmermann@webkit.org

Forgot to update ChangeLog in my last commit.

11:03 Changeset [40478] by bfulgham@webkit.org

Correct build regression.

10:45 Changeset [40477] by zimmermann@webkit.org

Not reviewed. Fix WML enabled builds.
FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does.

10:12 Changeset [40476] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server

Not easily testable.

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource handle in a manner that is closer to what CachedResource does. We now make conditional requests for better performance, and set max-age to ensure that stale responses are not used. (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method. (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource is 304, take it from the newest cache. (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL. (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for the manifest if the response code was 304 - it won't be needed. (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that m_manifestResource is not null with a check. (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as an indication that the response was 304. (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle().
  • loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle().
09:29 Changeset [40475] by darin@apple.com

2009-02-01 Darin Adler <darin@apple.com>

Reviewed by Dave Hyatt.

Bug 23674: Speed up some things based on profiling the page load test
https://bugs.webkit.org/show_bug.cgi?id=23674

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead of the old name, getCSSTarget. (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than calling through to EventTargetNode::insertedIntoDocument. (WebCore::ContainerNode::removedFromDocument): Ditto. (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit. (WebCore::ContainerNode::removedFromTree): Ditto.
  • dom/ContainerNode.h: Moved the constructor definition here and made it inline.
  • dom/Document.cpp: (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and its contents only to avoid the document type node. This allows us to remove the virtual function call to isEventTargetNode from the loop. (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node.
  • dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed getCSSTarget to cssTarget.
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the rare data check into an assertion.
  • dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline. Also moved the constructor definition here and made it inline. And added toEventTargetNode, matching the design of the render tree checked casts. Later we can migrate all callers from EventTargetNodeCast to toEventTargetNode.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from clearAttributes, so we could use this loop in cases where we're not clearing the attributes. (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of clearAttributes here. (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here. (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of clearAttributes. We don't need to clear the attributes array just because the element is going away, so don't. (WebCore::NamedAttrMap::virtualLength): Added.
  • dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private. These are all unnecessarily inefficient for use outside the DOM. Changed length to be a non-virtual function. This was a fairly hot function.
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the m_element data member is private.
  • dom/NamedMappedAttrMap.h: Made a few functions private. Made the hasMappedAttributes function non-virtual.
  • dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function.
  • dom/Node.cpp: (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's only non-empty in subclasses of ContainerNode. (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS target has to be an Element, this can be moved down to ContainerNode (or it could be moved down to Element for that matter).
  • dom/QualifiedName.cpp: (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl.
  • dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and setPrefix function definitions into the header and made them inline.
  • html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now an OwnPtr. (WebCore::HTMLAreaElement::accessKey): Use AtomicString. (WebCore::HTMLAreaElement::setAccessKey): Ditto. (WebCore::HTMLAreaElement::alt): Ditto. (WebCore::HTMLAreaElement::setAlt): Ditto. (WebCore::HTMLAreaElement::coords): Ditto. (WebCore::HTMLAreaElement::setCoords): Ditto. (WebCore::HTMLAreaElement::setHref): Ditto. (WebCore::HTMLAreaElement::shape): Ditto. (WebCore::HTMLAreaElement::setShape): Ditto. (WebCore::HTMLAreaElement::setTarget): Ditto.
  • html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations. Change the region data member to be an OwnPtr<Path> instead of a Path to optimize the common case where an area element is parsed but never hit-tested. This could also have been done by changing the Path class's null case to be more efficient, but this seems fine.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead of insertAttribute. (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. (WebCore::HTMLViewSourceDocument::addLine): Ditto. (WebCore::HTMLViewSourceDocument::addLink): Ditto.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead of its old name getCSSTarget.
  • platform/graphics/GlyphWidthMap.cpp: (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage.
  • platform/graphics/GlyphWidthMap.h: Made most of this class inline. Changed m_pages to use OwnPtr.
  • platform/text/PlatformString.h: Remove include no longer needed since StringImpl.h includes it.
  • platform/text/StringImpl.cpp: (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored from createStrippingNullCharacters.
  • platform/text/StringImpl.h: Moved the definition of createStrippingNullCharacters here and made it inline.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from firstLineStyle.
  • rendering/RenderObject.h: Moved the definition of the firstLineStyle function here and made it inline. Moved the definition of the documentBeingDestroyed function here and made it inline.
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of getNamedItem here since it accomplishes the same thing but is more efficient. (WebCore::SVGSVGElement::getScreenCTM): Ditto.
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::getPresentationAttribute): Ditto.
  • xml/XPathFunctions.cpp: (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of getNamedItemNS.
  • xml/XPathStep.cpp: (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here.
07:29 Changeset [40474] by treat@webkit.org

2009-02-02 Adam Treat <adam.treat@torchmobile.com>

Fix the Qt build to call forceLayout on the view instead.

  • Api/qwebpage.cpp: (QWebPage::setFixedLayoutSize): (QWebPage::setUseFixedLayout):
05:16 Changeset [40473] by zecke@webkit.org

Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView

https://bugs.webkit.org/show_bug.cgi?id=23428

FrameView::forceLayout could be killed but the comment might
contain a value over the the plain FrameView::layout...

Adjust the WebCore/WebKit consumers of these methods.

02/01/09:

12:30 Changeset [40472] by mitz@apple.com

Reviewed by John Sullivan.

  • fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il

Fixes http/tests/navigation/multiple-back-forward-entries.html

r40432 added a parameter to FrameLoader::scheduleLocationChange() and
failed to update all call sites.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow): Pass the lockBackForwardHistory parameter, giving it the same value as the lockHistory parameter. (windowProtoFuncOpen): Ditto.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setLocation): Ditto.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::setLocation): Ditto.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::requestFrame): Ditto.

01/31/09:

22:23 Changeset [40471] by mitz@apple.com

Reviewed by Oliver Hunt.

  • fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak()

On the PLT, this results in 0.36x the number of virtual function calls
to RenderText::width() and 0.69x the number of calls to
Font::isFixedPitch(), but makes 1.0004x the number of calls to
Font::width().

  • rendering/RenderText.cpp: (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len' with an assertion.
  • rendering/bidi.cpp: (WebCore::textWidth): Added this inlined helper function which calls Font::width() directly in the non-fixed-pitch, non-full-range case, and otherwise calls RenderText::width(). (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has fixed pitch (in which case RenderText::width() will be called in order to take advantage of the widthFromCache() optimization for fixed-pitch fonts). Replaced all calls to RenderText::width() with calls to the textWidth() helper function.
21:07 Changeset [40470] by pewtermoose@webkit.org

2009-01-31 Matt Lilek <webkit@mattlilek.com>

Not reviewed, build fixes.

  • WebCoreSupport/WebContextMenuClient.cpp: (WebContextMenuClient::searchWithGoogle):
  • WebFrame.cpp: (WebFrame::setInPrintingMode): (WebFrame::isFrameSet):
  • WebView.cpp: (WebView::notifyPreferencesChanged):
17:30 Changeset [40469] by hyatt@apple.com

2009-01-31 David Hyatt <hyatt@apple.com>

Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout
and setNeedsPositionedMovementLayout.

Reviewed by Dan Bernstein

  • rendering/RenderObject.cpp: (WebCore::RenderObject::setLayerNeedsFullRepaint):
  • rendering/RenderObject.h: (WebCore::RenderObject::setNeedsLayout): (WebCore::RenderObject::setChildNeedsLayout): (WebCore::RenderObject::setNeedsPositionedMovementLayout): (WebCore::objectIsRelayoutBoundary): (WebCore::RenderObject::markContainingBlocksForLayout):
16:59 Changeset [40468] by sullivan@apple.com

2009-01-31 John Sullivan <sullivan@apple.com>

https://bugs.webkit.org/show_bug.cgi?id=23665

Cleaned up code to add/remove NSNotification observers, to avoid performance hit
of calling removeObserver with unspecified notifications, or calling removeObserver
multiple times for the same notification.

Reviewed by Darin Adler

  • WebView/WebHTMLView.mm: added observingMouseMovedNotifications, observingSuperviewNotifications, and observingWindowNotifications as BOOL ivars of _private object (-[WebHTMLView _removeMouseMovedObserverUnconditionally]): moved to file-internal section of file, added leading underscore, now bails out if we aren't observing the relevant notifications, now records that we are no longer observing the relevant notifications (-[WebHTMLView _removeSuperviewObservers]): ditto, also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch (-[WebHTMLView _removeWindowObservers]): ditto (-[WebHTMLView close]): replace general removeObserver: call with three specific calls for all the notifications that this class actually observes (-[WebHTMLView addMouseMovedObserver]): bail out if already observing relevant notifications, now records that we are observing the relevant notifications (-[WebHTMLView removeMouseMovedObserver]): updated for name change (-[WebHTMLView addSuperviewObservers]): bail out if already observing relevant notifications, now records that we are observing the relevant notifications; also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch (-[WebHTMLView addWindowObservers]): ditto (-[WebHTMLView viewWillMoveToSuperview:]): updated for name change (-[WebHTMLView viewWillMoveToWindow:]): updated for name changes
16:55 Changeset [40467] by darin@apple.com

2009-01-31 Darin Adler <darin@apple.com>

Fix Mac build.

  • loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here. We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely deleted and I don't want to bring it back just to fix the build.
  • loader/FrameLoaderClient.h: Rearrange virtual functions and corrected a possibly-confusing comment.
16:52 Changeset [40466] by hyatt@apple.com

Fix WIndows bustage.

16:14 Changeset [40465] by darin@apple.com

2009-01-31 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

Fix code that assumes all command selectors end in colons.
rdar://problem/6545874

  • WebView/WebHTMLView.mm: (commandNameForSelector): Don't assert, just return a null string, when the selector doesn't end in a colon.
15:55 Changeset [40464] by treat@webkit.org

2009-01-31 Adam Treat <adam.treat@torchmobile.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=23664
Remove unused dead code from RenderTable class. The dead code includes
two enums and the associated member variables as well as one getter function.

  • rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable):
  • rendering/RenderTable.h:
14:03 Changeset [40463] by hyatt@apple.com

Update layout test results for 11363.

13:40 Changeset [40462] by hyatt@apple.com

Add RenderObjectChildList.cpp to all projects.

13:38 Changeset [40461] by hyatt@apple.com

2009-01-31 David Hyatt <hyatt@apple.com>

More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock.
Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the
RenderObjectChildList.

Reviewed by Sam Weinig

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::destroy): (WebCore::RenderBlock::addChild): (WebCore::RenderBlock::removeLeftoverAnonymousBlock): (WebCore::RenderBlock::layoutPositionedObjects): (WebCore::RenderBlock::childBecameNonInline):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::layout):
  • rendering/RenderBox.h: (WebCore::RenderBox::firstChildBox): (WebCore::RenderBox::lastChildBox):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild): (WebCore::RenderContainer::removeChildNode): (WebCore::RenderContainer::updateBeforeAfterContentForContainer): (WebCore::RenderContainer::appendChildNode): (WebCore::RenderContainer::insertChildNode): (WebCore::RenderContainer::positionForCoordinates): (WebCore::RenderContainer::addLineBoxRects): (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
  • rendering/RenderContainer.h: (WebCore::RenderContainer::virtualChildren): (WebCore::RenderContainer::children):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::destroy):
  • rendering/RenderInline.h: (WebCore::RenderInline::layout):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::destroy): (WebCore::RenderMedia::children):
  • rendering/RenderMedia.h: (WebCore::RenderMedia::virtualChildren):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::destroy): (WebCore::RenderObject::layout):
  • rendering/RenderObject.h: (WebCore::RenderObject::firstChild): (WebCore::RenderObject::lastChild): (WebCore::RenderObject::virtualChildren): (WebCore::RenderObject::canHaveChildren):
  • rendering/RenderObjectChildList.cpp: Added. (WebCore::RenderObjectChildList::destroyLeftoverChildren):
  • rendering/RenderObjectChildList.h:
  • rendering/RenderReplaced.h: (WebCore::RenderReplaced::canHaveChildren):
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): (WebCore::RenderSVGContainer::destroy): (WebCore::RenderSVGContainer::removeChildNode): (WebCore::RenderSVGContainer::appendChildNode): (WebCore::RenderSVGContainer::insertChildNode):
  • rendering/RenderSVGContainer.h: (WebCore::RenderSVGContainer::virtualChildren): (WebCore::RenderSVGContainer::children):
13:34 Changeset [40460] by hyatt@apple.com

Update layout test results for 11363.

13:34 Changeset [40459] by hyatt@apple.com

Update layout test results for 11363.

13:30 Changeset [40458] by hyatt@apple.com

Update layout test results for 11363.

13:28 Changeset [40457] by hyatt@apple.com

Update layout test results for 11363.

13:28 Changeset [40456] by hyatt@apple.com

Update layout test results for 11363.

13:26 Changeset [40455] by hyatt@apple.com

Update layout test results for 11363.

13:23 Changeset [40454] by hyatt@apple.com

Update layout test results for 11363.

13:20 Changeset [40453] by hyatt@apple.com

2009-01-31 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=11363


Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects.
With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section
layout is tightened up to ignore non-table rows. When a table has multiple captions, only the real one will do a layout now. The other ones will
be properly ignored.

Reviewed by Oliver Hunt

  • editing/DeleteButtonController.cpp: (WebCore::DeleteButtonController::createDeletionUI):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): (WebCore::RenderTable::layout):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layout):
  • rendering/RenderTableSection.h:
10:07 Changeset [40452] by treat@webkit.org

2009-01-31 Adam Treat <adam.treat@torchmobile.com>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23663
Add a void toRenderBox() method which catches unnecessary casts at compile
time and also fix the four cases where this was happening.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::determineHorizontalPosition):
  • rendering/RenderBox.h:
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::updateHitTestResult):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition):
08:02 Changeset [40451] by darin@apple.com

2009-01-31 Darin Adler <darin@apple.com>

Build fix.

  • WebView.cpp: (wxWebView::OnSize): call sendResizeEvent on EventHandler.
01:36 Changeset [40450] by jmalonzo@webkit.org

2009-01-30 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Nikolas Zimmermann.

[Gtk] Refactor autoconf/configure.ac in preparation for jsc and webkit build splits
https://bugs.webkit.org/show_bug.cgi?id=22136

  • GNUmakefile.am:
  • acinclude.m4: Removed.
  • autogen.sh:
  • autotools/acinclude.m4: Added.
  • autotools/dolt.m4: Added.
  • autotools/symbols.filter: Renamed from symbols.filter.
  • autotools/webkit.m4: Added.
  • configure.ac:
00:42 Changeset [40449] by abarth@webkit.org

WebCore:

2009-01-30 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Add a pref to disable web security.

  • WebCore.base.exp:
  • dom/Document.cpp: (WebCore::Document::initSecurityContext):
  • page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::SecurityOrigin): (WebCore::SecurityOrigin::canAccess): (WebCore::SecurityOrigin::canRequest): (WebCore::SecurityOrigin::grantUniversalAccess):
  • page/SecurityOrigin.h:
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setWebSecurityEnabled):
  • page/Settings.h: (WebCore::Settings::isWebSecurityEnabled):

WebKit/win:

2009-01-30 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Add a pref to disable web security.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp: (WebPreferences::initializeDefaultSettings): (WebPreferences::isWebSecurityEnabled): (WebPreferences::setWebSecurityEnabled):
  • WebPreferences.h:
  • WebView.cpp: (WebView::notifyPreferencesChanged):

WebKit/mac:

2009-01-30 Adam Barth <abarth@webkit.org>

Reviewed by Sam Weinig.

Add a pref to disable web security.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences isWebSecurityEnabled]): (-[WebPreferences setWebSecurityEnabled:]):
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]):

01/30/09:

22:24 Changeset [40448] by mitz@apple.com

Reviewed by Timothy Hatcher.

  • <rdar://problem/6545912> expose the build number in autoversion.h
  • win/tools/scripts/auto-version.sh: Added a #define BUILD_NUMBER with the full build number.
21:12 Changeset [40447] by zecke@webkit.org

2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>

Build fix.

Move the inline virtual destructor after a non-inline virtual
function so that the symbol for the vtable is not marked as a
weakly exported symbol.

This trick was previously used at revision 36122 in JSObject.h

  • loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::~FrameLoaderClient):
20:43 Changeset [40446] by oliver@apple.com

Inline SimpleFontData::widthForGlyph for a minor page load improvement.

Reviewed by Stephanie Lewis

20:40 Changeset [40445] by zecke@webkit.org

Build fix for WX and maybe even Windows.

20:12 Changeset [40444] by zecke@webkit.org

Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler

Carry out the move and catch up in two call sites.

19:51 Changeset [40443] by zecke@webkit.org

Move Frame::isFrameSet to Document::isFrameSet

Changed the FrameLoader callsite. I assume that as this
point m_frame.document() might return a null pointer. Change
the condition to either not having a document or not having a
frame set. This should be semantically equivalent to the
old code.

Make Document::body() const to be able to call it from within
Document::isFrameSet. Leave the isHTMLDocument() check as this
is a stronger condition than simply having a HTMLElement in the
DOM.

19:51 Changeset [40442] by zecke@webkit.org

[GTK] Logic fixes and build fixes

https://bugs.webkit.org/show_bug.cgi?id=22022

Catch up with the internal GeoLocation API and fix the logic of
the previous version.

19:51 Changeset [40441] by zecke@webkit.org

[GTK] Implement GeolocationService using the Geoclue library

https://bugs.webkit.org/show_bug.cgi?id=22022

Untested implementation of the GeolocationService using the geoclue
library. Velocity handling is completely missing and the accuracy
handling might be wrong.

19:48 Changeset [40440] by mrowe@apple.com

Build fix. Declare preferredSize as static.

  • platform/text/cf/StringImplCF.cpp:

(WebCore::StringWrapperCFAllocator::preferredSize):

19:11 Changeset [40439] by mrowe@apple.com

<rdar://problem/6391501> Enable the JIT on Mac OS X x86_64 as it passes all tests.

Rubber-stamped by Oliver Hunt.

  • wtf/Platform.h:
18:31 Changeset [40438] by darin@apple.com

2009-01-30 Darin Adler <darin@apple.com>

Reviewed by Mark Rowe.

Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters
https://bugs.webkit.org/show_bug.cgi?id=23622

  • platform/text/cf/StringImplCF.cpp: (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator. (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator. (WebCore::StringWrapperCFAllocator::release): Ditto. (WebCore::StringWrapperCFAllocator::copyDescription): Ditto. (WebCore::StringWrapperCFAllocator::allocate): Ditto. (WebCore::StringWrapperCFAllocator::reallocate): Ditto. (WebCore::StringWrapperCFAllocator::deallocate): Ditto. (WebCore::StringWrapperCFAllocator::preferredSize): Ditto. (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but returns 0 if garbage collection is enabled. (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible.
  • platform/text/mac/StringImplMac.mm: (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging, rather than using NSString directly. This lets NSString benefit from the above.
18:31 Changeset [40437] by darin@apple.com

2009-01-30 Darin Adler <darin@apple.com>

  • page/Frame.cpp: (WebCore::Frame::createView): Fix debug build by removing get() from assert.
18:13 Changeset [40436] by ggaren@apple.com

WebKit/gtk:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::createFrame):

WebKit/mac:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebView/WebFramePrivate.h:

WebKit/qt:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::createFrame):

WebKit/win:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • Interfaces/IWebFramePrivate.idl:
  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::loadURLIntoChild):
17:57 Changeset [40435] by zecke@webkit.org

Kill FrameLoaderClient.cpp, move the code over to Frame::createView

FrameLoaderClient is supposed to be an interface, move the
to be shared code to Frame which is a controller and is
allowed to create a FrameView.

17:47 Changeset [40434] by simon.fraser@apple.com

2009-01-30 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

https://bugs.webkit.org/show_bug.cgi?id=23357

New files to support accelerated compositing at the RenderLayer
level.

  • WebCore.xcodeproj/project.pbxproj: New files added to project, and run through the sort script.
  • rendering/RenderLayerBacking.cpp: Added.
  • rendering/RenderLayerBacking.h: Added. New object to store compositing-related data for a single RenderLayer.
  • rendering/RenderLayerCompositor.cpp: Added.
  • rendering/RenderLayerCompositor.h: Added. Per-RenderView controller object for compositing hierarchy maintenance.
17:42 Changeset [40433] by simon.fraser@apple.com

2009-01-30 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

https://bugs.webkit.org/show_bug.cgi?id=23356

Add new files related to accelerated compositing.

17:28 Changeset [40432] by ggaren@apple.com

WebCore:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
preparation for setting them differently during a redirect.

  • WebCore.base.exp:
  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::submit):
  • bindings/js/JSLocationCustom.cpp: (WebCore::navigateIfAllowed): (WebCore::JSLocation::setHref): (WebCore::JSLocation::setProtocol): (WebCore::JSLocation::setHost): (WebCore::JSLocation::setHostname): (WebCore::JSLocation::setPort): (WebCore::JSLocation::setPathname): (WebCore::JSLocation::setSearch): (WebCore::JSLocation::setHash): (WebCore::JSLocation::replace): (WebCore::JSLocation::assign):
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit):
  • html/HTMLFormElement.h:
  • loader/FrameLoader.cpp: (WebCore::FormSubmission::FormSubmission): (WebCore::ScheduledRedirection::ScheduledRedirection): (WebCore::isBackForwardLoadType): (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::changeLocation): (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::submitFormAgain): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::restoreDocumentState): (WebCore::FrameLoader::scheduleHTTPRedirection): (WebCore::FrameLoader::scheduleLocationChange): (WebCore::FrameLoader::scheduleRefresh): (WebCore::FrameLoader::redirectionTimerFired): (WebCore::FrameLoader::loadURLIntoChildFrame): (WebCore::FrameLoader::startRedirectionTimer): (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): (WebCore::FrameLoader::transitionToCommitted): (WebCore::FrameLoader::clientRedirected): (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): (WebCore::FrameLoader::loadItem):
  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h: (WebCore::):
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected):
  • svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler):

WebKit/mac:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
preparation for setting them differently during a redirect.

  • WebView/WebPDFView.mm: (-[WebPDFView PDFViewWillClickOnLink:withURL:]):

WebKit/qt:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
preparation for setting them differently during a redirect.

  • Api/qwebpage.cpp: (QWebPage::triggerAction):
16:42 Changeset [40431] by weinig@apple.com

WebCore:

2009-01-30 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6545095>

ASSERTION FAILED: RenderBlock.h:519: !o
o->isRenderBlock()

Test: fast/block/float/crash-replaced-display-block.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into isRenderBlock if-statement.

LayoutTests:

2009-01-30 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Test for <rdar://problem/6545095>

ASSERTION FAILED: RenderBlock.h:519: !o
o->isRenderBlock()
  • fast/block/float/crash-replaced-display-block-expected.txt: Added.
  • fast/block/float/crash-replaced-display-block.html: Added.
15:46 Changeset [40430] by cfleizach@apple.com

Bug 23656: AX hierarchy for iFrames is incorrect
https://bugs.webkit.org/show_bug.cgi?id=23656

The AX hierarchy when an iFrame was present was incorrect. A different scroll area was returned when going down compared to when going up.

15:43 Changeset [40429] by treat@webkit.org

2009-01-30 Adam Treat <adam.treat@torchmobile.com>

Fix Qt build to include new class IdentifierRep introduced in revision 40412.

  • WebCore.pro:
15:32 Changeset [40428] by andersca@apple.com

2009-01-30 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Fix <rdar://problem/6544048>


Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated.


When the plug-in instance is destroyed, invalidate all proxy instances.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::destroy): (WebKit::NetscapePluginInstanceProxy::addInstance): (WebKit::NetscapePluginInstanceProxy::removeInstance):
  • Plugins/Hosted/ProxyInstance.h:
  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::ProxyInstance): (WebKit::ProxyInstance::~ProxyInstance): (WebKit::ProxyInstance::invalidate):
15:16 Changeset [40427] by andersca@apple.com

2009-01-30 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp.

  • WebCore.LP64.exp:
  • WebCore.xcodeproj/project.pbxproj:
15:13 Changeset [40426] by zecke@webkit.org

[Gtk+] Use AccessibilityObject::stringValue for the AtkObject name

https://bugs.webkit.org/show_bug.cgi?id=21546

The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html
states that: "AtkObjects whose text content is simple, unattributed, and very
brief may expose that content via atk_object_get_name instead"

As we are currently not able to always provide a AtkTextInterface
implementation this will make the whole content available to accerciser,
and other tools.

15:11 Changeset [40425] by weinig@apple.com

2009-01-30 Sam Weinig <sam@webkit.org>

Commit files I forgot to in the previous commit.

  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::layoutCount):
  • page/Frame.cpp: (WebCore::Frame::contentRenderer): (WebCore::Frame::forceLayoutWithPageWidthRange):
  • page/FrameView.cpp: (WebCore::FrameView::layout):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::repaintUsingContainer): (WebCore::RenderObject::repaint): (WebCore::RenderObject::repaintRectangle): (WebCore::RenderObject::view): (WebCore::RenderObject::scheduleRelayout): (WebCore::RenderObject::maximalOutlineSize):
  • rendering/SVGRenderSupport.cpp: (WebCore::clampImageBufferSizeToViewport):
  • svg/SVGLength.cpp: (WebCore::SVGLength::PercentageOfViewport):
15:09 Changeset [40424] by ggaren@apple.com

WebCore:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.


More scaffolding for redirect tracking. No behavior change yet.

  • bindings/js/JSHTMLFormElementCustom.cpp: (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for redirect checking in a form submission through JS. (Currently, we just specify "no redirect.")
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::processingUserGesture): (WebCore::ScriptController::processingUserGestureEvent): (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored user gesture check to make it more clear.

(WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper
for checking if there's a user gesture in any frame on the page (a more
relaxed rule than our popup blocking rule, which requires the user
gesture to occur in the frame that's executing JavaScript.)

  • html/HTMLFormElement.h:
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): Added scaffolding necessary for redirect checking in a form submission through the DOM. (Currently, we just specify "no redirect.")
  • html/HTMLFormElement.idl: Made submit custom so it can participate in redirect checking.
  • loader/FrameLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FormSubmission::FormSubmission): Clarified some names, and added a "lockHistory" parameter to form submissions, to match other navigations.

(WebCore::FrameLoader::submitFormAgain):
(WebCore::FrameLoader::submitForm): Use the lockHistory parameter.

(WebCore::FrameLoader::userGestureHint): Refactored this function for
clarity, and added a FIXME for a change I was too scared to make myself.
(Really, we should just get rid of this function.)

(WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored
to pass a FrameLoadType to form posts, too, so they can participate in
redirect tracking.

(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::loadItem): Use the lockHistory parameter.

LayoutTests:

2009-01-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

More redirect layout test work.


Added tests (expected to fail) for form submission via JavaScript:


  • http/tests/history/redirect-js-form-submit-0-seconds-expected.txt: Added.
  • http/tests/history/redirect-js-form-submit-0-seconds.html: Added.
  • http/tests/history/redirect-js-form-submit-2-seconds-expected.txt: Added.
  • http/tests/history/redirect-js-form-submit-2-seconds.html: Added.
  • http/tests/history/redirect-js-form-submit-before-load-expected.txt: Added.
  • http/tests/history/redirect-js-form-submit-before-load.html: Added.


Updated these tests to dump their back/forward lists, to check for
back/forward regressions, and to use # instead of ? to communicate between
URLs, since, to my surprise, form submissions can't use query strings.

  • http/tests/history/redirect-200-refresh-0-seconds-expected.txt:
  • http/tests/history/redirect-200-refresh-0-seconds.pl:
  • http/tests/history/redirect-200-refresh-2-seconds-expected.txt:
  • http/tests/history/redirect-200-refresh-2-seconds.pl:
  • http/tests/history/redirect-301-expected.txt:
  • http/tests/history/redirect-301.pl:
  • http/tests/history/redirect-302-expected.txt:
  • http/tests/history/redirect-302.pl:
  • http/tests/history/redirect-303-expected.txt:
  • http/tests/history/redirect-303.pl:
  • http/tests/history/redirect-307-expected.txt:
  • http/tests/history/redirect-307.pl:
  • http/tests/history/redirect-js-document-location-0-seconds-expected.txt:
  • http/tests/history/redirect-js-document-location-0-seconds.html:
  • http/tests/history/redirect-js-document-location-2-seconds-expected.txt:
  • http/tests/history/redirect-js-document-location-2-seconds.html:
  • http/tests/history/redirect-js-document-location-before-load-expected.txt:
  • http/tests/history/redirect-js-document-location-before-load.html:
  • http/tests/history/redirect-js-location-0-seconds-expected.txt:
  • http/tests/history/redirect-js-location-0-seconds.html:
  • http/tests/history/redirect-js-location-2-seconds-expected.txt:
  • http/tests/history/redirect-js-location-2-seconds.html:
  • http/tests/history/redirect-js-location-assign-0-seconds-expected.txt:
  • http/tests/history/redirect-js-location-assign-0-seconds.html:
  • http/tests/history/redirect-js-location-assign-2-seconds-expected.txt:
  • http/tests/history/redirect-js-location-assign-2-seconds.html:
  • http/tests/history/redirect-js-location-assign-before-load-expected.txt:
  • http/tests/history/redirect-js-location-assign-before-load.html:
  • http/tests/history/redirect-js-location-before-load-expected.txt:
  • http/tests/history/redirect-js-location-before-load.html:
  • http/tests/history/redirect-js-location-href-0-seconds-expected.txt:
  • http/tests/history/redirect-js-location-href-0-seconds.html:
  • http/tests/history/redirect-js-location-href-2-seconds-expected.txt:
  • http/tests/history/redirect-js-location-href-2-seconds.html:
  • http/tests/history/redirect-js-location-href-before-load-expected.txt:
  • http/tests/history/redirect-js-location-href-before-load.html:
  • http/tests/history/redirect-js-location-replace-0-seconds-expected.txt:
  • http/tests/history/redirect-js-location-replace-0-seconds.html:
  • http/tests/history/redirect-js-location-replace-2-seconds-expected.txt:
  • http/tests/history/redirect-js-location-replace-2-seconds.html:
  • http/tests/history/redirect-js-location-replace-before-load-expected.txt:
  • http/tests/history/redirect-js-location-replace-before-load.html:
  • http/tests/history/redirect-meta-refresh-0-seconds-expected.txt:
  • http/tests/history/redirect-meta-refresh-0-seconds.html:
  • http/tests/history/redirect-meta-refresh-2-seconds-expected.txt:
  • http/tests/history/redirect-meta-refresh-2-seconds.html:
  • http/tests/history/resources/redirect-target.html:
15:00 Changeset [40423] by pol@apple.com

2009-01-30 Pierre-Olivier Latour <pol@apple.com>

Updated the references images for the media layout tests on Tiger since they now differ from Leopard after installing QuickTime 7.6.

  • platform/mac-tiger/media: Added.
  • platform/mac-tiger/media/video-aspect-ratio-expected.checksum: Added.
  • platform/mac-tiger/media/video-aspect-ratio-expected.png: Added.
  • platform/mac-tiger/media/video-controls-rendering-expected.checksum: Added.
  • platform/mac-tiger/media/video-controls-rendering-expected.png: Added.
  • platform/mac-tiger/media/video-display-toggle-expected.checksum: Added.
  • platform/mac-tiger/media/video-display-toggle-expected.png: Added.
  • platform/mac-tiger/media/video-layer-crash-expected.checksum: Added.
  • platform/mac-tiger/media/video-layer-crash-expected.png: Added.
  • platform/mac-tiger/media/video-transformed-expected.checksum: Added.
  • platform/mac-tiger/media/video-transformed-expected.png: Added.
  • platform/mac-tiger/media/video-zoom-expected.checksum: Added.
  • platform/mac-tiger/media/video-zoom-expected.png: Added.
14:57 Changeset [40422] by andersca@apple.com

2009-01-30 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Fix <rdar://problem/6490778>.


Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always
validate IdentifierReps before dereferencing them.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCEvaluate): (WKPCGetStringIdentifier): (WKPCGetIntIdentifier): (identifierFromIdentifierRep): (WKPCInvoke): (WKPCGetProperty): (WKPCSetProperty): (WKPCRemoveProperty): (WKPCHasProperty): (WKPCHasMethod): (WKPCIdentifierInfo):
14:42 Changeset [40421] by dglazkov@chromium.org

2009-01-30 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

Correct mis-applied http://trac.webkit.org/changeset/40413 by actually
removing the test file.

  • fast/dom/Window/timeout-released-on-close.html: Removed.
14:19 Changeset [40420] by zecke@webkit.org

Build fix for Gtk+

14:16 Changeset [40419] by oliver@apple.com

Finally fix load() to propagate exceptions correctly.

Reviewed by Mark Rowe and Sam Weinig.

14:02 Changeset [40418] by dglazkov@chromium.org

2009-01-30 David Levin <levin@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23618
Templated worker tasks should be more error proof to use.
Fix Chromium build.

  • wtf/TypeTraits.h: (WTF::IsConvertibleToInteger::IsConvertibleToDouble): Avoid "possible loss of data" warning when using Microsoft's C++ compiler by avoiding an implicit conversion of int types to doubles.
13:57 Changeset [40417] by weinig@apple.com

2009-01-30 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Add toRenderView methods for casting RenderObjects to RenderViews. The methods will assert if the object
is not a RenderView.

  • dom/Document.cpp: (WebCore::Document::renderView):
  • editing/SelectionController.cpp: (WebCore::SelectionController::nodeWillBeRemoved): (WebCore::SelectionController::recomputeCaretRect): (WebCore::SelectionController::invalidateCaretRect): (WebCore::SelectionController::focusedOrActiveStateChanged):
  • editing/mac/SelectionControllerMac.mm: (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleDidChange): (WebCore::RenderBox::repaintLayerRectsForImage): (WebCore::RenderBox::availableHeightUsing):
  • rendering/RenderView.h: (WebCore::toRenderView):
13:48 Changeset [40416] by simon.fraser@apple.com

2009-01-30 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

https://bugs.webkit.org/show_bug.cgi?id=23360

Really use the container-relative repaint rect methods
for repaint during layout

  • rendering/RenderObject.h: (WebCore::RenderObject::LayoutRepainter::LayoutRepainter):
13:47 Changeset [40415] by andersca@apple.com

2009-01-30 Anders Carlsson <andersca@apple.com>

Reviewed by Darin Adler.

Get rid of PrivateIdentifier and use IdentifierRep instead.

  • bridge/NP_jsobject.cpp: (_NPN_Invoke): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod):
  • bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::getPropertyNames):
  • bridge/c/c_utility.cpp: (JSC::Bindings::convertNPStringToUTF16):
  • bridge/c/c_utility.h:
  • bridge/npruntime.cpp: (_NPN_GetStringIdentifier): (_NPN_GetStringIdentifiers): (_NPN_GetIntIdentifier): (_NPN_IdentifierIsString): (_NPN_UTF8FromIdentifier): (_NPN_IntFromIdentifier):
13:25 Changeset [40414] by andersca@apple.com

2009-01-30 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig and Darin Adler.

Make IdentifierRep a real class, add necessary class methods.

  • bridge/IdentifierRep.cpp: (WebCore::identifierSet): Returns a set of all identifiers.


(WebCore::IdentifierRep::isValid):
Return whether an identifier is valid, meaning that it's present in the
set of identifiers.


  • bridge/IdentifierRep.h: (WebCore::IdentifierRep::isString): (WebCore::IdentifierRep::number): (WebCore::IdentifierRep::string): (WebCore::IdentifierRep::IdentifierRep): (WebCore::IdentifierRep::):
12:17 Changeset [40413] by treat@webkit.org

2009-01-30 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23650
LayoutTests/fast/dom/Window/timeout-released-on-close.html fails intermittently.
Disable this test to keep buildbots green. Need more time to investigate the cause.

  • fast/dom/Window/timeout-released-on-close.html: Removed.
  • fast/dom/Window/timeout-released-on-close.html-disabled: Copied from LayoutTests/fast/dom/Window/timeout-released-on-close.html.
11:57 Changeset [40412] by andersca@apple.com

2009-01-30 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Add IdentifierRep which will be used by both plug-in implementations.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bridge/IdentifierRep.cpp: Added. (WebCore::IdentifierRep::IdentifierRep): (WebCore::IdentifierRep::): (WebCore::intIdentifierMap): (WebCore::identifierRep): (WebCore::stringIdentifierMap):
  • bridge/IdentifierRep.h: Added.
  • bridge/c/c_utility.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::String::fromUTF8WithLatin1Fallback):
11:55 Changeset [40411] by weinig@apple.com

2009-01-30 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Add toRenderInline methods for casting RenderObjects to RenderInlines. The methods will assert if the object
is not a RenderInline.

  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): (WebCore::InlineFlowBox::attachLineBoxToRenderObject): (WebCore::InlineFlowBox::rendererLineBoxes): (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): (WebCore::InlineFlowBox::paint):
  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject): (WebCore::RenderBlock::addFocusRingRects):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::offsetFromContainer): (WebCore::RenderBox::computeRectForRepaint): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::containingBlockHeightForPositioned): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::inlineContinuation): (WebCore::nextContinuation): (WebCore::RenderInline::splitInlines):
  • rendering/RenderInline.h: (WebCore::toRenderInline):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::boundingBox):
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
  • rendering/RenderText.h:
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<):
  • rendering/bidi.cpp: (WebCore::RenderBlock::createLineBoxes): (WebCore::RenderBlock::layoutInlineChildren):
10:20 Changeset [40410] by darin@chromium.org

2009-01-30 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23647
Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports

  • platform/graphics/skia/ImageSourceSkia.cpp: (WebCore::ImageSource::clear):
10:16 Changeset [40409] by hyatt@apple.com

2009-01-30 David Hyatt <hyatt@apple.com>

Add toRenderBlock methods for casting RenderObjects to RenderBlocks. The methods will assert if the object
is not a RenderBlock. Also add a toRenderBlock method that takes a RenderBlock but returns void and that
is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderBlock.

Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this
patch with a containsFloats() check.

Reviewed by Darin Adler

  • dom/PositionIterator.cpp: (WebCore::PositionIterator::isCandidate):
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
  • editing/Editor.cpp: (WebCore::Editor::hasBidiSelection):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::anchorElement): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleWillChange): (WebCore::RenderBlock::removeChild): (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::clearFloatsIfNeeded): (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::fillBlockSelectionGaps): (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): (WebCore::RenderBlock::firstLineBlock): (WebCore::getLineAtIndex): (WebCore::getHeightForLineCount): (WebCore::RenderBlock::lineCount): (WebCore::RenderBlock::adjustForBorderFit): (WebCore::RenderBlock::clearTruncation):
  • rendering/RenderBlock.h: (WebCore::toRenderBlock):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::offsetFromContainer): (WebCore::RenderBox::computeRectForRepaint): (WebCore::RenderBox::calcReplacedHeightUsing):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::inlineContinuation): (WebCore::nextContinuation): (WebCore::RenderInline::positionForCoordinates):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollInfoAfterLayout):
  • rendering/RenderListItem.cpp: (WebCore::getParentOfFirstLineBox): (WebCore::RenderListItem::positionListMarker):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): (WebCore::RenderObject::computeRectForRepaint): (WebCore::RenderObject::removeFromObjectLists): (WebCore::RenderObject::getTextDecorationColors):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): (WebCore::RenderTable::recalcSections):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::styleDidChange):
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::block):
  • rendering/bidi.cpp: (WebCore::RenderBlock::createLineBoxes):
09:30 Changeset [40408] by beidson@apple.com

WebCore:

2009-01-30 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

  • Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of relying on some outside force.
  • Clear the previous history item inside FrameLoader instead of relying on multiple FrameLoaderClients to do it.
  • history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here. (WebCore::CachedFrame::restore): Resume those DOM objects here.
  • history/CachedFrame.h: (WebCore::CachedFrame::domWindow):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame creation handle the suspending of active DOM objects. (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects. (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead of performing a client call by itself. (WebCore::FrameLoader::frameLoadCompleted):

WebKit/mac:

2009-01-30 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove FrameLoaderClient code that is now handled by FrameLoader itself

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::frameLoadCompleted):

WebKit/qt:

2009-01-30 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove FrameLoaderClient code that is now handled by FrameLoader itself

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::frameLoadCompleted):

WebKit/win:

2009-01-30 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove FrameLoaderClient code that is now handled by FrameLoader itself

  • WebFrame.cpp: (WebFrame::frameLoadCompleted):
09:13 Changeset [40407] by ap@webkit.org

Reviewed by Darin Adler.

Test that documents loaded from application cache cannot load local resources.

  • http/tests/appcache/local-content-expected.txt: Added.
  • http/tests/appcache/local-content.html: Added.
  • http/tests/appcache/resources/local-content.manifest: Added.
09:11 Changeset [40406] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/6448823> Application Cache is kept after a private browsing session

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::update): Cache update will not be started if private browsing is enabled. Existing cache version from disk database will be used.
  • loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call it when refusing to update from selectCache().
  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addDynamicEntry): (WebCore::ApplicationCache::removeDynamicEntry): Added reminders about private browsing to unimplemented methods.
09:06 Changeset [40405] by darin@chromium.org

2009-01-30 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23615
Try to make this test reliable on buildbots.

  • fast/dom/Window/resources/long_timeout.html: Allocate more objects to make detection more reliable.
  • fast/dom/Window/timeout-released-on-close.html: Use threshold to account for objects allocated by the running scripts. Add debug output in case of failure to help understand possible failures.
07:17 Changeset [40404] by hausmann@webkit.org

2009-01-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Reviewed by Simon Hausmann.

Bug 23580: GNU mode RVCT compilation support
<https://bugs.webkit.org/show_bug.cgi?id=23580>

07:17 Changeset [40403] by hausmann@webkit.org

2009-01-30 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Hide the Offline Web Application Cache path API from the public API
for now.

05:15 Changeset [40402] by ap@webkit.org

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=23639
Test that appcache ignores Cache-Control: no-store

  • http/tests/resources/network-simulator.php: Send no-store with all responses.
05:13 Changeset [40401] by ap@webkit.org

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=23640
Test that non-HTML main resources work with application cache correctly

  • http/tests/appcache/non-html-expected.txt: Added.
  • http/tests/appcache/non-html.xhtml: Added.
  • http/tests/appcache/resources/abe.png: Added.
  • http/tests/appcache/resources/non-html.manifest: Added.
  • http/tests/resources/network-simulator.php: Support more file extensions.
03:12 QtWebKitFeatures45 created by hausmann@webkit.org
02:48 QtWebKit edited by hausmann@webkit.org
(diff)
00:38 Changeset [40400] by ap@webkit.org

2009-01-30 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 23618: Templated worker tasks should be more error proof to use
<https://bugs.webkit.org/show_bug.cgi?id=23618>

Add the type traits needed for the generic worker tasks
and compile asserts for them.

Add a summary header to the TypeTraits.h file to explain what is in there.

Add a note to explain IsPod's deficiencies.

  • wtf/TypeTraits.h:
00:34 Changeset [40399] by ap@webkit.org

2009-01-30 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore.
<https://bugs.webkit.org/show_bug.cgi?id=23616>

  • wtf/TypeTraits.h: Moved RemovePointer, IsPod, IsInteger to this file.
  • wtf/OwnPtr.h: Use RemovePointer from TypeTraits.h.
  • wtf/RetainPtr.h: Ditto.
  • wtf/HashTraits.h: Use IsInteger from TypeTraits.h.
  • wtf/VectorTraits.h: Use IsPod from TypeTraits.h.
00:18 Changeset [40398] by ap@webkit.org

2009-01-30 David Levin <levin@chromium.org>

Reviewed by Alexey Proskuryakov.

Bug 23599: ResourceError needs to be copyable for use in another thread.
<https://bugs.webkit.org/show_bug.cgi?id=23599>

Add ResourceErrorBase::copy method. (Not yet used.)

  • platform/network/ResourceErrorBase.cpp: (WebCore::ResourceErrorBase::copy):
  • platform/network/ResourceErrorBase.h:

01/29/09:

22:40 Changeset [40397] by slewis@apple.com

2009-01-29 Stephanie Lewis <slewis@apple.com>

RS by Oliver Hunt.

Update the order files.

  • WebCore.order:
  • WebKit.order:
19:09 Changeset [40396] by cwzwarich@webkit.org

2009-01-29 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver Hunt.

Bug 23551: Crash on page load with profiler enabled and running
<https://bugs.webkit.org/show_bug.cgi?id=23551>
<rdar://problem/6529521>

Interpreter::execute(FunctionBodyNode*, ...) calls Profiler::didExecute()
with a stale CallFrame. If some part of the scope chain has already been
freed, Profiler::didExecute() will crash when attempting to get the lexical
global object. The fix is to make the didExecute() call use the caller's
CallFrame, not the one made for the function call. In this case, the
willExecute() call should also be changed to match.

Since this occurs in the actual inspector JS, it is difficult to reduce.
I couldn't make a layout test.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::execute):
18:54 Changeset [40395] by hyatt@apple.com

Fix mac bustage.

18:35 Changeset [40394] by alice.liu@apple.com

Windows build fix

18:01 Changeset [40393] by eric@webkit.org

2009-01-29 Dmitry Titov <dimich@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23488

Make TimerBase thread-aware (for Workers).
Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global).
Pointer to instance of ThreadTimers is stored in GlobalThreadData.
Most static methods of TimerBase went to ThreadTimers.

The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing).

Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop).

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added new ThreadTimers.cpp to build files.
  • platform/SharedTimer.h: (WebCore::SharedTimer::~SharedTimer): (WebCore::MainThreadSharedTimer::setFiredFunction): (WebCore::MainThreadSharedTimer::setFireTime): (WebCore::MainThreadSharedTimer::stop): Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions.
  • platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::ThreadGlobalData): (WebCore::ThreadGlobalData::~ThreadGlobalData):
  • platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::threadTimers): Added ThreadTimers to ThreadGlobalData.
  • platform/ThreadTimers.cpp: Added. (WebCore::mainThreadSharedTimer): Static getter for a MainThreadSharedTimer singleton.

(WebCore::ThreadTimers::ThreadTimers):
(WebCore::ThreadTimers::setSharedTimer):
(WebCore::ThreadTimers::updateSharedTimer):
(WebCore::ThreadTimers::collectFiringTimers):
(WebCore::ThreadTimers::fireTimers):
(WebCore::ThreadTimers::sharedTimerFired):
(WebCore::ThreadTimers::sharedTimerFiredInternal):
(WebCore::ThreadTimers::fireTimersInNestedEventLoop):
ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase.
Need a new class so each thread may get ts own copy of the timer heap.

  • platform/ThreadTimers.h: Added. (WebCore::ThreadTimers::timerHeap): (WebCore::ThreadTimers::timersReadyToFire):
  • platform/Timer.cpp: (WebCore::timerHeap): (WebCore::timersReadyToFire): (WebCore::TimerHeapElement::TimerHeapElement): (WebCore::TimerHeapElement::checkConsistency): (WebCore::TimerHeapElement::operator=): (WebCore::TimerHeapIterator::checkConsistency): (WebCore::TimerBase::TimerBase): (WebCore::TimerBase::~TimerBase): (WebCore::TimerBase::isActive): (WebCore::TimerBase::checkHeapIndex): (WebCore::TimerBase::heapDelete): (WebCore::TimerBase::heapDeleteMin): (WebCore::TimerBase::heapInsert): (WebCore::TimerBase::heapPopMin): (WebCore::TimerBase::setNextFireTime): (WebCore::TimerBase::fireTimersInNestedEventLoop): Now instead of static timer heap these use accessor functions that pull thread-specific heap instance.
  • platform/Timer.h: static methods moved to ThreadTimers.
17:56 Changeset [40392] by weinig@apple.com

2009-01-29 Sam Weinig <sam@webkit.org>

Fix Windows build

  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation):
17:42 Changeset [40391] by hyatt@apple.com

2009-01-29 David Hyatt <hyatt@apple.com>

Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree. The first step is to create
the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it. Subsequent patches will begin
moving RenderContainer's functionality into RenderObjectChildList.

Reviewed by Eric Seidel

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::RenderContainer): (WebCore::RenderContainer::destroyLeftoverChildren): (WebCore::RenderContainer::addChild): (WebCore::RenderContainer::removeChildNode): (WebCore::RenderContainer::updateBeforeAfterContentForContainer): (WebCore::RenderContainer::appendChildNode): (WebCore::RenderContainer::insertChildNode): (WebCore::RenderContainer::layout): (WebCore::RenderContainer::removeLeftoverAnonymousBlock): (WebCore::RenderContainer::positionForCoordinates): (WebCore::RenderContainer::addLineBoxRects): (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
  • rendering/RenderContainer.h: (WebCore::RenderContainer::firstChild): (WebCore::RenderContainer::lastChild): (WebCore::RenderContainer::firstChildBox): (WebCore::RenderContainer::lastChildBox):
  • rendering/RenderObjectChildList.h: Added. (WebCore::RenderObjectChildList::RenderObjectChildList): (WebCore::RenderObjectChildList::firstChild): (WebCore::RenderObjectChildList::lastChild): (WebCore::RenderObjectChildList::setFirstChild): (WebCore::RenderObjectChildList::setLastChild):
17:37 Changeset [40390] by hyatt@apple.com

Fix windows build bustage.

17:14 Changeset [40389] by hyatt@apple.com

Fix windows build bustage.

16:48 Changeset [40388] by darin@chromium.org

2009-01-29 Tony Chang <tony@chromium.org>

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=22894
Fix typo in fill-stroke-clip-reset-path.html where
layoutTestController.setUseDashboardCompatiblityMode is called instead of
layoutTestController.setUseDashboardCompatibilityMode.

  • fast/canvas/fill-stroke-clip-reset-path.html:
  • platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.checksum:
  • platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.png:
16:45 Changeset [40387] by darin@chromium.org

2009-01-29 Jungshik Shin <jshin@chromium.org>

Reviewed by Alexey Proskuryakov.

http://bugs.webkit.org/show_bug.cgi?id=23598
Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid
the compilation error on CJK Windows

  • wml/WMLTableElement.cpp: (WebCore::WMLTableElement::parseMappedAttribute):
16:42 Changeset [40386] by darin@chromium.org

2009-01-29 Hironori Bono <hbono@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=18835
Rebaseline a layout test that verifies the InsertLineBreakCommand() function
doesn't delete existing markers.

  • platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
  • platform/mac/editing/spelling/spelling-linebreak-expected.png:
16:39 Changeset [40385] by darin@chromium.org

2009-01-29 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23627
Fix the PLATFORM(SKIA) build.

  • svg/graphics/SVGPaintServer.cpp: (WebCore::SVGPaintServer::teardown):
16:34 Changeset [40384] by eric@webkit.org

Reviewed by Darin Adler.

Remove <strong>/<em> tags when toggling bold/italic since IE inserts them instead of <b>/<i>
https://bugs.webkit.org/show_bug.cgi?id=23486

Test: editing/execCommand/toggle-styles.html

  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::isHTMLStyleNode):
16:23 Changeset [40383] by darin@chromium.org

2009-01-29 Scott Violet <sky@google.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23625
Skia platform doesn't render text to a canvas or support clipping to an image buffer

Fixes two bugs in Skia rendering to a canvas:
. Text was not rendered at all. This is because we never properly

fixed up the alpha values. The fix is to create a layer when
rendering text to a layer.

. We were not honoring clipping to an image buffer.

  • platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
  • platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::ImageBuffer::ImageBuffer):
  • platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::PlatformContextSkia): (PlatformContextSkia::setDrawingToImageBuffer): (PlatformContextSkia::isDrawingToImageBuffer): (PlatformContextSkia::beginLayerClippedToImage): (PlatformContextSkia::restore): (PlatformContextSkia::applyClipFromImage):
  • platform/graphics/skia/PlatformContextSkia.h:
16:19 Changeset [40382] by weinig@apple.com

WebKit/mac:

2009-01-29 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Second step in tracking the urls a HistoryItem was redirected through
Add SPI to access the array of redirect urls associated with a HistoryItem.

  • History/WebHistoryItem.mm: (-[WebHistoryItem dictionaryRepresentation]): (-[WebHistoryItem _redirectURLs]):
  • History/WebHistoryItemPrivate.h:

WebKit/win:

2009-01-29 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Second step in tracking the urls a HistoryItem was redirected through
Add SPI to access the array of redirect urls associated with a HistoryItem.

  • Interfaces/IWebHistoryItemPrivate.idl:
  • WebHistoryItem.cpp: (WebHistoryItem::dictionaryRepresentation): (WebHistoryItem::redirectURLs):
  • WebHistoryItem.h:
15:52 Changeset [40381] by andersca@apple.com

2009-01-29 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Always activate the plug-in host process if we're in "modal mode" and are being told to activate.


  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::pluginHostDied): Call endModal here.


(WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
If we're modal, we should always bring the plug-in host process to the front.


(WebKit::NetscapePluginHostProxy::beginModal):
Add an observer for the NSApplicationWillBecomeActiveNotification callback.


(WebKit::NetscapePluginHostProxy::endModal):
Remove the observer.

15:48 Changeset [40380] by weinig@apple.com

WebCore:

2009-01-29 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

First step in tracking the urls a HistoryItem was redirected through.

  • WebCore.base.exp:
  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): (WebCore::HistoryItem::addRedirectURL): (WebCore::HistoryItem::redirectURLs): (WebCore::HistoryItem::setRedirectURLs):
  • history/HistoryItem.h:

WebKit/mac:

2009-01-29 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

First step in tracking the urls a HistoryItem was redirected through.

  • History/WebHistoryItem.mm: (-[WebHistoryItem initFromDictionaryRepresentation:]): (-[WebHistoryItem dictionaryRepresentation]):
  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m: (-[NSDictionary _webkit_arrayForKey:]): Add helper.

WebKit/win:

2009-01-29 Sam Weinig <sam@webkit.org>

Reviewed by Mark Rowe.

First step in tracking the urls a HistoryItem was redirected through.

  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation): (WebHistoryItem::dictionaryRepresentation):
15:43 Changeset [40379] by krit@webkit.org

2009-01-29 Dirk Schulze <krit@webkit.org>

Reviewed by Nikolas Zimmermann, Eric Seidel.

Just transform the pattern directly instead of transforming the context fixes this
problem. Texts or strokes are no longer affected by transformations.

SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions
https://bugs.webkit.org/show_bug.cgi?id=23472

Test: svg/custom/pattern-with-transformation.svg

  • platform/graphics/Pattern.h: (WebCore::Pattern::setPatternSpaceTransform):
  • platform/graphics/cairo/PatternCairo.cpp: (WebCore::Pattern::createPlatformPattern):
  • platform/graphics/cg/PatternCG.cpp: (WebCore::Pattern::createPlatformPattern):
  • platform/graphics/qt/PatternQt.cpp: (WebCore::Pattern::createPlatformPattern):
  • svg/graphics/SVGPaintServerPattern.cpp: (WebCore::SVGPaintServerPattern::setup):

LayoutTest

Transformations on SVG patterns caused ugly drawings. The pattern is transformed
directly now. Texts or strokes are no longer affected by transformations.

  • platform/mac/svg/custom/pattern-with-transformation-expected.checksum: Added.
  • platform/mac/svg/custom/pattern-with-transformation-expected.png: Added.
  • platform/mac/svg/custom/pattern-with-transformation-expected.txt: Added.
  • svg/custom/pattern-with-transformation.svg: Added.
14:49 Changeset [40378] by hyatt@apple.com

2009-01-29 David Hyatt <hyatt@apple.com>

Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline. Eliminate RenderFlow from the tree.

Reviewed by Sam Weinig

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • html/HTMLAnchorElement.cpp:
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::rendererLineBoxes): (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
  • rendering/InlineFlowBox.h:
  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): (WebCore::RenderBlock::destroy): (WebCore::RenderBlock::styleWillChange): (WebCore::RenderBlock::styleDidChange): (WebCore::RenderBlock::dirtyLineBoxes): (WebCore::RenderBlock::removeChild): (WebCore::RenderBlock::setSelectionState): (WebCore::RenderBlock::avoidsFloats): (WebCore::RenderBlock::positionForCoordinates): (WebCore::RenderBlock::calcInlinePrefWidths): (WebCore::RenderBlock::baselinePosition): (WebCore::RenderBlock::getBaselineOfFirstLineBox): (WebCore::RenderBlock::getBaselineOfLastLineBox): (WebCore::RenderBlock::rectWithOutlineForRepaint): (WebCore::RenderBlock::hoverAncestor): (WebCore::RenderBlock::updateDragState):
  • rendering/RenderBlock.h: (WebCore::RenderBlock::lineBoxes): (WebCore::RenderBlock::firstLineBox): (WebCore::RenderBlock::lastLineBox):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::offsetFromContainer): (WebCore::RenderBox::computeRectForRepaint): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
  • rendering/RenderBox.h:
  • rendering/RenderFlow.cpp: Removed.
  • rendering/RenderFlow.h: Removed.
  • rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): (WebCore::RenderInline::destroy): (WebCore::RenderInline::styleDidChange): (WebCore::RenderInline::addChildIgnoringContinuation): (WebCore::RenderInline::cloneInline): (WebCore::RenderInline::splitInlines): (WebCore::RenderInline::offsetLeft): (WebCore::RenderInline::offsetTop): (WebCore::RenderInline::positionForCoordinates): (WebCore::RenderInline::rectWithOutlineForRepaint): (WebCore::RenderInline::updateDragState): (WebCore::RenderInline::relativePositionedInlineOffset):
  • rendering/RenderInline.h: (WebCore::RenderInline::lineBoxes): (WebCore::RenderInline::firstLineBox): (WebCore::RenderInline::lastLineBox):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition):
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::rendererLineBoxes):
  • rendering/RootInlineBox.h:
  • rendering/bidi.cpp: (WebCore::RenderBlock::createLineBoxes):
  • wml/WMLAElement.cpp:
14:38 Changeset [40377] by andersca@apple.com

2009-01-29 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

Pass the PSN of the client to the host, and get the PSN of the host back when checking in.


  • Plugins/Hosted/NetscapePluginHostManager.h:
  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::hostForPackage): Get the current PSN and pass it to spawnPluginHost.


(WebKit::NetscapePluginHostManager::spawnPluginHost):
Pass the PSN to the "check in" function.


  • Plugins/Hosted/NetscapePluginHostProxy.h:
  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):


(WebKit::NetscapePluginHostProxy::pluginHostDied):
Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.


(WebKit::NetscapePluginHostProxy::beginModal):
(WebKit::NetscapePluginHostProxy::endModal):
(WebKit::NetscapePluginHostProxy::setModal):
Split out the code that does all of the work into beginModal and endModal methods.


  • Plugins/Hosted/WebKitPluginHost.defs:
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView loadStream]):
14:05 Changeset [40376] by ggaren@apple.com

2009-01-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Cleaned up some naming in ScheduledRedirection.

  • loader/FrameLoader.cpp: (WebCore::ScheduledRedirection::ScheduledRedirection):
14:03 Changeset [40375] by andersca@apple.com

2009-01-29 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

Update to use new API.

  • platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): (WebCore::createFontCustomPlatformData):
13:53 Changeset [40374] by ap@webkit.org

Reviewed by Nikolas Zimmermann.

https://bugs.webkit.org/show_bug.cgi?id=23619
ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load
is cancelled

Covered by existing tests (as a random crash).

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::cancelledError): (WebCore::EmptyFrameLoaderClient::blockedError): (WebCore::EmptyFrameLoaderClient::cannotShowURLError): (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError): (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError): (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError): (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError): Create non-null errors.
13:48 Changeset [40373] by ggaren@apple.com

2009-01-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Removed an unused case of "lockHistory" to help make the other cases
clearer.

  • page/FrameLoadRequest.h: (WebCore::FrameLoadRequest::FrameLoadRequest):
13:39 Changeset [40372] by hyatt@apple.com

2009-01-29 David Hyatt <hyatt@apple.com>

Move all of the contination insertion code from RenderFlow to RenderInline. addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to
RenderContainer so that it can still be called on either blocks or inlines. The base class implementation in RenderContainer is what RenderBlock uses. RenderInline
subclasses it to do all the work it used to do in addChildToFlow.


RenderBlock's old addChildToFlow can just become addChild. This simplification is possible because addChild was actually never being called on anonymous
block continuations.


The code dealing with anonymous table parts in the old addChildWithContinuation method can now be removed as a result with no harmful side effects. Falling through to the
base class and ignoring a block continuation makes the right thing happen.


addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation.


Reviewed by Eric Seidel

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChild):
  • rendering/RenderBlock.h:
  • rendering/RenderContainer.h: (WebCore::RenderContainer::addChildIgnoringContinuation):
  • rendering/RenderFlow.cpp:
  • rendering/RenderFlow.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::styleDidChange): (WebCore::RenderInline::addChild): (WebCore::nextContinuation): (WebCore::RenderInline::continuationBefore): (WebCore::RenderInline::addChildIgnoringContinuation): (WebCore::RenderInline::splitInlines): (WebCore::RenderInline::splitFlow): (WebCore::RenderInline::addChildToContinuation): (WebCore::RenderInline::childBecameNonInline):
  • rendering/RenderInline.h: (WebCore::RenderInline::continuation): (WebCore::RenderInline::setContinuation):
13:37 Changeset [40371] by beidson@apple.com

WebCore:

2009-01-29 Brady Eidson <beidson@apple.com>

Reviewed by Oliver Hunt

<rdar://problem/6337157> hyundaiusa.com closes window or tab during load

Test: fast/loader/subframe-self-close.html

  • page/DOMWindow.cpp: (WebCore::DOMWindow::close): Only allow mainframes to close the window.

LayoutTests:

2009-01-29 Brady Eidson <beidson@apple.com>

Reviewed by Oliver Hunt

<rdar://problem/6337157> hyundaiusa.com closes window or tab during load

  • fast/loader/resources/subframe-self-close.html: Added.
  • fast/loader/subframe-self-close-expected.txt: Added.
  • fast/loader/subframe-self-close.html: Added.
13:23 Changeset [40370] by zimmermann@webkit.org

Reviewed by David Hyatt.

Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539

Remove several virtual functions from Node & Element related to form control / input elements,
that shouldn't reside there, but move to approriate locations, in the new form control /
input element abstract base classes.

Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information.
Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement.
Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement.
Move isInputTypeHidden() / isPasswordField() from Element to InputElement.

Querying these methods requires using the toInputElement/toFormControlElement casting helper functions
to cast Element pointers to InputElement/FormControlElement pointers.

13:19 Changeset [40369] by zimmermann@webkit.org

Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received.

12:57 BuildingQtOnLinux edited by ben@meyerhome.net
(diff)
12:40 Changeset [40368] by ap@webkit.org

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23620
Crash in appcache/resource-redirect.html on Tiger

There was a bug in the test case - it didn't send a Location header, and on Tiger, this
resulted in a failure callback being sent. It turned out that proper redirects weren't
caught at all.

Tests: http/tests/appcache/manifest-redirect-2.html

http/tests/appcache/resource-redirect-2.html

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didFail): Fixed this function to not crash if didReceiveResponse() wasn't called for this request. (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly. (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto.
11:36 Changeset [40367] by hyatt@apple.com

2009-01-29 David Hyatt <hyatt@apple.com>

Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline.


Reviewed by Sam Weinig

  • rendering/RenderBlock.h: (WebCore::RenderBlock::dirtyLinesFromChangedChild):
  • rendering/RenderFlow.cpp:
  • rendering/RenderFlow.h:
  • rendering/RenderInline.h: (WebCore::RenderInline::dirtyLinesFromChangedChild):
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
  • rendering/RenderLineBoxList.h:
11:21 Changeset [40366] by aroben@apple.com

Fix Bug 23623: Windowed Flash instances aren't captured when a WebView receives a WM_PRINTCLIENT message

WebCore:

Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
receives a WM_PRINTCLIENT message

<https://bugs.webkit.org/show_bug.cgi?id=23623>
<rdar://problem/6513921>
<rdar://problem/6536874>

Flash doesn't seem to respond to WM_PRINTCLIENT, so we change
WM_PRINTCLIENT messages into WM_PAINT messages and hook into the
BeginPaint/EndPaint APIs to return the HDC we received from
WM_PRINTCLIENT. This causes the plugin to paint into the
WM_PRINTCLIENT HDC via its normal WM_PAINT handler. This technique
came from <http://www.fengyuan.com/article/wmprint.html>.

No test possible.

Reviewed by Darin Adler.

  • platform/graphics/GraphicsContext.h: Added [set]ShouldIncludeChildWindows on Windows.
  • platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added m_shouldIncludeChildWindows. (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): Initialize the new member.
  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::setShouldIncludeChildWindows): (WebCore::GraphicsContext::shouldIncludeChildWindows): Added simple setter and getter.
  • plugins/PluginView.cpp: (WebCore::PluginView::PluginView): Initialize the new member.
  • plugins/PluginView.h: Added m_wmPrintHDC and various functions required for making WM_PRINTCLIENT work.
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::hookedBeginPaint): (WebCore::PluginView::hookedEndPaint): (WebCore::hook): (WebCore::setUpOffscreenPaintingHooks): Added. Code was modified from code available on fengyuan.com.

(WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into
WM_PAINT messages and save off the HDC that we're supposed to paint
into.

(WebCore::PluginView::paintWindowedPluginIntoContext): Added. Gets an
HDC from the GraphicsContext, translates it into client coordinates,
gets the plugin to draw into the HDC by sending a WM_PRINTCLIENT
message, and returns the HDC to the GraphicsContext.

(WebCore::PluginView::paint): If we're trying to paint a windowed
plugin into the GraphicsContext, call paintWindowedPluginIntoContext.

(WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make
our WM_PRINTCLIENT trick work.

WebKit/win:

Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
receives a WM_PRINTCLIENT message

<https://bugs.webkit.org/show_bug.cgi?id=23623>
<rdar://problem/6513921>
<rdar://problem/6536874>

Reviewed by Darin Adler.

  • WebFrame.cpp: (WebFrame::paintDocumentRectToContext): (WebFrame::spoolPages): Call GraphicsContext::setShouldIncludeChildWindows so that child windows will be painted into the GraphicsContext rather than painted directly to the screen.
  • WebView.cpp: (WebView::updateBackingStore): Added a windowsToPaint parameter, which we pass along to paintIntoBackingStore.

(WebView::paint): Tell updateBackingStore to paint child windows if
we're not painting to the screen.

(WebView::paintIntoBackingStore): Added a windowsToPaint paramter,
which we use to tell our GraphicsContext whether or not to include
child windows.

  • WebView.h: Added windowsToPaint parameters to paintIntoBackingStore and updateBackingStore (which I also made private).
11:20 Changeset [40365] by aroben@apple.com

Build fix after r40353

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::loadURLIntoChild): Removed the check for FrameLoadTypeReloadAllowingStaleData.
10:00 Changeset [40364] by hyatt@apple.com

2009-01-29 David Hyatt <hyatt@apple.com>

Move RenderFlow::destroy down into RenderBlock and RenderInline.

Reviewed by Anders Carlsson

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::destroy):
  • rendering/RenderFlow.cpp:
  • rendering/RenderFlow.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::destroy):
07:46 Changeset [40363] by ddkilzer@apple.com

Remove semi-colons from the end of ObjC method implementations

Rubber-stamped by Adam Roben.

WebCore:

$ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

  • bridge/testbindings.mm:

WebKit/mac:

$ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

  • DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:setResizable:]): (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]): (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
  • History/WebBackForwardList.mm: (-[WebBackForwardList addItem:]): (-[WebBackForwardList backListWithLimit:]): (-[WebBackForwardList forwardListWithLimit:]):
  • History/WebHistoryItem.mm: (-[WebHistoryItem alternateTitle]): (-[WebHistoryItem setViewState:]):
  • Misc/WebCoreStatistics.mm: (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
  • Misc/WebKitNSStringExtras.m: (-[NSString _web_drawAtPoint:font:textColor:]):
  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView setAttributeKeys:andValues:]):
  • WebCoreSupport/WebEditorClient.mm: (-[WebEditCommand command]):
  • WebView/WebFrame.mm: (-[WebFrame _getVisibleRect:]):
  • WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
  • WebView/WebHTMLView.mm: (-[WebHTMLView elementAtPoint:allowShadowContent:]):
  • WebView/WebPreferences.mm: (-[WebPreferences setAllowsAnimatedImages:]): (-[WebPreferences setAutosaves:]): (-[WebPreferences PDFDisplayMode]):
  • WebView/WebView.mm: (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]): (+[WebView _registerViewClass:representationClass:forURLScheme:]): (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]): (-[WebView _insertNewlineInQuotedContent]):

WebKitTools:

$ find WebKitTools -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;

  • DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate webView:didFailLoadWithError:forFrame:]): (-[FrameLoadDelegate webView:windowScriptObjectAvailable:]): (-[FrameLoadDelegate webView:didFinishDocumentLoadForFrame:]): (-[FrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
  • DumpRenderTree/mac/UIDelegate.mm: (-[UIDelegate webViewFrame:]):
06:35 Changeset [40362] by treat@webkit.org

2009-01-29 Adam Treat <adam.treat@torchmobile.com>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23609
Use the two-arg constructor for implicit QUrl->KURL conversion as the
single argument ctors assume that KURL::parse has already been called
and assert if the parse results in a different string. This was causing
an assert for QUrl's with no path and without a trailing slash.

  • platform/qt/KURLQt.cpp: (WebCore::KURL::KURL):
05:09 Changeset [40361] by ddkilzer@apple.com

Build fix for Wx: Finish de-RefCount-ing FrameLoaderClientWx

  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::ref): Removed. (WebCore::FrameLoaderClientWx::deref): Removed.
  • WebKitSupport/FrameLoaderClientWx.h: Ditto.
04:48 Changeset [40360] by ap@webkit.org

Rubber-stamped by Darin Adler.

Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses,
and it describes the meaning better.

01:58 Changeset [40359] by ap@webkit.org

Not reviewed (this was just a merge problem).

https://bugs.webkit.org/show_bug.cgi?id=23476
HTTP redirect should make application cache updating fail

  • http/tests/appcache/manifest-redirect.html:
  • http/tests/appcache/resource-redirect.html: Updated the tests to work with the new appcache event sending behavior.
01:27 Changeset [40358] by ap@webkit.org

Release build fix.

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): Got rid of a variable that wasn't used in release builds.
00:50 Changeset [40357] by hyatt@apple.com

2009-01-29 David Hyatt <hyatt@apple.com>

Get rid of createAnonymousFlow. It was only called in one spot, so just inline the code.

Reviewed by Oliver Hunt

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter):
  • rendering/RenderFlow.cpp:
  • rendering/RenderFlow.h:
00:35 Changeset [40356] by ap@webkit.org

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23476
HTTP redirect should make application cache updating fail

Tests: http/tests/appcache/manifest-redirect.html

http/tests/appcache/resource-redirect.html

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Fail if response code isn't 2xx.
00:32 Changeset [40355] by ap@webkit.org

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23592
Update appcache manifest signature parsing

Test: http/tests/appcache/wrong-signature-2.html

WebCore:

  • loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Allow comments on signature line. Removed code that replaced nulls with 0xFFFD characters, because there is no such requirement in the spec.

LayoutTests:

  • http/tests/appcache/manifest-parsing.html: Fixed to point to a correct manifest (oops).
  • http/tests/appcache/resources/manifest-parsing.manifest: Added a comment at the end of signature line.
  • http/tests/appcache/resources/wrong-signature-2.manifest: Added.
  • http/tests/appcache/wrong-signature-2-expected.txt: Added.
  • http/tests/appcache/wrong-signature-2.html: Added.
  • http/tests/appcache/wrong-signature.html: Test that there must be whitespace before the comment.
00:26 Changeset [40354] by ap@webkit.org

Reviewed by Anders Carlsson.

https://bugs.webkit.org/show_bug.cgi?id=23584
Update application cache code for the latest round of spec changes

The changes mostly affect the update process - events are sent at a different
time, and caches are associated with documents earlier.

WebCore:

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::mainReceivedError): Changed an always passing test to an assertion. (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Caches are now associated with DocumentLoader before being complete, but they only affect loading after being completed. (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Ditto.
  • loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::setGroup): Allow setting the group to the same one, to simplify ApplicationCacheGroup code. (WebCore::ApplicationCache::isComplete): A new method that tells whether the cache is complete, as defined in HTML5.
  • loader/appcache/ApplicationCache.h: Added isComplete().
  • loader/appcache/ApplicationCacheGroup.h: (WebCore::ApplicationCacheUpdateOption): Per HTML5, cache updating should work differently when invoked with or without a browsing context (Frame). A Frame is currently always needed for updating in WebKit, so a new argument to update() tells whether we should pretend that there isn't one. (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): A helper for ApplicationCache::isComplete(). (WebCore::ApplicationCacheGroup::CompletionType): Cache update algorithm now waits for ne main resources to finish loading in more cases. A member variable of this type is used to distinguish between different cases when waiting. (WebCore::ApplicationCacheGroup::m_cacheCandidates): The new algorithm doesn't track cache candidates. Caches are associated with documents much earlier, but the ones whose main resources have not been loaded from a cache are being tracked in a pending master entry list.
  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update): An explicit call to update() invokes the algorithm without a browsing context.
  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): (WebCore::ApplicationCacheGroup::failedLoadingMainResource): (WebCore::ApplicationCacheGroup::stopLoading): (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): (WebCore::ApplicationCacheGroup::cacheDestroyed): (WebCore::ApplicationCacheGroup::setNewestCache): (WebCore::ApplicationCacheGroup::update): (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::didFinishLoading): (WebCore::ApplicationCacheGroup::didFail): (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): (WebCore::ApplicationCacheGroup::cacheUpdateFailed): (WebCore::ApplicationCacheGroup::manifestNotFound): (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): (WebCore::ApplicationCacheGroup::startLoadingEntry): (WebCore::ApplicationCacheGroup::deliverDelayedMainResources): (WebCore::ApplicationCacheGroup::addEntry): (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): (WebCore::CallCacheListenerTask::create): (WebCore::CallCacheListenerTask::performTask): (WebCore::CallCacheListenerTask::CallCacheListenerTask): (WebCore::ApplicationCacheGroup::postListenerTask): Rewrote the update algorithm.

LayoutTests:

  • http/tests/appcache/404-manifest.html:
  • http/tests/appcache/404-resource.html: When initial cache attempt fails, the applicationCache singleton now gets an error event.
  • http/tests/appcache/foreign-iframe-main-expected.txt: Checking, downloading and progress events are now dispatched during initial cache attempt.
  • http/tests/appcache/idempotent-update-expected.txt:
  • http/tests/appcache/idempotent-update.html: Events are now posted asynchronously, so we cannot assume any status when handling an event. Rewrote the test to no longer rely on synchronous event dispatch.
  • http/tests/appcache/manifest-containing-itself.html: Changed the test to pass on reload, to simplify testing in browser (not related to any behavior changes).
  • http/tests/appcache/navigating-away-while-cache-attempt-in-progress.html: Fixed the test to not fail in browser due to missing layoutTestController.
  • http/tests/appcache/offline-access-expected.txt:
  • http/tests/appcache/offline-access.html: Removed a warning saying that output is timing dependent - I think this is not true now.
  • http/tests/appcache/remove-cache-expected.txt:
  • http/tests/appcache/remove-cache.html:
  • http/tests/appcache/resources/remove-cache-frame-2.html:
  • http/tests/appcache/resources/remove-cache-frame.html: An obsolete event is only dispatched if the document's main resource was already in cache, otherwise, an error event is dispatched. Changed the test to add the main resource to cache first. Also, updated it to make use of additional events that are now being posted.
  • http/tests/appcache/resources/offline-access-frame.html: Updated to dump frame events more completely.
  • http/tests/appcache/wrong-content-type.html:
  • http/tests/appcache/wrong-signature.html: Changed to expect and to make use of error event that is now being posted.
Note: See TracTimeline for information about the timeline view.