⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Apr 14, 2008:

10:19 PM Changeset in webkit [31896] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed crash when accessing registers in a torn-off activation object.

  • kjs/JSActivation.cpp: (KJS::JSActivation::copyRegisters): Update our registerOffset after copying our registers, since our offset should now be relative to our private register array, not the shared register file.
8:40 PM Changeset in webkit [31895] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-14 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix a codegen flaw that makes some tests run way too fast or way too slow


The basic problem was that FunctionCallResolveNode results in
codegen which can incorrectly write an intermediate value into the
dst register even when that is a local. I added convenience
functions to CodeGenerator for getting this right, but for now I
only fixed FunctionCallResolve.

  • VM/CodeGenerator.h: (KJS::CodeGenerator::tempDestination): (KJS::CodeGenerator::):
  • kjs/nodes.cpp: (KJS::FunctionCallResolveNode::emitCode):
5:47 PM Changeset in webkit [31894] by beidson@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2008-04-14 Brady Eidson <beidson@apple.com>

Fix up a recent Changelog comment that I never updated

5:45 PM Changeset in webkit [31893] by beidson@apple.com
  • 17 edits
    3 adds in trunk

WebCore:

2008-04-14 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Lay the underpinnings for LocalStorage.

For now, this just exposes window.localStorage to the dom which returns an in-memory Storage object, much
like SessionStorage. The primary difference at this point is that the object returned is shared globally,
and isn't copied for new top-level browsing contexts like SessionStorage.

Later, I'll add proper event dispatch and a persistent storage backing.

  • GNUmakefile.am:
  • WebCore.base.exp:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Mark the optionalLocalStorage
  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::localStorage):
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalLocalStorage):
  • storage/LocalStorage.cpp: Added. (WebCore::LocalStorage::sharedLocalStorage): (WebCore::LocalStorage::LocalStorage): (WebCore::LocalStorage::storageArea): (WebCore::LocalStorage::itemChanged): (WebCore::LocalStorage::itemRemoved): (WebCore::LocalStorage::dispatchStorageEvent):
  • storage/LocalStorage.h: Added.
  • storage/SessionStorage.cpp: Refactor to use the client interface for event dispatching for sessionStorage objects (WebCore::SessionStorage::SessionStorage): (WebCore::SessionStorage::copy): (WebCore::SessionStorage::storageArea): (WebCore::SessionStorage::itemChanged): (WebCore::SessionStorage::itemRemoved): (WebCore::SessionStorage::dispatchStorageEvent):
  • storage/SessionStorage.h:
  • storage/StorageArea.cpp: Add a client parameter, and call to the client when an item is changed or removed. (WebCore::StorageArea::create): (WebCore::StorageArea::StorageArea): (WebCore::StorageArea::copy): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::setClient):
  • storage/StorageArea.h: (WebCore::StorageArea::page): (WebCore::StorageArea::securityOrigin):
  • storage/StorageAreaClient.h: Added. Break out "itemChanged" and "itemRemoved" to a StorageAreaClient This way, both SessionStorage and LocalStorage areas can have different behavior on changes with that behavior managed from a central location. (WebCore::StorageAreaClient::~StorageAreaClient): (WebCore::StorageAreaClient::StorageAreaClient): (WebCore::StorageAreaClient::itemChanged): (WebCore::StorageAreaClient::itemRemoved):

LayoutTests:

2008-04-14 Brady Eidson <beidson@apple.com>

Reviewed by Anders

As underpinnings for LocalStorage are laid, it is exposed to the dom - update the relevant layout tests.

  • fast/dom/Window/window-properties-expected.txt:
  • storage/domstorage/window-attributes-exist-expected.txt:
5:40 PM Changeset in webkit [31892] by beidson@apple.com
  • 9 edits in trunk

WebCore:

2008-04-14 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive,
if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the
network and will instead fail the load as "cancelled."

  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::load): Do the check here.
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setWebArchiveDebugModeEnabled):
  • page/Settings.h: (WebCore::Settings::webArchiveDebugModeEnabled):

WebKit/mac:

2008-04-14 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive,
if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the
network and will instead fail the load as "cancelled."

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.m: (+[WebPreferences initialize]): (-[WebPreferences _webArchiveDebugModeEnabled]):
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]):
4:55 PM Changeset in webkit [31891] by Antti Koivisto
  • 9 edits in trunk/WebCore

2008-04-14 Antti Koivisto <Antti Koivisto>

Reviewed by Eric.

Some preparations for additive animations and animations in <use>.

  • Disallow animation elements in instance trees.
  • Fix buggy SVGUseElement::removeDisallowedElementsFromSubtree(), make it public and static
  • Invoke it from SVGElementInstance::updateInstance() to clean up the instance tree there as well.
  • Add mechanism for blocking instance updates when an animation changes the referenced tree.


The added assert in SVGSMILElement::insertedIntoDocument() verifies the fixes
with the existing test cases.

  • svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler):
  • svg/SVGElementInstance.cpp: (WebCore::SVGElementInstance::updateInstance):
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::updateElementInstance): (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
  • svg/SVGStyledElement.h:
  • svg/SVGUseElement.cpp: (WebCore::isDisallowedElement): (WebCore::SVGUseElement::removeDisallowedElementsFromSubtree):
  • svg/SVGUseElement.h:
  • svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::insertedIntoDocument): (WebCore::SVGSMILElement::isSMILElement): (WebCore::SVGSMILElement::connectConditions): (WebCore::SVGSMILElement::disconnectConditions):
  • svg/animation/SVGSMILElement.h:
4:46 PM Changeset in webkit [31890] by Adam Roben
  • 10 edits
    17 adds in trunk/WebCore

Don't let the inspected page overwrite properties of JS objects in the Inspector

<https://bugs.webkit.org/show_bug.cgi?id=16011>
<rdar://problem/5604409>

<https://bugs.webkit.org/show_bug.cgi?id=16837>
<rdar://problem/5813850>

Reviewed by Sam Weinig and Geoff Garen.

Tests (contributed by Adam Barth and Collin Jackson):
manual-tests/inspector-wrappers

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added new files to the projects.
  • bindings/js/JSQuarantinedObjectWrapper.cpp: Added. (WebCore::): (WebCore::JSQuarantinedObjectWrapper::asWrapper): Converts a JSValue into a JSQuarantinedObjectWrapper, if the JSValue is in fact a JSQuarantinedObjectWrapper. (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): Callback to be used with PropertySlot. (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Hold onto the object we're wrapping and its global object. Pass the wrapped prototype up to the JSObject constructor. (WebCore::JSQuarantinedObjectWrapper::~JSQuarantinedObjectWrapper): (WebCore::JSQuarantinedObjectWrapper::unwrappedExecStateMatches): Returns true if our underlying object originated from the same global object as the passed-in ExecState. (WebCore::JSQuarantinedObjectWrapper::unwrappedExecState): (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState): Wraps and moves an exception from our underlying ExecState to the passed-in one. (WebCore::JSQuarantinedObjectWrapper::mark): Marks ourselves and the objects we're holding references to.

(WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
(WebCore::JSQuarantinedObjectWrapper::put):
(WebCore::JSQuarantinedObjectWrapper::deleteProperty):
(WebCore::JSQuarantinedObjectWrapper::implementsConstruct):
(WebCore::JSQuarantinedObjectWrapper::construct):
(WebCore::JSQuarantinedObjectWrapper::implementsHasInstance):
(WebCore::JSQuarantinedObjectWrapper::hasInstance):
(WebCore::JSQuarantinedObjectWrapper::implementsCall):
(WebCore::JSQuarantinedObjectWrapper::callAsFunction):
(WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
JSObject overrides. These each check the appropriate permission before
allowing the call to proceed. We wrap all outgoing values using
m_wrapOutgoingValue, and we prepare all incoming values with the
virtual prepareIncomingValue function. If an exception is raised when
calling the underlying object, we transfer the exception in wrapped
form to the passed-in ExecState.

  • bindings/js/JSQuarantinedObjectWrapper.h: Added. (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): (WebCore::JSQuarantinedObjectWrapper::className): We return the underlying object's class name so that we can successfully masquerade as that underlying object when, e.g., Object.prototype.toString is called on us. (WebCore::JSQuarantinedObjectWrapper::classInfo):

(WebCore::JSQuarantinedObjectWrapper::allowsGetProperty):
(WebCore::JSQuarantinedObjectWrapper::allowsSetProperty):
(WebCore::JSQuarantinedObjectWrapper::allowsDeleteProperty):
(WebCore::JSQuarantinedObjectWrapper::allowsConstruct):
(WebCore::JSQuarantinedObjectWrapper::allowsHasInstance):
(WebCore::JSQuarantinedObjectWrapper::allowsCallAsFunction):
(WebCore::JSQuarantinedObjectWrapper::allowsGetPropertyNames):
These virtual methods let subclasses define the allowed operations on
the wrapped object. By default all operations are disabled.

  • bindings/js/JSInspectedObjectWrapper.cpp: Added. This subclass of JSQuarantinedObjectWrapper is used to wrap objects from the inspected page being passed to the Inspector. (WebCore::wrappers): (WebCore::): (WebCore::JSInspectedObjectWrapper::wrap): Wraps the passed-in object if needed and returns the wrapper. If this object has been wrapped previously we'll return the old wrapper rather than make a new one. (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): Add ourselves to the wrapper map. (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper): Remove ourselves from the wrapper map. (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): Ensure that any objects passed to the inspected object are either wrappers around objects from the inspected page (in which case we unwrap them so that the inspected page never sees the wrapper), or wrapped callbacks from the Inspector.
  • bindings/js/JSInspectedObjectWrapper.h: Added. (WebCore::JSInspectedObjectWrapper::classInfo): (WebCore::JSInspectedObjectWrapper::allowsGetProperty): (WebCore::JSInspectedObjectWrapper::allowsSetProperty): (WebCore::JSInspectedObjectWrapper::allowsDeleteProperty): (WebCore::JSInspectedObjectWrapper::allowsConstruct): (WebCore::JSInspectedObjectWrapper::allowsHasInstance): (WebCore::JSInspectedObjectWrapper::allowsCallAsFunction): (WebCore::JSInspectedObjectWrapper::allowsGetPropertyNames): These all return true so that the Inspector can use objects from the inspected page however it needs. (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): Wrap all outgoing values as JSInspectedObjectWrappers.
  • bindings/js/JSInspectorCallbackWrapper.cpp: Added. This subclass of JSQuarantinedObjectWrapper is used to wrap callbacks that the Inspector passes to the inspected page (e.g., for event listeners or client-side storage callbacks). (WebCore::wrappers): (WebCore::): (WebCore::JSInspectorCallbackWrapper::wrap): Wraps the passed-in object if needed and returns the wrapper. If this object has been wrapped previously we'll return the old wrapper rather than make a new one. (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): Add ourselves to the wrapper map. (WebCore::JSInspectorCallbackWrapper::~JSInspectorCallbackWrapper): Remove ourselves from the wrapper map. (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): Ensure that values passed from the inspected page to an Inspector callback are wrapped in JSInspectedObjectWrappers. We also allow the inspected page to pass ourselves in (which will happen in the case of a client-side storage callback, where the callback itself is passed as the this object). In this case we unwrap ourselves so that the Inspector doesn't have to deal with the wrapper.
  • bindings/js/JSInspectorCallbackWrapper.h: Added. (WebCore::JSInspectorCallbackWrapper::classInfo): (WebCore::JSInspectorCallbackWrapper::allowsCallAsFunction): This is the only allowed operation on a JSInspectorCallbackWrapper. (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): Wrap all outgoing values as JSInspectorCallbackWrappers.
  • page/InspectorController.cpp: (WebCore::getResourceDocumentNode): Wrap the Document before passing it to the Inspector. (WebCore::highlightDOMNode): Unwrap the Node that the Inspector passed to us. (WebCore::databaseTableNames): Unwrap the Database that the Inspector passed to us. (WebCore::inspectedWindow): Wrap the Window before passing it to the Inspector. (WebCore::InspectorController::focusNode): Wrap the Node before passing it to the Inspector. (WebCore::wrapCallback): Wraps the passed-in callback in a JSInspectorCallbackWrapper. (WebCore::InspectorController::addDatabaseScriptResource): Wrap the Database beore pasing it to the Inspector. (WebCore::InspectorController::windowScriptObjectAvailable): Add the new wrapCallback function to the InspectorController JS object.
  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.reset): Wrap the contentLoaded callback.
  • page/inspector/DatabaseQueryView.js: (WebInspector.DatabaseQueryView._enterKeyPressed):
  • page/inspector/DatabaseTableView.js: (WebInspector.DatabaseTableView.update): Pass null instead of an empty array to executeSql since we're no longer allowed to pass any unwrapped objects to the inspected page. We now wrap all callbacks being passed to the inspected page using InspectorController.wrapCallback.
4:45 PM Changeset in webkit [31889] by Adam Roben
  • 5 edits in trunk/WebCore

Use prototypes/constructors from the inspected page when operating on objects from the inspected page

Reviewed by Tim Hatcher.

  • page/inspector/Console.js: (WebInspector.ConsolePanel._format): Use the Node constructor from the inspected Window with the instanceof operator.
  • page/inspector/ElementsPanel.js: (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Use the Element prototype from the inspected Window instead of the Element prototype from this Window.
  • page/inspector/inspector.js: (WebInspector.performSearch): Ditto for Document prototype.
  • page/inspector/utilities.js: (Object.type): Now takes an optional Window parameter that is used to find the built-in constructors.
4:45 PM Changeset in webkit [31888] by Adam Roben
  • 2 edits in trunk/WebCore

Don't store objects from the Inspector on CSSStyleRules from the inspected page

Reviewed by Tim Hatcher.

  • page/inspector/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.update): Don't store raw CSSStyleRules from the inspected page in the styleRules array. Instead, always use a wrapper object. This will keep us from setting Inspector objects as properties of inspected objects.
4:05 PM Changeset in webkit [31887] by mjs@apple.com
  • 1 edit
    8 adds in branches/squirrelfish/SunSpider

2008-04-14 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Oliver.


  • move ubench tests properly.
  • tests/ubench: Added.
  • tests/ubench/function-closure.js: Added.
  • tests/ubench/function-empty.js: Added.
  • tests/ubench/function-missing-args.js: Added.
  • tests/ubench/function-sum.js: Added.
  • tests/ubench/loop-empty-resolve.js: Added.
  • tests/ubench/loop-empty.js: Added.
  • tests/ubench/loop-sum.js: Added.
3:55 PM Changeset in webkit [31886] by mjs@apple.com
  • 2 edits in branches/squirrelfish/WebKitTools

2008-04-14 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • added support for --ubench mode
  • Scripts/run-sunspider:
3:47 PM Changeset in webkit [31885] by timothy@apple.com
  • 6 edits in trunk/WebCore

Fixes a regression where clicking a resource URL in the Console would not
show the resource in the Resources panel.

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

Reviewed by Adam Roben.

  • page/inspector/Console.js:

(WebInspector.Console.prototype._messagesClicked): Removed console-message-url
handling to show resources. This is now handled by WebInspector.showResourceForURL.
(WebInspector.ConsoleMessage.prototype.toMessageElement): Add the webkit-html-resource-link
class name to the URL anchor. Also add the line number as a property to the anchor.

  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourcesPanel): Add a reference to the tree element to each calculator.
(WebInspector.ResourcesPanel.prototype.showResource): Select and reveal the resource in
the sidebar. Call showLine on the resource view if it is implemented.
(WebInspector.ResourcesPanel.prototype.closeVisibleResource): Select the current calculator's
tree element in the sidebar.
(WebInspector.ResourcesPanel.prototype._graphSelected): Call closeVisibleResource after
the calculator changes since closeVisibleResource uses the calculator.

  • page/inspector/SourceView.js:

(WebInspector.SourceView.prototype.sourceRow): Early return if the line is null/zero.
(WebInspector.SourceView.prototype.showLine): Renamed from showSourceLine.

  • page/inspector/inspector.css:

(body.console-visible #main-panels): Made the bottom 24px to match
the height of #main-status-bar.
(.console-message-url): Make the color important so it wins over
the .webkit-html-resource-link rule.
(.resource-view .resource-view-content): Made more generic from .image
so all resource views get sized correctly.
(.resource-view.image .resource-view-content): Removed.

  • page/inspector/inspector.js:

(WebInspector.documentClick): Pass the line number from the anchor to
WebInspector.showResourceForURL.
(WebInspector.showResourceForURL): Add line number support. Pass the line
to ResourcesPanel.showResource.
(WebInspector.addMainEventListeners): Use bind for the event listeners.

3:41 PM Changeset in webkit [31884] by mjs@apple.com
  • 2 edits in branches/squirrelfish/SunSpider

2008-04-14 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Oliver.

  • sunspider: Don't force --runs=1 in squirrelfish mode any more.
2:55 PM Changeset in webkit [31883] by ggaren@apple.com
  • 12 edits in branches/squirrelfish

JavaScriptCore:

2008-04-14 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed and slightly tweaked by Geoffrey Garen.

Bug 18489: Squirrelfish doesn't build on linux
<https://bugs.webkit.org/show_bug.cgi?id=18489>

  • JavaScriptCore.pri: Add VM into include path and its files into source set
  • VM/JSPropertyNameIterator.cpp: Fix include name
  • VM/Machine.cpp: Add UNLIKELY macro for GCC
  • VM/Machine.h: Add missing includes
  • VM/RegisterFile.cpp: Add missing include
  • kjs/testkjs.pro: Add VM into include path

WebCore:

2008-04-14 Gabor Loki <loki@inf.u-szeged.hu>

Reviewed by Geoffrey Garen.

Bug 18489: Squirrelfish doesn't build on linux
<https://bugs.webkit.org/show_bug.cgi?id=18489>

2:45 PM Changeset in webkit [31882] by mjs@apple.com
  • 3 edits
    1 add
    1 delete in branches/squirrelfish/SunSpider

2008-04-14 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • make --squirrelfish mode use the real harness, but a reduced set of tests

Also add a new ubench mode which runs the older squirrelfish microbenchmarks.

  • sunspider:
  • tests/LIST-SQUIRRELFISH:
  • tests/LIST-UBENCH: Added.
  • tests/squirrelfish: Moved to tests/ubench
2:31 PM Changeset in webkit [31881] by ggaren@apple.com
  • 1 edit
    1 delete in branches/squirrelfish/SunSpider

2008-04-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Removed an unused test.

  • tests/squirrelfish/loop-resolve.js: Removed.
2:20 PM Changeset in webkit [31880] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Restored OwnPtr in some places where I had removed it previously. We
can have an OwnPtr to an undefined class in a header as long as the
class's destructor isn't in the header.

1:45 PM Changeset in webkit [31879] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed access to "this" inside dynamic scopes.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::registerForLocal): Always return a register for "this", even if we're not optimizing access to other locals. Because "this" is a keyword, it's always in a register and always accessible.
  • VM/CodeGenerator.h: (KJS::CodeGenerator::shouldOptimizeLocals): Factored out a function for determining whether we should optimize access to locals, since eval will need to make this test a little more complicated.
1:18 PM Changeset in webkit [31878] by alp@webkit.org
  • 6 edits
    2 adds
    1 delete in trunk

2008-04-14 Xan Lopez <xan@gnome.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17917
Bug 17917: Cookie support for HTTP soup backend

Initial implementation of cookies for the http soup backend.

Moved CookieJarGtk to CookieJarSoup in network/soup and left the original
one as CookieJarCurl in network/curl.

Bumped the libsoup required version to 2.23 for cookie support.

1:06 PM Changeset in webkit [31877] by alp@webkit.org
  • 8 edits in trunk

2008-04-14 Holger Freyther <zecke@selfish.org>

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=18411
Enable Page caching and create FrameViews on the fly

Create the FrameView on the fly and cache pages

  • Keep a copy of the GtkAdjustment to be able to reuse it for the FrameViews
  • Do not initially create a FrameView and update the WebKit code to cope with not having a view.
  • Cache seven pages by default.
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::setGtkAdjustments):
12:55 PM Changeset in webkit [31876] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-04-14 David Hyatt <hyatt@apple.com>

Add a new optimized layout path for positioned objects that move. Also avoid always marking the <html>
object for layout when it has a percentage height, since the RenderView already does that when its size
changes.

Reviewed by mjs

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::layoutPositionedObjects):
  • rendering/RenderBox.h: (WebCore::RenderBox::layoutDoingPositionedMovementOnly):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::setNeedsLayout): (WebCore::RenderObject::setChildNeedsLayout): (WebCore::RenderObject::setNeedsPositionedMovementLayout): (WebCore::RenderObject::setStyle):
  • rendering/RenderObject.h: (WebCore::RenderObject::needsLayout): (WebCore::RenderObject::needsPositionedMovementLayoutOnly): (WebCore::RenderObject::layoutDoingPositionedMovementOnly):
  • rendering/RenderStyle.cpp: (WebCore::positionedObjectMoved): (WebCore::RenderStyle::diff):
  • rendering/RenderStyle.h: (WebCore::RenderStyle::):
12:30 PM Changeset in webkit [31875] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/fast/gradients

Add generated gradients layout test.

12:29 PM Changeset in webkit [31874] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/gradients/generated-gradients.html

Add generated gradients layout test.

12:28 PM Changeset in webkit [31873] by hyatt@apple.com
  • 16 edits
    2 adds in trunk/WebCore

2008-04-14 David Hyatt <hyatt@apple.com>

Add support for gradients in the CSS content property.

Reviewed by olliej

Added fast/gradients/generated-gradients.html

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • css/CSSParser.cpp: (WebCore::CSSParser::parseContent):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::styleImage): (WebCore::CSSStyleSelector::mapBackgroundImage):
  • css/CSSStyleSelector.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::attach):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::RenderImage): (WebCore::RenderImage::setCachedImage): (WebCore::RenderImage::paintReplaced): (WebCore::RenderImage::calcReplacedWidth): (WebCore::RenderImage::calcReplacedHeight): (WebCore::RenderImage::calcAspectRatioWidth): (WebCore::RenderImage::calcAspectRatioHeight):
  • rendering/RenderImage.h: (WebCore::RenderImage::hasImage): (WebCore::RenderImage::image): (WebCore::RenderImage::errorOccurred): (WebCore::RenderImage::usesImageContainerSize): (WebCore::RenderImage::setImageContainerSize): (WebCore::RenderImage::imageHasRelativeWidth): (WebCore::RenderImage::imageHasRelativeHeight): (WebCore::RenderImage::imageSize):
  • rendering/RenderImageGeneratedContent.cpp: Added. (WebCore::RenderImageGeneratedContent::RenderImageGeneratedContent): (WebCore::RenderImageGeneratedContent::~RenderImageGeneratedContent): (WebCore::RenderImageGeneratedContent::setStyleImage):
  • rendering/RenderImageGeneratedContent.h: Added. (WebCore::RenderImageGeneratedContent::hasImage): (WebCore::RenderImageGeneratedContent::image): (WebCore::RenderImageGeneratedContent::errorOccurred): (WebCore::RenderImageGeneratedContent::usesImageContainerSize): (WebCore::RenderImageGeneratedContent::setImageContainerSize): (WebCore::RenderImageGeneratedContent::imageHasRelativeWidth): (WebCore::RenderImageGeneratedContent::imageHasRelativeHeight): (WebCore::RenderImageGeneratedContent::imageSize):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::createObject):
  • rendering/RenderStyle.cpp: (WebCore::StyleCachedImage::imageHasRelativeWidth): (WebCore::StyleCachedImage::imageHasRelativeHeight): (WebCore::StyleCachedImage::usesImageContainerSize): (WebCore::RenderStyle::contentDataEquivalent): (WebCore::RenderStyle::setContent): (WebCore::ContentData::clear):
  • rendering/RenderStyle.h: (WebCore::StyleGeneratedImage::imageHasRelativeWidth): (WebCore::StyleGeneratedImage::imageHasRelativeHeight): (WebCore::StyleGeneratedImage::usesImageContainerSize): (WebCore::BackgroundLayer::setBackgroundImage): (WebCore::ContentData::): (WebCore::RenderStyle::setListStyleImage):
11:48 AM Changeset in webkit [31872] by andersca@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-04-14 Anders Carlsson <andersca@apple.com>

Reviewed by Adam.

Don't leak the prototype class.


  • API/JSClassRef.cpp: (OpaqueJSClass::create):
11:33 AM Changeset in webkit [31871] by sfalken@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix build.

  • wtf/ThreadingWin.cpp:
11:13 AM squirrelfish edited by ggaren@apple.com
(diff)
11:09 AM Changeset in webkit [31870] by beidson@apple.com
  • 4 edits in trunk/WebCore

2008-04-14 Brady Eidson <beidson@apple.com>

Reviewed by Sam, but Anders too, and he was more thorough in his review
and thats the only reason Sam beat him

Swap the Page and SecurityOrigin arguments when creating a StorageArea.

SecurityOrigin is really the primary identifying characteristic of a StorageArea,
and StorageAreas that represent LocalStorage won't have an owner Page.

  • storage/SessionStorage.cpp: (WebCore::SessionStorage::copy): (WebCore::SessionStorage::storageArea):
  • storage/StorageArea.cpp: (WebCore::StorageArea::create): (WebCore::StorageArea::StorageArea): (WebCore::StorageArea::copy): (WebCore::StorageArea::dispatchStorageEvent): Null check m_page here, as in the future it might be null
  • storage/StorageArea.h:
10:41 AM Changeset in webkit [31869] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-14 Maciej Stachowiak <mjs@apple.com>

Reviewed by Adam.


  • fix crash when running SunSpider full harness


When growing the register file's buffer to make space for new globals,
make sure to copy accounting for the fact that the new space is logically
at the beginning of the buffer in this case, instead of at the end as when
growing for a new call frame.

  • VM/RegisterFile.cpp: (KJS::RegisterFile::newBuffer): (KJS::RegisterFile::growBuffer): (KJS::RegisterFile::addGlobalSlots):
  • VM/RegisterFile.h:
10:09 AM Changeset in webkit [31868] by timothy@apple.com
  • 1 edit in trunk/WebCore/English.lproj/InspectorLocalizedStrings.js

Forgot to land InspectorLocalizedStrings.js with my last commit.

10:05 AM Changeset in webkit [31867] by timothy@apple.com
  • 3 edits
    2 adds in trunk/WebCore

Add support for changing the sort order of the resources. The two sorting
methods supported current are Time and Size.

Reviewed by Adam Roben.

  • page/inspector/Images/statusbarMenuButton.png: Added.
  • page/inspector/Images/statusbarMenuButtonSelected.png: Added.
  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourcesPanel): Create the status bar menu button and
setup the event listener to call _changeSortingFunction. Each option in
the select references a sorting function.
(WebInspector.ResourcesPanel.get statusBarItems): Add the sorting menu to the
items returned.
(WebInspector.ResourcesPanel._changeSortingFunction): Set the sorting function
to the selected option's function in the sorting menu.

  • page/inspector/inspector.css: Added CSS rules for select elements in status bars.
10:05 AM Changeset in webkit [31866] by timothy@apple.com
  • 4 edits
    3 adds in trunk/WebCore

Add support for toggling between small and large resource rows

in the Resources panel.

Reviewed by Adam Roben.

  • English.lproj/InspectorLocalizedStrings.js: Added new tooltip string.
  • page/inspector/Images/largerResourcesButtons.png: Added.
  • page/inspector/Images/resourceDocumentIconSmall.png: Added.
  • page/inspector/Images/resourcePlainIconSmall.png: Added.
  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourcesPanel): Create the status bar button and
setup the event listener to call _toggleLargerResources.
(WebInspector.ResourcesPanel.get statusBarItems): Return the status bar button.
(WebInspector.ResourcesPanel._toggleLargerResources): Toggle the class names
for the resources children list and the status bar button.

  • page/inspector/inspector.css: New style rules for small resources

and the status bar item.

9:46 AM Changeset in webkit [31865] by Chris Fleizach
  • 3 edits in trunk/WebCore

<rdar://problem/5854572> REGRESSION: AXPosition seems to be flipped in nightly build
AX was using the wrong method to determine the view to use to create the screen position

9:30 AM Changeset in webkit [31864] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=18488
FastMalloc doesn't release thread-specific data on Windows

  • wtf/ThreadingWin.cpp: (WTF::threadMapMutex): (WTF::initializeThreading): Call threadMapMutex once to initialize the static safely. (WTF::ThreadFunctionInvocation::ThreadFunctionInvocation): Added a structure to wrap thread entry point and arguments. (WTF::wtfThreadEntryPoint): Make sure to end all WTF threads with pthread_exit(), to give pthreads-win32 a chance to call destructors of thread-specific data. (WTF::createThread): Use _beginthreadex instead of CreateThread, because MSDN says so. Also removed a call to CreateEvent, for which I could see no reason at all.
9:24 AM Changeset in webkit [31863] by dsmith@webkit.org
  • 4 edits in trunk/WebCore

2008-04-14 David Smith <catfish.man@gmail.com>

Reviewed by Timothy Hatcher.


  • page/inspector/Resource.js: Change the sorting function to sort by response received time.
  • page/inspector/ResourcesPanel.js: Hook up the existing infrastructure to two bars instead of one; one for the total time, one for the time post-response.
  • page/inspector/inspector.css: Add a new rule to make the waiting bar have a lower opacity, and change the total bar opacity to handle the overlap
9:08 AM Changeset in webkit [31862] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Touched a file to make JavaScriptCore.vcproj rebuild.

  • wtf/MathExtras.h:
8:25 AM Changeset in webkit [31861] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

Rubberstamped by Alexey Proskuryakov.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Disable the "potentially uninitialized variable" warning for grammar.cpp, as it seems to be incorrect. yylval gets initialized by the lexer, but MSVC doesn't seem to understand this.
6:29 AM QtWebKitContrib edited by Simon Hausmann
(diff)
4:50 AM Changeset in webkit [31860] by jchaffraix@webkit.org
  • 4 edits
    2 adds in trunk

2008-04-14 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Ap.

Bug 17403: WebKit Creates Invalid Xhtml Links with Ajax
http://bugs.webkit.org/show_bug.cgi?id=17403

The previous code had callbacks for the normal parsing (full document) and fragment parsing.
The difference was induced by the method we were using which did not accept a xmlParserCtxt.
The code has been refactored to allow us to share the callbacks between the different cases.
A drawback is that we have to use xmlParseContent which is an internal libxml method and thus
some internal intialization is done in WebCore.

Test: fast/parser/ampersand-escaped-parseXMLFragment.xhtml

  • dom/XMLTokenizer.cpp: (WebCore::createStringParser): Moved didInit in the global scope as it is shared by the 2 create methods.

(WebCore::createMemoryParser): Create a memory parser similar to the previous code.
Initialize the xmlParserContext to call xmlParseContent in parseXMLDocumentFragment.

(WebCore::XMLTokenizer::initializeParserContext): Check m_parsingFragment to know
which create method to call.

  • dom/XMLTokenizer.h: Added parseXMLDocumentFragment as a friend of XMLTokenizer.

2008-04-14 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Ap.

Layout test for http://bugs.webkit.org/show_bug.cgi?id=17403:
WebKit Creates Invalid Xhtml Links with Ajax

  • fast/parser/ampersand-escaped-parseXMLFragment-expected.txt: Added.
  • fast/parser/ampersand-escaped-parseXMLFragment.xhtml: Added.

Apr 13, 2008:

11:53 PM Changeset in webkit [31859] by rwlbuis@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Eric.

http://bugs.webkit.org/show_bug.cgi?id=18230
tspan in link not working

Implement SVG Errata: "The 'a' element may contain any
element that its parent may contain, except itself."

11:23 PM Changeset in webkit [31858] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-04-13 David Hyatt <hyatt@apple.com>

Fix for bug 18466, WebKit exhibits slow performance on Opera DHTML benchmark. Improve layout's rect
invalidation code to only invalidate a single unioned rect once enough individual little rects have
been detected.

Reviewed by olliej

  • page/FrameView.cpp: (WebCore::FrameViewPrivate::reset): (WebCore::FrameView::layout): (WebCore::FrameView::repaintRectangle): (WebCore::FrameView::beginDeferredRepaints): (WebCore::FrameView::endDeferredRepaints):
  • page/FrameView.h:
10:51 PM Changeset in webkit [31857] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

Fix spelling error in function name, no test case.

  • svg/SVGTextContentElement.cpp: (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
10:22 PM Changeset in webkit [31856] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

Build fix for +SVG_ANIMATION -SVG_FOREIGN_OBJECT build, no tests.

  • svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::hasValidTarget):
7:46 PM Changeset in webkit [31855] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-04-13 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Oliver Hunt.

http://bugs.webkit.org/show_bug.cgi?id=18239
[Gtk] Build breaks if SVG is enabled but SVG Fonts disabled

  • svg/SVGAltGlyphElement.idl: Add SVG_FONTS in Conditional
6:49 PM Changeset in webkit [31854] by jchaffraix@webkit.org
  • 2 edits in trunk/WebCore

2008-04-13 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by David.

More SVG filters build fix.

  • svg/graphics/filters/SVGFEImage.cpp: (WebCore::SVGFEImage::~SVGFEImage): (WebCore::SVGFEImage::setCachedImage):
10:47 AM Changeset in webkit [31853] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-04-13 David Hyatt <hyatt@apple.com>

Fix build bustage on the filters SVG code path (not built by default).

  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::~SVGFEImageElement): (WebCore::SVGFEImageElement::parseMappedAttribute):
10:38 AM Changeset in webkit [31852] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-04-13 Dan Winship <danw@gnome.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18391
return body data incrementally from libsoup backend

Fix libsoup backend to pass data to the loader incrementally
rather than all at once at the end.

  • platform/network/soup/ResourceHandleSoup.cpp (ResourceHandle::start): connect to "got-headers" and "got-chunk" signals on the message (gotHeadersCallback): call client->didReceiveResponse() from here (gotChunkCallback): call client->didReceiveData() from here (finishedCallback): renamed from dataCallback. mostly just calls client->didFinishLoading() now.
9:57 AM Changeset in webkit [31851] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Jessica Kahn.

  • remove duplicate condition in canHaveChildrenForEditing()
  • editing/htmlediting.cpp: (WebCore::canHaveChildrenForEditing):
8:56 AM Changeset in webkit [31850] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

Test: fast/css/font-weight-1.html

  • platform/graphics/mac/FontCacheMac.mm: (WebCore::toAppKitFontWeight): Adjusted the mapping to cover the AppKit weight range from 2 to 12, because AppKit weight 1 never occurs. The new mapping matches font-weight: n00 to ISO weight Wn.
  • platform/mac/WebFontCache.mm: (betterChoice): Changed the midpoint used when deciding between two candidates that deviate from the desired weight by the same amount.
1:16 AM Changeset in webkit [31849] by hyatt@apple.com
  • 10 edits in trunk/WebCore

2008-04-12 David Hyatt <hyatt@apple.com>

Memory management cleanup for the new StyleCachedImage and StyleGeneratedImage classes. Make the back end
values hold refptrs to cached front end values. This will avoid malloc churn as RenderStyles get
re-resolved.

Reviewed by olliej

  • css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): (WebCore::CSSCursorImageValue::cachedImage):
  • css/CSSCursorImageValue.h:
  • css/CSSImageGeneratorValue.cpp: (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue): (WebCore::CSSImageGeneratorValue::generatedImage):
  • css/CSSImageGeneratorValue.h:
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::CSSImageValue): (WebCore::CSSImageValue::~CSSImageValue): (WebCore::CSSImageValue::cachedImage):
  • css/CSSImageValue.h:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::createStyleImage):
  • css/CSSStyleSelector.h:
  • rendering/RenderStyle.h: (WebCore::StyleCachedImage::cachedImage): (WebCore::StyleGeneratedImage::StyleGeneratedImage): (WebCore::StyleGeneratedImage::data):

Apr 12, 2008:

8:38 PM Changeset in webkit [31848] by jchaffraix@webkit.org
  • 4 edits in trunk/WebCore

2008-04-12 Julien Chaffraix <jchaffraix@webkit.org>

Not reviewed, Qt build fix.

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::parseEndElement):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::clip):
  • platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::setDragImage):
5:26 PM Changeset in webkit [31847] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/fast/gradients

Add list item gradient test.

5:25 PM Changeset in webkit [31846] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/gradients/list-item-gradient.html

Add list item gradient test.

5:25 PM Changeset in webkit [31845] by hyatt@apple.com
  • 8 edits in trunk/WebCore

2008-04-12 David Hyatt <hyatt@apple.com>

Add support for list-style-image gradients. Also improve the image comparisons between two RenderStyles
to not mistakenly believe that images have changed.

Reviewed by olliej

Added fast/gradients/list-item-gradient.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::createStyleImage):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::RenderListMarker): (WebCore::RenderListMarker::paint): (WebCore::RenderListMarker::imageChanged): (WebCore::RenderListMarker::calcPrefWidths):
  • rendering/RenderListMarker.h:
  • rendering/RenderStyle.cpp: (WebCore::imagesEquivalent): (WebCore::BorderImage::operator==): (WebCore::StyleCachedImage::errorOccurred): (WebCore::BackgroundLayer::operator==): (WebCore::StyleInheritedData::StyleInheritedData): (WebCore::cursorDataEquivalent): (WebCore::StyleInheritedData::operator==): (WebCore::RenderStyle::diff):
  • rendering/RenderStyle.h: (WebCore::StyleImage::errorOccurred): (WebCore::RenderStyle::listStyleImage): (WebCore::RenderStyle::setListStyleImage): (WebCore::RenderStyle::initialListStyleImage):
4:01 PM Changeset in webkit [31844] by pewtermoose@webkit.org
  • 2 edits in trunk/WebKit/win

2008-04-12 Matt Lilek <webkit@mattlilek.com>

Not reviewed, build fix.

  • WebView.cpp: (WebView::paintDocumentRectToContext):
3:46 PM Changeset in webkit [31843] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Windows build fix
  • platform/win/ClipboardWin.cpp: (WebCore::ClipboardWin::setDragImage):
3:37 PM Changeset in webkit [31842] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Update clip to take a FloatRect.

1:33 AM Changeset in webkit [31841] by hyatt@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderBox.cpp

Add a missing null check to stop crashing when a border image is examined but null.

1:12 AM Changeset in webkit [31840] by hyatt@apple.com
  • 6 adds in trunk/LayoutTests/platform/mac/fast/gradients

Land results for border gradient tests.

1:11 AM Changeset in webkit [31839] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/gradients/border-image-gradient-sides-and-corners.html

Add complex border image gradient test.

1:11 AM Changeset in webkit [31838] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/fast/gradients/border-image-gradient.html

Add simple border gradient test.

1:11 AM Changeset in webkit [31837] by hyatt@apple.com
  • 9 edits in trunk/WebCore

2008-04-12 David Hyatt <hyatt@apple.com>

Add gradient support to border-image (even though it's mostly just weird).

Reviewed by Dan

Added fast/gradients/border-image-gradient.html

fast/gradients/border-image-gradient-sides-and-corners.html

  • css/CSSBorderImageValue.h: (WebCore::CSSBorderImageValue::imageValue):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
  • platform/graphics/GeneratedImage.cpp: (WebCore::GeneratedImage::draw):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBoxDecorations):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::imageChanged):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::paintBorderImage): (WebCore::RenderObject::paintBorder): (WebCore::RenderObject::updateBackgroundImages): (WebCore::RenderObject::arenaDelete):
  • rendering/RenderStyle.cpp: (WebCore::StyleCachedImage::isLoaded):
  • rendering/RenderStyle.h: (WebCore::StyleImage::isLoaded): (WebCore::BorderImage::image):

Apr 11, 2008:

11:35 PM Changeset in webkit [31836] by mitz@apple.com
  • 4 edits in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix a regression from r31324 which caused most Arabic text to render as missing glyphs

Test: svg/W3C-SVG-1.1/fonts-glyph-02-t.svg

  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk): Changed to always process characters in logical order and therefore dispatch the callbacks with a logically- ordered glyph stream. Changed the call to isCompatibleGlyph() to check for compatibility only with the range of characters the candidate glyph is derived from rather than with the entire lookup range. Changed to mark the <missing-glyph> glyph identifier as valid, to facilitate the use of invalid glyph identifiers to mark font fallback. (WebCore::drawTextUsingSVGFontCallback): Changed to only append the glyph identifier to a vector. (WebCore::drawTextMissingGlyphCallback): Changed to only append the character to a vector and append an invalid glyph identifier to the glyph vector. (WebCore::Font::drawTextUsingSVGFont): Moved the drawing from the callbacks into this function, iterating over the glyph and fallback characters vector in visual order.

LayoutTests:

Reviewed by Dave Hyatt.

  • revert incorrect expected results from r31324
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
11:23 PM Changeset in webkit [31835] by eric@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by eseidel.

Attempt to fix Cairo build.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:
  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
9:09 PM Changeset in webkit [31834] by hyatt@apple.com
  • 36 edits in trunk

WebCore:

2008-04-11 David Hyatt <hyatt@apple.com>

Rename CachedResource's ref/deref methods to addClient/removeClient. This matches the new
StyleImage class and is a more accurate description of what those methods really do.

Reviewed by olliej

  • WebCore.base.exp:
  • css/CSSCursorImageValue.cpp: (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::CSSFontFaceSource): (WebCore::CSSFontFaceSource::~CSSFontFaceSource):
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::~CSSImageValue): (WebCore::CSSImageValue::image):
  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::~CSSImportRule): (WebCore::CSSImportRule::insertedIntoParent):
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::~ProcessingInstruction): (WebCore::ProcessingInstruction::checkStyleSheet): (WebCore::ProcessingInstruction::parseStyleSheet):
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::~XMLTokenizer): (WebCore::XMLTokenizer::endElementNs): (WebCore::XMLTokenizer::notifyFinished):
  • html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern): (WebCore::CanvasPattern::~CanvasPattern):
  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::~HTMLImageLoader): (WebCore::HTMLImageLoader::setImage): (WebCore::HTMLImageLoader::updateFromElement):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::~HTMLLinkElement): (WebCore::HTMLLinkElement::process):
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::~HTMLScriptElement): (WebCore::HTMLScriptElement::parseMappedAttribute): (WebCore::HTMLScriptElement::insertedIntoDocument): (WebCore::HTMLScriptElement::removedFromDocument): (WebCore::HTMLScriptElement::notifyFinished):
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::reset): (WebCore::HTMLTokenizer::scriptHandler): (WebCore::HTMLTokenizer::notifyFinished):
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::addClient):
  • loader/CachedCSSStyleSheet.h:
  • loader/CachedFont.cpp: (WebCore::CachedFont::addClient):
  • loader/CachedFont.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::addClient):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::addClient): (WebCore::CachedResource::removeClient):
  • loader/CachedResource.h:
  • loader/CachedScript.cpp: (WebCore::CachedScript::addClient):
  • loader/CachedScript.h:
  • loader/CachedXBLDocument.h:
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::addClient):
  • loader/CachedXSLStyleSheet.h:
  • loader/mac/UserStyleSheetLoader.cpp: (UserStyleSheetLoader::UserStyleSheetLoader): (UserStyleSheetLoader::~UserStyleSheetLoader):
  • platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::setDragImage):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::~RenderImage): (WebCore::RenderImage::setCachedImage):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::~RenderListMarker): (WebCore::RenderListMarker::setStyle):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::updateBackgroundImages): (WebCore::RenderObject::arenaDelete):
  • rendering/RenderStyle.cpp: (WebCore::StyleCachedImage::addClient): (WebCore::StyleCachedImage::removeClient):
  • svg/SVGImageLoader.cpp: (WebCore::SVGImageLoader::updateFromElement):
  • xml/XSLImportRule.cpp: (WebCore::XSLImportRule::~XSLImportRule): (WebCore::XSLImportRule::loadSheet):

WebKit/mac:

2008-04-11 David Hyatt <hyatt@apple.com>

Rename CachedResource ref/deref methods to addClient/removeClient.

Reviewed by olliej

  • WebView/WebHTMLView.mm: (-[WebHTMLViewPrivate dealloc]): (-[WebHTMLViewPrivate finalize]): (-[WebHTMLViewPrivate clear]): (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
8:28 PM Changeset in webkit [31833] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.xcodeproj/project.pbxproj

Fix remaining conflict I missed.

8:25 PM Changeset in webkit [31832] by hyatt@apple.com
  • 4 adds in trunk/LayoutTests/platform/mac/fast/gradients
8:25 PM Changeset in webkit [31831] by hyatt@apple.com
  • 2 adds in trunk/LayoutTests/fast/gradients
8:24 PM Changeset in webkit [31830] by hyatt@apple.com
  • 39 edits
    7 adds in trunk/WebCore

2008-04-11 David Hyatt <hyatt@apple.com>

This patch adds support for CSS gradients as background images. RenderStyles now hold a StyleImage
RefPtr, which is a wrapper for two types of images: CachedImages (loaded from URLs) and generated images
(patterns created on the fly such as gradients).

All of the features of <canvas> are supported: gradients can be linear or radial, have multiple stops, and
can specify their points as percentages (for reusable gradients across different box sizes).

Reviewed by olliej

Added fast/gradients/simple-gradients.html

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSBorderImageValue.cpp: (WebCore::CSSBorderImageValue::CSSBorderImageValue):
  • css/CSSBorderImageValue.h: (WebCore::CSSBorderImageValue::imageValue): (WebCore::CSSBorderImageValue::generatorValue):
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSGradientValue.cpp: Added. (WebCore::CSSGradientValue::cssText): (WebCore::CSSGradientValue::createGradient): (WebCore::CSSGradientValue::image): (WebCore::compareStops): (WebCore::CSSGradientValue::sortStopsIfNeeded): (WebCore::CSSGradientValue::resolvePoint): (WebCore::CSSGradientValue::resolveRadius):
  • css/CSSGradientValue.h: Added. (WebCore::): (WebCore::CSSGradientColorStop::CSSGradientColorStop): (WebCore::CSSGradientValue::CSSGradientValue): (WebCore::CSSGradientValue::type): (WebCore::CSSGradientValue::setType): (WebCore::CSSGradientValue::setFirstX): (WebCore::CSSGradientValue::setFirstY): (WebCore::CSSGradientValue::setSecondX): (WebCore::CSSGradientValue::setSecondY): (WebCore::CSSGradientValue::setFirstRadius): (WebCore::CSSGradientValue::setSecondRadius): (WebCore::CSSGradientValue::addStop):
  • css/CSSImageGeneratorValue.cpp: Added. (WebCore::CSSImageGeneratorValue::~CSSImageGeneratorValue): (WebCore::CSSImageGeneratorValue::addClient): (WebCore::CSSImageGeneratorValue::removeClient): (WebCore::CSSImageGeneratorValue::getImage): (WebCore::CSSImageGeneratorValue::putImage):
  • css/CSSImageGeneratorValue.h: Added. (WebCore::CSSImageGeneratorValue::isImageGeneratorValue):
  • css/CSSImageValue.h: (WebCore::CSSImageValue::isImageValue):
  • css/CSSParser.cpp: (WebCore::CSSParser::parseBackgroundImage): (WebCore::BorderImageParseContext::commitImage): (WebCore::CSSParser::parseBorderImage): (WebCore::parseGradientPoint): (WebCore::parseGradientColorStop): (WebCore::CSSParser::parseGradient):
  • css/CSSParser.h:
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::createStyleImage): (WebCore::CSSStyleSelector::mapBackgroundImage):
  • css/CSSStyleSelector.h:
  • css/CSSValue.h: (WebCore::CSSValue::isImageValue): (WebCore::CSSValue::isImageGeneratorValue):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::isPointInPath):
  • platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::dataChanged): (WebCore::BitmapImage::frameCount):
  • platform/graphics/BitmapImage.h:
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/ImageBuffer.h: (WebCore::ImageBuffer::cgImage): (WebCore::ImageBuffer::image):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::clipToImageBuffer): (WebCore::GraphicsContext::paintBuffer): (WebCore::GraphicsContext::drawImage):
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::create): (WebCore::ImageBuffer::ImageBuffer): (WebCore::ImageBuffer::~ImageBuffer): (WebCore::ImageBuffer::image): (WebCore::ImageBuffer::getImageData): (WebCore::ImageBuffer::putImageData): (WebCore::ImageBuffer::toDataURL):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::draw): (WebCore::Image::drawPattern):
  • platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::BitmapImage):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackground):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize): (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::paintBackgroundExtended):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::updateBackgroundImages): (WebCore::RenderObject::arenaDelete):
  • rendering/RenderStyle.cpp: (WebCore::StyleCachedImage::cssValue): (WebCore::StyleCachedImage::canRender): (WebCore::StyleCachedImage::imageSize): (WebCore::StyleCachedImage::setImageContainerSize): (WebCore::StyleCachedImage::addClient): (WebCore::StyleCachedImage::removeClient): (WebCore::StyleCachedImage::image): (WebCore::StyleGeneratedImage::cssValue): (WebCore::StyleGeneratedImage::imageSize): (WebCore::StyleGeneratedImage::setImageContainerSize): (WebCore::StyleGeneratedImage::addClient): (WebCore::StyleGeneratedImage::removeClient): (WebCore::StyleGeneratedImage::image):
  • rendering/RenderStyle.h: (WebCore::StyleImage::StyleImage): (WebCore::StyleImage::~StyleImage): (WebCore::StyleImage::operator==): (WebCore::StyleImage::canRender): (WebCore::StyleImage::isCachedImage): (WebCore::StyleImage::isGeneratedImage): (WebCore::StyleCachedImage::StyleCachedImage): (WebCore::StyleCachedImage::data): (WebCore::StyleCachedImage::isCachedImage): (WebCore::StyleGeneratedImage::StyleGeneratedImage): (WebCore::StyleGeneratedImage::data): (WebCore::StyleGeneratedImage::isGeneratedImage): (WebCore::BackgroundLayer::backgroundImage): (WebCore::BackgroundLayer::setBackgroundImage): (WebCore::BackgroundLayer::containsImage): (WebCore::RenderStyle::backgroundImage): (WebCore::RenderStyle::initialBackgroundImage):
  • svg/graphics/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::teardown):
  • svg/graphics/cg/SVGResourceMaskerCg.mm: (WebCore::SVGResourceMasker::applyMask):
8:14 PM Changeset in webkit [31829] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Oliver Hunt.

  • add SVGGlyphMap.h to project files
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
6:08 PM Changeset in webkit [31828] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-04-11 Anders Carlsson <andersca@apple.com>

Fix release build.


  • WebCore.base.exp:


  • loader/archive/ArchiveResource.h: (WebCore::ArchiveResource::response): This should be const.
6:05 PM Changeset in webkit [31827] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-04-11 Antti Koivisto <Antti Koivisto>

Try to fix Qt build.

  • svg/animation/SMILTime.cpp:
5:13 PM Changeset in webkit [31826] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-04-11 Anders Carlsson <andersca@apple.com>

Reviewed by Brady.

Don't create the ArchiveResource response lazily.


  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::ArchiveResource):
  • loader/archive/ArchiveResource.h: (WebCore::ArchiveResource::response):
5:09 PM Changeset in webkit [31825] by ggaren@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

2008-04-11 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Mark constant pools for global and eval code (collectively known as
"program code"). (Constant pools for function code are already marked by
their functions.)


The global object is responsible for marking program code constant
pools. Code blocks add themselves to the mark set at creation time, and
remove themselves from the mark set at destruction time.


sunspider --squirrelfish reports a 1% speedup, perhaps because
generateCode() is now non-virtual.

  • kjs/nodes.cpp: I had to use manual init and delete in this file because putting an OwnPtr into the header would have created a circular header dependency.
4:17 PM Changeset in webkit [31824] by Antti Koivisto
  • 2 edits in trunk/JavaScriptCore

2008-04-11 Antti Koivisto <Antti Koivisto>

Reviewed by Maciej.


Add default hash for pairs of hashable types.

  • wtf/HashFunctions.h: (WTF::PairHash::hash): (WTF::PairHash::equal): (WTF::):
2:47 PM Changeset in webkit [31823] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-04-11 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Mark Rowe.

Added missing '\' in the svg include path

  • GNUmakefile.am:
2:45 PM Changeset in webkit [31822] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Fix caching typo.


Made this code match the Mac.


Reviewed by Mark Rowe.

  • WebView.cpp: (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged):
2:18 PM Changeset in webkit [31821] by mrowe@apple.com
  • 2 edits in trunk

Fix https://bugs.webkit.org/show_bug.cgi?id=18430
Bug 18430: SIGSEGV on amd64 when built with gcc 4.3

GCC 4.3 generates bad code in some instances when working with our HashTables
as some of the HashTable code violates the strict aliasing requirements. Since
GCC 4.2 this code has generated warnings when -fstrict-aliasing is enabled. Until
the code can be fixed to be safe with strict aliasing enabled, we will disable
strict aliasing.

Rubber-stamped by Anders Carlsson.

2:11 PM UsingGitWithWebKit edited by ddkilzer@apple.com
(diff)
2:06 PM Changeset in webkit [31820] by Adam Roben
  • 2 edits in trunk/WebKit/win
  • ForEachCoClass.h: Added a deprecation notice.
2:04 PM Changeset in webkit [31819] by Adam Roben
  • 2 edits in trunk/WebKit/win

Fix Bug 18376: r31733 and 27 don't work w/Safari 3.1


<https://bugs.webkit.org/show_bug.cgi?id=18376>

Rubberstamped by Steve.

  • ForEachCoClass.h: Move post-3.1 classes to the end of the FOR_EACH_COCLASS macro so that pre-3.1 classes will be in the place Safari expects them to be. We will soon be deprecating setUseOpenSourceWebKit/progIDForClass because it is clearly very fragile.
1:52 PM Changeset in webkit [31818] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-04-11 Antti Koivisto <Antti Koivisto>

Another attempted Qt build fix.

  • WebCore.pro:
1:33 PM Changeset in webkit [31817] by Antti Koivisto
  • 19 edits in trunk/WebCore

2008-04-11 Antti Koivisto <Antti Koivisto>

Reviewed by Oliver.

Fix build when SVG is enabled but SVG_ANIMATION is not.

  • ChangeLog:
  • bindings/js/JSSVGElementWrapperFactory.cpp:
  • bindings/objc/DOM.mm: (WebCore::createElementClassMap):
  • svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler):
  • svg/SVGAnimateColorElement.cpp:
  • svg/SVGAnimateColorElement.h:
  • svg/SVGAnimateColorElement.idl:
  • svg/SVGAnimateMotionElement.h:
  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::animationMode):
  • svg/SVGAnimationElement.h:
  • svg/SVGAnimationElement.idl:
  • svg/SVGSetElement.cpp:
  • svg/SVGSetElement.h:
  • svg/SVGSetElement.idl:
  • svg/animation/SMILTimeContainer.cpp: (WebCore::SMILTimeContainer::begin): (WebCore::SMILTimeContainer::pause): (WebCore::SMILTimeContainer::resume): (WebCore::SMILTimeContainer::elapsed): (WebCore::SMILTimeContainer::isPaused): (WebCore::SMILTimeContainer::timerFired):
  • svg/animation/SMILTimeContainer.h:
  • svg/animation/SVGSMILElement.cpp:
  • svg/animation/SVGSMILElement.h:
  • svg/svgtags.in:
1:29 PM Changeset in webkit [31816] by andersca@apple.com
  • 6 edits in trunk/WebCore

2008-04-11 Anders Carlsson <andersca@apple.com>

Reviewed by Brady.

Move archive loading from FrameLoader to DocumentLoader.


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::DocumentLoader): (WebCore::DocumentLoader::clearArchiveResources): (WebCore::DocumentLoader::deliverArchivedResourcesAfterDelay): (WebCore::DocumentLoader::archiveResourceDeliveryTimerFired): (WebCore::DocumentLoader::isArchiveLoadPending): (WebCore::DocumentLoader::cancelPendingArchiveLoad): (WebCore::DocumentLoader::scheduleArchiveLoad): (WebCore::DocumentLoader::setDefersLoading):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::setDefersLoading): (WebCore::FrameLoader::stopAllLoaders):
  • loader/FrameLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::load): (WebCore::ResourceLoader::didCancel):
12:57 PM Changeset in webkit [31815] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes the regression where the DOM tree does not update when navigating
to another page with the Inspector open.

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

Reviewed by Adam Roben.

  • page/inspector/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.reset): If the inspected document does not have a
firstChild yet, add an event listener for DOMContentLoaded. The event listener just sets
a proeprty that a polling functions looks for then triggers the reset.
(WebInspector.ElementsPanel.prototype._focusedNodeChanged): Always call updateStyles with
forceUpdate as true. This makes sure the Styles pane clears when there isn't a focused node.

10:05 AM Changeset in webkit [31814] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Timothy Hatcher.

  • page/inspector/inspector.css:
9:40 AM Changeset in webkit [31813] by ap@webkit.org
  • 4 edits in trunk/JavaScriptCore

Reviewed by Geoff.

Make DateMath.cpp thread safe.

No measurable change on SunSpider (should be a very small speedup).

  • kjs/DateMath.cpp: (KJS::mimimumYearForDST): (KJS::equivalentYearForDST): Got rid of double caching of the same precomputed value. (KJS::calculateUTCOffset): (KJS::getUTCOffset): Factored actual UTC offset calculation code out of getUTCOffset(), and notification setup into initDateMath().

(KJS::initDateMath): Added.

  • kjs/DateMath.h:
  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): Added initDateMath().
9:35 AM Changeset in webkit [31812] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • kjs/grammar.y:
9:18 AM Changeset in webkit [31811] by ap@webkit.org
  • 4 edits in trunk/JavaScriptCore

Tiger build fix. Forward declaring a union didn't work for whatever reason, make the
parameters void*.

  • kjs/grammar.y:
  • kjs/lexer.cpp: (kjsyylex): (KJS::Lexer::lex):
  • kjs/lexer.h:
3:41 AM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
3:23 AM Changeset in webkit [31810] by oliver@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

Bug 18231: Improve support for function call nodes in SquirrelFish
<https://bugs.webkit.org/show_bug.cgi?id=18231>

Reviewed by Maciej

Use correct value of 'this' for function calls.

1:14 AM Changeset in webkit [31809] by ap@webkit.org
  • 6 edits in trunk/JavaScriptCore

Reviewed by Geoff.

Generate a pure (re-entrant) parser with Bison.

No change on SunSpider.

  • kjs/Parser.cpp: (KJS::Parser::parse):
  • kjs/grammar.y:
  • kjs/lexer.cpp: (kjsyylex): (KJS::Lexer::lex):
  • kjs/lexer.h: Pass state as function arguments, instead of global data. Don't call lexer() as often as before, as this function is about to become slower due to thread-specific storage.
  • kjs/function.cpp: (KJS::isStrWhiteSpace): Don't call isSeparatorSpace() for 8-bit characters, as these are already taken care of. This is a small speedup, compensating for a small slowdown caused by switching Bison mode.
12:41 AM Changeset in webkit [31808] by Antti Koivisto
  • 5 edits in trunk/WebCore

2008-04-11 Antti Koivisto <Antti Koivisto>

Try to fix Qt build by including some headers.

  • ChangeLog:
  • platform/graphics/UnitBezier.h:
  • svg/SVGAnimationElement.cpp:
  • svg/animation/SMILTime.h:
  • svg/animation/SVGSMILElement.cpp:
12:37 AM Changeset in webkit [31807] by ap@webkit.org
  • 5 edits
    3 adds in trunk

Reviewed by Geoff.

https://bugs.webkit.org/show_bug.cgi?id=18402
REGRESSION: visited element handling is incorrect in nested join/toString calls

No change on SunSpider total, possibly a tiny improvement (about 0.1%).

Test: fast/js/array-tostring-and-join.html

  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::visitedElements): Store visited elements HashSet here, making it common to toString/toLocalizedString/join again.
  • kjs/array_object.cpp: (KJS::arrayProtoFuncToString): (KJS::arrayProtoFuncToLocaleString): (KJS::arrayProtoFuncJoin): Got rid of static variables. Replaced UString with Vector to avoid O(n2) behavior and regain performance.
  • wtf/Vector.h: (WTF::::resize): (WTF::::grow): (WTF::::reserveCapacity): (WTF::::append): (WTF::::insert): Added null checks, so that Vector methods don't crash when out of memory. The caller should check that data pointer is not null before proceeding.
12:08 AM Changeset in webkit [31806] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-04-11 Antti Koivisto <Antti Koivisto>

Try to fix Windows build by switching to std::sort().

  • svg/animation/SVGSMILElement.cpp: (WebCore::sortTimeList):
12:00 AM Changeset in webkit [31805] by rwlbuis@webkit.org
  • 3 edits
    4 adds in trunk

Reviewed by Eric.

http://bugs.webkit.org/show_bug.cgi?id=18340
Elements with display="none" in a <clipPath> still contribute to clipping path

Skip elements in clip-path container that have display=none specified.

Apr 10, 2008:

11:58 PM Changeset in webkit [31804] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Geoffrey Garen <ggaren@apple.com>

This time for sure.

  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate):
11:57 PM Changeset in webkit [31803] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed Interpreter::execute to honor the new model for returning non-NULL
values when an exception is thrown.

  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate):
11:38 PM Changeset in webkit [31802] by Antti Koivisto
  • 94 edits in trunk/LayoutTests

2008-04-10 Antti Koivisto <Antti Koivisto>

Update SVG animation test results.

  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-02-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-04-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-04-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-05-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-05-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-09-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-09-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-10-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-10-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-11-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-12-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-12-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-30-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-30-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-31-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-31-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-33-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-33-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-34-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-34-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-39-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-40-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-41-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-60-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-62-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-63-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-63-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-64-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-64-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-65-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-65-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-66-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-66-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-67-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-67-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-68-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-68-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-69-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-69-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-70-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-70-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-77-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-77-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-78-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-78-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-81-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-82-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-85-t-expected.checksum:
  • platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-85-t-expected.png:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-85-t-expected.txt:
11:37 PM Changeset in webkit [31801] by Antti Koivisto
  • 25 edits
    7 adds
    4 deletes in trunk/WebCore

2008-04-10 Antti Koivisto <Antti Koivisto>

Reviewed by Eric.

Redo the SVG animation support.


It does

  • Full SMIL interval timing model including syncbase and event base timing (the hard part).
  • CSS and XML attribute animation.
  • Linear, discrete and spline calcModes.
  • Values animation with keyTimes and keySplines.
  • Link activated animations.
  • Pretty good support for <animate> and <set> animations
  • Basic support for <animateColor>, <animateMotion> and <animateTransform>.

This passes some 35 of the 56 tests in W3C SVG animation test suite, a bunch more
with some subtest failures.

What is still missing

  • Additive animation with multiple animations operating on the same property. This is a major architectural feature in animation code. It shouldn't be too hard to add.
  • Only <animate> implements accumulate.
  • <animateMotion> does not do paths, keypoints, rotate.
  • <animateTransform> does not work correctly in all cases
  • calcMode paced is missing.
  • repeat, beginEvent, endEvent are missing.
  • accesskey() is missing.
  • JS does not see correct values for baseVal/animVal, changing values that are being animted for a script produces wrong results. This problem needs to be solved outside the animation code.
  • Some other stuff I forgot or do not know about.
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage):


Use cache notification mechanism to start/stop animations.

  • svg/SVGAElement.cpp: (WebCore::SVGAElement::defaultEventHandler):


Start target animation on link activation.


  • svg/SVGAnimateColorElement.cpp: (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement): (WebCore::SVGAnimateColorElement::updateAnimatedValue): (WebCore::SVGAnimateColorElement::calculateFromAndToValues): (WebCore::SVGAnimateColorElement::calculateFromAndByValues):
  • svg/SVGAnimateColorElement.h:
  • svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::SVGAnimateElement): (WebCore::parseNumberValueAndUnit): (WebCore::SVGAnimateElement::applyAnimatedValueToElement): (WebCore::SVGAnimateElement::updateAnimatedValue): (WebCore::isColorAttribute): (WebCore::SVGAnimateElement::calculateFromAndToValues): (WebCore::SVGAnimateElement::calculateFromAndByValues):
  • svg/SVGAnimateElement.h: (WebCore::SVGAnimateElement::):
  • svg/SVGAnimateMotionElement.cpp: (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement): (WebCore::SVGAnimateMotionElement::parseMappedAttribute): (WebCore::SVGAnimateMotionElement::updateAnimatedValue): (WebCore::parsePoint): (WebCore::SVGAnimateMotionElement::calculateFromAndToValues): (WebCore::SVGAnimateMotionElement::calculateFromAndByValues): (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement): (WebCore::SVGAnimateMotionElement::startedActiveInterval):
  • svg/SVGAnimateMotionElement.h:
  • svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement): (WebCore::SVGAnimateTransformElement::hasValidTarget): (WebCore::SVGAnimateTransformElement::updateAnimatedValue): (WebCore::transformListFor): (WebCore::SVGAnimateTransformElement::applyAnimatedValueToElement): (WebCore::SVGAnimateTransformElement::calculateFromAndToValues): (WebCore::SVGAnimateTransformElement::calculateFromAndByValues): (WebCore::SVGAnimateTransformElement::startedActiveInterval): (WebCore::SVGAnimateTransformElement::parseTransformValue):
  • svg/SVGAnimateTransformElement.h:


Concrete anmation element classes.


  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::~SVGAnimationElement): (WebCore::parseKeyTimes): (WebCore::parseKeySplines): (WebCore::SVGAnimationElement::parseMappedAttribute): (WebCore::SVGAnimationElement::attributeChanged): (WebCore::SVGAnimationElement::getStartTime): (WebCore::SVGAnimationElement::getCurrentTime): (WebCore::SVGAnimationElement::getSimpleDuration): (WebCore::SVGAnimationElement::beginElement): (WebCore::SVGAnimationElement::beginElementAt): (WebCore::SVGAnimationElement::endElement): (WebCore::SVGAnimationElement::endElementAt): (WebCore::SVGAnimationElement::animationMode): (WebCore::SVGAnimationElement::calcMode): (WebCore::SVGAnimationElement::attributeType): (WebCore::SVGAnimationElement::toValue): (WebCore::SVGAnimationElement::byValue): (WebCore::SVGAnimationElement::fromValue): (WebCore::SVGAnimationElement::attributeName): (WebCore::SVGAnimationElement::isAdditive): (WebCore::SVGAnimationElement::isAccumulated): (WebCore::SVGAnimationElement::hasValidTarget): (WebCore::SVGAnimationElement::targetAttributeIsCSS): (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): (WebCore::SVGAnimationElement::targetAttributeBaseValue): (WebCore::solveEpsilon): (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): (WebCore::SVGAnimationElement::startedActiveInterval): (WebCore::SVGAnimationElement::applyAnimation): (WebCore::SVGAnimationElement::unapplyAnimation): (WebCore::SVGAnimationElement::endedActiveInterval):
  • svg/SVGAnimationElement.h: (WebCore::SVGAnimationElement::):


This is pretty much a complete rewrite of the SVGAnimationElement. Timing related functionality
was refactored to SMILTimingElement class that this class now inherits.


  • svg/SVGDocumentExtensions.cpp: (WebCore::SVGDocumentExtensions::startAnimations):
  • svg/SVGElement.cpp: (WebCore::SVGElement::ownerSVGElement):
  • svg/SVGSVGElement.cpp:


We need to reach the <svg> element from <use> too so go out from the shadow tree.


(WebCore::SVGSVGElement::SVGSVGElement):
(WebCore::SVGSVGElement::~SVGSVGElement):
(WebCore::SVGSVGElement::pauseAnimations):
(WebCore::SVGSVGElement::unpauseAnimations):
(WebCore::SVGSVGElement::animationsPaused):
(WebCore::SVGSVGElement::getCurrentTime):
(WebCore::SVGSVGElement::willSaveToCache):
(WebCore::SVGSVGElement::willRestoreFromCache):

  • svg/SVGSVGElement.h: (WebCore::SVGSVGElement::timeContainer):
  • svg/SVGSetElement.cpp: (WebCore::SVGSetElement::applyAnimatedValueToElement): (WebCore::SVGSetElement::calculateFromAndToValues): (WebCore::SVGSetElement::calculateFromAndByValues): (WebCore::SVGSetElement::updateAnimatedValue):
  • svg/SVGSetElement.h:


Concrete anmation element classes.


  • svg/SVGTimer.cpp: Removed.
  • svg/SVGTimer.h: Removed.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::removedFromDocument):
  • svg/TimeScheduler.cpp: Removed.
  • svg/TimeScheduler.h: Removed.


Replaced these with SMILTimeContainer class.


  • svg/animation: Added.
  • svg/animation/SMILTime.cpp: Added. (WebCore::operator+): (WebCore::operator-): (WebCore::operator*):
  • svg/animation/SMILTime.h: Added. (WebCore::SMILTime::SMILTime): (WebCore::SMILTime::unresolved): (WebCore::SMILTime::indefinite): (WebCore::SMILTime::operator=): (WebCore::SMILTime::value): (WebCore::SMILTime::isFinite): (WebCore::SMILTime::isIndefinite): (WebCore::SMILTime::isUnresolved): (WebCore::operator==): (WebCore::operator!=): (WebCore::operator>): (WebCore::operator<): (WebCore::operator>=): (WebCore::operator<=): (WebCore::max): (WebCore::min):


A floating point number with special values "indefinite" and "unresolved". Defines math for those.


  • svg/animation/SMILTimeContainer.cpp: Added. (WebCore::SMILTimeContainer::SMILTimeContainer): (WebCore::SMILTimeContainer::schedule): (WebCore::SMILTimeContainer::unschedule): (WebCore::SMILTimeContainer::elapsed): (WebCore::SMILTimeContainer::isActive): (WebCore::SMILTimeContainer::isPaused): (WebCore::SMILTimeContainer::begin): (WebCore::SMILTimeContainer::pause): (WebCore::SMILTimeContainer::resume): (WebCore::SMILTimeContainer::startTimer): (WebCore::SMILTimeContainer::timerFired): (WebCore::SMILTimeContainer::updateAnimations):
  • svg/animation/SMILTimeContainer.h: Added.


Manages the clock and time line for active animations in a document.


  • svg/animation/SVGSMILElement.cpp: Added. (WebCore::ConditionEventListener::ConditionEventListener): (WebCore::ConditionEventListener::handleEvent): (WebCore::SVGSMILElement::Condition::Condition): (WebCore::SVGSMILElement::SVGSMILElement): (WebCore::SVGSMILElement::~SVGSMILElement): (WebCore::SVGSMILElement::insertedIntoDocument): (WebCore::SVGSMILElement::removedFromDocument): (WebCore::SVGSMILElement::finishParsingChildren): (WebCore::SVGSMILElement::parseOffsetValue): (WebCore::SVGSMILElement::parseClockValue): (WebCore::smilTimeSortFunction): (WebCore::sortTimeList): (WebCore::SVGSMILElement::parseCondition): (WebCore::SVGSMILElement::isTimingElement): (WebCore::SVGSMILElement::parseBeginOrEnd): (WebCore::SVGSMILElement::parseMappedAttribute): (WebCore::SVGSMILElement::attributeChanged): (WebCore::SVGSMILElement::connectConditions): (WebCore::SVGSMILElement::disconnectConditions): (WebCore::SVGSMILElement::reschedule): (WebCore::SVGSMILElement::targetElement): (WebCore::SVGSMILElement::elapsed): (WebCore::SVGSMILElement::restart): (WebCore::SVGSMILElement::fill): (WebCore::SVGSMILElement::xlinkHref): (WebCore::SVGSMILElement::dur): (WebCore::SVGSMILElement::repeatDur): (WebCore::SVGSMILElement::repeatCount): (WebCore::SVGSMILElement::maxValue): (WebCore::SVGSMILElement::minValue): (WebCore::SVGSMILElement::simpleDuration): (WebCore::SVGSMILElement::addBeginTime): (WebCore::SVGSMILElement::addEndTime): (WebCore::SVGSMILElement::findInstanceTime): (WebCore::SVGSMILElement::repeatingDuration): (WebCore::SVGSMILElement::resolveActiveEnd): (WebCore::SVGSMILElement::resolveInterval): (WebCore::SVGSMILElement::resolveFirstInterval): (WebCore::SVGSMILElement::resolveNextInterval): (WebCore::SVGSMILElement::nextProgressTime): (WebCore::SVGSMILElement::beginListChanged): (WebCore::SVGSMILElement::endListChanged): (WebCore::SVGSMILElement::checkRestart): (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat): (WebCore::SVGSMILElement::calculateNextProgressTime): (WebCore::SVGSMILElement::determineActiveState): (WebCore::SVGSMILElement::progress): (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): (WebCore::SVGSMILElement::createInstanceTimesFromSyncbase): (WebCore::SVGSMILElement::addTimeDependent): (WebCore::SVGSMILElement::removeTimeDependent): (WebCore::SVGSMILElement::handleConditionEvent): (WebCore::SVGSMILElement::beginByLinkActivation):
  • svg/animation/SVGSMILElement.h: Added. (WebCore::SVGSMILElement::timeContainer): (WebCore::SVGSMILElement::): (WebCore::SVGSMILElement::intervalBegin): (WebCore::SVGSMILElement::intervalEnd): (WebCore::SVGSMILElement::Condition::):


This abstract class implements the SMIL timing model. As an output it produces calls
to these virtual functions:


virtual void startedActiveInterval() = 0;
virtual void applyAnimation(float percent, unsigned repeat) = 0;
virtual void unapplyAnimation() = 0;
virtual void endedActiveInterval() = 0;

11:06 PM Changeset in webkit [31800] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Fix SquirrelFish interpreter to pass internal exceptions back to
native code correctly.

Reviewed by Geoff

10:59 PM Changeset in webkit [31799] by weinig@apple.com
  • 47 edits
    2 copies in branches/squirrelfish

JavaScriptCore:

2008-04-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Replace the use of getCallData in op_construct with the new
getConstructData function that replaces implementsConstruct.

  • API/JSCallbackConstructor.cpp: (KJS::JSCallbackConstructor::getConstructData):
  • API/JSCallbackConstructor.h:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: (KJS::::getConstructData): (KJS::::construct):
  • API/JSObjectRef.cpp: (JSObjectIsConstructor):
  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/CallData.h:
  • kjs/ConstructData.h: Copied from JavaScriptCore/kjs/CallData.h. (KJS::):
  • kjs/array_object.cpp: (KJS::ArrayObjectImp::getConstructData):
  • kjs/array_object.h:
  • kjs/bool_object.cpp: (KJS::BooleanObjectImp::getConstructData):
  • kjs/bool_object.h:
  • kjs/date_object.cpp: (KJS::DateObjectImp::getConstructData):
  • kjs/date_object.h:
  • kjs/error_object.cpp: (KJS::ErrorObjectImp::getConstructData): (KJS::NativeErrorImp::getConstructData):
  • kjs/error_object.h:
  • kjs/function.cpp: (KJS::FunctionImp::getCallData): (KJS::FunctionImp::getConstructData): (KJS::FunctionImp::construct):
  • kjs/function.h:
  • kjs/function_object.cpp: (KJS::FunctionObjectImp::getConstructData):
  • kjs/function_object.h:
  • kjs/nodes.cpp: (KJS::NewExprNode::inlineEvaluate):
  • kjs/number_object.cpp: (KJS::NumberObjectImp::getConstructData):
  • kjs/number_object.h:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/object_object.cpp: (KJS::ObjectObjectImp::getConstructData):
  • kjs/object_object.h:
  • kjs/regexp_object.cpp: (KJS::RegExpObjectImp::getConstructData):
  • kjs/regexp_object.h:
  • kjs/string_object.cpp: (KJS::StringObjectImp::getConstructData):
  • kjs/string_object.h:
  • kjs/value.cpp: (KJS::JSCell::getConstructData):
  • kjs/value.h: (KJS::JSValue::getConstructData):

WebCore:

2008-04-10 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Adjusted WebCore JS functions to the new "getConstructData" calling convention.

10:35 PM Changeset in webkit [31798] by oliver@apple.com
  • 4 edits
    4 adds in branches/squirrelfish/JavaScriptCore

Bug 18420: SquirrelFish: need to throw Reference and Type errors
when attempting invalid operations on JSValues

Reviewed by Geoff

Add validation and exception checks to SquirrelFish so that the
correct exceptions are thrown for undefined variables, type errors
and toObject failure. Also handle exceptions thrown by native
function calls.

10:26 PM Changeset in webkit [31797] by Antti Koivisto
  • 4 edits
    1 add in trunk/WebCore

2008-04-10 Antti Koivisto <Antti Koivisto>

Reviewed by Eric.

Move CurveData out from AnimationController.cpp and rename
it to UnitBezier. This makes it possible to reuse this nice class from the
SVG animation code.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • page/AnimationController.cpp: (WebCore::solveCubicBezierFunction):
  • platform/graphics/UnitBezier.h: Added. (WebCore::UnitBezier::UnitBezier): (WebCore::UnitBezier::sampleCurveX): (WebCore::UnitBezier::sampleCurveY): (WebCore::UnitBezier::sampleCurveDerivativeX): (WebCore::UnitBezier::solveCurveX): (WebCore::UnitBezier::solve):
9:32 PM Changeset in webkit [31796] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Pass a function body node its function's scope chain, rather than the
current execution context's scope chain, when compiling it.


This doesn't matter yet, but it will once we start using the scope
chain during compilation.

sunspider --squirrelfish notes a tiny speedup.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
6:47 PM Changeset in webkit [31795] by kevino@webkit.org
  • 1 edit
    1 add in trunk/WebKitTools

Reviewed by Darin Adler.

Add a script that propagates any file changes made to the Bakefiles over to GTK and Qt build systems. Still needs to be wired into those ports though.

6:11 PM Changeset in webkit [31794] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fix two bugs when throwing exceptions from re-entrant JS calls:


(1) Don't shrink the register file to 0, since our caller may still
be using it.


(2) In case of exception, return jsNull() instead of 0 because,
surprisingly, some JavaScriptCore clients rely on a function's return
value being safe to operate on even if the function threw an exception.


Also:


  • Changed FunctionImp::callAsFunction to honor the new semantics of exceptions not returning 0.


  • Renamed "handlerPC" to "handlerVPC" to match other uses of "VPC".


  • Renamed "exceptionData" to "exceptionValue", because "data" seemed to imply something more than just a JSValue.


  • Merged prepareException into throwException, since throwException was its only caller, and it seemed weird that throwException didn't take an exception as an argument.

sunspider --squirrelfish does not seem to complain on my machine, but it
complains a little (.6%) on Oliver's.

6:06 PM Changeset in webkit [31793] by beidson@apple.com
  • 13 edits
    2 moves in trunk/WebCore

2008-04-10 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

The name "OriginStorage" never felt right to a few of us. The HTML5 spec refers to our
concept of "OriginStorage" as a "storage area", which makes more sense here.

This patch is basically:
s/OriginStorage/StorageArea/

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • loader/FrameLoader.cpp:
  • page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage):
  • page/Page.cpp:
  • storage/OriginStorage.cpp: Removed.
  • storage/OriginStorage.h: Removed.
  • storage/SessionStorage.cpp: (WebCore::SessionStorage::copy): (WebCore::SessionStorage::storageArea):
  • storage/SessionStorage.h:
  • storage/Storage.cpp: (WebCore::Storage::create): (WebCore::Storage::Storage): (WebCore::Storage::length): (WebCore::Storage::key): (WebCore::Storage::getItem): (WebCore::Storage::setItem): (WebCore::Storage::removeItem): (WebCore::Storage::contains):
  • storage/Storage.h:
  • storage/StorageArea.cpp: Copied from storage/OriginStorage.cpp. (WebCore::StorageArea::create): (WebCore::StorageArea::StorageArea): (WebCore::StorageArea::~StorageArea): (WebCore::StorageArea::copy): (WebCore::StorageArea::length): (WebCore::StorageArea::key): (WebCore::StorageArea::getItem): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::contains): (WebCore::StorageArea::dispatchStorageEvent):
  • storage/StorageArea.h: Copied from storage/OriginStorage.h.
5:53 PM Changeset in webkit [31792] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-04-10 Xan Lopez <xan@gnome.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18342
Bug #18342 - Add logging to HTTP soup backend


Add soup logging facilities to HTTP soup backend.
Enable defining WEBKIT_SOUP_LOGGING, with values from
0 to 3 for more verbosity.


  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::start):
5:45 PM Changeset in webkit [31791] by alp@webkit.org
  • 2 edits in trunk

2008-03-12 Michael Emmel <mike.emmel@gmail.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18397
Fix leaving spaces before parens in functions

  • WebKitTools/Scripts/wkstyle:
5:30 PM Changeset in webkit [31790] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-04-10 Mario Bensi <mbensi@pleyo.com>

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=18400
Database example doesn't work on Gtk port

Fix quota in ChromeClient

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::exceededDatabaseQuota):
4:56 PM Changeset in webkit [31789] by timothy@apple.com
  • 5 edits in trunk/WebCore

Fixes floating point precision in the Resources graph labels by using String.sprintf to
format the values. Also makes the image view use Number.bytesToString when showing the file
size. Makes Number.bytesToString and Number.secondsToString take an optional formatter function
so the Inspector can pass WebInspector.UIString, so the format strings can be localized.

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

Reviewed by Adam Roben.

  • English.lproj/InspectorLocalizedStrings.js: Added the new strings.
  • page/inspector/ImageView.js:

(WebInspector.ImageView): Use Number.bytesToString to format this.resource.contentLength.

  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourceTransferTimeCalculator.prototype.formatValue): Pass WebInspector.UIString
to Number.secondsToString.
(WebInspector.ResourceTransferSizeCalculator.prototype.formatValue): Pass WebInspector.UIString
to Number.bytesToString.

  • page/inspector/utilities.js:

(Number.secondsToString): Added a formatterFunction argument. Use the formatter and format strings
to control the number precision.
(Number.bytesToString): Ditto.

4:42 PM Changeset in webkit [31788] by alice.liu@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-04-010 Alice Liu <alice.liu@apple.com>

Reviewed by Dan Bernstein.

Fixed <rdar://5815856> CrashTracer: [USER] 8384 crashes in WebCore::Widget::getView const + 6

Test: fast/events/mouseout-dead-subframe.html

  • page/EventHandler.cpp: dispatching a mouse event can change the document structure, necessitating a check for whether we still want to pass the event to the pre-determined subframe (WebCore::EventHandler::handleMouseMoveEvent):

LayoutTests:

2008-04-10 Alice Liu <alice.liu@apple.com>

Reviewed by Dan Bernstein.

Added test for <rdar://5815856> CrashTracer: [USER] 8384 crashes in WebCore::Widget::getView const + 6

  • fast/events/mouseout-dead-subframe-expected.txt: Added.
  • fast/events/mouseout-dead-subframe.html: Added.
3:51 PM Changeset in webkit [31787] by mrowe@apple.com
  • 3 edits in trunk/JavaScriptCore

Fix https://bugs.webkit.org/show_bug.cgi?id=18367 and the many dupes.
Bug 18367: Crash during celtic kane js speed 2007 test

Reviewed by Maciej Stachowiak.

GCC 4.2 on x86_64 Linux decided to reorder the local variables in markCurrentThreadConservatively's
stack frame. This lead to the range of addresses the collector treated as stack to exclude the
contents of volatile registers that markCurrentThreadConservatively forces onto the stack. This was
leading to objects being prematurely collected if the only reference to them was via a register at
the time a collection occurred.

The fix for this is to move the calculation of the top of the stack into a NEVER_INLINE function
that is called from markCurrentThreadConservatively. This forces the dummy variable we use for
determining the top of stack to be in a different stack frame which prevents the compiler from
reordering it relative to the registers that markCurrentThreadConservatively forces onto the stack.

  • kjs/collector.cpp:

(KJS::Collector::markCurrentThreadConservativelyInternal):
(KJS::Collector::markCurrentThreadConservatively):

  • kjs/collector.h:
3:38 PM squirrelfish edited by ggaren@apple.com
(diff)
3:30 PM Changeset in webkit [31786] by adachan@apple.com
  • 6 edits
    3 adds in trunk/WebKit/win

Added WebCoreStatistics that provides stats on Javascript objects
and IconDatabase.


Changed WebCache::statistics() to additionally return xsl stylesheets data
and data on live sizes and decoded sizes.

Reviewed by Steve.

  • ForEachCoClass.h:
  • Interfaces/IWebCoreStatistics.idl: Added.
  • Interfaces/WebKit.idl:
  • WebCache.cpp: (WebCache::statistics):
  • WebCoreStatistics.cpp: Added. (WebCoreStatistics::WebCoreStatistics): (WebCoreStatistics::~WebCoreStatistics): (WebCoreStatistics::createInstance): (WebCoreStatistics::QueryInterface): (WebCoreStatistics::AddRef): (WebCoreStatistics::Release): (WebCoreStatistics::javaScriptObjectsCount): (WebCoreStatistics::javaScriptGlobalObjectsCount): (WebCoreStatistics::javaScriptProtectedObjectsCount): (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount): (WebCoreStatistics::iconPageURLMappingCount): (WebCoreStatistics::iconRetainedPageURLCount): (WebCoreStatistics::iconRecordCount): (WebCoreStatistics::iconsWithDataCount):
  • WebCoreStatistics.h: Added.
  • WebKit.vcproj/WebKit.vcproj:
  • WebKitClassFactory.cpp:
3:24 PM Changeset in webkit [31785] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-04-10 Antti Koivisto <Antti Koivisto>

Reviewed by Eric.

Fix scale transform. This will be tested by the animation test suite when
SVG animation support lands.

  • svg/SVGTransformDistance.cpp: (WebCore::SVGTransformDistance::SVGTransformDistance):
3:03 PM squirrelfish edited by ggaren@apple.com
(diff)
1:59 PM Changeset in webkit [31784] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed op_construct for CallTypeNative to reacquire "r" before setting
its return value, since registerBase can theoretically change during the
execution of arbitrary code. (Not sure if any native constructors
actually make this possible.)

sunspider --squirrelfish does not seem to complain.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
1:27 PM Changeset in webkit [31783] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt and Sam Weinig.


Re-entrant execution of function code (global code -> built-in function
-> JS function):


Miraculously, sunspider --squirrelfish does not seem to complain.

A re-entrant function call is the same as a normal function call with
one exception: the re-entrant call leaves everything except for
CallerCodeBlock in the call frame header uninitialized, since the call
doesn't need to return to JS code. (It sets CallerCodeBlock to 0, to
indicate that the call shouldn't return to JS code.)


Also fixed a few issues along the way:


  • Fixed two bugs in the read-write List implementation that caused m_size and m_buffer to go stale.


  • Changed native call code to update "r" *before* setting the return value, since the call may in turn call JS code, which changes the value of "r".


  • Migrated initialization of "r" outside of Machine::privateExecute, because global code and function code initialize "r" differently.


  • Migrated a codegen warning from Machine::privateExecute to the wiki.


  • Removed unnecessary "r" parameter from slideRegisterWindowForCall
  • VM/Machine.cpp: (KJS::slideRegisterWindowForCall): (KJS::scopeChainForCall): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • VM/Machine.h:
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction):
  • kjs/list.cpp: (KJS::List::getSlice):
  • kjs/list.h: (KJS::List::clear):
1:25 PM Changeset in webkit [31782] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2008-04-10 David Hyatt <hyatt@apple.com>

Add a gradient fillRect method to GraphicsContext. This is implemented only in the CG port. I stubbed
out a method in GraphicsContext.cpp with notImplemented(). Other platforms will need to add their own
gradient fill methods.

Reviewed by aroben

  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::fillRect):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillRect):
12:35 PM Changeset in webkit [31781] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-04-10 David Hyatt <hyatt@apple.com>

Gradient improvements. Support for adding color stops by Color and not just by String. Add the ability to mark
stops as already being sorted.

Reviewed by aroben

  • platform/graphics/Gradient.cpp: (WebCore::Gradient::addColorStop):
  • platform/graphics/Gradient.h: (WebCore::Gradient::setStopsSorted):
12:25 PM Changeset in webkit [31780] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes the build where some wtf headers would not be copied due
to a bug in some older versions of Xcode.

Rubber-stamped by Adam Roben.

  • WebCore.xcodeproj/project.pbxproj: Adds a new script phase to handle

the copying of the icu and ForwardingHeaders folder to WebCore's PrivateHeaders.
Removes the old copy files phase and the icu and ForwardingHeaders folder references.

11:46 AM Changeset in webkit [31779] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Delete backing store (after a delay) when a WebView's top-level parent becomes inactive.

Reviewed by Brady Eidson.

  • WebView.cpp: (WebView::windowReceivedMessage):
10:42 AM Changeset in webkit [31778] by beidson@apple.com
  • 3 edits in trunk/LayoutTests

2008-04-10 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel

DOM Storage layout test cleanup

  • storage/domstorage/sessionstorage/iframe-events.html: Check for the layoutTestController in a manner that won't confuse Firefox
  • storage/domstorage/sessionstorage/resources/clearSessionStorage.js: Don't mutate while iterating! Clea the sessionStorage properly
10:22 AM squirrelfish edited by ggaren@apple.com
(diff)
10:10 AM squirrelfish edited by ggaren@apple.com
(diff)
9:03 AM Changeset in webkit [31777] by Adam Roben
  • 1 edit in trunk/JavaScriptCore/wtf/Assertions.cpp

Touch a file to force WTF.vcproj to build

8:25 AM Changeset in webkit [31776] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

VC++ Express build fix

  • JavaScriptCore.vcproj/WTF/WTF.vcproj: Link against user32.lib so that anyone who links against WTF.lib will get user32.lib automatically.
5:32 AM Changeset in webkit [31775] by mjs@apple.com
  • 2 edits in branches/squirrelfish/SunSpider

2008-04-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


Add newly runnable tests to --squirrelfish mode.

  • tests/LIST-SQUIRRELFISH:
4:18 AM Changeset in webkit [31774] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix problem with code generation for return with no argument


3d-cube now runs

  • kjs/nodes.cpp: (KJS::ReturnNode::emitCode):
4:14 AM Changeset in webkit [31773] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • Implement support for JS constructors


access-binary-trees and access-nbody now run.


Inexplicably a 1% speedup.

  • VM/Machine.cpp: (KJS::initializeCallFrame): (KJS::Machine::privateExecute):
  • VM/Machine.h: (KJS::Machine::):
4:06 AM QtWebKitTodo edited by bmeyer@trolltech.com
(diff)
3:29 AM Changeset in webkit [31772] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • More code cleanup in preparation for JS constructors

Factor the remaining interesting parts of JS function calls into
slideRegisterWindowForCall and scopeChainForCall.


  • VM/Machine.cpp: (KJS::slideRegisterWindowForCall): (KJS::scopeChainForCall): (KJS::Machine::privateExecute):
2:12 AM Changeset in webkit [31771] by mjs@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • Code cleanup in preparation for JS constructors
  • Renamed returnInfo to callFrame.
  • Made an enum which defines what goes where in the call frame.
  • Factored out initializeCallFrame function from op_call


  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall): (KJS::CodeGenerator::emitConstruct):
  • VM/Machine.cpp: (KJS::Machine::dumpRegisters): (KJS::initializeCallFrame): (KJS::Machine::unwindCallFrame): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • VM/Machine.h: (KJS::Machine::):
12:37 AM Changeset in webkit [31770] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-04-10 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed two bugs in register allocation for function calls:


(1) op_call used to allocate codeBlock->numVars too many registers for
each call frame, due to duplicated math. Fixing this revealed...


(2) By unconditionally calling resize(), op_call used to truncate the
register file when calling a function whose registers fit wholly within
the register file already allocated by its caller.


sunspider --squirrelfish reports no regression.


I also threw in a little extra formatting to dumpCallFrame, because it
helped me debug these issues.

  • VM/Machine.cpp: (KJS::Machine::dumpRegisters): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • VM/RegisterFile.h: (KJS::RegisterFile::shrink): (KJS::RegisterFile::grow):
  • VM/RegisterFileStack.cpp: (KJS::RegisterFileStack::popRegisterFile):

Apr 9, 2008:

11:52 PM Changeset in webkit [31769] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

2008-04-09 Brady Eidson <beidson@apple.com>

Forgot to check in this updated result with my Storage-enumeration change
earlier today

  • fast/dom/Window/window-properties-expected.txt:
11:49 PM Changeset in webkit [31768] by beidson@apple.com
  • 4 edits
    4 adds in trunk

WebCore:

2008-04-09 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel

Add the "onstorage" attribute for the body element to provide easy setup of StorageEvent handling.

Tests: storage/domstorage/sessionstorage/onstorage-attribute-markup.html

storage/domstorage/sessionstorage/onstorage-attribute-setattribute.html

  • html/HTMLAttributeNames.in: Added "onstorage"
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Handle this attribute on the body element *only* because that's where the HTML5 spec says StorageEvents go. This might change in the future

LayoutTests:

2008-04-09 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel

Add the "onstorage" attribute for the body element to provide easy setup of StorageEvent handling.

  • storage/domstorage/sessionstorage/onstorage-attribute-markup-expected.txt: Added.
  • storage/domstorage/sessionstorage/onstorage-attribute-markup.html: Added.
  • storage/domstorage/sessionstorage/onstorage-attribute-setattribute-expected.txt: Added.
  • storage/domstorage/sessionstorage/onstorage-attribute-setattribute.html: Added.
10:23 PM squirrelfish edited by oliver@apple.com
(diff)
10:22 PM squirrelfish edited by oliver@apple.com
(diff)
5:55 PM Changeset in webkit [31767] by Antti Koivisto
  • 4 edits in trunk/WebCore

2008-04-09 Antti Koivisto <Antti Koivisto>

Reviewed by Mitz.

Remove a less-than-critical bit from Node and replace it with a hash. Those bits are valuable!

Also moved setting of the guard to dispatchSimulatedClick for better consistency.
No one else calls dispatchSimulatedMouseEvent() currently and this is really a click() specific behavior.

  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchSimulatedMouseEvent): (WebCore::EventTargetNode::dispatchSimulatedClick):
  • dom/Node.cpp: (WebCore::Node::Node):
  • dom/Node.h:
5:23 PM Changeset in webkit [31766] by weinig@apple.com
  • 7 edits in trunk/WebCore

2008-04-09 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Fix for https://bugs.webkit.org/show_bug.cgi?id=18389
Crash in JSDOMWindowWrapper::mark loading digg.com

  • Add a null check to JSDOMWindowWrapper::mark for the case when the collector runs during its allocation.
  • Cleans up the creation of the window to be a little more straight forward.
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): (WebCore::JSDOMWindowBase::JSDOMWindowBase): (WebCore::JSDOMWindowBase::clear): (WebCore::JSDOMWindowBase::wrapper):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowWrapper.cpp: (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper): (WebCore::JSDOMWindowWrapper::mark):
  • bindings/js/JSDOMWindowWrapper.h:
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::initScript):
  • bindings/scripts/CodeGeneratorJS.pm:
5:21 PM Changeset in webkit [31765] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

VC++ Express build fix

  • JavaScriptCore.vcproj/testkjs/testkjs.vcproj: Link against user32.lib.
4:29 PM Changeset in webkit [31764] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-04-09 Brady Eidson <beidson@apple.com>

Rubberstamped by Mitzpettel

Added HTMLAttributeNames.in and HTMLTagNames.in to the xcodeproj for easy editing,
and sorted the html group

  • WebCore.xcodeproj/project.pbxproj:
4:20 PM Changeset in webkit [31763] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-04-09 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Mitz.

Correct build regression in Windows (Cairo) build due to changes
in FontDescription.h signature. (see http://bugs.webkit.org/show_bug.cgi?id=18394)

  • rendering/RenderThemeWin.cpp: Change for new font methods. (WebCore::RenderThemeWin::systemFont):
4:18 PM Changeset in webkit [31762] by beidson@apple.com
  • 6 edits in trunk

WebCore:

2008-04-09 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

When enumerating a Storage object, the Storage built-ins should not be included, but the
prototype chain SHOULD be included.

  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::customGetPropertyNames): Return false so the prototype chain is walked
  • storage/Storage.idl: Mark all built-ins as "DontEnum"

LayoutTests:

2008-04-09 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

When enumerating a Storage object, the Storage built-ins should not be included, but the
prototype chain SHOULD be included.

Updated the layout test to test this.

  • storage/domstorage/sessionstorage/enumerate-storage-expected.txt:
  • storage/domstorage/sessionstorage/enumerate-storage.html:
4:05 PM Changeset in webkit [31761] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Next step toward re-entrant execution of function code (global code ->
built-in function -> JS function):


Made op_ret return from Machine::privateExecute if its calling codeBlock
is NULL.


I'm checking this in by itself to demonstrate that a more clever
mechanism is not necessary for performance.


sunspider --squirrelfish reports no regression.

  • ChangeLog:
  • VM/Machine.cpp: (KJS::Machine::execute): (KJS::Machine::privateExecute):
3:36 PM Changeset in webkit [31760] by mitz@apple.com
  • 5 edits in trunk/LayoutTests

Reviewed by Sam Weinig.

  • fix more Windows layout test regressions from the font-weight patch

The patch silently introduced the ability to select some fonts
by their full name on Windows. Firefox and IE allow the same.
This made these tests use different, Windows-only fonts on
Windows. The patch removes references to these fonts from the
tests.

  • tables/mozilla/bugs/bug4093.html:
  • tables/mozilla/bugs/bug43854-1.html:
  • tables/mozilla/bugs/bug8381.html:
  • tables/mozilla/core/bloomberg.html:
2:21 PM Changeset in webkit [31759] by beidson@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-04-09 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Per the HTML5 spec, enumerating a Storage object should walk the keys in the storage area,
and should not return the built-in properties.

Test: storage/domstorage/sessionstorage/enumerate-storage.html

  • bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::customGetPropertyNames): Removed the name from an unused parameter
  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::customGetPropertyNames): Copy all of the keys into the property names array
  • storage/Storage.idl: Add CustomGetPropertyNames

LayoutTests:

2008-04-09 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Per the HTML5 spec, enumerating a Storage object should walk the keys in the storage area,
and should not return the built-in properties.

This test adds some keys to sessionStorage, enumerates the sessionStorage object, and logs
the sorted result. It should *not* contain the built in properties of the Storage object

  • storage/domstorage/sessionstorage/enumerate-storage-expected.txt: Added.
  • storage/domstorage/sessionstorage/enumerate-storage.html: Added.
1:36 PM Changeset in webkit [31758] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes the regression where resource time/size pills do not
update during a load in the Inspector.

http://bugs.webkit.org/show_bug.cgi?id=18374

Reviewed by John Sullivan.

  • page/inspector/ResourcesPanel.js:

(ResourcesPanel.prototype.show): Remove an unneeded call to _updateGraphBars,
since _updateSidebarWidth already calls _updateGraphBars.
(ResourcesPanel.prototype.addResource): Call updateGraphSideWidth.
(ResourcesPanel.prototype._updateGraphBars): Ditto.
(ResourceSidebarTreeElement.prototype.updateGraphSideWidth): Update the
style for graphSideElement with the passed in width.

11:36 AM Changeset in webkit [31757] by Antti Koivisto
  • 6 edits in trunk/WebCore

2008-04-09 Antti Koivisto <Antti Koivisto>

Reviewed by Mitz.

Avoid unnecessary calls to virtual updateStyleAttributeIfNeeded() method.

  • do the the checking in call sites instead of inside the function
  • rename to updateStyleAttribute()
  • use namedAttrMap directly (for getting id attribute) in insertedIntoDocument/removedFromDocument to avoid calling attributes() which may trigger style attribute update.


  • dom/Element.cpp: (WebCore::Element::attributes): (WebCore::Element::getAttribute): (WebCore::Element::hasAttributes): (WebCore::Element::insertedIntoDocument): (WebCore::Element::removedFromDocument):
  • dom/Element.h: (WebCore::Element::updateStyleAttribute):
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::addAttribute):
  • dom/StyledElement.cpp: (WebCore::StyledElement::updateStyleAttribute):
  • dom/StyledElement.h:
11:09 AM Changeset in webkit [31756] by ggaren@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

2008-04-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.

Next step toward re-entrant execution of function code (global code ->
built-in function -> JS function):


Made Machine::execute return a value.


Sketched out some code for Machine::execute for functions -- still
doesn't work yet, though.

sunspider --squirrelfish reports no regression.

  • VM/Machine.cpp: (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • VM/Machine.h:
  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate):
  • kjs/testkjs.cpp: (runWithScripts):
10:01 AM Changeset in webkit [31755] by timothy@apple.com
  • 2 edits in trunk/WebCore

A more complete fix for: can't drag the Web Inspector when grabbing
in the toolbar area. Makes dragging under the search field in the
empty space work again.

http://bugs.webkit.org/show_bug.cgi?id=18373

Reviewed by Adam Roben.

  • page/inspector/inspector.js:

(WebInspector.toolbarDragStart): Prevent dragging if the event target
is a toggleable toolbar item. Allow dragging when the target is a
normal toolbar item.

9:54 AM Changeset in webkit [31754] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-04-09 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


First step toward re-entrant execution of function code (global code ->
built-in function -> JS function):


Tiny bit of refactoring in the Machine class.

sunspider --squirrelfish reports no regression.

  • VM/Machine.cpp: (KJS::Machine::dumpRegisters): (KJS::Machine::unwindCallFrame): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • VM/Machine.h: (KJS::Machine::isGlobalCallFrame):
  • kjs/interpreter.cpp: (KJS::Interpreter::evaluate):
8:28 AM Changeset in webkit [31753] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Build fix

8:18 AM Changeset in webkit [31752] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Build fix

  • wtf/AlwaysInline.h: Make sure to #include Platform.h before using the macros it defines.
12:06 AM squirrelfish edited by ggaren@apple.com
(diff)
12:04 AM Changeset in webkit [31751] by ggaren@apple.com
  • 11 edits
    2 adds in branches/squirrelfish/JavaScriptCore

2008-04-08 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Support for re-entrant execution of global code (global code -> built-in
function -> global code).


Keep a stack of register files instead of just one. Globals propogate
between register files as the register files enter and exit the stack.


An activation still uses its own register file's base as its
registerBase, but the global object uses the register file *stack*'s
registerBase, which updates dynamically to match the register file at
the top of the stack.


sunspider --squirrelfish reports no regression.

Apr 8, 2008:

11:18 PM Changeset in webkit [31750] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-08 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • initial preparatory work for JS constructors


1) Allocate registers for the returnInfo block and "this" value when generating code for
op_construct. These are not used yet, but the JS branch of op_construct will use them.


2) Adjust argc and argv appropriately for native constructor calls.


3) Assign return value in a more straightforward way in op_ret since this is actually
a bit faster (and makes up for the allocation of extra registers above).

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitConstruct):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
11:18 PM Changeset in webkit [31749] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-04-08 Mark Rowe <mrowe@apple.com>

Export WTF::initializeThreading() from JavaScriptCore.

10:13 PM Changeset in webkit [31748] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-04-08 Sam Weinig <sam@webkit.org>

Reviewed by Timothy Hatcher.

Fix for http://bugs.webkit.org/show_bug.cgi?id=18373
REGRESSION: Can't drag the Web Inspector when grabbing in the toolbar area

  • page/inspector/inspector.css:
8:21 PM squirrelfish edited by oliver@apple.com
(diff)
8:21 PM Changeset in webkit [31747] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-04-08 Christian Persch <chpe@gnome.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18360
"missing sentinel" warnings in PluginDatabaseGtk.cpp

Use NULL, not 0 as sentinel in varargs calls.

  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginPathsInDirectories): (WebCore::PluginDatabase::defaultPluginDirectories):
8:21 PM squirrelfish edited by oliver@apple.com
(diff)
7:17 PM Changeset in webkit [31746] by weinig@apple.com
  • 48 edits
    2 adds in trunk

JavaScriptCore:

2008-04-04 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

First step in implementing the "split window"

  • Add a GlobalThisValue to ExecState which should be used in places that used to implement the "use the global object as this if null" rule.
  • Factor out lookupGetter/lookupSetter into virtual methods on JSObject so that they can be forwarded.
  • Make defineGetter/defineSetter virtual methods for the same reason.
  • Have PrototypeReflexiveFunction store the globalObject used to create it so that it can be used to get the correct thisObject for eval.
  • API/JSObjectRef.cpp: (JSObjectCallAsFunction):
  • JavaScriptCore.exp:
  • kjs/Activation.h:
  • kjs/ExecState.cpp: (KJS::ExecState::ExecState): (KJS::GlobalExecState::GlobalExecState):
  • kjs/ExecState.h: (KJS::ExecState::globalThisValue):
  • kjs/ExecStateInlines.h: (KJS::ExecState::ExecState): (KJS::FunctionExecState::FunctionExecState):
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::reset): (KJS::JSGlobalObject::toGlobalObject):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): (KJS::JSGlobalObject::JSGlobalObject):
  • kjs/array_instance.cpp: (KJS::CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments): (KJS::compareWithCompareFunctionForQSort):
  • kjs/array_object.cpp: (KJS::arrayProtoFuncSort): (KJS::arrayProtoFuncFilter): (KJS::arrayProtoFuncMap): (KJS::arrayProtoFuncEvery): (KJS::arrayProtoFuncForEach): (KJS::arrayProtoFuncSome):
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): (KJS::ActivationImp::toThisObject): (KJS::globalFuncEval): (KJS::PrototypeReflexiveFunction::PrototypeReflexiveFunction): (KJS::PrototypeReflexiveFunction::mark):
  • kjs/function.h: (KJS::PrototypeReflexiveFunction::cachedGlobalObject):
  • kjs/function_object.cpp: (KJS::functionProtoFuncApply): (KJS::functionProtoFuncCall):
  • kjs/nodes.cpp: (KJS::ExpressionNode::resolveAndCall): (KJS::FunctionCallValueNode::evaluate): (KJS::LocalVarFunctionCallNode::inlineEvaluate): (KJS::ScopedVarFunctionCallNode::inlineEvaluate): (KJS::FunctionCallBracketNode::evaluate): (KJS::FunctionCallDotNode::inlineEvaluate):
  • kjs/object.cpp: (KJS::JSObject::call): (KJS::JSObject::put): (KJS::tryGetAndCallProperty): (KJS::JSObject::lookupGetter): (KJS::JSObject::lookupSetter): (KJS::JSObject::toThisObject): (KJS::JSObject::toGlobalObject): (KJS::JSObject::fillGetterPropertySlot):
  • kjs/object.h:
  • kjs/object_object.cpp: (KJS::objectProtoFuncLookupGetter): (KJS::objectProtoFuncLookupSetter):
  • kjs/string_object.cpp: (KJS::replace):

WebCore:

2008-04-04 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

First step in implementing the "split window"

  • This patch takes the first step in changing the window navigation model from clearing the window properties on navigation, to replacing an inner window. This is necessary to safely perform security checks using the lexical global object.

This first step adds a new class called JSDOMWindowWrapper, which wraps
the real window object. All JS calls that would go to the window object
now go to it, which it forwards to the current inner window. To accomplish
this, the wrapper window is used as the ThisValue wherever the window was used
before.

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): (WebCore::JSDOMWindowBase::clear): Reset the wrapper windows prototype too. (WebCore::JSDOMWindowBase::toThisObject): (WebCore::JSDOMWindowBase::wrapper): (WebCore::windowProtoFuncAToB): (WebCore::windowProtoFuncBToA): (WebCore::windowProtoFuncOpen): (WebCore::windowProtoFuncSetTimeout): (WebCore::windowProtoFuncClearTimeout): (WebCore::windowProtoFuncSetInterval): (WebCore::windowProtoFuncAddEventListener): (WebCore::windowProtoFuncRemoveEventListener): (WebCore::windowProtoFuncShowModalDialog): (WebCore::windowProtoFuncNotImplemented): (WebCore::toJS):
  • bindings/js/JSDOMWindowBase.h: Fix to expect the wrapper as the thisObj.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage): (WebCore::toDOMWindow):
  • bindings/js/JSDOMWindowWrapper.cpp: Added. (WebCore::): (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper): (WebCore::JSDOMWindowWrapper::~JSDOMWindowWrapper): (WebCore::JSDOMWindowWrapper::mark): (WebCore::JSDOMWindowWrapper::className): (WebCore::JSDOMWindowWrapper::getOwnPropertySlot): (WebCore::JSDOMWindowWrapper::put): (WebCore::JSDOMWindowWrapper::deleteProperty): (WebCore::JSDOMWindowWrapper::getPropertyNames): (WebCore::JSDOMWindowWrapper::getPropertyAttributes): (WebCore::JSDOMWindowWrapper::defineGetter): (WebCore::JSDOMWindowWrapper::defineSetter): (WebCore::JSDOMWindowWrapper::lookupGetter): (WebCore::JSDOMWindowWrapper::lookupSetter): (WebCore::JSDOMWindowWrapper::toGlobalObject): (WebCore::JSDOMWindowWrapper::impl): (WebCore::JSDOMWindowWrapper::disconnectFrame): (WebCore::JSDOMWindowWrapper::clear): (WebCore::toJS):
  • bindings/js/JSDOMWindowWrapper.h: Added. (WebCore::JSDOMWindowWrapper::innerWindow): (WebCore::JSDOMWindowWrapper::setInnerWindow): (WebCore::JSDOMWindowWrapper::classInfo): Forward methods to the innerWindow.
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent):
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy): (WebCore::KJSProxy::evaluate): (WebCore::KJSProxy::clear): (WebCore::KJSProxy::initScript): (WebCore::KJSProxy::clearDocumentWrapper): (WebCore::KJSProxy::processingUserGesture): (WebCore::KJSProxy::attachDebugger):
  • bindings/js/kjs_proxy.h: (WebCore::KJSProxy::haveWindowWrapper): (WebCore::KJSProxy::windowWrapper): (WebCore::KJSProxy::globalObject): (WebCore::KJSProxy::initScriptIfNeeded): Hold onto the wrapper window instead of global object. As a convenience, keep the globalObject() as a forward to the inner window.
  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.cpp: (WebCore::Document::domWindow):
  • dom/Document.h: (WebCore::Document::defaultView):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::dispatchWindowObjectAvailable):
  • page/DOMWindow.idl:
  • page/Frame.cpp: (WebCore::Frame::~Frame): (WebCore::Frame::pageDestroyed):
6:02 PM Changeset in webkit [31745] by beidson@apple.com
  • 7 edits in trunk

JavaScriptCore:

2008-04-08 Brady Eidson <beidson@apple.com>

Encourage Windows to rebuild - AGAIN...

  • kjs/DateMath.cpp:

WebCore:

2008-04-08 Brady Eidson <beidson@apple.com>

Encourage Windows to rebuild - AGAIN...

  • WebCore.vcproj/build-generated-files.sh:
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • config.h:
5:10 PM Changeset in webkit [31744] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-04-08 Brady Eidson <beidson@apple.com>

OMG release builds didn't have this flag Windows build bots I'm so
sorry will you ever forgive me?

(Found by Stephanie, rubberstamped and landed by Brady)

  • WebCore.vcproj/WebCore.vcproj: Add ENABLE_DOM_STORAGE for release builds
5:06 PM Changeset in webkit [31743] by timothy@apple.com
  • 3 edits in trunk/WebCore

Fixes a crash in KJS::JSValue::toObject when closing
Safari with Inspector open.

http://bugs.webkit.org/show_bug.cgi?id=18371

Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::inspectedWindow): NULL check the result of toJSDOMWindow.
Return JSNull if JSDOMWindow is 0.

  • page/inspector/ElementsPanel.js:

(ElementsPanel.prototype.reset): NULL check the result of
InspectorController.inspectedWindow.

4:57 PM Changeset in webkit [31742] by Adam Roben
  • 3 edits in trunk/WebKit/win

Export callOnMainThread from WebKit.dll

Rubberstamped by Anders.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
4:07 PM Changeset in webkit [31741] by dino@apple.com
  • 1 edit
    11 adds in trunk/WebKitSite

Add some updated proposals for CSS specifications, such as
Transforms and Transitions which are already implemented in TOT.

2:57 PM Changeset in webkit [31740] by Adam Roben
  • 2 edits in trunk/WebCore

Wx build fix

  • webcore-wx.bkl: Removed entry for non-existent file.
2:52 PM Changeset in webkit [31739] by Adam Roben
  • 2 edits in trunk/WebCore

qmake build fixes

  • WebCore.pro: Removed entries for non-existent files.
2:34 PM Changeset in webkit [31738] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Mac build fix

2:28 PM Changeset in webkit [31737] by beidson@apple.com
  • 8 edits in trunk

Strongly encourage Windows bots to rebuild with DOM_STORAGE enabled

2:04 PM Changeset in webkit [31736] by timothy@apple.com
  • 31 edits
    37 adds in trunk/WebCore

Implements the majority of the Inspector UI refresh as shown at:
http://trac.webkit.org/projects/webkit/wiki/ProposedWebInspectorUIRefresh

http://bugs.webkit.org/show_bug.cgi?id=17773

A few areas that have not been re-implemented with the new UI are:

  • Search and search results.
  • Request and response headers in the Resources panel.
  • Changing the sorting, grouping or toggling small rows in Resources.
  • Image and font previews in the icon of resources.

Reviewed by Adam Roben.

  • English.lproj/InspectorLocalizedStrings.js: Updated to match actual strings.
  • WebCore.vcproj/WebCore.vcproj: Added new files.
  • page/InspectorController.cpp:

(WebCore::InspectorController::setWindowVisible): Call resetScriptObjects()
instead of individual clear functions.
(WebCore::InspectorController::populateScriptObjects): Renamed from
populateScriptResources.
(WebCore::InspectorController::addDatabaseScriptResource): Call
addDatabase instead of addResource.
(WebCore::InspectorController::removeDatabaseScriptResource): Call
removeDatabase instead of removeResource.
(WebCore::InspectorController::resetScriptObjects): Renamed from
clearScriptResources.
(WebCore::InspectorController::didCommitLoad): Call resetScriptObjects()
instead of individual clear functions.

  • page/InspectorController.h: Rename functions.
  • page/inspector/Console.js: Changed the object name to Console from

ConsolePanel. Made it inherit the prototype from View. Added code
to animate in and out.

  • page/inspector/Database.js: Removed title updating and Resource

pseudo-subclassing. Made more of a Model object that just encapsulates
data. Add a getter for table names.

  • page/inspector/DatabaseQueryView.js: Added. Implements the view seen

when selecting a Database in the DatabasesPanel. Implemented as an
interactive console-like area.

  • page/inspector/DatabaseTableView.js: Added. Implements the view seen

when selecting a Database Table in the DatabasesPanel. Matches the old
Browse view of Database panels.

  • page/inspector/DatabasesPanel.js: Changed the object name to DatabasesPanel

from DatabasePanel. Implements a panel that shows a sidebar of Databases
and Database Tables.

  • page/inspector/ElementsPanel.js: Changed the object name to ElementsPanel

from DocumentPanel. Implements the DOM tree that shows the DOM rooted at the
main resource.

  • page/inspector/FontView.js: Use this.contentElement instead of this.element.
  • page/inspector/ImageView.js: Ditto.
  • page/inspector/Images/clearConsoleButtons.png: Added.
  • page/inspector/Images/consoleButtons.png: Added.
  • page/inspector/Images/darkShadow.png: Flipped.
  • page/inspector/Images/database.png: Modified to be 32x32.
  • page/inspector/Images/databaseTable.png: Added.
  • page/inspector/Images/databasesIcon.png: Added.
  • page/inspector/Images/disclosureTriangleSmallDown.png: Added.
  • page/inspector/Images/disclosureTriangleSmallDownBlack.png: Added.
  • page/inspector/Images/disclosureTriangleSmallDownWhite.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRight.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightBlack.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightDown.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightDownBlack.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightDownWhite.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightWhite.png: Added.
  • page/inspector/Images/dockButtons.png: Added.
  • page/inspector/Images/elementsIcon.png: Added.
  • page/inspector/Images/gradientHighlightBottom.png:
  • page/inspector/Images/resourceCSSIcon.png: Added.
  • page/inspector/Images/resourceDocumentIcon.png: Added.
  • page/inspector/Images/resourcePlainIcon.png: Added.
  • page/inspector/Images/resourcesIcon.png: Added.
  • page/inspector/Images/resourcesSizeGraphIcon.png: Added.
  • page/inspector/Images/resourcesTimeGraphIcon.png: Added.
  • page/inspector/Images/scriptsIcon.png: Added.
  • page/inspector/Images/segment.png: Modified to fit the taller status bar.
  • page/inspector/Images/segmentEnd.png: Ditto.
  • page/inspector/Images/segmentHover.png: Ditto.
  • page/inspector/Images/segmentHoverEnd.png: Ditto.
  • page/inspector/Images/segmentSelected.png: Ditto.
  • page/inspector/Images/segmentSelectedEnd.png: Ditto.
  • page/inspector/Images/sidebarSelectionBackground.png: Added.
  • page/inspector/Images/sidebarSelectionBackgroundFocused.png: Added.
  • page/inspector/Images/sidebarSelectionBackgroundInactive.png: Added.
  • page/inspector/Images/sidebarSmallSelectionBackground.png: Added.
  • page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Added.
  • page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Added.
  • page/inspector/Images/statusbarBackground.png: Added.
  • page/inspector/Images/statusbarBottomBackground.png: Added.
  • page/inspector/Images/statusbarButtons.png: Added.
  • page/inspector/Images/statusbarResizerVertical.png: Added.
  • page/inspector/Images/toolbarItemSelected.png: Added.
  • page/inspector/Panel.js: Added support for toolbar items and status bar items.

Inherits from the View prototype.

  • page/inspector/Resource.js: Removed title updating and the ResourceTreeElement.

Made more of a Model object that just encapsulates data.

  • page/inspector/ResourceCategory.js: Removed the ResourceCategoryTreeElement.

Made more of a Model object that just encapsulates data.

  • page/inspector/ResourceView.js: A simple base object for Resource views

shown in ResourcesPanel. Inherits from the View prototype.

  • page/inspector/ResourcesPanel.js: Changed the object name to ResourcesPanel

from NetworkPanel. Implements the timeline graph, size graph and resource
viewing by using ResourceViews.

  • page/inspector/SidebarTreeElement.js: Added. Inherits from TreeElement and implements

a section element and a regular element that has an icon, title and optional subtitle.

  • page/inspector/SourceView.js: Use this.contentElement instead of this.element.
  • page/inspector/StylesSidebarPane.js: Null check WebInspector.mainResource.
  • page/inspector/View.js: Added. A simple object to manage showing and hiding an element.
  • page/inspector/WebKit.qrc: Added new files.
  • page/inspector/inspector.css: New and changed style rules to support the new UI.
  • page/inspector/inspector.html: New and changed HTML for the UI. The search field

is disabled until search is reimplemented.

  • page/inspector/inspector.js: Removed code related to the sidebar and back-forward lists.

Also removed code related to navigation to panels. Added code to instantiate the new
panels and setup the toolbar.

1:59 PM Changeset in webkit [31735] by mitz@apple.com
  • 5 edits in trunk/WebCore

Reviewed by Antti Koivisto.

  • fix a regression from r31313 which made the inspector highlight and yellow find highlight for table cells with extra top appear in the wrong position
  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Changed absolutePosition() to absolutePositionForContent(), to get the right position for children of table cells. This is the correct fix for this part of r31313.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absolutePosition): Reverted the change from r31313 by changing absolutePosition() to absolutePositionForContent() here too.
  • rendering/RenderObject.h: (WebCore::RenderObject::absolutePositionForContent): Changed to return the result from absolutePosition().
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::absoluteClippedOverflowRect): Turned the "else" case into an early return. (WebCore::RenderTableCell::absolutePosition): Reverted the change from r31313.
1:58 PM Changeset in webkit [31734] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Antti Koivisto.

Test: fast/block/float/br-with-clear-2.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): The existing code for handling a float-clearing <br> in incremental layout had several bugs in it: it only applied when the <br> was on the last line of the block; it assumed that the <br> was always the rightmost box on the line (which is false in right-to-left runs); and in some places it looked at the last child of the block instead of the last box on the line. Fixed these bugs.

LayoutTests:

Reviewed by Antti Koivisto.

  • fast/block/float/br-with-clear-2.html: Added.
  • platform/mac/fast/block/float/br-with-clear-2-expected.checksum: Added.
  • platform/mac/fast/block/float/br-with-clear-2-expected.png: Added.
  • platform/mac/fast/block/float/br-with-clear-2-expected.txt: Added.
1:50 PM Changeset in webkit [31733] by Adam Roben
  • 2 edits in trunk/WebCore

Mac build fix

  • WebCore.xcodeproj/project.pbxproj: Removed MainThread* files which were moved to WTF.
1:36 PM Changeset in webkit [31732] by timothy@apple.com
  • 3 edits in trunk/WebCore

Change WebInspector.elementDragStart and WebInspector.elementDragEnd to have more
state, so calling elementDragEnd does not need the listener functions. Also makes
calling elementDragStart again without elementDragEnd work correctly.

Reviewed by Adam Roben.

  • page/inspector/ElementsPanel.js:

(DocumentPanel.prototype.rightSidebarResizerDragStart): Just call WebInspector.elementDragStart.
Removed code that stored away the listeners now that elementDragStart does it.
(DocumentPanel.prototype.rightSidebarResizerDragEnd): Just call WebInspector.elementDragEnd.
Removed code that deleted listeners properties now that elementDragEnd does it.

  • page/inspector/inspector.js:

(WebInspector.sidebarResizerDragEnd): Pass less arguments to elementDragEnd.
(WebInspector.searchResultsResizerDragEnd): Ditto.
(WebInspector.elementDragStart): Store the listeners as private properties on WebInspector.
If the properties are already defined, call elementDragEnd first.
(WebInspector.elementDragEnd): Remove the event listeners using the stored properties.
Delete the private listener properties.

1:30 PM Changeset in webkit [31731] by Adam Roben
  • 1 edit
    1 add in trunk/WebCore

Build fix

  • ForwardingHeaders/wtf/MainThread.h: Added. Forgot to commit this.
1:12 PM Changeset in webkit [31730] by Adam Roben
  • 21 edits
    7 moves
    5 adds in trunk

Move callOnMainThread to WTF

JavaScriptCore:

Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • wtf/MainThread.cpp:
  • wtf/MainThread.h:
  • wtf/gtk/MainThreadGtk.cpp:
  • wtf/mac/MainThreadMac.mm:
  • wtf/qt/MainThreadQt.cpp:
  • wtf/win/MainThreadWin.cpp:
  • wtf/wx/MainThreadWx.cpp: Moved here from WebCore/platform. Replaced all instances of "WebCore" with "WTF".
  • kjs/bool_object.cpp: Touched to force JavaScriptCore.vcproj to build. to the WTF namespace.
  • wtf/ThreadingWin.cpp: (WTF::initializeThreading): Call initializeMainThread.

WebCore:

Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl: Removed MainThread files.
  • bindings/js/JSCustomSQLTransactionCallback.cpp:
  • loader/icon/IconDatabase.cpp: (WebCore::iconDatabase):
  • storage/Database.cpp: (WebCore::Database::Database):
  • storage/DatabaseTracker.cpp: Updated #includes and replaced calls to WebCore::initializeThreadingAndMainThread with calls to KJS::initializeThreading.
  • platform/MainThread.cpp: Removed.
  • platform/MainThread.h: Removed.
  • platform/gtk/MainThreadGtk.cpp: Removed.
  • platform/mac/MainThreadMac.mm: Removed.
  • platform/qt/MainThreadQt.cpp: Removed.
  • platform/win/MainThreadWin.cpp: Removed.
  • platform/wx/MainThreadWx.cpp: Removed.

WebKit/gtk:

Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • webkit/webkitprivate.cpp: Updated #include. (webkit_init): Changed to call KJS::initializeThreading.

WebKit/win:

Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • WebIconDatabase.cpp: Updated #include
12:48 PM Changeset in webkit [31729] by mrowe@apple.com
  • 2 edits in trunk/WebKitTools

2008-04-08 Mark Rowe <mrowe@apple.com>

Clean up after Brady.

  • DumpRenderTree/mac/DumpRenderTree.mm: Add an include so that NSInteger can be found.
11:56 AM Changeset in webkit [31728] by Adam Roben
  • 2 edits in trunk/BugsSite

Combine :equal operations with the following operation if they are fewer than 3 characters long

This keeps us from showing lots of small changes on long lines, just
because some letters happened to be the same.

Inspired by
http://code.google.com/p/reviewboard/source/browse/trunk/reviewboard/diffviewer/diffutils.py?r=1264#147

  • PrettyPatch/PrettyPatch.rb: (PrettyPatch::DiffSection.initialize): Remove :equal operations fewer than 3 characters long. The characters from the removed operations become part of the subsequent operation. (PrettyPatch::CodeLine.text_as_html): Don't wrap 0-length strings in <ins>/<del> tags. Also removed the @fromLineNumber.nil? and @toLineNumber.nil? checks as they are no longer reliable now that we're removing operations.
11:28 AM Changeset in webkit [31727] by sfalken@apple.com
  • 1 edit in trunk/WebKit/win/ChangeLog

Fix ChangeLog

11:28 AM Changeset in webkit [31726] by sfalken@apple.com
  • 11 edits in trunk/WebKit/win

Add missing increment/decrement COM class counts to detect leaks.


Reviewed by Adam Roben.

  • CFDictionaryPropertyBag.cpp: (CFDictionaryPropertyBag::CFDictionaryPropertyBag): (CFDictionaryPropertyBag::~CFDictionaryPropertyBag):
  • CFDictionaryPropertyBag.h:
  • HTTPHeaderPropertyBag.cpp: (HTTPHeaderPropertyBag::HTTPHeaderPropertyBag): (HTTPHeaderPropertyBag::~HTTPHeaderPropertyBag):
  • HTTPHeaderPropertyBag.h:
  • WebActionPropertyBag.cpp: (WebActionPropertyBag::WebActionPropertyBag): (WebActionPropertyBag::~WebActionPropertyBag):
  • WebDocumentLoader.cpp: (WebDocumentLoader::WebDocumentLoader): (WebDocumentLoader::~WebDocumentLoader):
  • WebDropSource.cpp: (WebDropSource::WebDropSource): (WebDropSource::~WebDropSource):
  • WebDropSource.h:
  • WebElementPropertyBag.cpp: (WebElementPropertyBag::WebElementPropertyBag): (WebElementPropertyBag::~WebElementPropertyBag):
  • WebTextRenderer.cpp: (WebTextRenderer::WebTextRenderer): (WebTextRenderer::~WebTextRenderer):
  • WebView.cpp: (WebView::updateActiveState):
11:08 AM Changeset in webkit [31725] by Adam Roben
  • 3 edits in trunk/BugsSite

Change PrettyPatch to use DiffBuilder for intra-line diffs

This gives us much prettier intra-line diffs, largely because it can
distinguish multiple changes on the same line. e.g., if a line changes
from:

const int myConstant = 0;

to

static const unsigned myConstant;

You will see that "static " was inserted, "int" changed to "unsigned",
and " = 0" was deleted.

This seems to have also gotten rid of some spurious instances of
"<ins></ins>" and "<del></del>" at the end of a line.

  • PrettyPatch/PrettyPatch.rb: (PrettyPatch::DiffSection.initialize): Use DiffBuilder instead of setChangeExtentFromLine (which had been copied from Trac's diffing code). (PrettyPatch::CodeLine):
    • Removed the changeExtent attribute
    • Added the operations attribute
    • Removed the setChangeExtentFromLine method

(PrettyPatch::CodeLine.text_as_html): Uses @operations to determine
what text to wrap in <ins> and <del> tags.

  • PrettyPatch/diff.rb: Deleted a bunch of code we don't use. (HTMLDiff::DiffBuilder.initialize): Moved code here from the old build method, but left out the calls to perform_operation, since we build the diff HTML outside of this class. (HTMLDiff::DiffBuilder.split_inputs_to_words): Removed calls to convert_html_to_list_of_words, since we're not diffing HTML.
11:06 AM Changeset in webkit [31724] by Adam Roben
  • 1 edit
    1 add in trunk/BugsSite

Check in diff.rb

This came from
http://instiki.rubyforge.org/svn/instiki/trunk/lib/diff.rb
revision 28521

  • PrettyPatch/diff.rb: Added.
11:06 AM Changeset in webkit [31723] by timothy@apple.com
  • 3 edits in trunk/WebCore

Makes the Network timeline graph resource sizes on the bar graph
when Transfer Size is selected.

http://bugs.webkit.org/show_bug.cgi?id=18351

Reviewed by Adam Roben.

  • page/inspector/Resource.js:

(WebInspector.Resource.CompareByTime): Array sorting function for time.
Copied from WebInspector.NetworkPanel.timelineEntryCompare.

  • page/inspector/ResourcesPanel.js:

(WebInspector.NetworkPanel): Set the selectedIndex of graphModeSelectElement to
make Transfer Time the default graph.
(WebInspector.NetworkPanel.prototype.changeGraphMode): Call calculator.reset,
_refreshAllResources and _updateGraphDividersIfNeeded.
(WebInspector.NetworkPanel.prototype.get totalDuration): Removed.
(WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded): Removed boundary
checking code and just call calculator.updateBoundries.
(WebInspector.NetworkPanel.prototype._updateGraphDividersIfNeeded): Add a force argument.
Use calculator.boundarySpan when computing the slice. If the slice is NaN, don't make a label.
Ask the calculator to format the label values for each slice.
(WebInspector.NetworkPanel.prototype.clearTimeline): Call calculator.reset.
(WebInspector.NetworkPanel.timelineEntryCompare): Call WebInspector.Resource.CompareByTime.

(WebInspector.NetworkTimelineEntry.prototype.refresh): Ask the panel's calculator to compute
bar graph percentages for a resource. Use those percentages to change the bar style.

(WebInspector.ResourceCalculator): Renamed from WebInspector.TimelineValueCalculator.
(WebInspector.ResourceCalculator.prototype.computeSummaryValues): Changed the Array.forEach
to a normal for loop. Work with resources instead of TimelineEntries.
(WebInspector.ResourceCalculator.prototype.computeBarGraphPercentages): Return basic bar graph
percents with start always being zero.
(WebInspector.ResourceCalculator.prototype.get boundarySpan): Return the difference between
maximumBoundary and minimumBoundary.
(WebInspector.ResourceCalculator.prototype.updateBoundries): Update maximumBoundary based on _value.
The minimumBoundary is always zero.
(WebInspector.ResourceCalculator.prototype.reset): Delete maximumBoundary and minimumBoundary.
(WebInspector.ResourceCalculator.prototype._value): Takes a Resource instead of TimelineEntry.

(WebInspector.ResourceTransferTimeCalculator): Renamed from TransferTimeCalculator.
(WebInspector.ResourceTransferTimeCalculator.prototype.computeSummaryValues): Work with resources
instead of entries. Changed the Array.forEach to a normal for loop.
(WebInspector.ResourceTransferTimeCalculator.prototype.computeBarGraphPercentages): Return percents
just like WebInspector.NetworkTimelineEntry.prototype.refresh was doing before.
(WebInspector.ResourceTransferTimeCalculator.prototype.updateBoundries): Update minimumBoundary and
maximumBoundary just like the checks WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded was doing.

(WebInspector.ResourceTransferSizeCalculator): Renamed from TransferSizeCalculator.
(WebInspector.ResourceTransferSizeCalculator.prototype._value): Takes a Resource instead of TimelineEntry.

10:29 AM Changeset in webkit [31722] by beidson@apple.com
  • 6 edits in trunk

WebKitTools:

2008-04-08 Brady Eidson <beidson@apple.com>

Reviewed by Mitzpettel

Fixed http://bugs.webkit.org/show_bug.cgi?id=18302
-WebArchive subresources dump in random order, intermittent failures

  • DumpRenderTree/mac/DumpRenderTree.mm: (compareResourceURLs): Sorting function based on the resource URLs (serializeWebArchiveToXML): Sort the subresource array

LayoutTests:

2008-04-08 Brady Eidson <beidson@apple.com>

Reviewed by Mitzpettel

Fixed http://bugs.webkit.org/show_bug.cgi?id=18302
-WebArchive subresources dump in random order, intermittent failures

Now that a DRT fix has set the order, these 3 tests needed new results

  • webarchive/test-css-import-expected.txt:
  • webarchive/test-duplicate-resources-expected.txt:
  • webarchive/test-frameset-expected.txt:
10:27 AM Changeset in webkit [31721] by rwlbuis@webkit.org
  • 2 edits in trunk/WebCore

Fix the SVG build.

  • svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::filterEffect):
9:50 AM Changeset in webkit [31720] by alice.liu@apple.com
  • 2 edits in trunk/WebCore

2008-04-08 Alice Liu <alice.liu@apple.com>

Reviewed by Dan Bernstein.


fixed http://bugs.webkit.org/show_bug.cgi?id=18329
REGRESSION: Assertion failure in -[WebViewFactory endOfTextMarkerRange:]
when invoking the Dictionary pop-up

  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): In the section of code where WebCore-equivalents of mac-specific types are prepared, some functions weren't meant to operate on the default initialized values. Checking for nil in certain places will better maintain the original pre-refactoring code path.
1:15 AM Changeset in webkit [31719] by mitz@apple.com
  • 2 edits in trunk/WebCore

2008-04-08 Dan Bernstein <mitz@apple.com>

  • fix most of the Windows layout test regressions from the font-weight patch
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::matchImprovingEnumProc): Changed to be symmetric with respect to italics: always prefer (reject) a candidate that changes the italics trait to (from) the desired value. (WebCore::createGDIFont): Added code to set more members of the LOGFONT structure before creating the font.
12:20 AM Changeset in webkit [31718] by rwlbuis@webkit.org
  • 4 edits in trunk/WebCore

Reviewed by Ollie.

http://bugs.webkit.org/show_bug.cgi?id=18354
feFlood in attribute should be removed according to SVG 1.1 Errata

Remove the in attribute from SVGFEFlood DOM.

Apr 7, 2008:

11:24 PM Changeset in webkit [31717] by ggaren@apple.com
  • 3 edits
    1 add in branches/squirrelfish/SunSpider

2008-04-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


A little more love for --squirrelfish mode:


Fixed a misplaced sort. Results properly sort now.


Added a test list just for squirrelfish, and updated it to include
all currently passing SunSpider tests.


Fixed the pruning regexp to match 3d-morph.js.

  • sunspider:
11:13 PM Changeset in webkit [31716] by ggaren@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

fix changelog, bokay?

11:12 PM Changeset in webkit [31715] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-04-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Fixed crasing SunSpider tests.


Let's just pretend this never happened, bokay?

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
  • VM/CodeGenerator.h:
  • VM/RegisterFile.cpp: (KJS::RegisterFile::addGlobals):
10:24 PM Changeset in webkit [31714] by ggaren@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

2008-04-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Restored dumping of generated code as a command-line switch:
run-testkjs -d will do it.

10:20 PM Changeset in webkit [31713] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

2008-04-07 Brady Eidson <beidson@apple.com>

Rubberstamped by Geoff Garen

Forgot to update these results after I added the Prototype

  • fast/dom/Window/window-properties-expected.txt:
9:53 PM Changeset in webkit [31712] by ggaren@apple.com
  • 12 edits
    2 adds in branches/squirrelfish/JavaScriptCore

2008-04-07 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Next step toward supporting re-entrant evaluation: Moved register file
maintenance code into a proper "RegisterFile" class.


There's a subtle change to the register file's internal layout: for
global code / the global object, registerOffset is always 0 now. In
other words, all register counting starts at 0, not 0 + (number of
global variables). The helps simplify accounting when the number of
global variables changes.

8:12 PM Changeset in webkit [31711] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/GNUmakefile.am

build fix for gtk. hopefully the only one

8:01 PM Changeset in webkit [31710] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

2008-04-07 Brady Eidson <beidson@apple.com>

I can't fathom why the new storage tests could be hanging, but alas they are on Windows
Disable until I can figure out why

  • platform/win/Skipped:
8:00 PM Changeset in webkit [31709] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/WebCoreSources.bkl

I "objeect" to that previous build fix

7:56 PM squirrelfish edited by ggaren@apple.com
(diff)
7:54 PM Changeset in webkit [31708] by beidson@apple.com
  • 2 edits in trunk/WebKitTools

2008-04-07 Brady Eidson <beidson@apple.com>

OMG, BUILD - please!

  • Scripts/build-webkit:
7:50 PM squirrelfish edited by oliver@apple.com
(diff)
6:57 PM Changeset in webkit [31707] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-04-07 Brady Eidson <beidson@apple.com>

Touch JSStorageCustom.cpp to try to FORCE a recompile on bots that haven't gotten the message

  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::customPut):
6:28 PM Changeset in webkit [31706] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

qt build fix. third time is hopefully the charm.

6:23 PM Changeset in webkit [31705] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/WebCoreSources.bkl

attempt at wx build fix

6:16 PM Changeset in webkit [31704] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

another attempt at qt build fix

6:08 PM Changeset in webkit [31703] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/WebCore.pro

attempt at fixing qt build

6:01 PM Changeset in webkit [31702] by beidson@apple.com
  • 5 edits in trunk

WebCore:

2008-04-07 Brady Eidson <beidson@apple.com>

Reviewed by John Honeycutt

ENABLE_DOM_STORAGE for Windows

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/build-generated-files.sh:

WebKit/win:

2008-04-07 Brady Eidson <beidson@apple.com>

Reviewed by John Honeycutt

ENABLE_DOM_STORAGE for Windows

  • WebKit.vcproj/WebKit.vcproj:
5:44 PM Changeset in webkit [31701] by oliver@apple.com
  • 13 edits in branches/squirrelfish/JavaScriptCore

Bug 18338: Support exceptions in SquirrelFish <http://bugs.webkit.org/show_bug.cgi?id=18338>

Reviewed by Geoff

Initial support for exceptions in SquirrelFish, only supports finalisers in the
simple cases (eg. exceptions and non-goto/return across finaliser boundaries).
This doesn't add the required exception checks to existing code, it merely adds
support for throw, catch, and the required stack unwinding.

5:21 PM Changeset in webkit [31700] by beidson@apple.com
  • 4 edits in trunk

JavaScriptCore:

2008-04-07 Brady Eidson <beidson@apple.com>

Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project

  • Configurations/JavaScriptCore.xcconfig:

WebKit/mac:

2008-04-07 Brady Eidson <beidson@apple.com>

Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project

  • Configurations/WebKit.xcconfig:
5:16 PM Changeset in webkit [31699] by beidson@apple.com
  • 3 edits in trunk/WebCore

2008-04-07 Brady Eidson <beidson@apple.com>

Fix build for builds without DOM_STORAGE enabled

  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchStorageEvent):
  • dom/EventTargetNode.h:
4:47 PM Changeset in webkit [31698] by alice.liu@apple.com
  • 6 edits
    1 add in trunk/WebCore

2008-04-07 Alice Liu <alice.liu@apple.com>

Reviewed by Beth Dakin.

  • WebCore.vcproj/WebCore.vcproj:

Added a few cross-platform accessibility source files


  • WebCore.xcodeproj/project.pbxproj:

Added AXObjectCache.cpp


  • page/AXObjectCache.cpp: Added.

These were made cross-platform:

(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::get):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::childrenChanged):


  • page/AXObjectCache.h:

These were made platform-specific

(WebCore::AXObjectCache::isIDinUse):
(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::postNotificationToElement):


  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::detach):

Since only the mac has a wrapper for now, so temporarily
wrapping this line in #if PLATFORM(MAC)


(WebCore::AccessibilityObject::removeAXObjectID):

Since only the mac has uses Accessibility Object IDs,
wrap this line in #if PLATFORM(MAC)


  • page/mac/AXObjectCacheMac.mm:

Detaching and attaching the wrapper is platform-specific
since each wrapper class is platform-specific.

(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):

4:11 PM Changeset in webkit [31697] by beidson@apple.com
  • 29 edits
    19 adds in trunk

WebCore:

2008-04-07 Brady Eidson <beidson@apple.com>

Lovingly reviewed by Sam Weinig

<rdar://problem/5797684> - HTML5 SessionStorage and underpinnings for LocalStorage

Tests: storage/domstorage/sessionstorage/iframe-events.html

storage/domstorage/sessionstorage/index-get-and-set.html
storage/domstorage/sessionstorage/simple-events.html
storage/domstorage/sessionstorage/simple-usage.html
storage/domstorage/sessionstorage/window-open.html
storage/domstorage/window-attributes-exist.html

  • Configurations/WebCore.xcconfig: Define to enable DOM_STORAGE
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Add optionalSessionStorage case
  • bindings/js/JSEventCustom.cpp: (WebCore::toJS): Add StorageEvent case
  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::canGetItemsForName): (WebCore::JSStorage::nameGetter): If the property doesn't exist on the object, call through to getItem() (WebCore::JSStorage::customPut): If the property doesn't exist on the object, call through to setItem()
  • dom/Event.cpp: (WebCore::Event::isStorageEvent):
  • dom/Event.h:
  • dom/EventNames.h: Add "storage"
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchStorageEvent):
  • dom/EventTargetNode.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): After a new page has been created, set its SessionStorage object to a copy of the previous Page's
  • page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): Accessor to pull the appropriate OriginStorage out of the Page's SessionStorage. (WebCore::DOMWindow::localStorage): To be filled in later
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalSessionStorage): Return the session Storage object for this window to mark, if any exists
  • page/DOMWindow.idl:
  • page/Page.cpp: (WebCore::Page::sessionStorage): Create and/or return the SessionStorage for this Page. (WebCore::Page::setSessionStorage): Set the SessionStorage for this Page - used in FrameLoader after a Window.open();
  • page/Page.h:
  • storage/OriginStorage.cpp: Intermediate layer between individual Storage objects, and shared StorageMap objects. There is one OriginStorage object per SecurityOrigin in each "unique set of storage areas", such as the SessionStorage. This layer forwards DOM-level calls down to the backing StorageMap, handles copy-on-write along with the StorageMap, fires StorageEvents to the DOM when a value is changed, and will eventually handle quota enforcement. (WebCore::OriginStorage::create): (WebCore::OriginStorage::OriginStorage): (WebCore::OriginStorage::~OriginStorage): (WebCore::OriginStorage::copy): (WebCore::OriginStorage::length): (WebCore::OriginStorage::key): (WebCore::OriginStorage::getItem): (WebCore::OriginStorage::setItem): (WebCore::OriginStorage::removeItem): (WebCore::OriginStorage::contains): (WebCore::OriginStorage::dispatchStorageEvent):
  • storage/OriginStorage.h:
  • storage/SessionStorage.cpp: From the HTML5 spec: "Each top-level browsing context has a unique set of session storage areas, one for each origin." This object represents that "unique set of session storage areas", and creates or returns the Storage object for the requested SecurityOrigin (WebCore::SessionStorage::create): (WebCore::SessionStorage::SessionStorage): (WebCore::SessionStorage::copy): (WebCore::SessionStorage::originStorage):
  • storage/SessionStorage.h: (WebCore::SessionStorage::page):
  • storage/Storage.cpp: Representation of the DOM-level object, wrapped by JSStorage. There is a unique Storage object per Window (per-Frame) that wraps a specific shared OriginStorage object. (WebCore::Storage::create): (WebCore::Storage::Storage): (WebCore::Storage::length): (WebCore::Storage::key): (WebCore::Storage::getItem): (WebCore::Storage::setItem): (WebCore::Storage::removeItem): (WebCore::Storage::contains):
  • storage/Storage.h:
  • storage/Storage.idl:
  • storage/StorageEvent.cpp: (WebCore::StorageEvent::StorageEvent): (WebCore::StorageEvent::initStorageEvent):
  • storage/StorageEvent.h: (WebCore::StorageEvent::isStorageEvent):
  • storage/StorageMap.cpp: The physical map of key/value pairs that is shared between OriginStorage objects, and implements copy-on-write semantics whenever a value is changed (WebCore::StorageMap::create): (WebCore::StorageMap::StorageMap): (WebCore::StorageMap::copy): (WebCore::StorageMap::invalidateIterator): Used to support the key(unsigned i) part of the API (WebCore::StorageMap::setIteratorToIndex): Ditto (WebCore::StorageMap::length): (WebCore::StorageMap::key): (WebCore::StorageMap::getItem): (WebCore::StorageMap::setItem): (WebCore::StorageMap::removeItem): (WebCore::StorageMap::contains):
  • storage/StorageMap.h:

LayoutTests:

2008-04-07 Brady Eidson <beidson@apple.com>

Begrudgingly reviewed by Sam Weinig

Initial suite of layout tests for HTML5 key/value SessionStorage (<rdar://problem/5797684>)

  • fast/dom/Window/window-properties-expected.txt:
  • storage/domstorage: Added.
  • storage/domstorage/localstorage: Added.
  • storage/domstorage/sessionstorage: Added.
  • storage/domstorage/sessionstorage/iframe-events-expected.txt: Added.
  • storage/domstorage/sessionstorage/iframe-events.html: Added.
  • storage/domstorage/sessionstorage/index-get-and-set-expected.txt: Added.
  • storage/domstorage/sessionstorage/index-get-and-set.html: Added.
  • storage/domstorage/sessionstorage/resources: Added.
  • storage/domstorage/sessionstorage/resources/clearSessionStorage.js: Added.
  • storage/domstorage/sessionstorage/resources/iframe-events-second.html: Added.
  • storage/domstorage/sessionstorage/resources/window-open-second.html: Added.
  • storage/domstorage/sessionstorage/simple-events-expected.txt: Added.
  • storage/domstorage/sessionstorage/simple-events.html: Added.
  • storage/domstorage/sessionstorage/simple-usage-expected.txt: Added.
  • storage/domstorage/sessionstorage/simple-usage.html: Added.
  • storage/domstorage/sessionstorage/window-open-expected.txt: Added.
  • storage/domstorage/sessionstorage/window-open.html: Added.
  • storage/domstorage/window-attributes-exist-expected.txt: Added.
  • storage/domstorage/window-attributes-exist.html: Added.
3:18 PM Changeset in webkit [31696] by timothy@apple.com
  • 2 edits in trunk/WebCore

Renamed various functions that are internal to the Console object to have an underscore prefix.

Rubber-stamped by Adam Roben.

  • page/inspector/Console.js:
3:10 PM Changeset in webkit [31695] by timothy@apple.com
  • 3 edits in trunk/WebCore

Renamed various functions and properties that are internal to an object to have an underscore prefix.

Rubber-stamped by Adam Roben.

  • page/inspector/Resource.js:
  • page/inspector/ResourcesPanel.js:
3:04 PM Changeset in webkit [31694] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

  • wtf/ThreadingWin.cpp: Back out some changes I didn't mean to land.
2:45 PM Changeset in webkit [31693] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes coding style for two utility getters.

  • page/inspector/utilities.js: Fix coding style for the

totalOffsetLeft and totalOffsetTop getters.

2:34 PM Changeset in webkit [31692] by sullivan@apple.com
  • 4 edits in trunk/WebKit

2008-04-07 John Sullivan <sullivan@apple.com>

Reviewed by Tim


  • made the JavaScript text input panel not block Quit (part of 4133196)
  • English.lproj/WebJavaScriptTextInputPanel.nib/classes.nib:
  • English.lproj/WebJavaScriptTextInputPanel.nib/info.nib:
  • English.lproj/WebJavaScriptTextInputPanel.nib/keyedobjects.nib: Made the panel be a NonBlockingPanel
2:20 PM squirrelfish edited by oliver@apple.com
(diff)
2:04 PM Changeset in webkit [31691] by Adam Roben
  • 3 edits in trunk/WebKit/win

Export some more WTF functions from WebKit.dll

Reviewed by Alexey Proskuryakov.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
2:04 PM Changeset in webkit [31690] by Adam Roben
  • 6 edits in trunk/JavaScriptCore

Add WTF::isMainThread

Reviewed by Alexey Proskuryakov.

  • wtf/Threading.h: Declare the new function.
  • wtf/ThreadingGtk.cpp: (WTF::initializeThreading): Initialize the main thread identifier. (WTF::isMainThread): Added.
  • wtf/ThreadingNone.cpp: Ditto ThreadingGtk.cpp. (WTF::initializeThreading): (WTF::isMainThread):
  • wtf/ThreadingPthreads.cpp: Ditto. (WTF::initializeThreading): (WTF::isMainThread):
  • wtf/ThreadingWin.cpp: Ditto. (WTF::initializeThreading): (WTF::isMainThread):
1:08 PM Changeset in webkit [31689] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • platform/mac/WebFontCache.mm: (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to match by family name first, and only if that fails, look for a match by full (PostScript) name. Reverted the full name-based match logic to only distinguish between the broad categories of "bold" and "not bold".
1:01 PM Changeset in webkit [31688] by timothy@apple.com
  • 4 edits in trunk/WebCore

When the WebInspector.currentFocusElement changes, move the caret selection to be inside the focused element. This makes sure the caret moves in and out of the console when the focus changes.

Reviewed by Adam Roben.

  • page/inspector/TextPrompt.js:

(TextPrompt.prototype.isCaretInsidePrompt): Just call isInsertionCaretInside.

  • page/inspector/inspector.js:

(WebInspector.set currentFocusElement): Make a caret selection inside
the focused element if there isn't a range selection and there isn't
already a caret selection inside.

  • page/inspector/utilities.js:

(Element.prototype.isInsertionCaretInside): Added. Tests if the
selection is collapsed and is inside the element.

12:17 PM Changeset in webkit [31687] by beidson@apple.com
  • 6 edits
    1 add in trunk/WebCore

2008-04-07 Brady Eidson <beidson@apple.com>

Reviewed by Tim Hatcher

Add 1 more empty file for upcoming work, as a separate step, to keep all build-systems working

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSStorageCustom.cpp: Added.
11:50 AM Changeset in webkit [31686] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Dan Bernstein.

<rdar://problem/5574946> Inline frame ISO-8859-1 even though parent character set is UTF-8

Test: fast/loader/inherit-charset-to-empty-frame.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::write): Treat an empty m_encoding the same as null one.
10:33 AM Changeset in webkit [31685] by timothy@apple.com
  • 8 edits in trunk/WebCore

Rename some Inspector panel objects to facilitate the up-coming
UI refresh changes.

Reviewed by Adam Roben.

  • page/inspector/DatabasesPanel.js: Renamed ResourcePanel to ResourceView.
  • page/inspector/ElementsPanel.js: Renamed SourcePanel to SourceView.
  • page/inspector/FontView.js: Renamed FontPanel to FontView.
  • page/inspector/ImageView.js: Renamed ImagePanel to ImageView.
  • page/inspector/Resource.js: Instantiate the new "View" named objects.
  • page/inspector/ResourceView.js: Renamed ResourcePanel to ResourceView.
  • page/inspector/SourceView.js: Renamed SourcePanel to SourceView.
10:14 AM Changeset in webkit [31684] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fix an exception and remove code that was missed when TextPrompt
was added. This makes the Console work again.

Reviewed by Adam Roben.

  • page/inspector/Console.js: Removed code that used non-existent

properties.

9:41 AM Changeset in webkit [31683] by timothy@apple.com
  • 2 edits in trunk/WebCore

Remove the workaround for bug 11399 now that it is fixed.

Reviewed by Adam Roben.

  • page/inspector/Console.js: Removed the 'with' statement

around the eval and call eval directly on the inspected window.

6:34 AM Changeset in webkit [31682] by alp@webkit.org
  • 3 edits in trunk/WebCore

2008-04-07 Luca Bruno <lethalman88@gmail.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18297
Bug #18297 - Acid2/Acid3 -tests don't load load with soup.

Fixes in the libsoup backend: data url parsing, acid tests, redirects,
response headers handling and re-entrancy issues on job cancellation.
Thanks to Dan Winship for libsoup hints.

  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): add m_cancelled and remove unuseful m_session
  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback): added to route redirects to webkit (WebCore::dataCallback): add response headers, some checks and fix re-entrancy (WebCore::parseDataUrl): be an idle callback for the main loop (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::cancel): fixed re-entrancy
5:34 AM HackingGtk edited by alp@atoker.com
Typo fixes from timeless (diff)
5:24 AM Changeset in webkit [31681] by ap@webkit.org
  • 4 edits in trunk

Build fix, rubber-stamped and landed by ap.

  • configure.ac: Add autoconf flag for HTML5 client-side session and persistent storage support.

WebCore:

  • GNUmakefile.am: Fix dom_storage conditional and typo: ENABLE_DOM_STORAG.
12:07 AM Changeset in webkit [31680] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-04-07 Brady Eidson <beidson@apple.com>

Whoops, idls don't go in the vcproj!

  • WebCore.vcproj/WebCore.vcproj:

Apr 6, 2008:

11:55 PM Changeset in webkit [31679] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-04-06 Brady Eidson <beidson@apple.com>

Attempt to tickle Windows build into accepting this idl

  • storage/StorageEvent.idl:
11:39 PM Changeset in webkit [31678] by beidson@apple.com
  • 7 edits
    12 adds in trunk/WebCore

2008-04-06 Brady Eidson <beidson@apple.com>

Reviewed by Sam

HTML5 Session and Local Storage

Land a bunch of empty files and interfaces to keep things building while
I finish off the rest of the implementation of SessionStorage

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • storage/OriginStorage.cpp: Added.
  • storage/OriginStorage.h: Added.
  • storage/SessionStorage.cpp: Added.
  • storage/SessionStorage.h: Added.
  • storage/Storage.cpp: Added. (WebCore::Storage::length): (WebCore::Storage::key): (WebCore::Storage::getItem): (WebCore::Storage::setItem): (WebCore::Storage::removeItem):
  • storage/Storage.h: Added.
  • storage/Storage.idl: Added.
  • storage/StorageEvent.cpp: Added.
  • storage/StorageEvent.h: Added. (WebCore::StorageEvent::key): (WebCore::StorageEvent::oldValue): (WebCore::StorageEvent::newValue): (WebCore::StorageEvent::uri): (WebCore::StorageEvent::source): (WebCore::StorageEvent::initStorageEvent):
  • storage/StorageEvent.idl: Added.
  • storage/StorageMap.cpp: Added.
  • storage/StorageMap.h: Added.
11:33 PM Changeset in webkit [31677] by ap@webkit.org
  • 5 edits in trunk/JavaScriptCore

Reviewed by Darin.

Make UString thread-safe.

No change on SunSpider total, although individual tests have changed a lot, up to 3%.

  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): Call UString::null() to initialize a static.


  • kjs/identifier.cpp: (KJS::CStringTranslator::translate): (KJS::UCharBufferTranslator::translate): Use "true" for a boolean value instead of 1, because it's C++.
  • kjs/ustring.h: (KJS::CString::adopt): Added a method to create from a char* buffer without copying. (KJS::UString::Rep::ref): Removed an assertion for JSLock::lockCount, as it's no longer necessary to hold JSLock when working with strings. (KJS::UString::Rep::deref): Ditto. (KJS::UString::Rep::isStatic): Added a field to quickly determine that this is an empty or null static string.
  • kjs/ustring.cpp: (KJS::): Removed normalStatBufferSize and statBufferSize, as there is no reason to have such an advanced implementation of a debug-only ascii() method. Removed a long-obsolete comment about UChar. (KJS::UString::Rep::createCopying): Removed an assertion for JSLock::lockCount. (KJS::UString::Rep::create): Ditto. (KJS::UString::Rep::destroy): Ditto. Do not do anything for static null and empty strings, as refcounting is not reliable for those. Reordered branches for a noticeable speed gain - apparently this functiton is hot enough for SunSpider to see an effect from this! (KJS::UString::null): Moved a star, added a comment. (KJS::UString::cstring): Reimplemented to not call ascii(), which is not thread-safe. (KJS::UString::ascii): Simplified statBuffer handling logic. (KJS::UString::toDouble): Use cstring() instead of ascii().
5:09 PM Changeset in webkit [31676] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-04-06 Luca Bruno <lethalman88@gmail.com>

Reviewed by Alp Toker.

Fix webkit_web_view_get_transparent() return value.

  • webkit/webkitwebview.cpp:
5:06 PM Changeset in webkit [31675] by ggaren@apple.com
  • 11 edits in branches/squirrelfish/JavaScriptCore

2008-04-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


First step toward supporting re-entrant evaluation: Switch register
clients from using "registers", a pointer to a register vector, to
"registerBase", an indirect pointer to the logical first entry in the
register file. (The logical first entry is the first entry that is not
a global variable).


With a vector, offsets into the register file remain good when the
underlying buffer reallocates, but they go bad when the logical
first entry moves. (The logical first entry moves when new global
variables get added to the beginning of the register file.) With an
indirect pointer to the logical first entry, offsets will remain good
regardless.

1.4% speedup on sunspider --squirrelfish. I suspect this is due to
reduced allocation when creating closures, and reduced indirection
through the register vector.

  • wtf/Vector.h: Added an accessor for an indirect pointer to the vector's buffer, which we currently use (incorrectly) for registerBase. This is temporary scaffolding to allow us to change client code without changing behavior.
3:26 PM squirrelfish edited by weinig@apple.com
Remove ReadModifyDotNode (diff)
3:25 PM Changeset in webkit [31674] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-06 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Implement codegen for ReadModifyDotNode.

  • kjs/nodes.cpp: (KJS::ReadModifyDotNode::emitCode):
  • kjs/nodes.h:
3:19 PM squirrelfish edited by weinig@apple.com
Re-add NewExprNode as it still needs a bit of love (diff)
2:51 PM squirrelfish edited by weinig@apple.com
Remove another LocalVar nodes as we don't need to emit anything for them (diff)
2:50 PM squirrelfish edited by weinig@apple.com
Remove more nods (diff)
2:49 PM Changeset in webkit [31673] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-06 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Fix codegen for PostIncDotNode and implement codegen for PostIncBracketNode,
PostDecBracketNode and PostDecDotNode.

  • kjs/nodes.cpp: (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode):
  • kjs/nodes.h:
12:35 PM squirrelfish edited by weinig@apple.com
Remove more nodes that now have emitCode support (diff)
12:34 PM squirrelfish edited by weinig@apple.com
Remove LocalVar nodes as we don't need to emit anything for them (diff)
12:27 PM Changeset in webkit [31672] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-04-06 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Implement codegen for PreDecResolveNode, PreIncBracketNode, PreDecBracketNode,
PreIncDotNode and PreDecDotNode. This required adding one new op code, op_pre_dec.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitPreDec):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::PreDecResolveNode::emitCode): (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::PreIncDotNode::emitCode): (KJS::PreDecDotNode::emitCode):
  • kjs/nodes.h:
10:51 AM Changeset in webkit [31671] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-04-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Improved register dumping, plus a liberal smattering of "const". Here's
what the new format looks like:

(gdb) call (void)dumpCallFrame(codeBlock, scopeChain, registers->begin(), r)
4 instructions; 48 bytes at 0x509210; 3 locals (2 parameters); 1 temporaries

[ 0] load lr1, undefined(@k0)
[ 3] load lr1, 2(@k1)
[ 6] add tr0, lr2, lr1
[ 10] ret tr0

Constants:

k0 = undefined
k1 = 2

Register frame:

----------------------------------------

use | address | value

----------------------------------------
[return info] | 0x80ac08 | 0x5081c0
[return info] | 0x80ac0c | 0x508e90
[return info] | 0x80ac10 | 0x504acc
[return info] | 0x80ac14 | 0x2
[return info] | 0x80ac18 | 0x0
[return info] | 0x80ac1c | 0x7
[return info] | 0x80ac20 | 0x0
----------------------------------------
[param] | 0x80ac24 | 0x1
[param] | 0x80ac28 | 0x7
[var] | 0x80ac2c | 0xb
[temp] | 0x80ac30 | 0xf

12:58 AM Changeset in webkit [31670] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-04-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Support for evaluating multiple scripts in the same global environment.
(Still don't support re-entrant evaluation yet.)

The main changes here are:

(1) Obey the ECMA 10.1.3 rules regarding how to resolve collisions when
a given symbol is declared more than once. (This patch fixes the same
issue for function code, too.)


(2) In the case of var and/or function collisions, reuse the existing
storage slot. For global code, this is required for previously
generated instructions to continue to work. For function code, it's
more of a "nice to have": it makes register layout in the case of
collisions easier to understand, and has the added benefit of saving
memory.


(3) Allocate slots in the CodeGenerator's m_locals vector in parallel
to register indexes in the symbol table. This ensures that, given an
index in the symbol table, we can find the corresponding RegisterID
without hashing, which speeds up codegen.


I moved responsibility for emitting var and function initialization
instructions into the CodeGenerator, because bookkeeping in cases where
var, function, and/or parameter names collide requires a lot of
internal knowledge about the CodeGenerator.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addVar): Removed responsibility for checking whether a var declaration overwrites "arguments", because the check is inappropriate for global code, which may not have a pre-existing "arguments" symbol in scope. Also changed this function to return a boolean indicating whether addVar actually created a new RegisterID, or just reused an old one.


(KJS::CodeGenerator::CodeGenerator): Split out the constructors for
function code and global code, since they're quite different now.


(KJS::CodeGenerator::registerForLocal): This function does its job
without any hashing now.


  • VM/Machine.cpp: Move old globals and update "r" before executing a new script. That way, old globals stay at a constant offset from "r", and previously optimized code still works.


  • VM/RegisterID.h: Added the ability to allocate a RegisterID before initializing its index field. We use this for parameters now.
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableGet): Changed the ungettable getter ASSERT to account for the fact that symbol indexes are all negative.

Apr 5, 2008:

11:50 PM squirrelfish edited by weinig@apple.com
Remove InNode (diff)
11:50 PM Changeset in webkit [31669] by weinig@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

Fix ChangeLog

11:48 PM Changeset in webkit [31668] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-04-05 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Implement codegen for ForInNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitIn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::InNode::emitCode):
  • kjs/nodes.h:
5:56 PM Changeset in webkit [31667] by kevino@webkit.org
  • 2 edits in trunk/WebKit/wx

Rubber stamped by Mark Rowe.

Don't assume wxWebKit to be part of the wx package. This allows us to run it from any directory on the PYTHONPATH rather than having to copy files into the wxPython directory.

5:38 PM Changeset in webkit [31666] by kevino@webkit.org
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

Add CSS to the MIMETypeRegistry, which ensures CSS files get the right MIMEType when loaded from disk.

4:17 PM squirrelfish edited by weinig@apple.com
DeleteNodes now work (diff)
3:58 PM Changeset in webkit [31665] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-04-05 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

  • Implement codegen for DeleteResolveNode, DeleteBracketNode, DeleteDotNode and DeleteValueNode.
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitDeletePropId): (KJS::CodeGenerator::emitDeletePropVal): (KJS::CodeGenerator::emitPutPropIndex):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::DeleteResolveNode::emitCode): (KJS::DeleteBracketNode::emitCode): (KJS::DeleteDotNode::emitCode): (KJS::DeleteValueNode::emitCode):
  • kjs/nodes.h:
1:43 PM Changeset in webkit [31664] by rwlbuis@webkit.org
  • 4 edits
    4 adds in trunk

Reviewed by Eric.

http://bugs.webkit.org/show_bug.cgi?id=17129
Incorrect style resolution in CSS styled SVG, with multiple style sheets
Fix the style resolution on the svg by ensuring xml-stylesheet pseudo
attributes title and alternate are transferred to the stylesheet
created from the ProcessingInstruction.

9:05 AM Changeset in webkit [31663] by mitz@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height

Test: fast/repaint/table-two-pass-layout-overpaint.html

  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Changed the first pass over the sections to only call calcRowHeight() and recalcOuterBorder() but not layoutRows(), because the section's final height is unknown yet. Removed caching of m_height before the call to calcHeight(), because for non-positioned tables, calcHeight() only calculates the vertical margins and does not change m_height. Added a second pass over the sections, after the table height is known, to call layoutRows() on each section, with additional height if needed. Did minimal cleanup including caching the value of collapseBorders() in a local variable and changing a while loop into a for loop.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): Changed to return the height of the section based on row height calculations. (WebCore::RenderTableSection::layoutRows): Removed a call to recalcOuterBorder(), which is now done by RenderTable::layout().
  • rendering/RenderTableSection.h: Changed calcRowHeight() to have a return value.

LayoutTests:

Reviewed by Darin Adler.

  • repaint test for <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height
  • fast/repaint/table-two-pass-layout-overpaint.html: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.checksum: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.txt: Added.
5:33 AM Changeset in webkit [31662] by Simon Hausmann
  • 3 edits in trunk/WebCore

Simon Hausmann <shausman@trolltech.com>

Fixes: Disable "unimplemented" warnings when building WebKit inside Qt.

5:24 AM Changeset in webkit [31661] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Olivier Goffart <ogoffart@trolltech.com>

Fixes: Right clicking an image and choosing "copy image" doesnt put anything in the clipboard.

5:24 AM Changeset in webkit [31660] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Olivier Goffart <ogoffart@trolltech.com>

Fixes: Right click, and "Open image" open the link instead of the image.

5:23 AM Changeset in webkit [31659] by Simon Hausmann
  • 2 edits in trunk/WebCore

Simon Hausmann <Simon Hausmann>

Rubber-stamped by Holger

Revert "* Load images incrementally. This will show warnings on the console"
This rolls out -r29739.

This unfortunately caused some crashes and drawing errors. Backing out for now.

5:01 AM QtWebKitContrib edited by Simon Hausmann
(diff)
4:56 AM Changeset in webkit [31658] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Added doc stub for QWebSettings so class docs are generated

4:56 AM Changeset in webkit [31657] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Propose the addition of updateRequest and scrollRequest to the QWebPage.
  • The question is if these signals belong to QWebPage or QWebFrame.

-It is more easy to have them in QWebPage because ScrollView is invoking

the ChromeClient with the right coordinates

-On the other hand someone wants to render frames separately. But this is partly

doomed as you can have overlapping frames and what you paint would not relate to
what you normally see on webpages.

Apr 4, 2008:

11:34 PM Changeset in webkit [31656] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

Only delete the backing store of background windows.

Reviewed by Ada Chan.

  • WebView.cpp: (WebView::WebView): (WebView::deleteBackingStore): (WebView::paint): Added active check. (WebView::deleteBackingStoreSoon): (WebView::cancelDeleteBackingStoreSoon): Added. (WebView::active): Added. (WebView::updateActiveState): Moved active check code from here to active().
  • WebView.h:
10:50 PM Changeset in webkit [31655] by sfalken@apple.com
  • 2 edits in trunk/WebKit/win

Fix tooltip window leak.


Explicitly call DestroyWindow on the tooltip.
Destroying its parent won't destroy the tooltip, since it not a WS_CHILD style window.

Reviewed by Ada Chan.

  • WebView.cpp: (WebView::~WebView):
10:17 PM Changeset in webkit [31654] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Add GradientWx.cpp to the wx build process.

9:54 PM Changeset in webkit [31653] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • speed up CSSFontSelector::getFontData()
  • css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Factored out of getFontData(). (WebCore::CSSFontSelector::getFontData): Changed to call fontDataForGenericFamily() directly if the map is empty.
9:02 PM Changeset in webkit [31652] by jhoneycutt@apple.com
  • 5 edits in trunk/WebCore

2008-04-04 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Oliver.

Replace AccessibilityObject::isRenderImage() with a virtual
RenderObject::isRenderImage().

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored): (WebCore::AccessibilityObject::addChildren):
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::isDetached):
  • rendering/RenderImage.h: (WebCore::RenderImage::isRenderImage):
  • rendering/RenderObject.h: (WebCore::RenderObject::isRenderImage):
7:14 PM Changeset in webkit [31651] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

Delete backing store after we go 5 seconds without a paint.


Timer will be reset if a paint occurs, so this won't negatively impact performance.


Reviewed by Ada Chan.

  • WebView.cpp: (WebView::paint): Call deleteBackingStoreSoon after paint. (WebViewWndProc): Add DeleteBackingStoreTimer. (WebView::deleteBackingStoreSoon): Added.
  • WebView.h: Add deleteBackingStoreSoon.
5:13 PM Changeset in webkit [31650] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • try to fix the wx build
  • platform/graphics/wx/FontPlatformDataWx.cpp: (WebCore::fontWeightToWxFontWeight): (WebCore::FontPlatformData::FontPlatformData):
5:05 PM Changeset in webkit [31649] by jhoneycutt@apple.com
  • 4 edits in trunk/WebCore

2008-04-04 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Beth.

Some more clean-up of AccessibilityObject:

  • Rearranged/grouped methods.
  • Marked many methods const.
  • Changed many methods to take args by const ref instead of by val.
  • Made headingLevel() static.
  • Renamed detached() to isDetached(), loaded() to isLoaded(), documentLinks to getDocumentLinks().
  • Made clearChildren(), removeAXObjectID(), isDetached() private.
  • Added notImplemented() calls for unimplemented methods.
  • Replaced stringForReplacedNode method with static function.
3:32 PM squirrelfish edited by weinig@apple.com
Remove some implemented Nodes from un-implemented opcode list (diff)
2:13 PM Changeset in webkit [31648] by timothy@apple.com
  • 2 edits in trunk/WebCore

Restore the user entered text when clearing the auto-completion.
This is important when the user typed text that is a different
case than the completion. This has no affect on the Console, since
it matches completions case-sensitively. This is used in the up-coming
Database Query view for words like "SELECT" and "INSERT".

Reviewed by Adam Roben.

  • page/inspector/TextPrompt.js:

(WebInspector.TextPrompt.prototype.clearAutoComplete): Restore the user typed
text in the original DOM range that complete() saved away.
(WebInspector.TextPrompt.prototype.complete): Store away the fullWordRange
and it's text content so clearAutoComplete can restore it.

2:11 PM Changeset in webkit [31647] by weinig@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

2008-04-04 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

  • Implement codegen for Switch statements.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::pushJumpContext): (KJS::CodeGenerator::popJumpContext): (KJS::CodeGenerator::jumpContextForLabel):
  • VM/CodeGenerator.h: Rename LoopContext to JumpContext now that it used of Switch statements in addition to loops.
  • kjs/nodes.cpp: (KJS::DoWhileNode::emitCode): (KJS::WhileNode::emitCode): (KJS::ForNode::emitCode): (KJS::ForInNode::emitCode): (KJS::ContinueNode::emitCode): (KJS::BreakNode::emitCode): (KJS::CaseBlockNode::emitCodeForBlock): (KJS::SwitchNode::emitCode):
  • kjs/nodes.h: (KJS::CaseClauseNode::expr): (KJS::CaseClauseNode::children): (KJS::CaseBlockNode::):
1:58 PM Changeset in webkit [31646] by timothy@apple.com
  • 2 edits in trunk/WebCore

Don't trim whitespace when looking for the current match, this prevents tabbing through matches in the up-coming Database Query view.

Reviewed by Adam Roben.

  • page/inspector/TextPrompt.js: Removed a trimTrailingWhitespace() call.
1:50 PM Changeset in webkit [31645] by timothy@apple.com
  • 5 edits
    1 add in trunk/WebCore

Factor out the Console text completion and command history into
a new TextPrompt object. This TextPrompt object will be used later
other parts of the Inspector that need text completion and history.
Not functionality changed, just moved code around.

Reviewed by Adam Roben.

  • WebCore.vcproj/WebCore.vcproj: Add TextPrompt.js.
  • page/inspector/Console.js: Call the new prompt object and delete all the code that moved.
  • page/inspector/TextPrompt.js: Added. Moved code from Console.js.
  • page/inspector/WebKit.qrc: Add TextPrompt.js.
  • page/inspector/inspector.html: Add TextPrompt.js.
1:29 PM Changeset in webkit [31644] by timothy@apple.com
  • 2 edits in trunk/WebCore

Makes setting shouldRefreshChildren on a TreeElement perform the refresh
immediately if the element is already expanded.

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js:

(TreeElement.prototype.get shouldRefreshChildren): Return this._shouldRefreshChildren.
(TreeElement.prototype.set shouldRefreshChildren): If changing to true, and
already expanded,
call expand again to trigger the refresh. Sets this._shouldRefreshChildren.
(TreeElement.prototype._attach): Check for this._shouldRefreshChildren.
(TreeElement.prototype.expand): Ditto.

1:21 PM ApplicationsGtk edited by alp@atoker.com
Epiphany is now WebKit-only (diff)
1:17 PM Changeset in webkit [31643] by jhoneycutt@apple.com
  • 3 edits in trunk/WebCore

2008-04-04 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Beth.

Some clean up of AccessibilityObject:

  • Use existing isImage() in more places.
  • Use existing isTextControl() in more places.
  • Added isRenderImage(). Check this before casting to RenderImage, since other, non-RenderImage derived RenderObjects (e.g. RenderListMarker) can return true for isImage().
  • Fix two copy/paste errors with improper semicolons.
  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isImageButton): Use isImage(). (WebCore::AccessibilityObject::isRenderImage): Added. (WebCore::AccessibilityObject::isAnchor): Use isImage(). (WebCore::AccessibilityObject::isAttachment): Same. (WebCore::AccessibilityObject::accessibilityDescription): Same. (WebCore::AccessibilityObject::accessibilityIsIgnored): Use isRenderImage() instead of isImage(). (WebCore::AccessibilityObject::url): Use isImage(). (WebCore::AccessibilityObject::textControl): Remove improper semicolon, and use isTextControl(). (WebCore::AccessibilityObject::textMarkerForIndex): Same. (WebCore::AccessibilityObject::indexForTextMarker): Use isTextControl(). (WebCore::AccessibilityObject::doAXRangeForLine): Same. (WebCore::AccessibilityObject::doAXRangeForIndex): Same (WebCore::AccessibilityObject::doAXStringForRange): Same. (WebCore::AccessibilityObject::roleValue): Use isImage(). (WebCore::AccessibilityObject::addChildren): Use isRenderImage().
  • page/AccessibilityObject.h:
1:13 PM Changeset in webkit [31642] by timothy@apple.com
  • 2 edits in trunk/WebCore

Fixes a null exception when hovering in some areas of the DOM tree.

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js:

(TreeOutline.prototype.treeElementFromPoint): Check listNode for null/undefined
before accessing any properties. Return null if listNode is null.

1:05 PM Changeset in webkit [31641] by timothy@apple.com
  • 2 edits in trunk/WebCore

Changing WebInspector.currentFocusElement to/from an input element
does not change the actual focus of that input element. You see this
in the search field.

Reviewed by Adam Roben.

  • page/inspector/inspector.js:

(WebInspector.set currentFocusElement): Call blur and focus if the
node implements them.

12:18 PM Changeset in webkit [31640] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-04-04 David Hyatt <hyatt@apple.com>

Improve the background size heuristic for SVGs used as background images with no intrinsic size specified.
Treat them as having a background-size of 100%. This means their maximal size will be the box established
by background-origin.

Reviewed by Beth

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize):
12:16 PM Changeset in webkit [31639] by timothy@apple.com
  • 5 edits in trunk/WebCore

Correctly show DOCTYPE in the breadcrumbs and match the CSS rules
from view-source.css for the DOCTYPE in the DOM tree.

Reviewed by Adam Roben.

  • css/view-source.css: Add and correct comments about keeping

in-sync with inspector.css.

  • page/inspector/ElementsPanel.js:

(WebInspector.DocumentPanel.prototype.updateBreadcrumb):
Add a case for Node.DOCUMENT_TYPE_NODE.

  • page/inspector/inspector.css: Add a rule for .webkit-html-doctype.
  • page/inspector/utilities.js:

(nodeTitleInfo): Use the webkit-html-doctype class for nodes
with Node.DOCUMENT_TYPE_NODE.

12:02 PM Changeset in webkit [31638] by mitz@apple.com
  • 1 edit
    1 copy in trunk/WebCore
  • try to fix the Tiger build
  • icu/unicode/uscript.h: Copied from WebKit/mac/icu/unicode/uscript.h.
11:17 AM Changeset in webkit [31637] by Adam Roben
  • 4 edits in trunk

Make WebKit use WebCore's copy of the ICU headers

WebCore:

Copy icu/ to PrivateHeaders for WebKit's benefit

Rubberstamped by Tim Hatcher.

  • WebCore.xcodeproj/project.pbxproj: Renamed the Copy Forwarding Headers build phase to Copy Forwarding and ICU Headers, and added the icu/ directory to it.

WebKit/mac:

Use WebCore's ICU headers instead of our own copy

Rubberstamped by Tim Hatcher.

  • Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's PrivateHeaders.
10:47 AM Changeset in webkit [31636] by Adam Roben
  • 4 edits in trunk

Fix <rdar://problem/5804776> Would like to use WebCore's ForwardingHeaders in WebKit without manually creating copies

WebCore:

Fix <rdar://problem/5804776> Would like to use WebCore's
ForwardingHeaders in WebKit without manually creating copies

Patch by Tim Hatcher, typed by me.

  • WebCore.xcodeproj/project.pbxproj: Added a new build phase, Copy Forwarding Headers, that copies the ForwardingHeaders directory to WebCore's PrivateHeaders directory.

WebKit/mac:

Fix <rdar://problem/5804776> Would like to use WebCore's
ForwardingHeaders in WebKit without manually creating copies

Patch by Tim Hatcher, typed by me.

  • Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in WebCore's PrivateHeaders instead of our own copy.
10:21 AM Changeset in webkit [31635] by adachan@apple.com
  • 7 edits in trunk

WebCore:

Changed the signature of imageTitleForFilename so we can pass in the width
and height as integers.

Reviewed by Dan.

  • page/mac/WebCoreViewFactory.h:
  • platform/mac/LocalizedStringsMac.mm: (WebCore::imageTitle):

WebKit:

Updated the format string for window title for a standalone image to take integers.

Reviewed by Dan.

  • English.lproj/Localizable.strings:

WebKit/mac:

Now we pass width and height directly as integers to format
the window title for a standalone image.

Reviewed by Dan.

  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory imageTitleForFilename:width:height:]):
8:57 AM Changeset in webkit [31634] by adachan@apple.com
  • 3 edits in trunk/WebKit/win

<rdar://problem/5830598> Image file opened in the browser window shows "Localized String Not Found' in window's title bar instead file name
Save WebCoreLocalizedStrings.cpp with UTF8 encoding.
Changed the format string to take in integers.

Reviewed by Dan.

  • English.lproj/Localizable.strings: Updated.
  • WebCoreLocalizedStrings.cpp: (WebCore::imageTitle):
12:54 AM squirrelfish edited by ggaren@apple.com
(diff)
12:52 AM QtWebKitContrib edited by Simon Hausmann
(diff)
12:42 AM squirrelfish edited by ggaren@apple.com
(diff)

Apr 3, 2008:

11:38 PM Changeset in webkit [31633] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • fix crash in codegen from new nodes
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitConstruct):
  • kjs/nodes.h:
11:38 PM Changeset in webkit [31632] by mjs@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/kjs/nodes.h

File I forgot in my last commit.

11:34 PM Changeset in webkit [31631] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-03 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.

  • kjs/nodes.cpp: (KJS::ReadModifyResolveNode::emitCode): (KJS::ReadModifyBracketNode::emitCode):
  • kjs/nodes.h:
10:28 PM Changeset in webkit [31630] by mitz@apple.com
  • 1 edit in trunk/WebCore/platform/graphics/win/FontCacheWin.cpp

Forgot to save after the last change...

10:20 PM Changeset in webkit [31629] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Windows build fix
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::matchImprovingEnumProc):
10:08 PM Changeset in webkit [31628] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Fix PlatformGradient so that it's a pointer on all platforms.

9:47 PM Changeset in webkit [31627] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • 64-bit build fix
  • platform/mac/WebFontCache.mm: (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
9:34 PM Changeset in webkit [31626] by kevino@webkit.org
  • 1 edit
    1 add in trunk/WebCore

wx build fix. Add stubs for gradient class platform functions.

9:32 PM Changeset in webkit [31625] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Dan Bernstein.

Refactor Gradient.h to have the same API on platforms without a gradient class.

9:13 PM Changeset in webkit [31624] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Qt build fix
  • platform/graphics/qt/FontQt.cpp: (WebCore::Font::Font):
9:07 PM Changeset in webkit [31623] by mitz@apple.com
  • 3 edits in trunk/WebCore
  • Tiger build fix
  • platform/mac/WebFontCache.mm:
  • rendering/RenderThemeMac.mm:
9:04 PM Changeset in webkit [31622] by mitz@apple.com
  • 4 edits in trunk/WebCore
  • Gtk build fix
  • platform/graphics/gtk/FontPlatformData.h: (WebCore::FontPlatformData::size):
  • platform/graphics/gtk/FontPlatformDataGtk.cpp: (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/gtk/FontPlatformDataPango.cpp: (WebCore::FontPlatformData::FontPlatformData):
8:51 PM Changeset in webkit [31621] by mitz@apple.com
  • 4 edits in trunk/WebCore
  • project file updates in preparation for build fixes
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
8:46 PM Changeset in webkit [31620] by mitz@apple.com
  • 29 edits
    1 add in trunk

WebCore:

2008-04-03 Nicholas Shanks <webkit@nickshanks.com>

Updated by Dan Bernstein. Reviewed by Dave Hyatt.

Tests to come: <http://bugs.webkit.org/show_bug.cgi?id=18306>

Build fixes for platforms other than Mac and Windows to come.

  • WebCore.vcproj/WebCore.vcproj: Added FontDescription.cpp.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to return additional weight value keywords 100, 200, 300, 500, 600, 800 and 900.
  • css/CSSFontSelector.cpp: (WebCore::hashForFont): Changed the bold parameter into a weight parameter and added the weight to the string to be hashed. (WebCore::CSSFontSelector::addFontFaceRule): Changed to apply all CSS weight values to the font description. (WebCore::CSSFontSelector::getFontData): Updated the fallback logic to go through all weights equal or lighter from the desired weight. For SVG, to also consider heavier weights.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Cleaned up parsing of the font-weight property.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Changed to apply all CSS weight values to the font description.
  • platform/graphics/Font.h: (WebCore::Font::weight): Updated for the change to FontDescription::weight().
  • platform/graphics/FontCache.cpp: (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Replaced the bold component of the key with a weight component. (WebCore::FontPlatformDataCacheKey::operator==): Updated for the above. (WebCore::computeHash): Ditto. (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): Removed unnecessary parameters. (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): Ditto. (WebCore::FontCache::getCachedFontPlatformData): Updated for the change in FontPlatformDataCacheKey.
  • platform/graphics/FontDescription.cpp: Added. (WebCore::FontDescription::lighterWeight): Added. Returns a lighter CSS font-weight value if there is one, or the lightest value. (WebCore::FontDescription::bolderWeight): Added. Returns a heavier CSS font-weight value if there is one, or the heaviest value.
  • platform/graphics/FontDescription.h: (WebCore::FontWeight): Added this enumeration. (WebCore::FontDescription::FontDescription): (WebCore::FontDescription::bold): Removed. (WebCore::FontDescription::weight): Changed to return a FontWeight. (WebCore::FontDescription::setBold): Removed. (WebCore::FontDescription::setWeight): Changed to take a FontWeight.
  • platform/graphics/mac/FontCacheMac.mm: (WebCore::toAppKitFontWeight): Added. Maps a FontWeight to the AppKit font weight scale of 0-15. (WebCore::isAppKitFontWeightBold): Added. (WebCore::FontCache::getFontDataForCharacters): Changed to use a weight instead of the bold trait for custom fonts, and to decide whether to synthesize bold based on the weights rather than the bold trait. (WebCore::FontCache::fontExists): Updated for the change in WebFontCache . (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to decide whether to synthesize bold based on the weights rather than on the bold trait.
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::toGDIFontWeight): Added. Maps a FontWeight to a GDI font weight constant. (WebCore::isGDIFontWeightBold): Added. (WebCore::adjustedGDIFontWeight): Added. (WebCore::MatchImprovingProcData::MatchImprovingProcData): Added this data structure for use by the following callback. (WebCore::matchImprovingEnumProc): Added. The logic of this method is a simplification of the betterChoice() predicate in WebFontCache.mm, which considers only the italic trait and the weight. (WebCore::createGDIFont): Added. Similarly to +[WebFontCache fontWithFamily:traits:weight:size:], this function finds the closest match in the family for the desired italic bit and weight. (WebCore::FontCache::fontExists): Changed to call createGDIFont(). (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to compute the synthetic bold and synthetic italic flags based on weights and italic bits and pass them to the FontPlatformData constructor.
  • platform/graphics/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): Changed the bold and oblique parameters to mean whether these should be synthesized and removed the font enumeration code that used to decide that.
  • platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::smallCapsFontData): Changed to pass the synthetic bold and oblique flags from the full-size FontPlatformData to the FontPlatformData constructor for the small caps font.
  • platform/mac/WebCoreTextRenderer.h:
  • platform/mac/WebCoreTextRenderer.mm: (WebCoreFindFont): Added a weight parameter, which is passed to +[WebFontCache fontWithFamily:traits:weight:size:].
  • platform/mac/WebFontCache.h:
  • platform/mac/WebFontCache.mm: (acceptableChoice): (betterChoice): Changed to ignore the bold trait. Changed the logic for deciding based on weights to prefer the font whose weight is closer to the desired one, or, if both candidates' weights are the same distance from the desired weight, the one that is more "off-center". (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to check for weight when matching by full name. Changed to pass the actual desired weight instead of the constant 5 to acceptableChoice() and betterChoice(). Changed to use weights to decide whether to synthesize bold. (+[WebFontCache fontWithFamily:traits:weight:size:]): Added a weight parameter, which is passed to the internal method.
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint): Updated for the change to FontDescription.
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement): Ditto. (WebCore::RenderListBox::paintItemForeground): Ditto.
  • rendering/RenderThemeMac.mm: (WebCore::toFontWeight): Added. Maps the AppKit font weight range of 0-15 to the FontWeight range. (WebCore::RenderThemeMac::systemFont): Updated for the change to FontDescription.
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::systemFont): Ditto.

WebKit/mac:

2008-04-03 Nicholas Shanks <webkit@nickshanks.com>

Updated by Dan Bernstein. Reviewed by Dave Hyatt.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _styleFromFontAttributes:]): (-[WebHTMLView _originalFontB]): (-[WebHTMLView _addToStyle:fontA:fontB:]):

WebKit/win:

2008-04-03 Dan Bernstein <mitz@apple.com>

Reviewed by Dave Hyatt.

  • DOMCoreClasses.cpp: (DOMElement::font): Updated for the change to FontDescription.
  • WebCoreSupport/WebDragClient.cpp: (dragLabelFont): Ditto.
  • WebKitGraphics.cpp: (makeFont): Ditto.
  • WebKitGraphics.h: Added a FIXME.
8:10 PM Changeset in webkit [31619] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • another Gtk build fix attempt
  • platform/graphics/cairo/GradientCairo.cpp: (WebCore::Gradient::platformDestroy):
7:25 PM Changeset in webkit [31618] by mrowe@apple.com
  • 4 edits in tags/Safari-5525.18.1

Versioning.

7:18 PM Changeset in webkit [31617] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.18.1

New tag.

7:17 PM Changeset in webkit [31616] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebCore

2008-04-03 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

<rdar://problem/5832603> REGRESSION: Adding an image to the header image well causes Journal page to incorrectly draw

  • dom/Document.cpp: (WebCore::Document::childrenChanged): Make sure to chain up to ContainerNode::childrenChanged.
7:05 PM Changeset in webkit [31615] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • attempted Gtk build fix
  • GNUmakefile.am:
6:02 PM Changeset in webkit [31614] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • attempted Qt build fix
  • platform/graphics/qt/GradientQt.cpp: (WebCore::Gradient::platformDestroy):
5:43 PM Changeset in webkit [31613] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • attempted Gtk build fix
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::stroke):
5:40 PM Changeset in webkit [31612] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • attempted Qt build fix
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::stroke):
4:13 PM Changeset in webkit [31611] by sfalken@apple.com
  • 3 edits in trunk/WebKit/win

<rdar://problem/5835382> Calling window.open immediately after window.close can sometimes result in no window being created


Group name tracking needs to happen using code in WebCore::Page, since it is more involved than
just setting a string.


Reviewed by Adam Roben.

  • WebView.cpp: (WebView::close): Add null check (found via code inspection). (WebView::initWithFrame): Store the group name directly in Page. (WebView::setGroupName): Store the group name directly in Page. (WebView::groupName): Retrieve the group name directly from Page.
  • WebView.h: Removed m_groupName
4:08 PM Changeset in webkit [31610] by Beth Dakin
  • 2 edits in trunk/WebCore

2008-04-03 Beth Dakin <Beth Dakin>

Reviewed by Alice.

Build fix for non-Macs.

  • page/AXObjectCache.h: (WebCore::AXObjectCache::isIDinUse):
3:48 PM Changeset in webkit [31609] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-04-03 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Darin.

Correct build error due to incomplete merging of changes to project
files from Issue 17985. This small project file patch corrects
the build issue (see http://bugs.webkit.org/show_bug.cgi?id=18195).

  • WebCore.vcproj/WebCore.vcproj:
3:02 PM Changeset in webkit [31608] by Beth Dakin
  • 12 edits
    1 delete in trunk/WebCore

2008-04-02 Beth Dakin <Beth Dakin>

Reviewed by Hyatt.

This patch eliminates AccessibilityObjectMac. All of the platform-
specific code is now in AccessibilityObjectWrapper.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Element.h: (WebCore::Element::isPasswordField):
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::isPasswordField):
  • page/AXObjectCache.h: (WebCore::AXObjectCache::isIDinUse):
  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isPasswordField): (WebCore::AccessibilityObject::press): (WebCore::AccessibilityObject::widgetForAttachmentView): (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::areaElement): (WebCore::AccessibilityObject::setWrapper):
  • page/mac/AXObjectCacheMac.mm:
  • page/mac/AccessibilityObjectMac.mm: Removed.
  • page/mac/AccessibilityObjectWrapper.h:
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper attachmentView]): (textMarkerForVisiblePosition): (visiblePositionForTextMarker): (visiblePositionForStartOfTextMarkerRange): (visiblePositionForEndOfTextMarkerRange): (textMarkerRangeFromMarkers): (AXAttributeStringSetFont): (CreateCGColorIfDifferent): (AXAttributeStringSetColor): (AXAttributeStringSetNumber): (AXAttributeStringSetStyle): (blockquoteLevel): (AXAttributeStringSetBlockquoteLevel): (AXAttributeStringSetSpelling): (AXAttributeStringSetHeadingLevel): (AXLinkElementForNode): (AXAttributeStringSetElement): (AXAttributedStringAppendText): (nsStringForReplacedNode): (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): (textMarkerRangeFromVisiblePositions): (-[AccessibilityObjectWrapper accessibilityActionNames]): (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): (-[AccessibilityObjectWrapper textMarkerRangeForSelection]): (-[AccessibilityObjectWrapper position]): (createAccessibilityRoleMap): (RoleEntry::): (roleValueToNSString): (-[AccessibilityObjectWrapper role]): (-[AccessibilityObjectWrapper subrole]): (-[AccessibilityObjectWrapper roleDescription]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityIsIgnored]): (-[AccessibilityObjectWrapper accessibilityPerformAction:]): (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]): (-[AccessibilityObjectWrapper doAXRTFForRange:]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::viewRectToScreen): (WebCore::ScrollView::absolutePointToView):
2:57 PM Changeset in webkit [31607] by hyatt@apple.com
  • 10 edits
    5 adds in trunk/WebCore

2008-04-03 David Hyatt <hyatt@apple.com>

Create a new cross-platform Gradient abstraction and make CanvasGradient wrap it. This first
step just cleans up CanvasGradient. The code that calls it remains ifdef'd however.

Reviewed by olliej

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toJS):
  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient):
  • html/CanvasGradient.h: (WebCore::CanvasGradient::gradient): (WebCore::CanvasGradient::addColorStop): (WebCore::CanvasGradient::getColor):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::fillRect):
  • html/CanvasStyle.h: (WebCore::CanvasStyle::canvasGradient):
  • platform/graphics/Gradient.cpp: Added. (WebCore::Gradient::Gradient): (WebCore::Gradient::~Gradient): (WebCore::Gradient::addColorStop): (WebCore::compareStops): (WebCore::Gradient::getColor): (WebCore::Gradient::findStop):
  • platform/graphics/Gradient.h: Added. (WebCore::Gradient::ColorStop::ColorStop): (WebCore::Gradient::platformInit):
  • platform/graphics/cairo/GradientCairo.cpp: Added. (WebCore::Gradient::platformDestroy): (WebCore::Gradient::platformGradient):
  • platform/graphics/cg/GradientCG.cpp: Added. (WebCore::Gradient::platformDestroy): (WebCore::gradientCallback): (WebCore::Gradient::platformGradient):
  • platform/graphics/qt/GradientQt.cpp: Added. (WebCore::Gradient::platformDestroy): (WebCore::Gradient::platformGradient):
2:47 PM Changeset in webkit [31606] by Simon Hausmann
  • 11 edits in trunk

Roll out r31599 and r31605 again after discussion with Mark Rowe.

2:25 PM Changeset in webkit [31605] by Simon Hausmann
  • 2 edits in trunk/WebKit/win

Attempted build fix

2:14 PM Changeset in webkit [31604] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-04-03 David Hyatt <hyatt@apple.com>

Fix for bug 18194, resizable text fields get messed up when resizing in the presence of zoom.

Reviewed by adele

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::resize):
1:49 PM Changeset in webkit [31603] by mrowe@apple.com
  • 4 edits in branches/Safari-3-1-branch

Versioning.

1:48 PM Changeset in webkit [31602] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.18

New tag.

1:47 PM Changeset in webkit [31601] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebCore

Merge r31320.

1:30 PM Changeset in webkit [31600] by oliver@apple.com
  • 227 edits
    13 deletes in trunk

Rollout r31566 as there were a few issues i missed during review (thanks to antti for pointing them out)

1:17 PM Changeset in webkit [31599] by Simon Hausmann
  • 9 edits in trunk

2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Change IconDatabase::iconForPageURL to return more information. E.g. if an image has been found, or if the loading of an image has been scheduled.
  • Update FrameLoader to use another method to trigger reading from disk
  • Update the QWebFrame and QWebSettings
12:22 PM Changeset in webkit [31598] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Safari is using the IconDatabase the following way (assumption). Before they call iconDatabase()->open they "retain" all URLs they are interested in, these could come from the history.
  • When opening the iconDatabase() a thread will be started that is going to import the URLs, all none manually retained URLs are scheduled for removal. The removal is going to happen when the next icon gets stored in the database.
  • We do not have any IconDatabase code, we can not retain the URLs before opening the database. To disable the automatic pruning of the icons we will ask the IconDatabase to delay this operation. This means our IconDatabase, when used, will grow, so we should try to have a IconDatabase class in 4.4.
  • The only way to counter the growth is a call to QWebSettings::clearIconDatabase
12:01 PM Changeset in webkit [31597] by Simon Hausmann
  • 1 edit in trunk/WebKit/qt/Api/qwebsettings.cpp

Oops, fixed previous commit/merge error that caused build failure in Qt.

12:00 PM Changeset in webkit [31596] by adachan@apple.com
  • 8 edits in trunk/WebKit/win

Allow WebArchive to be created via COM.
Replaced IID_DOMNode with uuidof(DOMNode).

Reviewed by Adam and Steve.

  • DOMCoreClasses.cpp: (DOMNode::QueryInterface): (DOMNode::isSameNode):
  • DOMCoreClasses.h:
  • ForEachCoClass.h:
  • Interfaces/WebKit.idl:
  • WebArchive.cpp: (WebArchive::createInstance):
  • WebArchive.h:
  • WebKitClassFactory.cpp:
11:59 AM Changeset in webkit [31595] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Add a way to get the site icon for a url
static QPixmap iconForUrl(const QUrl &url);

11:46 AM Changeset in webkit [31594] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Update the Copyright info in QWebSettings
11:46 AM Changeset in webkit [31593] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • The isEmpty check is not needed anymore with the earlier backport
10:49 AM squirrelfish edited by ggaren@apple.com
(diff)
9:50 AM Changeset in webkit [31592] by beidson@apple.com
  • 2 edits in trunk/LayoutTests

2008-04-03 Brady Eidson <beidson@apple.com>

Fix a tab into 4-spaces instead

  • webarchive/test-css-import-expected.txt:
9:20 AM Changeset in webkit [31591] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Mac build fix
  • WebCore.base.exp:
6:21 AM Changeset in webkit [31590] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the build when building without icondatabase.

5:27 AM Changeset in webkit [31589] by Simon Hausmann
  • 3 edits in trunk/WebCore

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Remove the unused 'cache' parameter
5:04 AM Changeset in webkit [31588] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Add WebCore/loader/icon to the DEPENDPATH as well
4:40 AM Changeset in webkit [31587] by Simon Hausmann
  • 1 edit
    1 add in trunk/LayoutTests

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Add a Qt specific result for bad-scheme-subframe-expected.txt
  • To match the mac-port we would have to return IgnoreNavigationRequest for schemes/URLs not supported by the QNetworkAccessManager in QWebPage::navigationRequested but we can't do that because QNetworkAccessManager does not expose a list of supported schemes and operations. So in contrast to the mac we will try to load the frame and fail.
4:40 AM Changeset in webkit [31586] by Simon Hausmann
  • 1 edit
    4 adds in trunk/LayoutTests

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Fix http/tests/loading/simple-subframe.html by adding a test result. The result is quite similar to the one of the mac port.
3:31 AM Changeset in webkit [31585] by Simon Hausmann
  • 2 edits in trunk/WebKitTools

2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Enable running http tests for Qt again. Failing tests can be put into the skipped list.
  • Running these tests on windows and other platforms might need some work.
3:31 AM Changeset in webkit [31584] by Simon Hausmann
  • 4 edits in trunk

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • For the http tests we need the output of the FrameLoaderClient. The QtWebKit API is not exporting enough to create the output in DRT itself. Settle with the approach Lars has taken for the Editing support and add branches to our FrameLoaderClient code.
  • run-webkit-tests http/tests(/loading) can now be executed.
  • For tests in loading/ directories we are going to throw away the dirty QWebPage to start with something clean.
3:30 AM Changeset in webkit [31583] by Simon Hausmann
  • 3 edits in trunk/WebKitTools

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Treat http and https as special URLs as well. Change the main.cpp and DumpRenderTree.cpp to handle http and https URIs as input.
  • I'm not doing the clean up and merging of these two checks now.
3:30 AM Changeset in webkit [31582] by Simon Hausmann
  • 4 edits in trunk

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Remove dumpFrameLoadCallbacks from simple-subframe.html because it is located in a directory with the name "loading". And this will autoamtically enable dumping.
  • Remove this method from the LayoutTestController as it is unused now and this avoids adding it to the DRT of the Qt port.

Apr 2, 2008:

11:21 PM Changeset in webkit [31581] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-02 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • take a shot at marking constant pools for global and eval code


Geoff says this won't really work in all cases but is an ok stopgap.

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::mark):
11:19 PM Changeset in webkit [31580] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-02 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • fix 2x perf regression in 3d-morph


  • VM/Machine.cpp: (KJS::Machine::privateExecute): If we subbed in null for the global object, don't toObject it, since that will throw an exception (very slowly).
11:12 PM Changeset in webkit [31579] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-02 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Geoff


  • fix Release build
  • kjs/nodes.cpp: (KJS::getNonLocalSymbol):
10:56 PM Changeset in webkit [31578] by beidson@apple.com
  • 8 edits
    6 adds in trunk

WebCore:

2008-04-02 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel

<rdar://problem/5838347> and http://bugs.webkit.org/show_bug.cgi?id=11839
Webarchive fails to save CSS files in @import statements

  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceURLStrings): Recursively add the URL each @import rule under the current style sheet.
  • css/CSSStyleSheet.h:
  • css/StyleSheet.h: (WebCore::StyleSheet::addSubresourceURLStrings):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): Add the linked URL as well as all @import rules rooted at the linked stylesheet.
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::getSubresourceAttributeStrings): Walk all @import rules rooted at this stylesheet to add to the list.
  • html/HTMLStyleElement.h:

LayoutTests:

2008-04-02 Brady Eidson <beidson@apple.com>

Written by David Kilzer, tweaked by Brady, Reviewed by Mitz Pettel

The idea is to <link> to a CSS file which @imports another CSS file,
and also @import a CSS file inside a <style> element, which also @imports another CSS file

Then make sure all 4 of the css files are in the resulting webarchive

  • webarchive/resources/test-css-import-recurse.css: Added.
  • webarchive/resources/test-css-import.css: Added.
  • webarchive/resources/test-css-link-recurse.css: Added.
  • webarchive/resources/test-css-link.css: Added.
  • webarchive/test-css-import-expected.txt: Added.
  • webarchive/test-css-import.html: Added.
10:11 PM Changeset in webkit [31577] by mrowe@apple.com
  • 8 edits in trunk

Ensure that debug symbols are generated for x86_64 and ppc64 builds.

Reviewed by Oliver Hunt.

9:37 PM Changeset in webkit [31576] by ggaren@apple.com
  • 10 edits in branches/squirrelfish/JavaScriptCore

2008-04-02 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Removed the last vestiges of LocalStorage from JSVariableObject and
JSGlobalObject.

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::saveLocalStorage): Save and restore from/to registers. Use stub isReadOnly and isDontEnum methods for now, until we really implement attributes in the symbol table. (KJS::JSGlobalObject::restoreLocalStorage): (KJS::JSGlobalObject::reset):
  • kjs/JSVariableObject.cpp: (KJS::JSVariableObject::getPropertyNames): Use stub isDontEnum method for now, as above. (KJS::JSVariableObject::getPropertyAttributes): ditto
  • kjs/JSVariableObject.h: Removed LocalStorage from JSVariableObjectData. Removed mark method, because subclasses implement different strategies for marking registers. (KJS::JSVariableObject::isReadOnly): Stub method (KJS::JSVariableObject::isDontEnum): ditto

Changed the code below to ASSERT_NOT_REACHED() and return 0, since it
can no longer retrieve LocalStorage from the ExecState. (Eventually,
we'll just remove this code and all its friends, but that's a task for
later.)


  • kjs/ExecState.cpp: (KJS::ExecState::ExecState):
  • kjs/function.cpp: (KJS::ActivationImp::markChildren):
  • kjs/function.h:
  • kjs/nodes.cpp: (KJS::getNonLocalSymbol): (KJS::ScopeNode::optimizeVariableAccess): (KJS::ProgramNode::processDeclarations):
5:24 PM Changeset in webkit [31575] by christian@webkit.org
  • 4 edits in trunk

Build fix for GCC 4.3.

4:30 PM Applications using WebKit edited by alp@atoker.com
Link to ApplicationsGtk (diff)
3:49 PM Changeset in webkit [31574] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-04-02 Christian Persch <chpe@gnome.org>

Reviewed by Alp Toker.

GTK+/Pango font backend build fix.

  • platform/graphics/gtk/FontCustomPlatformDataPango.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
2:48 PM Changeset in webkit [31573] by Nikolas Zimmermann
  • 3 edits in trunk/LayoutTests/svg/dynamic-updates/resources

Not reviewed. Speculative fix for hanging tests on buildbot (Tiger). Click events may have wrong origins.

11:41 AM Changeset in webkit [31572] by eric@webkit.org
  • 2 edits in trunk/WebCore

No review, build fix only.

Speculative build fix for no-svg build.
Use #if ENABLE(SVG) instead of #if ENABLE_SVG

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
11:12 AM Changeset in webkit [31571] by Adam Roben
  • 2 edits in trunk/WebCore

Rename instances of ExecState from "state" to "exec" in JavaScriptDebugServer

Rename requested by Darin Adler.

  • page/JavaScriptDebugServer.cpp:
10:59 AM Changeset in webkit [31570] by Adam Roben
  • 3 edits in trunk/WebCore

Make it possible for JavaScriptDebugListeners to listen to specific Pages

JavaScriptDebugServer now has overloads of its
addListener/removeListener methods that take a Page* to indicate for
which Page the JavaScriptDebugListener wishes to receive messages.

Reviewed by Darin.

  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all ListenerSets being held in m_pageListenersMap. (WebCore::JavaScriptDebugServer::addListener): Changed to call hasListeners(). (WebCore::JavaScriptDebugServer::removeListener): Ditto. (WebCore::JavaScriptDebugServer::addListener): Added. This overload takes a Page* and puts the listener in the appropriate ListenerSet within m_pageListenersMap. The ListenerSet is allocated and added to m_pageListenersMap when its first listener is added. (WebCore::JavaScriptDebugServer::removeListener): Added. This overload takes a Page* and removes the listener from the appropriate ListenerSet in m_pageListenersMap. The ListenerSet is deleted and removed from m_pageListenersMap when its last listener is removed. (WebCore::toPage): Added. Retrieves the parent Page from an ExecState. (WebCore::JavaScriptDebugServer::sourceParsed): Changed to call dispatchDidParseSource/dispatchDidFailToParseSource for both the global listeners and the Page listeners. (WebCore::dispatchFunctionToListeners): Added. This code was extracted from the JavaScriptDebugServer method of the same name. (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Call dispatchFunctionToListeners for both the global listeners and the Page listeners.
  • page/JavaScriptDebugServer.h:
    • Added declarations for new methods.
    • Made JavaScriptExecutionCallback typedef public so that it could be used by a helper method.
    • Added new m_pageListenersMap member.
6:50 AM Changeset in webkit [31569] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Export the PageCache and Cache capacity call one to one. This is only there to allow the QtLauncher to play with caching.
  • TODO: make API decisions and consider following the windows Api to set a WebCacheModel and determine certain values automatically.
6:50 AM Changeset in webkit [31568] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Prepapre everything for enabling the PageCache for the Qt Platform:

  • Claim that we can cache pages
  • Create the FrameView FrameLoaderClientQt::transitionToCommittedForNewPage using the initial size of the viewport and stop creating it in the QWebFramePrivate::init

Differences to the Windows port:

  • attachToWindow/detachFromWindow is not called and is not (yet) part of Widget/ScrollView of the Qt platform. We might need that for plugin support in the future.
  • We store the margin's and scrolling flag inside QWebFrame and use it when creating the FrameView.

What is missing:

  • API to call pageCache()->setCapacity(XYZ);
6:49 AM Changeset in webkit [31567] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix compilation on case-sensitive file systems.

5:55 AM Changeset in webkit [31566] by Nikolas Zimmermann
  • 227 edits
    15 adds in trunk

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

SVG Errata states: "All SVG DOM objects that directly correspond to an
attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
means that any changes made to the attribute are immediately reflected in the
corresponding SVG DOM object." (see linked URL on bug report)

Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).

Add a new synchronization layer to handle SVG DOM -> XML changes.

Added Test: svg/custom/svg-xml-dom-sync.html

5:00 AM Changeset in webkit [31565] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • For the PageCache support we do not want to create a FrameView in the constructor of QWebFrame. In QWegPage::viewportSize() we currently call mainFrame() and that will create a QWebFrame if no mainFrame is present and this gets called when we try to create a FrameView...
  • Keep a copy of the initial viewportSize around and use it if we do not have a Frame or FrameView.
5:00 AM Changeset in webkit [31564] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Always return true in FrameLoaderClientQt::shouldGoToHistoryItem, like the windows port
5:00 AM Changeset in webkit [31563] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Attempt to make the m_webFrame null pointer checking consistent. Always check for m_webFrame. It should get set by the QWebFrame with the FramerLoaderClientQt::setFrame call and should stay valid until the destruction of the QWebFrame.
  • Currently the same checking is not needed for m_frame as it will only set to 0 in FrameLoaderClientQt::frameLoaderDestroyed and should be not 0 because of the setFrame initialisation.
4:54 AM Changeset in webkit [31562] by Darin Adler
  • 2 edits in trunk/WebCore

2008-04-02 Darin Adler <Darin Adler>

Reviewed by Alexey.

  • fix storage leak seen on buildbot
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::utiFromMIMEType): Put the result of createCFString() into a RetainPtr. Changed result to be a RetainPtr. (WebCore::ImageBuffer::toDataURL): Tweak a little bit, removing one local variable and some unneeded explicit conversions.

Apr 1, 2008:

11:50 PM Changeset in webkit [31561] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Rubber-stamped by Darin.

Turn off using 64-bit arithmetic on 32-bit hardware, as dtoa own code is faster than
compiler-provided emulation.

1% speedup on Acid3 test 26.

  • kjs/dtoa.cpp:
11:38 PM Changeset in webkit [31560] by ap@webkit.org
  • 7 edits in trunk/JavaScriptCore

Reviewed by Darin.

Make MathExtras.h thread safe.

  • kjs/math_object.cpp: (KJS::mathProtoFuncRandom): If threading is enabled, rely on initializeThreading to call wtf_random_init().
  • wtf/Threading.h:
  • wtf/ThreadingGtk.cpp: (WTF::initializeThreading):
  • wtf/ThreadingNone.cpp: (WTF::initializeThreading):
  • wtf/ThreadingPthreads.cpp: (WTF::initializeThreading):
  • wtf/ThreadingWin.cpp: (WTF::initializeThreading): Call wtf_random_init(); made the function non-inline to avoid having to include too many headers in Threading.h.
9:56 PM Changeset in webkit [31559] by mjs@apple.com
  • 1 edit in branches/squirrelfish/JavaScriptCore/ChangeLog

reverse order of last two ChangeLog entries (oops)

9:49 PM Changeset in webkit [31558] by ggaren@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • mark the constant pool (at least for function code blocks)
  • VM/CodeBlock.cpp: (KJS::CodeBlock::mark):
  • VM/CodeBlock.h:
  • kjs/function.cpp: (KJS::FunctionImp::mark):
  • kjs/nodes.cpp: (KJS::ScopeNode::mark):
  • kjs/nodes.h: (KJS::FuncExprNode::body): (KJS::FuncDeclNode::body):
9:47 PM squirrelfish edited by ggaren@apple.com
(diff)
9:47 PM Changeset in webkit [31557] by mjs@apple.com
  • 6 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • mark the constant pool (at least for function code blocks)
  • VM/CodeBlock.cpp: (KJS::CodeBlock::mark):
  • VM/CodeBlock.h:
  • kjs/function.cpp: (KJS::FunctionImp::mark):
  • kjs/nodes.cpp: (KJS::ScopeNode::mark):
  • kjs/nodes.h: (KJS::FuncExprNode::body): (KJS::FuncDeclNode::body):
9:41 PM squirrelfish edited by ggaren@apple.com
(diff)
9:08 PM Changeset in webkit [31556] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.


Cleaned up a few loose ends.

  • JavaScriptCore.exp: Export dumpRegisters, so it's visible to gdb even if we don't explicitly call it in the source text.
  • VM/Machine.cpp: (KJS::Machine::privateExecute): No need to call dumpRegisters anymore, since that was just a hack for gdb's sake.
  • kjs/JSActivation.h: Removed obsolete comment.
  • VM/CodeGenerator.cpp: Added ASSERTs to verify that the localCount we're given matches the number of locals actually allocated.
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator): Changed "localCount" to include the parameter count, since we're using the word "local" to mean parameter, var, function, or "this". Renamed "m_nextLocal" to "m_nextVar", since "m_nextLocal" doesn't contrast well with "m_nextParameter".


Also moved tracking of implicit "this" parameter from here...

  • kjs/nodes.cpp: (KJS::FunctionBodyNode::generateCode): ... to here (KJS::ProgramNode::generateCode): ... and here
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump): Added missing "\n".
7:57 PM Changeset in webkit [31555] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Oliver.

Bug 18274: ResolveNode::emitCode() doesn't make a new temporary when dst

is 0, leading to incorrect codegen

<http://bugs.webkit.org/show_bug.cgi?id=18274>

7:05 PM Changeset in webkit [31554] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • fix bug in for..in codegen (gotta use ident, not m_ident)
  • kjs/nodes.cpp: (KJS::ForInNode::emitCode):
6:52 PM Changeset in webkit [31553] by mjs@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • Add suport for regexp literals
  • VM/CodeBlock.cpp: (KJS::regexpToSourceString): (KJS::regexpName): (KJS::CodeBlock::dump):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addRegExp): (KJS::CodeGenerator::emitNewRegExp):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::RegExpNode::emitCode):
  • kjs/nodes.h:
6:00 PM Changeset in webkit [31552] by oliver@apple.com
  • 12 edits
    1 copy
    1 add in branches/squirrelfish/JavaScriptCore

Add support for for..in nodes

Reviewed by Geoff

Added two new opcodes to get_pnames and next_pname to handle iterating
over the set of properties on an object. This iterator is explicitly
invalidated and the property name array is released on standard exit
from the loop, otherwise we rely on GC to do the clean up for us.

5:40 PM Changeset in webkit [31551] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Change CodeGenerator::emitCall() so it increments the reference count of
registers passed to it, and change its callers so they don't needlessly
increment the reference count of the registers they are passing.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall):
  • kjs/nodes.cpp: (KJS::FunctionCallResolveNode::emitCode): (KJS::FunctionCallDotNode::emitCode):
5:39 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
5:30 PM Changeset in webkit [31550] by Darin Adler
  • 2 edits in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

  • WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient.
5:28 PM Changeset in webkit [31549] by Darin Adler
  • 8 edits
    1 add
    2 deletes in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

Reviewed by Sam and Antti.

  • fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes

Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
the offset is now stored as a node pointer, and the offset is computed as and when needed.
This allows us to efficiently update when the DOM tree is changed -- computation of the
node offsets is deferred until the Range is used later.

  • WebCore.base.exp: Export nodeIndex().
  • WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.
  • dom/Document.cpp: (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range. (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for the index.
  • dom/Document.h: Take fewer arguments.
  • dom/NodeWithIndexAfter.h: Removed.
  • dom/NodeWithIndexBefore.h: Removed.
  • dom/Range.cpp: (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor. (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position. (WebCore::Range::~Range): Ditto. (WebCore::Range::startContainer): Ditto. (WebCore::Range::startOffset): Ditto. (WebCore::Range::endContainer): Ditto. (WebCore::Range::endOffset): Ditto. (WebCore::Range::commonAncestorContainer): Ditto. (WebCore::Range::collapsed): Ditto. (WebCore::Range::setStart): Ditto. (WebCore::Range::setEnd): Ditto. (WebCore::Range::collapse): Ditto. (WebCore::Range::isPointInRange): Ditto. (WebCore::Range::comparePoint): Ditto. (WebCore::Range::compareNode): Ditto. (WebCore::Range::compareBoundaryPoints): Ditto. (WebCore::Range::boundaryPointsValid): Ditto. (WebCore::Range::intersectsNode): Ditto. (WebCore::Range::processContents): Ditto. (WebCore::Range::cloneContents): Ditto. (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code at the end that updates the range -- not all of it is needed now since most of the fixup is done automatically by the range document mutation machinery. The one bit that remains is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification that it is indeed a bug (and then Acid3 will probably have to change). (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position. (WebCore::Range::text): Ditto. (WebCore::Range::createContextualFragment): Ditto. (WebCore::Range::detach): Ditto. (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to be more efficient by using childNode instead of childNodeCount, and also return the node before which is needed to set the value of a RangeBoundaryPoint. (WebCore::Range::cloneRange): Ditto. (WebCore::Range::setStartAfter): Ditto. (WebCore::Range::setEndBefore): Ditto. (WebCore::Range::setEndAfter): Ditto. (WebCore::Range::selectNode): Ditto. (WebCore::Range::selectNodeContents): Ditto. (WebCore::Range::surroundContents): Ditto. (WebCore::Range::setStartBefore): Ditto. (WebCore::Range::checkDeleteExtract): Ditto. (WebCore::Range::containedByReadOnly): Ditto. (WebCore::Range::firstNode): Ditto. (WebCore::Range::editingStartPosition): Ditto. (WebCore::Range::pastLastNode): Ditto. (WebCore::Range::addLineBoxRects): Ditto. (WebCore::Range::formatForDebugger): Ditto. (WebCore::Range::maxStartOffset): Ditto. (WebCore::Range::maxEndOffset): Ditto. (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of Position. Also changed name and changed to just call invalidateOffset. (WebCore::Range::nodeChildrenChanged): Changed to take just a container node. (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of Position. Also changed name and changed to update childBefore. (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*. (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of Position. Also changed name. (WebCore::Range::textInserted): Ditto. (WebCore::boundaryTextRemoved): Ditto. (WebCore::Range::textRemoved): Ditto. (WebCore::boundaryTextNodesMerged): Ditto. (WebCore::Range::textNodesMerged): Ditto. (WebCore::boundaryTextNodesSplit): Ditto. (WebCore::Range::textNodeSplit): Ditto.
  • dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.
  • dom/RangeBoundaryPoint.h: Added.
5:23 PM Changeset in webkit [31548] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • generate call for PostIncDotNode
  • kjs/nodes.cpp: (KJS::PostIncDotNode::emitCode):
  • kjs/nodes.h:
5:22 PM Changeset in webkit [31547] by andersca@apple.com
  • 1 edit
    1 delete in trunk/WebCore

2008-04-01 Anders Carlsson <andersca@apple.com>

Reviewed by Sam.

Get rid of old "bindings" forwarding headers.

  • ForwardingHeaders/bindings: Removed.
  • ForwardingHeaders/bindings/NP_jsobject.h: Removed.
  • ForwardingHeaders/bindings/npruntime.h: Removed.
  • ForwardingHeaders/bindings/npruntime_impl.h: Removed.
  • ForwardingHeaders/bindings/npruntime_internal.h: Removed.
  • ForwardingHeaders/bindings/runtime.h: Removed.
  • ForwardingHeaders/bindings/runtime_object.h: Removed.
  • ForwardingHeaders/bindings/runtime_root.h: Removed.
5:18 PM Changeset in webkit [31546] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Build fix.


  • fix build (not sure how this ever worked?)
  • kjs/nodes.cpp: (KJS::FunctionCallBracketNode::emitCode):
4:45 PM Changeset in webkit [31545] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • generate code for FunctionCallBracketNode
  • kjs/nodes.cpp: (KJS::FunctionCallBracketNode::emitCode):
  • kjs/nodes.h:
4:11 PM Changeset in webkit [31544] by beidson@apple.com
  • 5 edits in trunk/WebKit/win

WebKit/win:

Reviewed by Jon Honeycutt and Cake

Hookup WebArchive API enough to be able to save the archive of a DOMNode


  • DOMCoreClasses.h: Add a GUID for DOMNode
  • Interfaces/IWebArchive.idl: Add initWithNode()
  • WebArchive.cpp: (WebArchive::initWithNode): (WebArchive::data): Actually return LegacyWebArchive-style data
  • WebArchive.h:
3:44 PM Changeset in webkit [31543] by timothy@apple.com
  • 4 edits
    1 move in trunk/WebCore

2008-04-01 Timothy Hatcher <timothy@apple.com>

Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes.

http://bugs.webkit.org/show_bug.cgi?id=17773

Rubber-stamped by Brady Eidson.

  • WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js.
  • page/inspector/DatabasePanel.js: Removed.
  • page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js.
  • page/inspector/WebKit.qrc: Reference DatabasesPanel.js.
  • page/inspector/inspector.html: Reference DatabasesPanel.js.
3:37 PM Changeset in webkit [31542] by mrowe@apple.com
  • 4 edits in tags/Safari-5525.17.1

Versioning.

3:31 PM Changeset in webkit [31541] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-04-01 Brady Eidson <beidson@apple.com>

Touch a file to get Windows to rebuild WebCore

  • platform/ContextMenu.cpp: Alphabetize headers
3:30 PM Changeset in webkit [31540] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.17.1

New tag.

3:15 PM Changeset in webkit [31539] by mrowe@apple.com
  • 1 edit in branches/Safari-3-1-branch/WebKit/win/ChangeLog

Fix up ChangeLog merge header.

2:28 PM Changeset in webkit [31538] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Geoff.


  • Fix two crashing SunSpider tests
  • VM/Machine.cpp: (KJS::Machine::privateExecute): set up 'this' properly for native calls.
  • kjs/list.h: (KJS::List::List): Fix intialization of buffer and size from vector, the initialization order was wrong.
1:44 PM Applications using WebKit edited by catfish.man@gmail.com
Fix Adium naming/credits (diff)
1:38 PM Changeset in webkit [31537] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Build fix: marked ASSERT-only variables as UNUSED_PARAMs.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableInitializeVariable):
1:30 PM Changeset in webkit [31536] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Next step toward global code: Moved get, put, and initializeVariable
functionality up into JSVariableObject, and changed JSActivation to
rely on it.

  • kjs/JSActivation.cpp: (KJS::JSActivation::JSActivation): (KJS::JSActivation::getOwnPropertySlot): (KJS::JSActivation::put): (KJS::JSActivation::initializeVariable):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::valueAt): (KJS::JSVariableObject::isReadOnly): (KJS::JSVariableObject::symbolTableGet): (KJS::JSVariableObject::symbolTablePut): (KJS::JSVariableObject::symbolTableInitializeVariable):
1:26 PM Changeset in webkit [31535] by beidson@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

Reviewed by Adam Roben

Export loader/archive and loader/archive/cf headers for WebKitWin to use

  • WebCore.vcproj/WebCore.vcproj:

WebKit/win:

Reviewed by Adam Roben

Add empty implementations of WebArchive for future work


  • WebArchive.cpp: Added. (WebArchive::createInstance): (WebArchive::WebArchive): (WebArchive::~WebArchive): (WebArchive::QueryInterface): (WebArchive::AddRef): (WebArchive::Release): (WebArchive::initWithMainResource): (WebArchive::initWithData): (WebArchive::mainResource): (WebArchive::subResources): (WebArchive::subframeArchives): (WebArchive::data):
  • WebArchive.h: Added.


  • WebKit.vcproj/WebKit.vcproj:


1:22 PM Changeset in webkit [31534] by sfalken@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebKit/win

Merge r31015 to Safari-3-1-branch.

12:45 PM Changeset in webkit [31533] by beidson@apple.com
  • 2 edits in trunk/WebCore

WebCore:

Reviewed by Darin

WebArchives need to load on Windows the same way as on Mac, and this change in the
finished-loading code path was a big part of that

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading() for non-archive loads
10:47 AM Changeset in webkit [31532] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • Mac build fix
  • WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private.
9:41 AM Changeset in webkit [31531] by mitz@apple.com
  • 9 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

  • move the FontRenderingMode enumeration into its own header file
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CachedFont.h:
  • platform/graphics/FontDescription.h:
  • platform/graphics/FontRenderingMode.h: Added. (WebCore::):
  • platform/graphics/gtk/FontCustomPlatformData.h:
  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/qt/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformData.h:
9:36 AM Changeset in webkit [31530] by Darin Adler
  • 3 edits in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

Reviewed by Mitz.

  • fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create
  • fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues.
9:30 AM Changeset in webkit [31529] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • fix HashTable assertion on some SunSpider tests


Don't use -1 as the deleted value for JSValue*-keyed hashtables,
since it is a valid value (it's the immediate for -1).

  • VM/CodeGenerator.h: (KJS::CodeGenerator::JSValueHashTraits::emptyValue): (KJS::CodeGenerator::JSValueHashTraits::deletedValue):
  • kjs/JSImmediate.h: (KJS::JSImmediate::impossibleValue):
9:19 AM Changeset in webkit [31528] by Darin Adler
  • 1 edit in trunk/WebCore/dom/Clipboard.cpp

Clear stray executable bit.

9:04 AM Changeset in webkit [31527] by alice.liu@apple.com
  • 1 edit in trunk/WebCore/page/mac/AccessibilityObjectMac.mm

tiger build fix

8:44 AM Changeset in webkit [31526] by Darin Adler
  • 7 edits in trunk/WebCore

2008-04-01 Darin Adler <Darin Adler>

Reviewed by Sam.

  • speed up hasChildNodes, which does not need to be virtual
  • dom/ContainerNode.cpp: Removed hasChildNodes.
  • dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
  • dom/Node.cpp: Removed hasChildNodes.
  • dom/Node.h: Added non-vritual inline hasChildNodes.
8:43 AM Changeset in webkit [31525] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Sam Weinig <sam@webkit.org>

Reviewed by Maciej Stachowiak.

Add support for calling Native constructors like new Array().

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::NewExprNode::emitCode):
  • kjs/nodes.h:
8:42 AM Changeset in webkit [31524] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.


  • add some missing toOpbject calls to avoid crashing when calling methods on primitives
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
8:08 AM Changeset in webkit [31523] by Simon Hausmann
  • 2 edits in trunk/WebKitTools

Fix Qt DRT run by also printing EOF on stderr, as expected by
run-webkit-tests.

7:22 AM squirrelfish edited by weinig@apple.com
(diff)
3:27 AM Changeset in webkit [31522] by Simon Hausmann
  • 3 edits in trunk/WebCore

Fix the non-mac build.

1:47 AM Changeset in webkit [31521] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Get the RefCounting of WebCore::Frame right and make sure that both QWebFrame and WebCore::Frame get destroyed if we leave site with subframes and on the end of the application.
  • Use adoptRef in FrameLoaderClientQt::createFrame to get the refs right for subframes. We do not want to add an extra reference. Without this we are leaking subframes.
  • Assume that the lifetime of a Frame and FrameLoader are the same, when the Frame is gone we want to destroy the QWebFrame (e.g. on a page with subframes). Add delete m_webFrame in the frameLoaderDestroyed method to do that.
  • If we happen to delete the QWebFrame before the FrameLoaderClientQt we set m_webFrame to zero in the FrameLoaderClientQt to avoid bad things.
1:46 AM Changeset in webkit [31520] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Do not save a RefPtr to the frame. The FrameLoaderClient, Frame and QWebFrame should have the same lifetime everything else is a leak or issue.
1:46 AM Changeset in webkit [31519] by Simon Hausmann
  • 6 edits in trunk

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Do not store the QWebFrame associated with a ScrollView/FrameView in the WebCore::Widget.
  • Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core and QWebFramePrivate::kit function to convert from and to QWebFrame.
1:44 AM Changeset in webkit [31518] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Do not store the FrameView in the QWebFrame and cope with the situation when a WebCore::Frame has no WebCore::FrameView.
1:40 AM Changeset in webkit [31517] by alice.liu@apple.com
  • 8 edits
    5 adds
    2 deletes in trunk

WebCore:

2008-04-01 Alice Liu <alice.liu@apple.com>

Patch by Beth Dakin <Beth Dakin> and Alice Liu

Reviewed by Darin.

Refactored WebCore Accessibility code. Prior to this patch, WebCore
accessibility was implemented in an ObjC class named WebCoreAXObject,
with much of the "guts" in C++. This patch the next natural step of
factoring out the C++ code into a class named AccessibilityObject, and
in order to maintain the required ObjC object ties, also implements an
ObjC class named AccessibilityObjectWrapper as a thin wrapper around the
C++ object. Internally within WebCore we operate on the C++ object as
much as possible, and the ObjC object gets used mostly when we need to
return something to AppKit or call something implemented on NSObject.
The AXObjectCache still keeps one HashMap, now of RenderObjects to
AccessibilityObjects instead of WebCoreAXObjects, and the
AccessibilityObject keeps track of its ObjC wrapper.

  • WebCore.xcodeproj/project.pbxproj:
  • page/AXObjectCache.h: (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::removeAXID):
  • page/AccessibilityObject.cpp: Added. (WebCore::AccessibilityObject::AccessibilityObject): (WebCore::AccessibilityObject::~AccessibilityObject): (WebCore::AccessibilityObject::create): (WebCore::AccessibilityObject::detach): (WebCore::AccessibilityObject::firstChild): (WebCore::AccessibilityObject::lastChild): (WebCore::AccessibilityObject::previousSibling): (WebCore::AccessibilityObject::nextSibling): (WebCore::AccessibilityObject::parentObject): (WebCore::AccessibilityObject::parentObjectUnignored): (WebCore::AccessibilityObject::isWebArea): (WebCore::AccessibilityObject::isImageButton): (WebCore::AccessibilityObject::isAnchor): (WebCore::AccessibilityObject::isTextControl): (WebCore::AccessibilityObject::isImage): (WebCore::AccessibilityObject::isAttachment): (WebCore::isPasswordFieldElement): (WebCore::AccessibilityObject::isPasswordField): (WebCore::AccessibilityObject::headingLevel): (WebCore::AccessibilityObject::isHeading): (WebCore::AccessibilityObject::anchorElement): (WebCore::isCheckboxOrRadio): (WebCore::AccessibilityObject::actionElement): (WebCore::AccessibilityObject::mouseButtonListener): (WebCore::AccessibilityObject::helpText): (WebCore::AccessibilityObject::textUnderElement): (WebCore::AccessibilityObject::hasIntValue): (WebCore::AccessibilityObject::intValue): (WebCore::AccessibilityObject::stringValue): (WebCore::labelForElement): (WebCore::AccessibilityObject::title): (WebCore::AccessibilityObject::accessibilityDescription): (WebCore::AccessibilityObject::boundingBoxRect): (WebCore::AccessibilityObject::size): (WebCore::AccessibilityObject::linkedUIElement): (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): (WebCore::AccessibilityObject::accessibilityIsIgnored): (WebCore::AccessibilityObject::loaded): (WebCore::AccessibilityObject::layoutCount): (WebCore::AccessibilityObject::textLength): (WebCore::AccessibilityObject::selectedText): (WebCore::AccessibilityObject::selection): (WebCore::AccessibilityObject::selectedTextRange): (WebCore::AccessibilityObject::setSelectedText): (WebCore::AccessibilityObject::setSelectedTextRange): (WebCore::AccessibilityObject::makeRangeVisible): (WebCore::AccessibilityObject::url): (WebCore::AccessibilityObject::isVisited): (WebCore::AccessibilityObject::isFocused): (WebCore::AccessibilityObject::setFocused): (WebCore::AccessibilityObject::setValue): (WebCore::AccessibilityObject::isEnabled): (WebCore::AccessibilityObject::press): (WebCore::AccessibilityObject::topRenderer): (WebCore::AccessibilityObject::textControl): (WebCore::AccessibilityObject::widget): (WebCore::AccessibilityObject::axObjectCache): (WebCore::AccessibilityObject::documentLinks): (WebCore::AccessibilityObject::documentFrameView): (WebCore::AccessibilityObject::frameViewIfRenderView): (WebCore::AccessibilityObject::visiblePositionRange): (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine): (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers): (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker): (WebCore::updateAXLineStartForVisiblePosition): (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker): (WebCore::startOfStyleRange): (WebCore::endOfStyleRange): (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::textMarkerRangeForRange): (WebCore::AccessibilityObject::stringForReplacedNode): (WebCore::AccessibilityObject::doAXStringForTextMarkerRange): (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange): (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange): (WebCore::AccessibilityObject::doAXTextMarkerForPosition): (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::textMarkerForIndex): (WebCore::AccessibilityObject::doAXUIElementForTextMarker): (WebCore::AccessibilityObject::doAXLineForTextMarker): (WebCore::AccessibilityObject::rangeForTextMarkerRange): (WebCore::AccessibilityObject::indexForTextMarker): (WebCore::AccessibilityObject::doAXRangeForLine): (WebCore::AccessibilityObject::doAXRangeForPosition): (WebCore::AccessibilityObject::doAXRangeForIndex): (WebCore::AccessibilityObject::doAXStyleRangeForIndex): (WebCore::AccessibilityObject::doAXStringForRange): (WebCore::AccessibilityObject::doAXBoundsForRange): (WebCore::AccessibilityObject::doAXLineForIndex): (WebCore::AccessibilityObject::doAccessibilityHitTest): (WebCore::AccessibilityObject::focusedUIElement): (WebCore::AccessibilityObject::observableObject): (WebCore::AccessibilityObject::roleValue): (WebCore::AccessibilityObject::canSetFocusAttribute): (WebCore::AccessibilityObject::canSetValueAttribute): (WebCore::AccessibilityObject::canSetTextRangeAttributes): (WebCore::AccessibilityObject::childrenChanged): (WebCore::AccessibilityObject::clearChildren): (WebCore::AccessibilityObject::hasChildren): (WebCore::AccessibilityObject::addChildren): (WebCore::AccessibilityObject::axObjectID): (WebCore::AccessibilityObject::setAXObjectID): (WebCore::AccessibilityObject::removeAXObjectID):
  • page/AccessibilityObject.h: Added. (WebCore::): (WebCore::VisiblePositionRange::VisiblePositionRange): (WebCore::VisiblePositionRange::isNull): (WebCore::AccessibilityObject::detached): (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange): (WebCore::AccessibilityObject::PlainTextRange::isNull): (WebCore::AccessibilityObject::renderer): (WebCore::AccessibilityObject::children): (WebCore::AccessibilityObject::wrapper): (WebCore::AccessibilityObject::setWrapper):
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::~AXObjectCache): (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::remove): (WebCore::AXObjectCache::getAXID): (WebCore::AXObjectCache::removeAXID): (WebCore::AXObjectCache::textMarkerForVisiblePosition): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postNotificationToElement):
  • page/mac/AccessibilityObjectMac.mm: Added. (createAccessibilityRoleMap): (RoleEntry::): (roleValueToNSString): (AccessibilityObject::attachmentView): (AccessibilityObject::performPressActionForAttachment): (AccessibilityObject::textMarkerRange): (AccessibilityObject::textMarkerForVisiblePosition): (AccessibilityObject::startTextMarker): (AccessibilityObject::visiblePositionForTextMarker): (AccessibilityObject::visiblePositionForStartOfTextMarkerRange): (AccessibilityObject::visiblePositionForEndOfTextMarkerRange): (AccessibilityObject::textMarkerRangeFromVisiblePositions): (AccessibilityObject::textMarkerRangeForSelection): (AccessibilityObject::textMarkerRangeFromMarkers): (AccessibilityObject::convertViewRectToScreenCoords): (AccessibilityObject::convertAbsolutePointToViewCoords): (AccessibilityObject::convertWidgetChildrenToNSArray): (AccessibilityObject::position): (AccessibilityObject::role): (AccessibilityObject::subrole): (AccessibilityObject::roleDescription): (blockquoteLevel): (AccessibilityObject::AXAttributeStringSetElement): (AXAttributeStringSetBlockquoteLevel): (CreateCGColorIfDifferent): (AXAttributeStringSetColor): (AXAttributeStringSetNumber): (AXAttributeStringSetFont): (AXAttributeStringSetStyle): (AccessibilityObject::AXAttributeStringSetHeadingLevel): (AccessibilityObject::AXLinkElementForNode): (AXAttributeStringSetSpelling): (AccessibilityObject::AXAttributedStringAppendText): (nsStringForReplacedNode): (AccessibilityObject::doAXAttributedStringForTextMarkerRange): (AccessibilityObject::doAXAttributedStringForRange): (AccessibilityObject::doAXRTFForRange):
  • page/mac/AccessibilityObjectWrapper.h: Added.
  • page/mac/AccessibilityObjectWrapper.mm: Added. (-[AccessibilityObjectWrapper initWithAccessibilityObject:]): (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]): (-[AccessibilityObjectWrapper detach]): (-[AccessibilityObjectWrapper accessibilityObject]): (-[AccessibilityObjectWrapper accessibilityActionNames]): (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): (-[AccessibilityObjectWrapper renderWidgetChildren]): (convertToNSArray): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): (-[AccessibilityObjectWrapper accessibilityHitTest:]): (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): (-[AccessibilityObjectWrapper accessibilityIsIgnored]): (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): (-[AccessibilityObjectWrapper accessibilityPerformAction:]): (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): (rendererForView): (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]): (-[AccessibilityObjectWrapper accessibilityActionDescription:]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  • page/mac/WebCoreAXObject.h: Removed.
  • page/mac/WebCoreAXObject.mm: Removed.
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::selectElement):
  • rendering/RenderMenuList.h:

WebKit/mac:

2008-03-31 Alice Liu <alice.liu@apple.com>

Reviewed by Darin.

  • WebView/WebFrame.mm: (-[WebFrame _accessibilityTree]): The syntax for fetching an object from the AXObjectCache changed slightly
1:24 AM Changeset in webkit [31516] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Change the order of the methods to match with the FrameLoaderClient.h to ease removing methods in the future.
1:24 AM Changeset in webkit [31515] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Remove virtuals in the FrameLoaderClientQt that don't exist in the base class.
12:32 AM Changeset in webkit [31514] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-01 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Changed Machine::dumpRegisters to take a pointer instead of a reference,
so gdb understands how to call it.

  • VM/Machine.cpp: (KJS::Machine::dumpRegisters): (KJS::Machine::privateExecute):
  • VM/Machine.h:

Mar 31, 2008:

11:54 PM Changeset in webkit [31513] by mitz@apple.com
  • 3 edits in trunk/WebCore
  • fix previous attempted fixes
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
11:40 PM Changeset in webkit [31512] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • fix Qt link stubs
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
11:31 PM Changeset in webkit [31511] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • try to fix the Wx build
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
11:26 PM Changeset in webkit [31510] by mitz@apple.com
  • 5 edits in trunk/WebCore
  • Gtk and Qt build fixes
  • platform/graphics/gtk/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/gtk/FontCustomPlatformData.h:
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/qt/FontCustomPlatformData.h:
11:04 PM Changeset in webkit [31509] by mitz@apple.com
  • 3 edits in trunk/WebCore
  • Mac build fix
  • platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/mac/FontCustomPlatformData.h:
11:03 PM Changeset in webkit [31508] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Fix CodeGenerator::addConstant() so it uses the functionExpressions
counter for function expressions, not the functions counter.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant):
10:49 PM Changeset in webkit [31507] by mitz@apple.com
  • 12 edits
    2 adds in trunk/WebCore

2008-03-31 Dan Bernstein <mitz@apple.com>

Reviewed by Darin Adler.

  • fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text
  • WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}
  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering mode to CachedFont::platformDataFromCustomData().
  • loader/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): Added a rendering mode parameter which is passed down to FontCustomPlatformData::fontPlatformData().
  • loader/CachedFont.h:
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::FontCache::fontExists): Changed the number 5 to the named constant CLEARTYPE_QUALITY.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code to delete the embedded font reference. (WebCore::FontCustomPlatformData::fontPlatformData): Added code to create an HFONT from the embedded font reference and pass it along with the CGFontRef to the FontPlatformData constructor. Added a rendering mode parameter which is passed down to the FontPlatformData constructor. (WebCore::EOTStream::EOTStream): Added this helper class used to feed data to TTLoadEmbeddedFont(). (WebCore::EOTStream::read): Added. (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback. (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived font name. (WebCore::createFontCustomPlatformData): Added code to make the font accessible to GDI by creating an Embedded OpenType stream and activating it in the process under a globally-unique name.
  • platform/graphics/win/FontCustomPlatformData.h: Added a font reference data member which holds the embedded font. (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a rendering mode parameter.
  • platform/graphics/win/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Made this class always own the CGFontRef and the HFONT by turning these data members into a RetainPtr and a RefPtr around a RefCountedHFONT. Added an HFONT parameter to the CGFontRef-based constructor. Made platformDataInit() private. (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::cgFont): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added. (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): (WebCore::FontPlatformData::RefCountedHFONT::hfont): (WebCore::FontPlatformData::RefCountedHFONT::hash):
  • platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): Changed to take ownership of the CGFontRef created here. (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter and a useGDI flag.
  • platform/graphics/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership of the HFONT.
  • platform/graphics/win/GetEOTHeader.cpp: Added. (WebCore::BigEndianUShort::operator unsigned short): (WebCore::BigEndianULong::operator unsigned): (WebCore::appendBigEndianStringToEOTHeader): (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot) header for the given font data, making it suitable as input for TTLoadEmbeddedFont.
  • platform/graphics/win/GetEOTHeader.h: Added.
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts of the FontPlatformData, since they are now always owned and managed by the FontPlatformData.
10:48 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
10:44 PM Changeset in webkit [31506] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for TypeOfResolveNode and TypeOfValueNode.
Added new opcode op_type_of to handle them.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNot): (KJS::CodeGenerator::emitInstanceOf): (KJS::CodeGenerator::emitTypeOf):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::jsTypeStringForValue): (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::TypeOfResolveNode::emitCode): (KJS::TypeOfValueNode::emitCode):
  • kjs/nodes.h:
10:39 PM Changeset in webkit [31505] by weinig@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Fix non-computed goto version of isOpcode. op_end is a valid opcode.

  • VM/Machine.cpp: (KJS::Machine::isOpcode):
10:38 PM Changeset in webkit [31504] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Added op_post_dec.

10:29 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
10:04 PM Changeset in webkit [31503] by mrowe@apple.com
  • 4 edits in branches/Safari-3-1-branch

Versioning.

10:04 PM Changeset in webkit [31502] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.17

New tag.

9:53 PM Changeset in webkit [31501] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Add support for FunctionCallDotNode.

  • kjs/nodes.cpp: (KJS::FunctionCallDotNode::emitCode):
  • kjs/nodes.h:
9:22 PM Changeset in webkit [31500] by ggaren@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.

Next step toward global code: Removed more obsolete API, moved
saveLocalStorage and restoreLocalStorage to JSGlobalObject subclass,
since it's only intended for use there.


  • ChangeLog:
  • JavaScriptCore.exp:
  • kjs/Activation.h:
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::saveLocalStorage): (KJS::JSGlobalObject::restoreLocalStorage):
  • kjs/JSGlobalObject.h:
  • kjs/JSVariableObject.cpp:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
  • kjs/function.cpp: (KJS::ActivationImp::ActivationImp):
8:55 PM Changeset in webkit [31499] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.

Next step toward global code: subclass JSActivation + JSActivationData
from JSVariableObject + JSVariableObjectData.


JSActivation now relies on JSVariableObject for access to registers and
symbol table, and for some delete functionality, but not for anything
else yet.

(KJS::JSActivation::mark): Cleaned up the style here a little bit.

8:25 PM Changeset in webkit [31498] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-31 Darin Adler <Darin Adler>

Reviewed by Anders.

  • fix crash seen on buildbot (regression from a recent speedup)
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since that takes care of the null string case.
8:22 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
8:19 PM Changeset in webkit [31497] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.


Next step toward global code: store "rOffset" in JSVariableObjectData.

  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
8:01 PM Changeset in webkit [31496] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Next steps toward global code:


  • Moved access to the register file into JSVariableObject.


  • Added more ASSERTs to indicate obsolete APIs there are just hanging around to stave off build failures.
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::registers): (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData): (KJS::JSVariableObject::JSVariableObject):
7:57 PM Changeset in webkit [31495] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Sam Weinig <sam@webkit.org>

Reviewed by Oliver. Tweaked somewhat by Maciej.


  • implement codegen for ReadModifyResolveNode
  • kjs/nodes.cpp: (KJS::emitReadModifyAssignment): (KJS::ReadModifyResolveNode::emitCode):
  • kjs/nodes.h:
7:08 PM Changeset in webkit [31494] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoff.

Fix the build -- r31492 removed activation tear-off, but r31493 used it.

  • kjs/nodes.cpp: (KJS::FuncExprNode::makeFunction):
7:00 PM Changeset in webkit [31493] by mjs@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Add support for FuncExprNode to SquirrelFish.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant): (KJS::CodeGenerator::emitNewFunctionExpression):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::FuncExprNode::emitCode): (KJS::FuncExprNode::makeFunction):
  • kjs/nodes.h:
6:55 PM Changeset in webkit [31492] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


First step toward global code: removed some obsolete JSGlobalObject
APIs, changing clients to ASSERT_NOT_REACHED.


Activation tear-off and scope chain pushing is obsolete because we
statically detect whether an activation + scope node is required.


The variableObject() and activationObject() accessors are obsolete
because they haven't been maintained, and they're mostly used by
node evaluation code, anyway.


The localStorage() accessor is obsolete because everything is in
registers now, and it's mostly used by node evaluation code, anyway.

6:51 PM Changeset in webkit [31491] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by John Sullivan.

  • fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up
  • platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors to fully opaque. The mask is ignored and the alpha values from the 32-bit image are used except in the case of a fully-transparent image, in which the fully-opaque 1-bit mask is required to get transparency.
6:31 PM Changeset in webkit [31490] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


  • implement codegen for bracket accessor and bracket assign
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitGetPropVal): (KJS::CodeGenerator::emitPutPropVal):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::BracketAccessorNode::emitCode): (KJS::AssignBracketNode::emitCode):
  • kjs/nodes.h:
6:16 PM Changeset in webkit [31489] by beidson@apple.com
  • 4 edits in trunk

Make more WebArchive checks cross platform

3:58 PM Changeset in webkit [31488] by beidson@apple.com
  • 2 edits in trunk/WebCore

Turn on WebArchive loading on Windows

3:43 PM Changeset in webkit [31487] by mrowe@apple.com
  • 3 edits
    44 adds in trunk/WebKitSite

2008-03-31 Mark Rowe <mrowe@apple.com>

Add some images that were missed in the WordPress 2.5 upgrade.

  • blog/:
3:32 PM Changeset in webkit [31486] by mrowe@apple.com
  • 234 edits
    130 adds
    42 deletes in trunk/WebKitSite

2008-03-31 Mark Rowe <mrowe@apple.com>

Upgrade to WordPress 2.5

  • blog/:
3:29 PM Changeset in webkit [31485] by mitz@apple.com
  • 3 edits in trunk/WebCore

2008-03-31 Dan Bernstein <mitz@apple.com>

Reviewed by Dave Hyatt.

  • page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR macro to not blend two invalid colors.
  • rendering/RenderStyle.cpp: (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing copying of the m_color data member.
3:28 PM Changeset in webkit [31484] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Removed FIXME that I just fixed.


Added ASSERT to cover an error previously only covered by a FIXME.

  • kjs/JSActivation.cpp: (KJS::JSActivation::getOwnPropertySlot):
2:58 PM Changeset in webkit [31483] by jchaffraix@webkit.org
  • 4 edits in trunk/WebCore

2008-03-31 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Bug 18177: m_encoding is used twice in XMLHttpRequest
http://bugs.webkit.org/show_bug.cgi?id=18177

  • Change XMLHttpRequest variable m_encoding to m_responseEncoding.
  • Change send local variable m_encoding to encoding.

No test case (no functionnal change).

  • platform/network/ResourceResponseBase.h: Removed unused variable.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding. (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding. (WebCore::XMLHttpRequest::didReceiveData): Ditto.
  • xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate the name as it is only used for response.
2:45 PM Changeset in webkit [31482] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Fixed indentation inside op_call. (I had left this code badly indented
to make the behavior-changing diff clearer.)

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
2:43 PM Changeset in webkit [31481] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed up logging of jump instructions to follow the following style:


jump offset(->absoluteTarget)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
2:41 PM Changeset in webkit [31480] by jchaffraix@webkit.org
  • 2 edits in trunk/WebKit/gtk

2008-03-31 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Darin.

Resolves http://bugs.webkit.org/show_bug.cgi?id=18010
"WebKitNetworkRequestPrivate is defined in two places unnecessarily"

Removed unnecessary definition of WebKitNetworkRequestPrivate in
webkitprivate.h

  • webkit/webkitprivate.h:
2:35 PM Changeset in webkit [31479] by Adam Roben
  • 2 edits in trunk/WebCore

Pass the right ExecStates to toJS when creating JS wrappers for objects from the inspected page

We now use an ExecState from the inspected page to create the JS
wrappers for objects from the inspected page, rather than use an
ExecState from the Inspector.

Reviewed by Tim Hatcher.

  • page/InspectorController.cpp: (WebCore::getResourceDocumentNode): (WebCore::InspectorController::focusNode): (WebCore::InspectorController::addDatabaseScriptResource):
2:30 PM Changeset in webkit [31478] by mrowe@apple.com
  • 5 edits in branches/Safari-3-1-branch

Merge r31388.

2:30 PM Changeset in webkit [31477] by mrowe@apple.com
  • 10 edits in branches/Safari-3-1-branch/WebCore

Merge r31438.

2:30 PM Changeset in webkit [31476] by mrowe@apple.com
  • 4 edits
    2 adds in branches/Safari-3-1-branch

Merge r31434.

2:27 PM Changeset in webkit [31475] by ggaren@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Changed the SymbolTable API to use int instead of size_t. It has been
using int internally for a while now (since squirrelfish symbols can
have negative indices).

2:23 PM Developer Tools Hitlist edited by Adam Roben
(diff)
2:22 PM Developer Tools Hitlist edited by Adam Roben
(diff)
2:10 PM Changeset in webkit [31474] by mrowe@apple.com
  • 4 edits
    2 adds in branches/Safari-3-1-branch

Merge r30722.

2:10 PM Changeset in webkit [31473] by mrowe@apple.com
  • 3 edits
    4 adds in branches/Safari-3-1-branch

Merge r31153.

2:03 PM Changeset in webkit [31472] by Adam Roben
  • 4 edits in trunk/WebCore

Stop relying on functions added to prototypes in the Inspector being callable on objects from the inspected window

Reviewed by Tim Hatcher.

  • page/inspector/Console.js: (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node) instead of node.titleInfo().
  • page/inspector/StylesSidebarPane.js: Changed uses of getShorthandValue, getShorthandPriority, getLonghandProperties, and getUniqueStyleProperties to call them as functions instead of as methods on the CSSStyleDeclaration objects.
  • page/inspector/utilities.js: Removed Node.prototype.titleInfo, and changed our CSSStyleDeclaration methods to just be standalone functions.
1:59 PM Changeset in webkit [31471] by mrowe@apple.com
  • 2 edits
    2 deletes in branches/Safari-3-1-branch/WebCore

Roll out r31407.

1:28 PM Changeset in webkit [31470] by Adam Roben
  • 2 edits in trunk/WebCore

Fix an exception while adding a message to the console

Reviewed by Mark Rowe.

  • page/inspector/ConsolePanel.js: Don't call addMessageToSource if the panel has no such method. This can happen if we get a message for, e.g., a Database.
1:14 PM Changeset in webkit [31469] by jchaffraix@webkit.org
  • 2 edits in trunk/WebKitTools

2008-03-31 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

Bug 17665: determineSourceDir() dies if $sourceDir has a trailing backslash

Remove trailing '/' in $sourceDir in determineSourceDir().

Fix suggested by Dmitriy Kazachkov.

  • Scripts/webkitdirs.pm:
10:59 AM Changeset in webkit [31468] by beidson@apple.com
  • 7 edits in trunk

WebCore:

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • page/EditorClient.h:
  • svg/graphics/SVGImageEmptyClients.h:
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly

WebKit/mac:

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • WebCoreSupport/WebEditorClient.mm:
  • WebCoreSupport/WebEditorClient.h:
10:06 AM Changeset in webkit [31467] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-31 Brady Eidson <beidson@apple.com>

Reviewed by Mitz Pettel

Fix for http://bugs.webkit.org/show_bug.cgi?id=18183

Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and
therefore don't know how to make a layout test for it.

  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::response): Fix potential null dereference
9:56 AM Changeset in webkit [31466] by Adam Roben
  • 3 edits in trunk/WebCore

Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on Windows

<http://bugs.webkit.org/show_bug.cgi?id=18208>

We now keep track of all the plugin paths found each time refresh() is
called. We'll only instantiate PluginPackages if there are new paths
or paths with changed timestamps since the last time refresh() was
called.

Reviewed by Darin Adler and Anders Carlsson.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
    • Only instantiate PluginPackages if there is a new path or a path with a changed timestamp since we last ran refresh().
    • Cache the set of plugin paths found and their timestamps for the next call to refresh().
    • Only re-register MIME types if our set of plugins changed.
  • plugins/PluginDatabase.h: Added a new member to cache plugin paths and their timestamps.
9:55 AM Changeset in webkit [31465] by Adam Roben
  • 6 edits in trunk/WebCore

Separate filesystem crawling from PluginPackage instantiation

Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
on Windows
<http://bugs.webkit.org/show_bug.cgi?id=18208>

refresh() is now the only place where PluginPackages are instantiated.
refresh() now asks for a set of plugins that no longer exist on disk,
and the set of all plugin files in our plugin directories. Using these
two sets we can update our instantiated plugins without copying any
HashSets. The code in refresh() and in the platform-specific methods
to crawl the filesystem is now quite a bit simpler.

PluginDatabase now stores both a PluginSet and a HashMap that maps
plugin paths to PluginPackages. This allows us to quickly determine
whether we already have a PluginPackage instantiated for a particular
path. The new add/remove methods handle the modification of these two
collections.

A nice side effect of all this is that refresh() no longer copies any
HashSets.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh): Unload any plugins that have been deleted from disk, and add any plugins that either weren't installed last time, or have changed since last time. (WebCore::PluginDatabase::getDeletedPlugins): Added. (WebCore::PluginDatabase::add): Added. Returns whether or not the PluginPackage was actually added to the database (duplicates won't be added). (WebCore::PluginDatabase::remove): Added.
  • plugins/PluginDatabase.h:
  • plugins/PluginPackage.h: (WebCore::PluginPackage::path): Added. (WebCore::PluginPackage::lastModified): Added.
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from getPluginsInDirectories. Now fills a HashSet of Strings instead of instantiated PluginPackages.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginPathsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.
9:55 AM Changeset in webkit [31464] by Adam Roben
  • 5 edits in trunk/WebCore

Change getPluginsInDirectories to use an out parameter

This avoids copying a HashSet.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
9:54 AM Changeset in webkit [31463] by Adam Roben
  • 2 edits in trunk/WebCore

Make some PluginPackage methods return const String&

Reviewed by Mitz Pettel.

  • plugins/PluginPackage.h:
9:54 AM Changeset in webkit [31462] by Adam Roben
  • 15 edits in trunk

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

WebCore:

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

The code expects these paths to all be directories, so it seems good
to refer to them as such.

This patch just changes "Paths" to "Directories" and "Path" to
"Directory".

Reviewed by Mitz Pettel.

  • platform/qt/TemporaryLinkStubs.cpp:
  • platform/wx/TemporaryLinkStubs.cpp:
  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::installedPlugins): (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h: (WebCore::PluginDatabase::setPluginDirectories):
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories): (WebCore::safariPluginsDirectory): (WebCore::PluginDatabase::defaultPluginDirectories): (WebCore::PluginDatabase::isPreferredPluginDirectory):
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::compare):

WebKit/win:

Rename IWebViewPrivate::addAdditionalPluginPath to
addAdditionalPluginDirectory

Reviewed by Mitz Pettel.

  • Interfaces/IWebViewPrivate.idl:
  • Interfaces/WebKit.idl: Touched to make sure the Interfaces project rebuilds.
  • WebView.cpp: (WebView::addAdditionalPluginDirectory):
  • WebView.h:

WebKitTools:

Update for rename of an IWebViewPrivate method

Reviewed by Mitz Pettel.

  • DumpRenderTree/win/DumpRenderTree.cpp: (createWebViewAndOffscreenWindow):
9:53 AM Changeset in webkit [31461] by Adam Roben
  • 4 edits in trunk/WebCore

Remove PlatformFileTime

This typedef is time_t on all platforms, so we can just get rid of the
typedef.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h:
  • plugins/PluginPackage.cpp:
  • plugins/PluginPackage.h:
9:53 AM Changeset in webkit [31460] by Adam Roben
  • 3 edits in trunk/WebCore

Change PlatformFileTime on Windows to be time_t

This matches other platforms and our existing functions in
FileSystem.h. It will also let us get rid of PlatformFileTime
altogether.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get the modification time to pass to PluginPackage::create. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Updated to use m_lastModified as a time_t. (WebCore::PluginPackage::equal): Ditto.
9:52 AM Changeset in webkit [31459] by Adam Roben
  • 5 edits in trunk/WebCore

Make PluginPackage work like our other RefCounted classes

PluginPackage now starts with a ref count of 1, and its createPackage
method now returns a PassRefPtr instead of a raw pointer.

Reviewed by Darin Adler.

  • plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): Removed explicit call to the RefCounted constructor so that we'll start with a ref count of 1. (WebCore::PluginPackage::createPackage): Changed to return a PassRefPtr.
  • plugins/PluginPackage.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the newly-created PluginPackage in a RefPtr.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
9:52 AM Changeset in webkit [31458] by Adam Roben
  • 2 edits in trunk/WebCore

Fix Bug 18214: WebKit will sometimes load duplicate plugins

<http://bugs.webkit.org/show_bug.cgi?id=18214>

We now compare 3 things to determine if two PluginPackages are equal:

1) Name
2) Description
3) Supported MIME types

This matches Gecko's equality logic for plugins (implemented in
nsPluginTag::Equals).

Reviewed by Darin Adler.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to calculate the hash. (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to determine equality.
1:56 AM squirrelfish edited by mjs@apple.com
(diff)
1:55 AM squirrelfish edited by mjs@apple.com
(diff)
1:54 AM squirrelfish edited by mjs@apple.com
(diff)
1:50 AM Changeset in webkit [31457] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the Qt build.

ResourceHandleInternal.h references ResourceHandle::fireFailure, so include
ResourceHandle.h.

1:46 AM Changeset in webkit [31456] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Add support for FunctionCallValueNode.

  • kjs/nodes.cpp: (KJS::FunctionCallValueNode::emitCode):
  • kjs/nodes.h:
1:04 AM Changeset in webkit [31455] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-31 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


1) Implemented array literals


2) Renamed op_object_get and op_object_put to op_get_prop_id and
op_put_prop_id in preparation for new variants.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewArray): (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitPutPropIndex):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator): (KJS::CodeGenerator::propertyNames):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode):
  • kjs/nodes.h:
1:01 AM Changeset in webkit [31454] by eric@webkit.org
  • 5 edits
    3 adds in trunk

Reviewed by darin.

Make matching of regexps using much faster
http://bugs.webkit.org/show_bug.cgi?id=18086

  • pcre/pcre_compile.cpp: (compileBranch): (branchNeedsLineStart):
  • pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
  • pcre/pcre_internal.h:
12:21 AM squirrelfish edited by ggaren@apple.com
(diff)
12:16 AM squirrelfish edited by ggaren@apple.com
(diff)
12:15 AM squirrelfish edited by ggaren@apple.com
(diff)
12:11 AM squirrelfish edited by ggaren@apple.com
(diff)

Mar 30, 2008:

11:49 PM Changeset in webkit [31453] by rwlbuis@webkit.org
  • 6 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15595
marker property doesn't show up correctly as "shorthand" in inspector

Make sure parsing the marker property sets the individual
marker properties as implicit with marker as shorthand.
Also let CSSStyleDecleration::getPropertyValue return
the correct value for the marker property.

11:48 PM Changeset in webkit [31452] by ggaren@apple.com
  • 27 edits
    5 copies
    2 adds in branches/squirrelfish

JavaScriptCore:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Implemented native function calls. (Re-entering from native code back
to JS doesn't work yet, though.)

0.2% speedup overall, due to some inlining tweaks. 3.6% regression on
function-empty.js, since we're making a new virtual call and taking a
new branch inside every op_call.


I adjusted the JavaScriptCore calling convention to minimize overhead,
like so:


The machine calls a single virtual function, "getCallData", to get all
the data it needs for a function call. Native code still uses the old
"isObject()" check followed by an "implementsCall()" check, which
aliases to "getCallData". (We can optimize native code to use getCallData
at our leisure.)


To supply a list of arguments, the machine calls a new List constructor
that just takes a pointer and a length, without copying. Native code
still appends to the list one argument at a time. (We can optimize
native code to use the new List constructor at our leisure.)

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Changed resize() call to grow() call, to encourage the compiler to inline the Vector code.
  • kjs/CallData.h: Added. (KJS::): CallData is a union because eventually native calls will stuff a function pointer into it, to eliminate the callAsFunction virtual call.
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): Changed this to an ASSERT since it's not implemented yet.


  • kjs/list.h: Made the List class two-faced, to support the old way and the new way during this transition phase: lists can be made read-only with just a pointer and a legnth, or you can append to them one item at a time.
  • kjs/value.h: (KJS::jsUndefined): Marked this function ALWAYS_INLINE for the benefit of a certain compiler that doesn't know what's best for it.

JavaScriptGlue:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Build fix.

  • ForwardingHeaders/wtf/UnusedParam.h: Copied from ForwardingHeaders/wtf/OwnPtr.h.

WebCore:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Adjusted WebCore JS functions to the new "getCallData" calling convention.

WebKit/mac:

2008-03-30 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Build fix.

11:13 PM Changeset in webkit [31451] by eric@webkit.org
  • 21 edits in trunk/WebCore

Reviewed by Oliver.

Make AMatthews life easier -- fix the SVG_FILTERS build

Build fix only, no tests.

  • svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
  • svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
  • svg/SVGFEDiffuseLightingElement.cpp:
  • svg/SVGFEGaussianBlurElement.cpp:
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::SVGFEImageElement):
  • svg/SVGFESpecularLightingElement.cpp:
  • svg/SVGFETurbulenceElement.cpp:
  • svg/SVGFilterElement.cpp:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp:
  • svg/graphics/filters/SVGFEBlend.cpp:
  • svg/graphics/filters/SVGFEComponentTransfer.cpp:
  • svg/graphics/filters/SVGFEComposite.cpp:
  • svg/graphics/filters/SVGFEDiffuseLighting.cpp:
  • svg/graphics/filters/SVGFEGaussianBlur.cpp:
  • svg/graphics/filters/SVGFEImage.cpp:
  • svg/graphics/filters/SVGFEMerge.cpp:
  • svg/graphics/filters/SVGFEMorphology.cpp:
  • svg/graphics/filters/SVGFEOffset.cpp:
  • svg/graphics/filters/SVGFESpecularLighting.cpp:
  • svg/graphics/filters/SVGFETurbulence.cpp:
10:49 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
10:32 PM Changeset in webkit [31450] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

Dump code that codegen can't handle yet, so it's easier to prioritize missing nodes.


  • kjs/nodes.h: (KJS::Node::emitCode):
9:39 PM Changeset in webkit [31449] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

Improve dumping of bytecode and fix coding style accordingly.


Registers are printed as lr1 for locals, tr1 for temp registers. Identifiers print as
foobar(@id0) and constants print as "foo"(@k1) or 312.4(@k2) or the like. Constant and
identifier tables are dumped for reference.


  • VM/CodeBlock.cpp: (KJS::escapeQuotes): (KJS::valueToSourceString): (KJS::registerName): (KJS::constantName): (KJS::idName): (KJS::printUnaryOp): (KJS::printBinaryOp): (KJS::CodeBlock::dump):
  • VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::Machine::privateExecute):
7:46 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
6:11 PM Changeset in webkit [31448] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


Implement StringNode and VoidNode (both pretty trivial).

  • kjs/nodes.cpp: (KJS::StringNode::emitCode): (KJS::VoidNode::emitCode):
  • kjs/nodes.h:
3:35 PM Changeset in webkit [31447] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Maciej Stachowiak <mjs@apple.com>

Reviewed by Sam.

Implement CommaNode.


  • kjs/nodes.cpp: (KJS::CommaNode::emitCode):
  • kjs/nodes.h:
2:52 PM Changeset in webkit [31446] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: fast/repaint/lines-with-layout-delta.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::repaintRectangle): Made this method take layout delta into account.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/repaint/lines-with-layout-delta.html: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.png: Added.
  • platform/mac/fast/repaint/lines-with-layout-delta-expected.txt: Added.
2:41 PM squirrelfish edited by mjs@apple.com
(diff)
2:40 PM squirrelfish edited by mjs@apple.com
(diff)
2:29 PM Changeset in webkit [31445] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Maciej Stachowiak.

  • fix assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.

Test: fast/css/transform-function-lowercase-assert.html

  • css/CSSParser.cpp: (WebCore::TransformOperationInfo::TransformOperationInfo): Changed to always pass a lowercase string as the second argument of equalIgnoringCase().

LayoutTests:

Reviewed by Maciej Stachowiak.

  • test for an assertion failure in CSSParser.cpp's equalIgnoringCase() when parsing certain transforms.
  • fast/css/transform-function-lowercase-assert-expected.txt: Added.
  • fast/css/transform-function-lowercase-assert.html: Added.
2:11 PM Changeset in webkit [31444] by mrowe@apple.com
  • 2 edits in trunk/WebCore

ARM build fix.

2:02 PM Changeset in webkit [31443] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-30 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Adds support for dot notation and object literals.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewObject):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ObjectLiteralNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::AssignDotNode::emitCode):
  • kjs/nodes.h:
10:25 AM Changeset in webkit [31442] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-30 Hiroyuki Ikezoe <poincare@ikezoe.net>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18036
Rendering invalid japanese characters with pango backend.

  • platform/graphics/gtk/FontPlatformDataPango.cpp: (FontPlatformData::FontPlatformData): Set PangoFontDescription for PangoContext explicitly to use proper font.
10:09 AM Changeset in webkit [31441] by rwlbuis@webkit.org
  • 8 edits
    2 adds in trunk

Reviewed by Oliver.

http://bugs.webkit.org/show_bug.cgi?id=17633
SVG: modifying x & y attribute of text element from JS fails

Make SVG text relayout when x, y attribute is changed from js.

8:25 AM Changeset in webkit [31440] by rwlbuis@webkit.org
  • 2 edits in trunk/LayoutTests

Reviewed by Adam Roben.

Fix wrong id.

Mar 29, 2008:

9:58 PM Changeset in webkit [31439] by mjs@apple.com
  • 8 edits in trunk/WebCore

2008-03-28 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.

  • yet still more bindings speedup


Make AtomicString straight from UString in handcoded bindings

  • bindings/js/JSElementCustom.cpp: (WebCore::JSElement::setAttribute): (WebCore::JSElement::setAttributeNS):
  • dom/Document.cpp: (WebCore::Document::createElement):
  • dom/Document.h:
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement):
  • html/HTMLDocument.h:
7:21 PM Changeset in webkit [31438] by weinig@apple.com
  • 10 edits in trunk/WebCore

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix for <rdar://problem/5828873>

Since NSURL is allowing invalid urls to be loaded, we need to
check the URL validity at the ResourceHandle level and fire off
a cannotShowURL error.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::cannotShowURLError):
  • loader/FrameLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::cannotShowURLError): (WebCore::ResourceLoader::wasBlocked): (WebCore::ResourceLoader::cannotShowURL):
  • loader/ResourceLoader.h:
  • platform/KURL.h: (WebCore::KURL::isValid):
  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): (WebCore::ResourceHandle::scheduleFailure): (WebCore::ResourceHandle::fireFailure): (WebCore::portAllowed):
  • platform/network/ResourceHandle.h: (WebCore::ResourceHandle::):
  • platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::cannotShowURL):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
6:47 PM Changeset in webkit [31437] by Darin Adler
  • 3 edits in trunk/WebCore

2008-03-29 Darin Adler <Darin Adler>

Reviewed by Mitz.

  • more bindings speedup

When I changed the temporary variables to be UString that means that the
valueToString functions also need to return UString to avoid converting
from UString to String twice.

  • bindings/js/kjs_binding.cpp: (WebCore::valueToStringWithNullCheck): Changed return value to UString. (WebCore::valueToStringWithUndefinedOrNullCheck): Ditto.
  • bindings/js/kjs_binding.h: Ditto.
10:52 AM Changeset in webkit [31436] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-29 Darin Adler <Darin Adler>

Reviewed by Sam.

  • DerivedSources.make: Removed temporary remove-stray-JSRGBColor build rule.
10:51 AM Changeset in webkit [31435] by Darin Adler
  • 21 edits in trunk/WebCore

2008-03-29 Darin Adler <Darin Adler>

Reviewed by Sam.

  • tweak handling of the class attribute to speed up code that sets it but never needs to parse it

6% speedup of Acid3 test 26

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::matchRules): Change to use non-virtual classNames function since the hasClass bit can only be set for a StyledElement. (WebCore::CSSStyleSelector::checkOneSelector): Ditto. Also streamlined the code a bit for the tag matching as well.
  • dom/ClassNames.cpp: (WebCore::hasNonASCIIOrUpper): Added. This function does what other callers seem to want isLower() to do. We should merge this with isLower() in a subsequent cleanup pass. (WebCore::ClassNamesData::createVector): Renamed from parseClassAttribute. Turns the string into a vector. (WebCore::ClassNamesData::containsAll): Added. Used by getElementsByClassName.
  • dom/ClassNames.h: Added a separate ClassNameData class so we could hold the string and case folding flag as well as the vector. Changed ClassNames to have a set function rather than a parseClassAttribute function. Removed the "static" from isClassWhitespace. There's no reason to ask for internal linkage.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Use constructor instead of the parseClassAttribute function. (WebCore::ClassNodeList::nodeMatches): Get rid of unnneeded isElementNode check, since hasClass will only be true for StyledElement nodes. Use the new containsAll function in ClassNames instead of having a loop here.
  • dom/ClassNodeList.h: Removed unneeded forward declaration.
  • dom/Document.cpp: Removed unneeded include.
  • dom/Element.cpp: (WebCore::Element::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator. This paves the way to making the function more efficient, using a virtual function. (WebCore::Element::setAttributeMap): Updated for PassRefPtr and for name change (element -> m_element). (WebCore::Element::createAttributeMap): Changed to use create function instead of calling the constructor directly.
  • dom/Element.h: Removed unneeded virtual getClassNames function. Changed the argument to setAttributeMap to be a PassRefPtr.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::NamedAttrMap): Updated for name change (element -> m_element). (WebCore::NamedAttrMap::getNamedItem): Ditto. (WebCore::NamedAttrMap::removeNamedItem): Ditto. (WebCore::NamedAttrMap::setNamedItem): Ditto. (WebCore::NamedAttrMap::item): Ditto. (WebCore::NamedAttrMap::detachFromElement): Ditto. (WebCore::NamedAttrMap::setAttributes): Renamed this from the assignment operator. (WebCore::NamedAttrMap::addAttribute): Ditto. (WebCore::NamedAttrMap::removeAttribute): Ditto. (WebCore::NamedAttrMap::isReadOnlyNode): Ditto.
  • dom/NamedAttrMap.h: Removed the copy constructor and assignment operator and added a new function, setAttributes, possibly to be made virtual in the future. Made isReadOnlyNode non-virtual. Renamed element -> m_element. Made constructor protected and added a create function.
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Changed constructor parameter to take a StyledElement. (WebCore::NamedMappedAttrMap::setClass): Changed to use the new set function.
  • dom/NamedMappedAttrMap.h: Made constructor private and added a create function. Replaced theparseClassAttribute function with clearClass and setClass functions. Replaced the getClassNames function with a classNames function returning a reference instead of a pointer.
  • dom/NamedNodeMap.h: Changed to start refcount at 1 instead of 0. Removed unneeded virtual function isReadOnlyNode.
  • dom/StyledElement.cpp: (WebCore::StyledElement::parseMappedAttribute): Rewrote class attribute handling to use new function names and took out uneeded special case for null attribute. (WebCore::StyledElement::createAttributeMap): Changed to use create function instead of a direct call to new.
  • dom/StyledElement.h: Replaced the virtual getClassNames function with a non-virtual inline classNames function.
  • html/HTMLElement.cpp: (WebCore::HTMLElement::cloneNode): Changed code to copy attributes to use a function call instead of the assignment operator.
  • html/HTMLTokenizer.cpp: (WebCore::Token::addAttribute): Use create function instead of a a direct call to new.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createContainingTable): Use RefPtr and the new create function. (WebCore::HTMLViewSourceDocument::addViewSourceToken): Ditto. (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. (WebCore::HTMLViewSourceDocument::addLine): Ditto. (WebCore::HTMLViewSourceDocument::addText): Ditto. (WebCore::HTMLViewSourceDocument::addLink): Ditto.
  • html/HTMLViewSourceDocument.h: Ditto.
  • svg/SVGUseElement.cpp: (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Changed code to copy attributes to use a function call instead of the assignment operator. (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Ditto.
8:17 AM Changeset in webkit [31434] by weinig@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Fix crash when canceling a resource load while port blocked failure
timer is going.

Test: fast/loader/cancel-load-during-port-block-timer.html

  • platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::scheduleBlockedFailure): (WebCore::ResourceHandle::fireBlockedFailure):
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Make the Timer a member variable of ResourceHandleInternal so that it can be canceled if the ResourceHandle is destroyed.

LayoutTests:

2008-03-29 Sam Weinig <sam@webkit.org>

Reviewed by Brady Eidson.

Test for crash when canceling a resource load while port blocked failure
timer is going

  • fast/loader/cancel-load-during-port-block-timer-expected.txt: Added.
  • fast/loader/cancel-load-during-port-block-timer.html: Added.
1:18 AM Changeset in webkit [31433] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.

<rdar://problem/5829556> REGRESSION: Leak in KJS::initializeThreading()

  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): There is no guarantee that initializeThreading() is called only once; check that the mutex hasn't been already allocated.
1:15 AM squirrelfish edited by ggaren@apple.com
(diff)
1:13 AM Changeset in webkit [31432] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-03-29 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Mark the register file.


It's a conservative mark for now, but once registers are typed, we can
do an exact mark.


1.4% regression regardless of whether we actually do the marking.
GCC is is worth every penny.

  • VM/Machine.cpp: (KJS::Machine::privateExecute): Most of the changes here are just for the fact that "registers" is a pointer now.
  • kjs/JSGlobalObject.cpp: The global object owns the register file now.
12:25 AM Changeset in webkit [31431] by oliver@apple.com
  • 5 edits in trunk

Bug 17924: Crash in KJS::ConstDeclNode::evaluate with |with| and |const|
<http://bugs.webkit.org/show_bug.cgi?id=17924>
<rdar://problem/5806933>

Reviewed by Geoff.

It turns out this is trivially avoidable if we just match firefox's
semantics and ensure that an assignment in a const declaration always
writes to the variable object.

Mar 28, 2008:

11:46 PM squirrelfish edited by ggaren@apple.com
(diff)
11:45 PM squirrelfish edited by ggaren@apple.com
(diff)
9:29 PM Changeset in webkit [31430] by oliver@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

Bug 18204: SquirrelFish: continue/break do not correctly handle scope popping
<http://bugs.webkit.org/show_bug.cgi?id=18204>

Reviewed by Maciej.

We now track the scope depth as part of a loop context, and add an
extra instruction op_jump_scopes that is used to perform a jump across
dynamic scope boundaries.

8:38 PM Changeset in webkit [31429] by Stephanie Lewis
  • 3 edits in trunk/WebCore

2008-03-28 Stephanie <Stephanie Lewis>

Fix 64bit build

  • WebCore.LP64.exp:
  • loader/archive/cf/LegacyWebArchiveMac.mm: (WebCore::createResourceResponseFromMacArchivedData):
8:31 PM Changeset in webkit [31428] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-28 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for ConditionalNode.

  • kjs/nodes.cpp: (KJS::ConditionalNode::emitCode):
  • kjs/nodes.h:
8:28 PM Changeset in webkit [31427] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Steve Falkenburg <sfalken@apple.com>

Enabled LTCG on files within "page".

Rubber stamped by Oliver.

  • WebCore.vcproj/WebCore.vcproj:
8:07 PM Changeset in webkit [31426] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • fix a percentage background position regression from r31389

Test: fast/backgrounds/background-position-1.html

  • rendering/Length.h: (WebCore::Length::calcValue): Divide by 100. (WebCore::Length::calcMinValue): Ditto.

LayoutTests:

Reviewed by Dave Hyatt.

  • pixel test for a percentage background position regression from r31389
  • fast/backgrounds/background-position-1.html: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.checksum: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.png: Added.
  • platform/mac/fast/backgrounds/background-position-1-expected.txt: Added.
7:21 PM Changeset in webkit [31425] by hyatt@apple.com
  • 1 edit in trunk/WebCore/rendering/RenderBlock.cpp

Oops. Back out unintentional change to RenderBlock.cpp

7:21 PM Changeset in webkit [31424] by hyatt@apple.com
  • 7 edits in trunk/WebCore

2008-03-28 David Hyatt <hyatt@apple.com>

Back out the Ahem font antialiasing hack, since it is now no longer required for LCD antialiased text
to match the reference rendering on Acid 3.

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionNewFloats):
5:51 PM Changeset in webkit [31423] by beidson@apple.com
  • 8 edits
    2 deletes in trunk/WebKit

WebKit:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Rubberstamped by Darin Adler

Remove WebArchiver.h/mm

  • WebView/WebArchiver.h: Removed.
  • WebView/WebArchiver.mm: Removed.
  • DOM/WebDOMOperations.mm:
  • WebCoreSupport/WebDragClient.mm:
  • WebCoreSupport/WebEditorClient.mm:
  • WebView/WebDataSource.mm:
  • WebView/WebHTMLView.mm:
5:49 PM Changeset in webkit [31422] by sfalken@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebKitLibraries

Merged fix from r31420.

5:40 PM Changeset in webkit [31421] by beidson@apple.com
  • 5 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::dataForArchivedSelection):
  • WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
  • WebView/WebArchiver.mm: Ditto
  • WebView/WebHTMLView.mm: (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
5:35 PM Changeset in webkit [31420] by sfalken@apple.com
  • 2 edits in trunk/WebKitLibraries

Versioning.

5:18 PM Changeset in webkit [31419] by beidson@apple.com
  • 6 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::createFromSelection):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin Adler

More Kit->Core WebArchive changes.

Create an archive from the current selection in a frame

  • WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off easily in a followup
5:14 PM Changeset in webkit [31418] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Somehow managed to duplicate code :(
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading):
5:04 PM Changeset in webkit [31417] by ggaren@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

2008-03-28 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Responding to feedback, added some comments, fixed up a few names, and
clarified that "locals" always means all local variables, functions,
and parameters.

5:01 PM Changeset in webkit [31416] by ggaren@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-03-28 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

Added support for "this".


Supply an implicit "this" value as the first argument to every function.
Alias the "this" keyword to that argument.


1% regression overall, 2.5% regression on empty function calls. Seems
like a reasonable cost for now, since we're doing more work.
(Eventually, we might decide to create a version of op_call specialized
for a known null "this" value.)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/CommonIdentifiers.cpp: (KJS::CommonIdentifiers::CommonIdentifiers):
  • kjs/CommonIdentifiers.h:
  • kjs/nodes.cpp: (KJS::ThisNode::emitCode): (KJS::FunctionCallResolveNode::emitCode):
  • kjs/nodes.h:
4:50 PM Changeset in webkit [31415] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

  • Missed some changes in previous checkin.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Get identifier from synchronous loader. (WebCore::XMLHttpRequest::didFinishLoading):
4:28 PM Changeset in webkit [31414] by kmccullough@apple.com
  • 7 edits in trunk/WebCore

2008-03-28 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • Send the XMLHttpRequest data to the Inspector Controller.
  • loader/FrameLoader.cpp: Return the identifier for this resource since we need it in the XHR case. (WebCore::FrameLoader::loadResourceSynchronously):
  • loader/FrameLoader.h: Ditto.
  • page/InspectorController.cpp: (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): We only need the data since the type will be XHR and the encoding is not used (we decoded earlier). (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): Locking is necessary when setting and clearing the KJS::UString::Rep. (WebCore::InspectorResource::setXMLHttpRequestProperties): (WebCore::InspectorResource::sourceString): Return the decoded source. (WebCore::addSourceToFrame): No longer do the decoding here, it has been encapsulated in the InspectorResource. (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • page/InspectorController.h: Pass a UString instead of copying to a WebCore::String. In case we never ask for the string's contents this will save us an extra copy.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): In the synchronous load case we normally do not keep the identifier but we need it to find the InspectorResource in order to tell it that it was loaded via XHR. (WebCore::XMLHttpRequest::didFinishLoading): Tell the InspectorController that its resource was loaded via XHR.
  • xml/XMLHttpRequest.h: Ditto.
4:28 PM Changeset in webkit [31413] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

2008-03-28 Stephanie Lewis <Stephanie Lewis>

Update Windows Skipped list. Bugs filed.

  • platform/win/Skipped:
4:11 PM Changeset in webkit [31412] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

Again, previous layout test coverage exercised this code

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Added a "markup from range" variant that copies the previous WebKit implementation
  • editing/markup.h:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

WebArchive saga continues - Can now make archives from ranges in WebCore

  • DOM/WebDOMOperations.mm: (-[DOMRange webArchive]): (-[DOMRange markupString]):
  • WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
  • WebView/WebArchiver.mm:
3:39 PM Changeset in webkit [31411] by oliver@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

Bug 18192: Squirrelfish needs support for break and continue
<http://bugs.webkit.org/show_bug.cgi?id=18192>

Reviewed by Geoff

Added a loop context stack to the code generator to provide the
correct jump labels for continue and goto. Added logic to the
currently implemented loop constructs to manage entry and exit
from the loop contexts. Finally, implemented codegen for break
and continue (and a pass through for LabelNode)

3:09 PM Changeset in webkit [31410] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-03-28 Stephanie Lewis <Stephanie Lewis>

windows build fix.

  • platform/win/MainThreadWin.cpp: (WebCore::initializeThreadingAndMainThread):
2:29 PM Changeset in webkit [31409] by beidson@apple.com
  • 8 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • WebCore.base.exp:
  • editing/markup.cpp: (WebCore::createFullMarkup): Replacement for [DOMNode markupString], creating full markup at this node including the document type string, which the WebKit implementation did indirectly
  • editing/markup.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

More Kit->Core webarchive code movement

  • DOM/WebDOMOperations.mm: (-[DOMNode markupString]): Call createFullMarkup() instead
  • WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
  • WebView/WebFrameInternal.h: Ditto
2:01 PM Changeset in webkit [31408] by mrowe@apple.com
  • 5 edits
    2 adds in branches/Safari-3-1-branch

Merge r31071.

2:01 PM Changeset in webkit [31407] by mrowe@apple.com
  • 2 edits
    2 adds in branches/Safari-3-1-branch/WebCore

Merge r31358.

2:00 PM Changeset in webkit [31406] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebCore

Merge r31336.

1:56 PM Changeset in webkit [31405] by Darin Adler
  • 10 edits in trunk/WebCore

2008-03-28 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • cut down on copying and refcount churn a little by using references a bit more for KURL and String
  • bindings/js/JSXMLHttpRequest.cpp: (WebCore::jsXMLHttpRequestPrototypeFunctionOpen): Use const KURL& instead of KURL.
  • css/StyleSheet.h: (WebCore::StyleSheet::href): Return const String& instead of String. (WebCore::StyleSheet::title): Ditto.
  • dom/Document.cpp: (WebCore::Document::completeURL): Use const KURL* for a local variable instead of KURL to avoid copying the KURL.
  • dom/Element.cpp: (WebCore::Element::baseURI): Use const KURL& instead of KURL.
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::hostname): Ditto.
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed): Ditto.
  • html/HTMLKeygenElement.cpp: Removed unneeded include of KURL.
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): Get rid of temporary KURL.
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::createForFrame): Use const KURL& instead of KURL.
1:21 PM Changeset in webkit [31404] by ap@webkit.org
  • 14 edits
    3 adds in trunk

Reviewed by Sam Weinig.

Fix a dtoa thread safety issue.

WebCore can call kjs_strtod without holding JS lock, but we didn't have thread safety
compiled in for dtoa.

This is a 0.5% regression on SunSpider, which Sam Weinig has volunteered to cover with
his recent improvement.

  • kjs/dtoa.cpp: (Bigint::Balloc): (Bigint::Bfree): Changed to use fastMalloc/fastDelete - they are much faster than the dtoa custom version was in the presence of locking (but somewhat slower in single-threaded case). (Bigint::pow5mult): Got rid of the dreaded double-checked locking anti-pattern (had to restructure the code to avoid significant performance implications). (Bigint::lshift): Rewrote to avoid an allocation, if possible.

(Bigint::rv_alloc):
(Bigint::kjs_freedtoa):
(Bigint::kjs_dtoa):
Check for USE(MULTIPLE_THREADS), not dtoa legacy MULTIPLE_THREADS.

  • kjs/InitializeThreading.cpp: Added. (KJS::initializeThreading):
  • kjs/InitializeThreading.h: Added. Initialize threading at KJS level, if enabled.
  • kjs/dtoa.h: Expose dtoa mutex for KJS::initializeThreading.
  • kjs/testkjs.cpp: (kjsmain): Call initializeThreading.
  • wtf/Threading.h: Removed a using directive for WTF::initializeThreading - it is only to be called from KJS::initializeThreading, and having it in the global namespace is useless.
1:02 PM Changeset in webkit [31403] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-28 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Maciej, landed by Brady

Correct build regression (http://bugs.webkit.org/show_bug.cgi?id=18148)

  • platform/graphics/win/GraphicsContextCairoWin.cpp: (WebCore::GraphicsContext::getWindowsContext): (WebCore::GraphicsContext::releaseWindowsContext):
1:01 PM Changeset in webkit [31402] by beidson@apple.com
  • 4 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
  • WebView/WebDataSource.mm: (-[WebDataSource webArchive]):
12:57 PM Changeset in webkit [31401] by beidson@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Sam Weinig

Remove unused [WebArchiver archiveNode:], made obsolete in r31400

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
12:47 PM Changeset in webkit [31400] by beidson@apple.com
  • 7 edits in trunk

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

This is another "zero behavior change" patch, and current editing/ and webarchive/ layout tests
covered the relevant code

  • WebCore.base.exp:
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/archive/cf/LegacyWebArchive.h:

WebKit/mac:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

"Yet another transitional step" to empty out WebKit-based code for archiving.

With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
entirely within WebCore, and opens the door to saving WebArchives on Windows.

  • DOM/WebDOMOperations.mm:
  • WebView/WebArchiver.mm: (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
11:26 AM Changeset in webkit [31399] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-28 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18061
PlatformScrollBarGtk attempts to allocate negative width and/or height for widgets

Missing clampNegativeToZero() call meant that we tried to allocate widgets with negative width and/or height.

  • platform/gtk/PlatformScrollBarGtk.cpp: (PlatformScrollbar::geometryChanged):
10:53 AM Changeset in webkit [31398] by beidson@apple.com
  • 6 edits
    1 add in trunk

JavaScriptCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Export Unicode/UTF8.h and convertUTF16ToUTF8() for more flexible conversion in WebCore

WebCore:

2008-03-28 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Using convertUTF16ToUTF8() from WTF, add a helper function that gives you a UTF8 SharedBuffer
created from a String.

  • ForwardingHeaders/wtf/unicode/UTF8.h: Added.
  • platform/text/PlatformString.h:
  • platform/text/String.cpp: (WebCore::utf8Buffer):
10:37 AM Changeset in webkit [31397] by Darin Adler
  • 3 edits in trunk/WebCore

2008-03-28 Darin Adler <Darin Adler>

Reviewed by Adam.

  • eliminate a tiny bit of unnecessary refcount churn
  • bindings/js/JSEventTargetBase.cpp: (WebCore::eventNameForPropertyToken): Return const AtomicString&.
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBase::getValueProperty): Update for above change. (WebCore::JSEventTargetBase::putValueProperty): Ditto.
10:03 AM Changeset in webkit [31396] by Darin Adler
  • 3 edits in trunk/LayoutTests

2008-03-28 Darin Adler <Darin Adler>

Reviewed by Sam.

  • fast/encoding/invalid-xml-expected.txt: Update to reflect a true success.
  • fast/encoding/resources/invalid-xml.js: Eliminate race condition by not ending the test until the js-test-post.js script has loaded.
9:26 AM Changeset in webkit [31395] by ap@webkit.org
  • 3 edits in trunk/LayoutTests

Rubber-stamped by Brady.

Enable server-side includes via AddHandler, hopefully making Apache 1.3 happy.

  • http/tests/misc/.htaccess:
  • http/tests/misc/resources/acid3/.htaccess:
9:16 AM Changeset in webkit [31394] by Darin Adler
  • 3 edits in trunk/WebKitSite

2008-03-28 Darin Adler <Darin Adler>

  • building/build.html: Add another mention of using the Cygwin shell.
  • building/tools.html: Fix a typo on the name Cygwin.
7:15 AM Changeset in webkit [31393] by ap@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Not reviewed.

Enable mod_include for acid3.html - the previous check-in only had it in resources
subdirectory.

  • http/tests/misc/.htaccess: Added.
2:44 AM Changeset in webkit [31392] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the Qt build.

  • rendering/Length.h: Include wtf/MathExtras.h for round().
2:23 AM Changeset in webkit [31391] by eric@webkit.org
  • 1 edit
    23 adds in trunk/LayoutTests

Reviewed by mjs.

Add Acid3 test as an http test
http://bugs.webkit.org/show_bug.cgi?id=18176

  • http/tests/misc/acid3-expected.checksum: Added.
  • http/tests/misc/acid3-expected.png: Added.
  • http/tests/misc/acid3-expected.txt: Added.
  • http/tests/misc/acid3.html: Added.
  • http/tests/misc/resources/acid3/.htaccess: Added.
  • http/tests/misc/resources/acid3/empty.css: Added.
  • http/tests/misc/resources/acid3/empty.html: Added.
  • http/tests/misc/resources/acid3/empty.png: Added.
  • http/tests/misc/resources/acid3/empty.txt: Added.
  • http/tests/misc/resources/acid3/empty.xml: Added.
  • http/tests/misc/resources/acid3/font.svg: Added.
  • http/tests/misc/resources/acid3/font.ttf: Added.
  • http/tests/misc/resources/acid3/instructions.inc: Added.
  • http/tests/misc/resources/acid3/reference.html: Added.
  • http/tests/misc/resources/acid3/reference.png: Added.
  • http/tests/misc/resources/acid3/support-a.png.404: Added.
  • http/tests/misc/resources/acid3/support-b.png: Added.
  • http/tests/misc/resources/acid3/support-c.png: Added.
  • http/tests/misc/resources/acid3/svg.xml: Added.
  • http/tests/misc/resources/acid3/xhtml.1: Added.
  • http/tests/misc/resources/acid3/xhtml.2: Added.
  • http/tests/misc/resources/acid3/xhtml.3: Added.
1:54 AM Changeset in webkit [31390] by hyatt@apple.com
  • 5 adds in trunk/LayoutTests

Add layout tests for background position rounding.

1:53 AM Changeset in webkit [31389] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-03-28 David Hyatt <hyatt@apple.com>

Fix a bug where background-position truncates instead of rounding when it evaluates to fractional
pixel values. This matches other browsers.

Reviewed by maciej

Added fast/backgrounds/background-position-rounding.html

  • rendering/Length.h: (WebCore::Length::calcValue): (WebCore::Length::calcMinValue):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundImageGeometry):

Mar 27, 2008:

11:41 PM Changeset in webkit [31388] by mrowe@apple.com
  • 5 edits in trunk

2008-03-27 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

<rdar://problem/5826236> Regular expressions with large nested repetition counts can have their
compiled length calculated incorrectly.

  • pcre/pcre_compile.cpp: (multiplyWithOverflowCheck): (calculateCompiledPatternLength): Check for overflow when dealing with nested repetition counts and bail with an error rather than returning incorrect results.

2008-03-27 Mark Rowe <mrowe@apple.com>

Reviewed by Adam Roben.

Tests for <rdar://problem/5826236> Regular expressions with large nested repetition counts can have their
compiled length calculated incorrectly.

  • fast/js/regexp-overflow-expected.txt:
  • fast/js/resources/regexp-overflow.js:
10:49 PM Changeset in webkit [31387] by kevino@webkit.org
  • 2 edits in trunk/WebCore

wx build fix. Return a default value for operator == when !USE(WXGC) (not implemented in that case).

10:42 PM Changeset in webkit [31386] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Maciej Stachowiak <mjs@apple.com>

  • fix build
  • svg/SVGGlyphMap.h: (WebCore::GlyphMapNode::create):
10:37 PM Changeset in webkit [31385] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Brady Eidson <beidson@apple.com>

Forgot a small requested change before committing

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::mainResource):
10:33 PM Changeset in webkit [31384] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
as the push to core-ify WebArchives continues.

This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
(as in "while archiving a page") are accepting of null or empty data.

This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::archiveResourceForURL): Make this const (WebCore::DocumentLoader::mainResource): (WebCore::DocumentLoader::subresource): Make this const and relocate (WebCore::DocumentLoader::getSubresources):
  • loader/DocumentLoader.h:

WebKit/mac:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
as the push to core-ify WebArchives continues.

This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
(as in "while archiving a page") are accepting of null or empty data.

This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.

  • WebView/WebDataSource.mm: (-[WebDataSource mainResource]): Call DocumentLoader implementation (-[WebDataSource subresources]): Ditto
  • WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
  • WebView/WebFrameInternal.h:

LayoutTests:

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

Updated results, as we now more consistently archive empty frames/empty resources

  • webarchive/archive-empty-frame-source-expected.txt:
10:25 PM Changeset in webkit [31383] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • fixed many buildbot leaks in glyph map code
  • svg/SVGGlyphMap.h: (WebCore::GlyphMapNode::create): Use explicit create pattern, to avoid overreffing and therefore leaking these objects. (WebCore::SVGGlyphMap::add): Call create instead of using new.
8:39 PM Changeset in webkit [31382] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for UnaryPlusNode, NegateNode, BitwiseNotNode and LogicalNotNode.

  • VM/CodeBlock.cpp: (KJS::printUnaryOp): (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitToJSNumber): (KJS::CodeGenerator::emitNegate): (KJS::CodeGenerator::emitBitNot): (KJS::CodeGenerator::emitNot):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::UnaryPlusNode::emitCode): (KJS::NegateNode::emitCode): (KJS::BitwiseNotNode::emitCode): (KJS::LogicalNotNode::emitCode):
  • kjs/nodes.h:
8:37 PM Changeset in webkit [31381] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-03-27 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Oliver.

  • re-fix Acid3, some code was incorrectly moved when fixing the Qt build
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
8:06 PM Changeset in webkit [31380] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Add support for LogicalAndNode and LogicalOrNode.

  • kjs/nodes.cpp: (KJS::LogicalAndNode::emitCode): (KJS::LogicalOrNode::emitCode):
  • kjs/nodes.h:
8:02 PM squirrelfish edited by oliver@apple.com
(diff)
8:01 PM squirrelfish edited by oliver@apple.com
(diff)
7:52 PM Changeset in webkit [31379] by weinig@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Clean up code and debug output.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
7:09 PM Changeset in webkit [31378] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Geoffrey Garen <ggaren@apple.com>

Moved an ASSERT to a more logical place.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
6:10 PM Changeset in webkit [31377] by beidson@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-27 Brady Eidson <beidson@apple.com>

Reviewed by Adam

Change the "init from WebCore resource" version of WebResource to take PassRefPtr
(more efficient)

  • WebView/WebResource.mm: (-[WebResource _initWithCoreResource:]):
  • WebView/WebResourceInternal.h:
3:14 PM Changeset in webkit [31376] by Simon Hausmann
  • 3 edits in trunk/WebCore

Fix compilation against Qt 4.4 and one missing SVG_FONTS #ifdef.

2:44 PM Changeset in webkit [31375] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Add emitCode support for InstanceOfNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitInstanceOf):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::InstanceOfNode::emitCode):
  • kjs/nodes.h:
2:37 PM Changeset in webkit [31374] by Simon Hausmann
  • 11 edits in trunk/WebCore

Fix the Qt build and the build without ENABLE(SVG_FONTS)

1:58 PM Changeset in webkit [31373] by oliver@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

Bug 18142: squirrelfish needs to support dynamic scoping/with
<http://bugs.webkit.org/show_bug.cgi?id=18142>

Reviewed by Maciej

Add support for dynamic scoping and add code to handle 'with'
statements.

12:37 PM Changeset in webkit [31372] by weinig@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

2008-03-27 Sam Weinig <sam@webkit.org>

Reviewed by Geoffrey Garen.

Add emitCode support for NullNode, FalseNode, TrueNode, IfNode, IfElseNode, DoWhileNode and WhileNode

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump): Dump op_jfalse opcode.
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJumpIfFalse): Identical to emitJumpIfTrue except it emits the op_jfalse opcode. (KJS::CodeGenerator::emitLoad): Add and emitLoad override for booleans.
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute): Adds execution of op_jfalse. It is identical to op_jtrue, except the the condition is reversed.
  • VM/Opcode.h: Add op_jfalse.
  • kjs/nodes.cpp: (KJS::NullNode::emitCode): Added. (KJS::FalseNode::emitCode): Added. (KJS::TrueNode::emitCode): Added. (KJS::IfNode::emitCode): Added. (KJS::IfElseNode::emitCode): Added. (KJS::DoWhileNode::emitCode): Added. (KJS::WhileNode::emitCode): Added.
  • kjs/nodes.h:
3:56 AM Changeset in webkit [31371] by ddkilzer@apple.com
  • 1 edit in trunk/WebCore/WebCore.base.exp

Removed whitespace that crept in from r31357.

12:12 AM Changeset in webkit [31370] by timothy@apple.com
  • 4 edits
    7 moves in trunk/WebCore

2008-03-26 Timothy Hatcher <timothy@apple.com>

Rename some Inspector files to facilitate the up-coming UI refresh changes.

http://bugs.webkit.org/show_bug.cgi?id=17773

Rubber-stamped by Adam Roben.

  • WebCore.vcproj/WebCore.vcproj:
  • page/inspector/Console.js: Copied from page/inspector/ConsolePanel.js.
  • page/inspector/ConsolePanel.js: Removed.
  • page/inspector/DocumentPanel.js: Removed.
  • page/inspector/ElementsPanel.js: Copied from page/inspector/DocumentPanel.js.
  • page/inspector/FontPanel.js: Removed.
  • page/inspector/FontView.js: Copied from page/inspector/FontPanel.js.
  • page/inspector/ImagePanel.js: Removed.
  • page/inspector/ImageView.js: Copied from page/inspector/ImagePanel.js.
  • page/inspector/NetworkPanel.js: Removed.
  • page/inspector/ResourcePanel.js: Removed.
  • page/inspector/ResourceView.js: Copied from page/inspector/ResourcePanel.js.
  • page/inspector/ResourcesPanel.js: Copied from page/inspector/NetworkPanel.js.
  • page/inspector/SourcePanel.js: Removed.
  • page/inspector/SourceView.js: Copied from page/inspector/SourcePanel.js.
  • page/inspector/WebKit.qrc:
  • page/inspector/inspector.html:

Mar 26, 2008:

11:44 PM Changeset in webkit [31369] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-03-26 Steve Falkenburg <sfalken@apple.com>

Enable LTCG on css, dom files in WebCore

Reviewed by Stephanie.

  • WebCore.vcproj/WebCore.vcproj:
11:39 PM squirrelfish edited by ggaren@apple.com
(diff)
11:24 PM Changeset in webkit [31368] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-03-26 Stephanie Lewis <Stephanie Lewis>

Fix Windows Build

  • WebCore.vcproj/WebCore.vcproj:
11:14 PM Changeset in webkit [31367] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Nixed an unused List.


The calm before my stormy war against the List class.

  • kjs/function_object.cpp: (KJS::FunctionObjectImp::construct):
11:01 PM Changeset in webkit [31366] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Speculative GTK build fix.

10:16 PM Changeset in webkit [31365] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

2008-03-26 Brady Eidson <beidson@apple.com>

Build fix - accidentally checked in this change which was work in progress

  • DOM/WebDOMOperations.mm:
10:00 PM Changeset in webkit [31364] by ggaren@apple.com
  • 5 edits
    9 adds in branches/squirrelfish

SunSpider:

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


--squirrelfish mode: pared down tests for squirrelfish to chew on.

  • sunspider:
  • tests/LIST:
  • tests/squirrelfish: Added.
  • tests/squirrelfish/function-closure.js: Added.
  • tests/squirrelfish/function-empty.js: Added.
  • tests/squirrelfish/function-missing-args.js: Added.
  • tests/squirrelfish/function-sum.js: Added.
  • tests/squirrelfish/loop-empty-resolve.js: Added.
  • tests/squirrelfish/loop-empty.js: Added.
  • tests/squirrelfish/loop-resolve.js: Added.
  • tests/squirrelfish/loop-sum.js: Added.

WebKitTools:

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

--squirrelfish mode: pared down tests for squirrelfish to chew on.

  • Scripts/run-sunspider:
9:59 PM Changeset in webkit [31363] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Mac build fix.

9:42 PM Changeset in webkit [31362] by ggaren@apple.com
  • 9 edits in branches/squirrelfish/JavaScriptCore

2008-03-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Geoffrey Garen.

Adds support for EqualNode, NotEqualNode, StrictEqualNode, NotStrictEqualNode,
LessEqNode, GreaterNode, GreaterEqNode, MultNode, DivNode, ModNode, SubNode,
LeftShiftNode, RightShiftNode, UnsignedRightShiftNode, BitAndNode, BitXOrNode,
and BitOrNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitEqual): (KJS::CodeGenerator::emitNotEqual): (KJS::CodeGenerator::emitStrictEqual): (KJS::CodeGenerator::emitNotStrictEqual): (KJS::CodeGenerator::emitLessEq): (KJS::CodeGenerator::emitMult): (KJS::CodeGenerator::emitDiv): (KJS::CodeGenerator::emitMod): (KJS::CodeGenerator::emitSub): (KJS::CodeGenerator::emitLeftShift): (KJS::CodeGenerator::emitRightShift): (KJS::CodeGenerator::emitUnsignedRightShift): (KJS::CodeGenerator::emitBitAnd): (KJS::CodeGenerator::emitBitXOr): (KJS::CodeGenerator::emitBitOr):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::jsLessEq): (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::MultNode::emitCode): (KJS::DivNode::emitCode): (KJS::ModNode::emitCode): (KJS::SubNode::emitCode): (KJS::LeftShiftNode::emitCode): (KJS::RightShiftNode::emitCode): (KJS::UnsignedRightShiftNode::emitCode): (KJS::GreaterNode::emitCode): (KJS::LessEqNode::emitCode): (KJS::GreaterEqNode::emitCode): (KJS::EqualNode::emitCode): (KJS::NotEqualNode::emitCode): (KJS::StrictEqualNode::emitCode): (KJS::NotStrictEqualNode::emitCode): (KJS::BitAndNode::emitCode): (KJS::BitXOrNode::emitCode): (KJS::BitOrNode::emitCode):
  • kjs/nodes.h:
9:36 PM Changeset in webkit [31361] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Only print debug dumps in debug builds.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::generate):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
9:36 PM Changeset in webkit [31360] by mjs@apple.com
  • 1 edit
    2 adds in trunk/WebKitSite

2008-03-26 Maciej Stachowiak <mjs@apple.com>

More screenshots for teh blog.

  • blog-files/acid3-full-rendering-pass.png: Added.
  • blog-files/acid3-rendering-reference.png: Added.
9:33 PM Changeset in webkit [31359] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-03-26 Sam Weinig <sam@webkit.org>

Try and fix Gtk+ again.

  • GNUmakefile.am:
9:13 PM Changeset in webkit [31358] by mitz@apple.com
  • 2 edits
    2 adds in trunk/WebCore

Reviewed by Dave Hyatt.

  • fix <rdar://problem/5816522> REGRESSION (r30111-30112): Tahoe web cam website has some text in Chinese or japanese
  • html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): Added call to beginParsingChildren() on the new node. (WebCore::HTMLParser::handleError): Ditto. (WebCore::HTMLParser::reopenResidualStyleTags): Ditto. (WebCore::HTMLParser::pushBlock): Removed incorrect call to beginParsingChildren() on the current node.
  • manual-tests/applet-finish-parsing-children.html: Added.
  • manual-tests/resources/DrawMessage.class: Added.
9:08 PM Changeset in webkit [31357] by beidson@apple.com
  • 37 edits in trunk

WebCore:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Darin

When we create a WebArchive, we walk every node from some starting point, asking each node
along the way "What are your subresource URLs?"

That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
WebCore::Node

  • WebCore.base.exp:


  • dom/Node.cpp: (WebCore::Node::getSubresourceURLs): (WebCore::Node::getSubresourceAttributeStrings): Virtual and empty. Subclasses of Node that have subresources will override it.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::getSubresourceAttributeStrings):
  • dom/ProcessingInstruction.h:
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::getSubresourceAttributeStrings):
  • html/HTMLBodyElement.h:
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::getSubresourceAttributeStrings):
  • html/HTMLEmbedElement.h:
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::getSubresourceAttributeStrings):
  • html/HTMLImageElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::getSubresourceAttributeStrings):
  • html/HTMLInputElement.h:
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::getSubresourceAttributeStrings):
  • html/HTMLLinkElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::getSubresourceAttributeStrings):
  • html/HTMLObjectElement.h:
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::getSubresourceAttributeStrings):
  • html/HTMLParamElement.h:
  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::getSubresourceAttributeStrings):
  • html/HTMLScriptElement.h:
  • html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::getSubresourceAttributeStrings):
  • html/HTMLTableCellElement.h:
  • html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::getSubresourceAttributeStrings):
  • html/HTMLTableElement.h:
  • svg/SVGCursorElement.cpp: (WebCore::SVGCursorElement::getSubresourceAttributeStrings):
  • svg/SVGCursorElement.h:
  • svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::getSubresourceAttributeStrings):
  • svg/SVGFEImageElement.h:
  • svg/SVGImageElement.cpp: (WebCore::SVGImageElement::getSubresourceAttributeStrings):
  • svg/SVGImageElement.h:
  • svg/SVGScriptElement.cpp: (WebCore::SVGScriptElement::getSubresourceAttributeStrings):
  • svg/SVGScriptElement.h:

WebKit/mac:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Darin

When we create a WebArchive, we walk every node from some starting point, asking each node
along the way "What are your subresource URLs?"

That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
WebCore::Node

  • DOM/WebDOMOperations.mm: (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by calling into individual WebCore::Node implementations
  • DOM/WebDOMOperationsPrivate.h:
9:02 PM Changeset in webkit [31356] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Dave Hyatt.

  • maintain subpixel-antialiasing when drawing text with a simple shadow
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawComplexText): If the shadow has a zero blur radius, draw the shadow by drawing the text at an offset instead of relying on Core Graphics shadows. (WebCore::Font::drawGlyphs): Ditto.
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs): Ditto.
8:58 PM Changeset in webkit [31355] by beidson@apple.com
  • 10 edits in trunk

WebCore:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

Part of the continued push to move WebArchive-related code down to WebCore, this
moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::subresource): Create an ArchiveResource from a CachedResource if it exists Otherwise, fallback to an ArchiveResource from the current Archive if any. Otherwise, return null
  • loader/DocumentLoader.h:
  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::create): (WebCore::ArchiveResource::ArchiveResource):
  • loader/archive/ArchiveResource.h:

WebKit/mac:

2008-03-26 Brady Eidson <beidson@apple.com>

Reviewed by Mark Rowe

Part of the continued push to move WebArchive-related code down to WebCore, this
moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()

  • WebView/WebDataSource.mm: (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader
  • WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use has now been ported down to WebCore
  • WebView/WebFrameInternal.h:
8:54 PM Changeset in webkit [31354] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-03-26 Sam Weinig <sam@webkit.org>

Fix Gtk+ build.

  • GNUmakefile.am:
8:48 PM Changeset in webkit [31353] by mrowe@apple.com
  • 6 edits in trunk

Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.

Rubber-stamped by Brady Eidson.

  • Configurations/JavaScriptCore.xcconfig:
  • Configurations/WebCore.xcconfig:
  • Configurations/WebKit.xcconfig:
8:43 PM Changeset in webkit [31352] by pewtermoose@webkit.org
  • 4 edits in trunk

WebCore:

2008-03-26 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Add necessary files and build commands to vcproj files to
build a Curl-based Windows WebKit. For details, see
http://bugs.webkit.org/show_bug.cgi?id=17985

  • WebCore.vcproj/WebCore.vcproj:

WebKit/win:

2008-03-26 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Add necessary files and build commands to vcproj files to
build a Curl-based Windows WebKit. For details, see
http://bugs.webkit.org/show_bug.cgi?id=17985

  • WebKit.vcproj/WebKit.vcproj:
8:38 PM Changeset in webkit [31351] by Adam Roben
  • 3 edits in trunk/WebCore

Record JS exceptions triggered by the Inspector's use of JSC

We now dump all exceptions returned from JavaScriptCore into the
Inspector's console.

The HANDLE_EXCEPTION macro records the line on which the exception was
returned. It calls a new private handleException method on
InspectorController.

Reviewed by Kevin McCullough.

  • page/InspectorController.cpp: (WebCore::InspectorController::callSimpleFunction): Made this be a member of InspectorController so that it can call handleException. (WebCore::addSourceToFrame): Pass the exception pointer on to inner JSC calls, and check it after those calls return. (WebCore::getResourceDocumentNode): Ditto. (WebCore::search): Ditto. Also changed the name/type of an existing exception variable to ExceptionCode ec. (WebCore::databaseTableNames): Ditto. (WebCore::moveByUnrestricted): Ditto. (WebCore::InspectorController::~InspectorController): Check for and record exceptions as we call JSC. (WebCore::InspectorController::focusNode): Ditto. (WebCore::InspectorController::scriptObjectReady): Ditto. (WebCore::addHeaders): Added an exception parameter. (WebCore::scriptObjectForRequest): Ditto. (WebCore::scriptObjectForResponse): Ditto. (WebCore::InspectorController::addScriptResource): Check for and record exceptions as we call JSC. (WebCore::InspectorController::addAndUpdateScriptResource): Ditto. (WebCore::InspectorController::removeScriptResource): Ditto. Also moved the call to setScriptObject to before the JSC calls so that it will always be called even if we return early if JSC throws an exception. (WebCore::InspectorController::updateScriptResourceRequest): Check for and record exceptions as we call JSC. (WebCore::InspectorController::updateScriptResourceResponse): Ditto. (WebCore::InspectorController::updateScriptResource): Ditto. (WebCore::InspectorController::addDatabaseScriptResource): Ditto. (WebCore::InspectorController::removeDatabaseScriptResource): Ditto. Also moved the call to setScriptObject to before the JSC calls so that it will always be called even if we return early if JSC throws an exception. (WebCore::InspectorController::addScriptConsoleMessage): Check for and record exceptions as we call JSC. (WebCore::InspectorController::handleException): Added.
  • page/InspectorController.h:
8:35 PM Changeset in webkit [31350] by Adam Roben
  • 4 edits in trunk/JavaScriptCore

Fix Bug 18060: Assertion failure (JSLock not held) beneath JSCallbackObject<Base>::toString

<http://bugs.webkit.org/show_bug.cgi?id=18060>

Reviewed by Geoff Garen.

Bug fix:

  • API/JSCallbackObjectFunctions.h: (KJS::JSCallbackObject<Base>::toString): Make the DropAllLocks instance only be in scope while calling convertToType.

Test:

  • API/testapi.c: (MyObject_convertToType): Implement type conversion to string.
  • API/testapi.js: Add a test for type conversion to string.
8:14 PM Changeset in webkit [31349] by Darin Adler
  • 3 edits in trunk/WebCore

2008-03-26 Darin Adler <Darin Adler>

Rubber stamped by Maciej.

  • removed a couple log messages in error cases that are handled internally
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decode): Removed the LOG_ERROR.
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode): Ditto.
8:11 PM Changeset in webkit [31348] by Adam Roben
  • 4 edits in trunk/WebKitLibraries

Windows build fix after r31322

  • win/include/WebKitSystemInterface/WebKitSystemInterface.h: Updated.
  • win/lib/WebKitSystemInterface.lib: Updated.
  • win/lib/WebKitSystemInterface_debug.lib: Updated.
7:56 PM Changeset in webkit [31347] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-03-26 Sam Weinig <sam@webkit.org>

Reviewed by Adam Roben.

  • page/Location.idl: Don't enumerate toString.
7:53 PM Changeset in webkit [31346] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

2008-03-26 Sam Weinig <sam@webkit.org>

Rubber-stamped by Adam Roben.

Update test result.

  • fast/dom/Window/window-special-properties-expected.txt:
7:45 PM Changeset in webkit [31345] by mjs@apple.com
  • 1 edit
    1 add in trunk/WebKitSite

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Screenshot for blog post.

  • blog-files/acid3-100.png: Added.
7:41 PM Changeset in webkit [31344] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Release build fix.

7:34 PM Changeset in webkit [31343] by Adam Roben
  • 3 edits in trunk/JavaScriptCore

Windows build fix

  • kjs/array_instance.cpp: Touched this.
  • wtf/HashFunctions.h: (WTF::intHash): Added 8- and 16-bit versions of intHash.
7:34 PM Changeset in webkit [31342] by mjs@apple.com
  • 22 edits
    5 adds in trunk

WebCore:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Hyatt and Adam.

Coded by me and Darin.


  • SVG kerning support (horizontal kerning only for now since we don't do vertical text layout right yet)


Acid3 100/100

  • DerivedSources.make:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/Font.cpp: (WebCore::Font::floatWidth): (WebCore::Font::isSVGFont):
  • platform/graphics/Font.h:
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateGlyphWidth): (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
  • rendering/SVGInlineTextBox.h:
  • rendering/SVGRootInlineBox.cpp: (WebCore::cummulatedWidthOrHeightOfTextChunk): (WebCore::SVGRootInlineBox::buildLayoutInformation): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox):
  • rendering/SVGRootInlineBox.h: (WebCore::LastGlyphInfo::LastGlyphInfo):
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk): (WebCore::Font::svgFont): (WebCore::floatWidthOfSubStringUsingSVGFont): (WebCore::Font::floatWidthUsingSVGFont): (WebCore::Font::drawTextUsingSVGFont): (WebCore::Font::selectionRectForTextUsingSVGFont):
  • svg/SVGFontElement.cpp: (WebCore::SVGFontElement::invalidateGlyphCache): (WebCore::SVGFontElement::ensureGlyphCache): (WebCore::parseUnicodeRange): (WebCore::parseUnicodeRangeList): (WebCore::stringMatchesUnicodeRange): (WebCore::matches): (WebCore::SVGFontElement::getHorizontalKerningPairForStringsAndGlyphs):
  • svg/SVGFontElement.h:
  • svg/SVGGlyphElement.cpp: (WebCore::SVGGlyphElement::insertedIntoDocument): (WebCore::SVGGlyphElement::removedFromDocument):
  • svg/SVGHKernElement.cpp: Added. (WebCore::SVGHKernElement::SVGHKernElement): (WebCore::SVGHKernElement::~SVGHKernElement): (WebCore::SVGHKernElement::insertedIntoDocument): (WebCore::SVGHKernElement::removedFromDocument): (WebCore::SVGHKernElement::buildHorizontalKerningPair):
  • svg/SVGHKernElement.h: Added. (WebCore::SVGHorizontalKerningPair::SVGHorizontalKerningPair): (WebCore::SVGHKernElement::rendererIsNeeded):
  • svg/SVGHKernElement.idl: Added.
  • svg/SVGTextContentElement.cpp: (WebCore::cummulatedCharacterRangeLength): (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
  • svg/svgtags.in:

LayoutTests:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Hyatt and Adam.


  • new test case and test fixes for SVG text kerning
  • svg/text/kerning.svg: Added.
  • platform/mac/svg/text/kerning-expected.txt: Added.
  • platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
7:21 PM Changeset in webkit [31341] by weinig@apple.com
  • 16 edits
    4 adds
    2 deletes in trunk/WebCore

2008-03-26 Sam Weinig <sam@webkit.org>

Reviewed by Adam Roben.

Autogenerate JSLocation.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Add files.
  • DerivedSources.make: Add Location, remove JSLocation.lut.h
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate): (WebCore::JSDOMWindowBase::getValueProperty): (WebCore::JSDOMWindowBase::put): (WebCore::JSDOMWindowBase::clearHelperObjectProperties): (WebCore::JSDOMWindowBase::disconnectFrame):
  • bindings/js/JSDOMWindowBase.h: Remove manuel management of the Location object.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Add marking of JSLocation. (WebCore::JSDOMWindow::setLocation): Add custom setLocation as we only want to do this when safe and we need to keep Dashboard quirks.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::location): Fetch the location object using the normal toJS route.
  • bindings/js/JSLocation.cpp: Removed.
  • bindings/js/JSLocation.h: Removed.
  • bindings/js/JSLocationCustom.cpp: Added. (WebCore::JSLocation::customGetOwnPropertySlot): (WebCore::JSLocation::customPut): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::customGetPropertyNames): (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::reload): (WebCore::JSLocation::assign): (WebCore::JSLocation::toString): Setter and Functions need custom implementations as they rely on the dynamic global object for determining the behavior of the navigation.
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::restore): (WebCore::CachedPage::clear):
  • history/CachedPage.h: Removed all the special casing for location as it should be treated like all the other objects hanging off the window.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::clear): (WebCore::DOMWindow::location):
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalLocation):
  • page/DOMWindow.idl: Add Location accessor and pointer getter for marking.
  • page/Location.cpp: Added. (WebCore::Location::Location): (WebCore::Location::disconnectFrame): (WebCore::Location::url): (WebCore::Location::href): (WebCore::Location::protocol): (WebCore::Location::host): (WebCore::Location::hostname): (WebCore::Location::port): (WebCore::Location::pathname): (WebCore::Location::search): (WebCore::Location::hash): (WebCore::Location::toString):
  • page/Location.h: Added. (WebCore::Location::create): (WebCore::Location::frame):
  • page/Location.idl: Added.
6:53 PM Changeset in webkit [31340] by hyatt@apple.com
  • 3 adds in trunk/LayoutTests/platform/mac/svg/custom

Add layout test results for altGlyph.

6:53 PM Changeset in webkit [31339] by hyatt@apple.com
  • 1 add in trunk/LayoutTests/svg/custom/altglyph.svg

Add layout test for altGlyph.

6:52 PM Changeset in webkit [31338] by hyatt@apple.com
  • 6 edits in trunk/WebCore

2008-03-26 David Hyatt <hyatt@apple.com>

Add support for the rendering and measurement of the <altGlyph> element in SVG. This patch brings
is half of what's needed to reach 100/100 on Acid3 and pass the test. Maciej has coded up the other half. :)

Reviewed by mjs

Added svg/custom/altGlyph.svg

  • svg/SVGAltGlyphElement.cpp: (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): (WebCore::SVGAltGlyphElement::glyphElement):
  • svg/SVGAltGlyphElement.h:
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk):
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::insertedIntoDocument):
  • svg/SVGGlyphElement.cpp: (WebCore::SVGGlyphElement::insertedIntoDocument): (WebCore::SVGGlyphElement::removedFromDocument):
6:43 PM Changeset in webkit [31337] by Adam Roben
  • 8 edits in trunk

Turn on SVG animation on Windows

JavaScriptCore:

Force JSC headers to be copied by touching a file

  • kjs/array_instance.cpp: (KJS::ArrayInstance::getPropertyNames):

WebCore:

Turn on SVG animation on Windows

Also touched some files to force things to rebuild/regenerate.

  • WebCore.vcproj/WebCore.vcproj: Added ENABLE_SVG_ANIMATION.
  • WebCore.vcproj/build-generated-files.sh: Ditto.
  • bindings/scripts/CodeGenerator.pm: Touched.
  • config.h: Touched.
  • svg/svgtags.in: Touched.
6:10 PM Changeset in webkit [31336] by justin.garcia@apple.com
  • 2 edits in trunk/WebCore

2008-03-26 Justin Garcia <justin.garcia@apple.com>

Reviewed by Harrison.

<rdar://problem/5820749> REGRESSION (Safari 3.1): Mail's plain text reply omits blank line following the attribution

  • editing/markup.cpp: (WebCore::createFragmentFromText): When asked to create a fragment from "Attribution:\n" with a context from [html, 0] to [html, 0], we'd return "<html>Attribution</html><br>". Don't enclose paragraphs in clones of the context's enclosing block if that block is the html or body element. Currently no way to test [DOMHTMLElement createFragmentFromText:].
5:58 PM Changeset in webkit [31335] by Adam Roben
  • 3 edits in trunk/JavaScriptCore

Windows build fix after r31324

Written with Darin.

Added HashTable plumbing to support using wchar_t as a key type.

  • wtf/HashFunctions.h:
  • wtf/HashTraits.h: (WTF::):
5:21 PM Changeset in webkit [31334] by Antti Koivisto
  • 6 edits in trunk

WebCore:

2008-03-26 Antti Koivisto <Antti Koivisto>

Reviewed by Anders.

http://bugs.webkit.org/show_bug.cgi?id=17077
Bug 17077: SVG SMIL animation is currently broken (and turned off) (affects Acid3 tests 75 and 76)

  • enable SVG animation support.
  • basic implementation of beginElement()/endElement().


Animation definitely will need more work than this, but it is a start!

  • Configurations/WebCore.xcconfig:
  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::SVGAnimationElement): (WebCore::SVGAnimationElement::updateAnimatedValueForElapsedSeconds): (WebCore::SVGAnimationElement::beginElement): (WebCore::SVGAnimationElement::beginElementAt): (WebCore::SVGAnimationElement::endElement): (WebCore::SVGAnimationElement::endElementAt):
  • svg/SVGAnimationElement.h:

WebKitTools:

2008-03-26 Antti Koivisto <Antti Koivisto>

Reviewed by Anders.


Enable SVG animation support by default.

  • Scripts/build-webkit:
4:34 PM Changeset in webkit [31333] by mrowe@apple.com
  • 10 edits in trunk

2008-03-26 Mark Rowe <mrowe@apple.com>

Reviewed by David Hyatt.

Make the Ahem font antialias correctly on Acid3 on Tiger.

  • WebCore.Tiger.exp:
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

2008-03-26 Mark Rowe <mrowe@apple.com>

Reviewed by David Hyatt.

Make the Ahem font antialias correctly on Acid3 on Tiger.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceTiger.a:

2008-03-26 Mark Rowe <mrowe@apple.com>

Reviewed by David Hyatt.

Make the Ahem font antialias correctly on Acid3 on Tiger.

  • WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
4:03 PM squirrelfish edited by ggaren@apple.com
(diff)
4:02 PM Changeset in webkit [31332] by Simon Hausmann
  • 3 edits in trunk/WebCore

Attempt to fix the Qt build.

3:56 PM Changeset in webkit [31331] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

2008-03-26 Stephanie Lewis <Stephanie Lewis>

Not Reviewed.

Move storage tests to Skipped list since they hang 80% of the time. See <rdar://problem/5787763>.

  • platform/win/Skipped:
3:54 PM Changeset in webkit [31330] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Moved a few files around in the XCode project.

3:50 PM Changeset in webkit [31329] by ggaren@apple.com
  • 11 edits
    2 adds in branches/squirrelfish/JavaScriptCore

2008-03-26 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Made closures work.


An activation object aliases to the register file until its associated
function returns, at which point it copies the registers for locals and
parameters into an independent storage buffer.

3:49 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
1:53 PM Changeset in webkit [31328] by mitz@apple.com
  • 2 edits in trunk/WebCore

2008-03-26 Dan Bernstein <mitz@apple.com>

Reviewed by Anders Carlsson.

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): When deciding to ditch old clean lines (due to changed or newly-added floats), keep the reference to those lines so they can be properly deleted in the end, and use a separate flag to signal that no matching should be attempted.
1:21 PM Changeset in webkit [31327] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Speculative Windows build fix.

1:04 PM squirrelfish edited by weinig@apple.com
Note that Sam is working on implementing more code emitters (diff)
1:01 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
12:59 PM Changeset in webkit [31326] by sfalken@apple.com
  • 2 edits in trunk/WebCore

2008-03-25 Steve Falkenburg <sfalken@apple.com>

Turn on link-time-codegen in html and rendering related files.

Reviewed by Oliver.

  • WebCore.vcproj/WebCore.vcproj:
12:26 PM Changeset in webkit [31325] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • wtf/HashFunctions.h: (WTF::):
  • wtf/HashTraits.h: (WTF::):
12:22 PM Changeset in webkit [31324] by mjs@apple.com
  • 8 edits
    1 add in trunk

WebCore:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk):
  • svg/SVGFontElement.cpp: (WebCore::SVGFontElement::SVGFontElement): (WebCore::SVGFontElement::addGlyphToCache): (WebCore::SVGFontElement::removeGlyphFromCache): (WebCore::SVGFontElement::ensureGlyphCache): (WebCore::SVGFontElement::getGlyphIdentifiersForString):
  • svg/SVGFontElement.h:
  • svg/SVGGlyphElement.h: (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
  • svg/SVGGlyphMap.h: Added. New radix tree based glyph map. (WebCore::GlyphMapNode::GlyphMapNode): (WebCore::SVGGlyphMap::SVGGlyphMap): (WebCore::SVGGlyphMap::add): (WebCore::SVGGlyphMap::compareGlyphPriority): (WebCore::SVGGlyphMap::get): (WebCore::SVGGlyphMap::clear):

LayoutTests:

2008-03-26 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

These test cases were already checking for this exact bug and now
render correctly.


  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
12:12 PM Changeset in webkit [31323] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-03-26 David Hyatt <hyatt@apple.com>

Fix build bustage on Tiger. Tiger will not have the bug fix.

  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
12:01 PM Changeset in webkit [31322] by hyatt@apple.com
  • 6 edits in trunk/WebCore

2008-03-26 David Hyatt <hyatt@apple.com>

Make the Ahem font antialias correctly on Acid3.

Reviewed by Dan

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawGlyphs):
  • platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
  • platform/graphics/win/FontCGWin.cpp: (WebCore::Font::drawGlyphs):
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformInit):
11:04 AM Changeset in webkit [31321] by mrowe@apple.com
  • 4 edits in trunk

Fix the Mac build.

10:49 AM Changeset in webkit [31320] by Adam Roben
  • 2 edits in trunk/WebCore

Fix Bug 17768: REGRESSION (r30146): Inspector no longer shows elements properties

<http://bugs.webkit.org/show_bug.cgi?id=17768>

We were throwing an exception from Object.describe because of some
undefined variables.

Reviewed by Tim Hatcher.

  • page/inspector/utilities.js: (Object.describe): Reinstate the type1 and type2 variables that were removed in r30146. They're still used when formatting a function.
10:44 AM Changeset in webkit [31319] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Darin.

Cache C string identifiers by address, not value, assuming that C strings can only
be literals.

1% speedup on Acid3 test 26.

  • kjs/identifier.cpp: (KJS::literalIdentifierTable): (KJS::Identifier::add): Added a new table to cache UString::Reps created from C strings by address. Elements are never removed from this cache, as only predefined identifiers can get there.
  • kjs/identifier.h: (KJS::Identifier::Identifier): Added a warning.
10:29 AM Changeset in webkit [31318] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Rubber-stamped by Maciej.

An assertion was failing in function-toString-object-literals.html when parsing 1e-500.
The condition existed before, and got uncovered by turning compiled-out dtoa checks into
ASSERTs.

The assertion was verifying that the caller wasn't constructing a Bigint from 0.
This might have had some reason behind it originally, but I couldn't find any,
and this doesn't look like a reasonable requirement.

  • kjs/dtoa.cpp: (d2b): Removed the assertion (two copies in different code paths).
10:27 AM Changeset in webkit [31317] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by darin.

Forgot to add braces darin asked for during review.

  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
10:19 AM Changeset in webkit [31316] by eric@webkit.org
  • 22 edits
    7 adds in trunk

Reviewed by darin.

Fix, makes us pass Test 70
XML documents should be strict about encoding checks
http://bugs.webkit.org/show_bug.cgi?id=17079

Test: fast/encoding/invalid-xml.html

  • WebCore.base.exp:
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
  • loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::TextResourceDecoder): (WebCore::TextResourceDecoder::decode):
  • loader/TextResourceDecoder.h:
  • platform/text/TextCodec.h: (WebCore::TextCodec::decode):
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decodeToBuffer): (WebCore::ErrorCallbackSetter::ErrorCallbackSetter): (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): (WebCore::TextCodecICU::decode):
  • platform/text/TextCodecICU.h:
  • platform/text/TextCodecLatin1.cpp:
  • platform/text/TextCodecLatin1.h:
  • platform/text/TextCodecUTF16.cpp:
  • platform/text/TextCodecUTF16.h:
  • platform/text/TextCodecUserDefined.cpp:
  • platform/text/TextCodecUserDefined.h:
  • platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM):
  • platform/text/TextDecoder.h: (WebCore::TextDecoder::decode):
  • platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode):
  • platform/text/TextEncoding.h: (WebCore::TextEncoding::decode):
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode):
  • platform/text/mac/TextCodecMac.h:
9:59 AM Changeset in webkit [31315] by Antti Koivisto
  • 9 edits
    2 adds in trunk/WebCore

2008-03-26 Antti Koivisto <Antti Koivisto>

Reviewed by Adam.

Add ElementTimeControl interface to SVGAnimationElement.
Passes Acid3 test 75.

  • DerivedSources.make:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • svg/ElementTimeControl.h: Added. (WebCore::ElementTimeControl::~ElementTimeControl):
  • svg/ElementTimeControl.idl: Added.
  • svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::beginElement): (WebCore::SVGAnimationElement::beginElementAt): (WebCore::SVGAnimationElement::endElement): (WebCore::SVGAnimationElement::endElementAt):
  • svg/SVGAnimationElement.h:
  • svg/SVGAnimationElement.idl:
9:22 AM Changeset in webkit [31314] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-26 Kevin McCullough <kmccullough@apple.com>

  • LayoutTest fix. Null check.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send):
7:33 AM Changeset in webkit [31313] by mitz@apple.com
  • 5 edits
    12 adds in trunk

WebCore:

Reviewed by Darin Adler.

Tests: fast/repaint/subtree-root-clip.html

fast/repaint/subtree-root-clip-2.html
fast/repaint/subtree-root-clip-3.html

  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Changed to not set an initial clip. Since the root is clipping, there is no need to set a clip, and setting the clip based on the container was wrong because often the root was not included in the container's overflow rect because it had its own layer.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absolutePosition): Removed code that added table cell's extra top offset only in the slow (recursive) code path.
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::absolutePosition): Added code to add the extra top offset in both code paths.

LayoutTests:

Reviewed by Darin Adler.

  • fast/repaint/subtree-root-clip-2.html: Added.
  • fast/repaint/subtree-root-clip-3.html: Added.
  • fast/repaint/subtree-root-clip.html: Added.
  • platform/mac/fast/repaint/subtree-root-clip-2-expected.checksum: Added.
  • platform/mac/fast/repaint/subtree-root-clip-2-expected.png: Added.
  • platform/mac/fast/repaint/subtree-root-clip-2-expected.txt: Added.
  • platform/mac/fast/repaint/subtree-root-clip-3-expected.checksum: Added.
  • platform/mac/fast/repaint/subtree-root-clip-3-expected.png: Added.
  • platform/mac/fast/repaint/subtree-root-clip-3-expected.txt: Added.
  • platform/mac/fast/repaint/subtree-root-clip-expected.checksum: Added.
  • platform/mac/fast/repaint/subtree-root-clip-expected.png: Added.
  • platform/mac/fast/repaint/subtree-root-clip-expected.txt: Added.
6:00 AM Changeset in webkit [31312] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the Qt build.

3:18 AM Changeset in webkit [31311] by mjs@apple.com
  • 2 edits in trunk

Fixed reviewer in WebCore/ChangeLog and LayoutTests/ChangeLog

3:10 AM Changeset in webkit [31310] by mjs@apple.com
  • 15 edits
    2 adds in trunk

WebCore:

2008-03-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Maciej.

  • platform/graphics/Font.cpp: (WebCore::Font::floatWidth): Allow expressing a run that has extra "context" characters beyond the end, and reporting of how many characters were actually consumed, to support multichar glyphs in SVG fonts.
  • platform/graphics/Font.h:
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateGlyphWidth): Pass along extra chars in argument and chars consumed out argument. (WebCore::SVGInlineTextBox::calculateGlyphHeight): Pass along extra chars in argument. (WebCore::SVGInlineTextBox::calculateGlyphBoundaries): Add boilerplate; may not handle multichar glyphs right but I don't know what effects this would have.
  • rendering/SVGInlineTextBox.h:
  • rendering/SVGRootInlineBox.cpp: (WebCore::cummulatedWidthOrHeightOfTextChunk): Add boilerplate; may not handle multichar glyphs right but again I am not sure what effect this would have. (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): Account for multichar glyphs - let glyph selection consider extra chars, and account for the fact that a glyph may have consumed multiple chars.
  • rendering/SVGRootInlineBox.h:
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk): This is the place where glyph selection happens, so this is where we accout for multichar glyphs (both looking at extra chars past the end of the run, and reporting how many chars were consumed). (WebCore::floatWidthOfSubStringUsingSVGFont): Pass aforementioned info through the layers. (WebCore::Font::floatWidthUsingSVGFont): ditto (WebCore::Font::drawTextUsingSVGFont): ditto (WebCore::Font::selectionRectForTextUsingSVGFont): ditto
  • svg/SVGTextContentElement.cpp: (WebCore::cummulatedCharacterRangeLength): ditto (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): ditto

LayoutTests:

2008-03-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Maciej.

  • svg/text/multichar-glyph.svg: Added. New test case for both rendering and getStartPositionOfChar access of multichar glyphs.
  • platform/mac/svg/text/multichar-glyph-expected.txt: Added.

The following test results changed, all appear to be improvements.


  • platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt:
  • platform/mac/svg/text/text-altglyph-01-b-expected.txt:
  • platform/mac/svg/text/text-text-06-t-expected.txt:

Mar 25, 2008:

11:46 PM Changeset in webkit [31309] by Beth Dakin
  • 10 edits
    5 adds in trunk

WebCore:

2008-03-25 Beth Dakin <Beth Dakin>

Reviewed by Oliver.

Fix for <rdar://problem/5811826> CSSValueList::item() does not
range-check index

Check bounds before accessing the item to avoid a crash.
itemWithoutBoundsCheck() is still inlined and not bounds-checked to
avoid slowing down our internal callers of item().

  • css/CSSValueList.cpp: (WebCore::CSSValueList::item):
  • css/CSSValueList.h: (WebCore::CSSValueList::itemWithoutBoundsCheck):

Call itemWithoutBoundsCheck() to avoid slowing down these internal
callers.

  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule):
  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
  • css/CSSStyleSelector.cpp: (WebCore::applyCounterList): (WebCore::CSSStyleSelector::applyProperty):
  • css/MediaQueryEvaluator.cpp: (WebCore::parseAspectRatio):
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::rebuildFontFace):
  • svg/graphics/SVGPaintServer.cpp: (WebCore::dashArrayFromRenderingStyle):

LayoutTests:

2008-03-25 Beth Dakin <Beth Dakin>

Reviewed by Oliver.

Test for <rdar://problem/5811826> CSSValueList::item() does not
range-check index

  • fast/css/resources/bikes.bmp: Added.
  • fast/css/value-list-out-of-bounds-crash.html: Added.
  • platform/mac/fast/css/value-list-out-of-bounds-crash-expected.checksum: Added.
  • platform/mac/fast/css/value-list-out-of-bounds-crash-expected.png: Added.
  • platform/mac/fast/css/value-list-out-of-bounds-crash-expected.txt: Added.
9:24 PM Changeset in webkit [31308] by Adam Roben
  • 2 edits in trunk/WebKitTools

Windows build fix

  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj: Add $(WebKitLibrariesDir)\include to the include path so we can find stdint.h there.
8:41 PM Changeset in webkit [31307] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-03-25 Antti Koivisto <Antti Koivisto>

Reviewed by Oliver.

Fix http://bugs.webkit.org/show_bug.cgi?id=18082
REGRESSION (r31287): GMail does not work if user stylesheet is set


Oops, my cache refactoring patch was missing these rather essential lines for
user stylesheets. They would get reloaded repeatedly.

  • loader/Cache.cpp: (WebCore::Cache::requestUserCSSStyleSheet):
8:38 PM squirrelfish edited by ggaren@apple.com
(diff)
8:11 PM squirrelfish edited by ggaren@apple.com
(diff)
7:14 PM Changeset in webkit [31306] by Adam Roben
  • 2 edits in trunk/WebKit/win

Attempted build fix

  • WebKit.vcproj/WebKit.sln: Make testapi build after most other projects.
7:09 PM squirrelfish edited by ggaren@apple.com
(diff)
6:35 PM Changeset in webkit [31305] by pewtermoose@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Correct ChangeLog.

6:32 PM Changeset in webkit [31304] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-03-25 Matt Lilek <webkit@mattlilek.com>

Rubber stamped by Adam

Roll out r30300 since it causes assertion failures on page load.
See http://bugs.webkit.org/show_bug.cgi?id=18093

  • page/InspectorController.cpp: (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading):
6:07 PM Changeset in webkit [31303] by Darin Adler
  • 6 edits
    3 adds in trunk

WebCore:

2008-03-25 Darin Adler <Darin Adler>

Reviewed by Anders.

Test: traversal/acid3-test-2.html

  • bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::nextNode): Update since result is PassRefPtr. (WebCore::JSNodeIterator::previousNode): Ditto.
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::nextNode): Changed result to PassRefPtr. Added code to track both the current candidate (which needs to move along to the next node if current node is deleted) and the current provisional result (passed to acceptNode, and needs to be returned even if it's deleted). (WebCore::NodeIterator::previousNode): Ditto. (WebCore::NodeIterator::nodeWillBeRemoved): Call updateForNodeRemoval for m_candidateNode as well as m_referenceNode.
  • dom/NodeIterator.h: Use PassRefPtr for return values.

LayoutTests:

2008-03-25 Darin Adler <Darin Adler>

Reviewed by Anders.

  • traversal/acid3-test-2-expected.txt: Added.
  • traversal/acid3-test-2.html: Added.
  • traversal/resources/acid3-test-2.js: Added.
  • traversal/resources/exception-forwarding.js: Removed bogus extra line of code.
5:29 PM Changeset in webkit [31302] by beidson@apple.com
  • 5 edits in trunk/WebCore

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Add the ability to transform a CString into a SharedBuffer to avoid copying data
This is valuable to avoid copying a block of data for an upcoming patch

  • platform/SharedBuffer.cpp: (WebCore::SharedBuffer::adoptVector):
  • platform/SharedBuffer.h:
  • platform/text/CString.cpp: (WebCore::CString::releaseBuffer):
  • platform/text/CString.h: (WebCore::CStringBuffer::releaseBuffer):
4:46 PM Changeset in webkit [31301] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-25 Brady Eidson <beidson@apple.com>

Attempt to fix .bkl build systems after recent archive additions

  • webcore-base.bkl:
4:43 PM Changeset in webkit [31300] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

  • Cleaned up the needless use of RefPtrs, which we may someday no longer use for InspectorResources.
  • page/InspectorController.cpp: (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading):
4:40 PM Changeset in webkit [31299] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Adam.

  • Added a null check
  • xml/XMLHttpRequest.cpp: Null check (WebCore::XMLHttpRequest::send):
4:32 PM Changeset in webkit [31298] by kmccullough@apple.com
  • 5 edits in trunk/WebCore

2008-03-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • XMLHttpRequestResources now identify themselves to the inspector which caches the data related to the request since no one else caches it. However this is just the plumbing and the Inspector's UI has not been changed to show XHR resources yet.
  • page/InspectorController.cpp: Add ability to set XHR data on an InspectorResource. (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): (WebCore::XMLHttpRequestResource::data): (WebCore::XMLHttpRequestResource::encoding): (WebCore::InspectorResource::): Add new type. (WebCore::InspectorResource::~InspectorResource): No longer virtual since we are not using inheritance. (WebCore::InspectorResource::type): Ditto. (WebCore::InspectorResource::setXMLHttpRequestResource): (WebCore::InspectorResource::isXHR): (WebCore::InspectorResource::xmlHttpRequestData): (WebCore::InspectorResource::xmlHttpRequestEncoding): (WebCore::InspectorResource::InspectorResource): (WebCore::addSourceToFrame): (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
  • page/InspectorController.h: Add accessor for setting the XHR data.
  • page/inspector/Resource.js: Keep the XHR resource types in sync with the Inspector Controller.
  • xml/XMLHttpRequest.cpp: Give the InspectorController the XHR information to cache. (WebCore::XMLHttpRequest::send):
4:23 PM Changeset in webkit [31297] by Adam Roben
  • 4 edits
    3 adds in trunk

Fix Bug 18077: Integrate testapi.c into the Windows build

JavaScriptCore:

Fix Bug 18077: Integrate testapi.c into the Windows build

<http://bugs.webkit.org/show_bug.cgi?id=18077>

Reviewed by Steve Falkenburg.

WebCore:

Add an UnusedParam.h forwarding header for use by testapi

Reviewed by Steve Falkenburg.

  • ForwardingHeaders/wtf/UnusedParam.h: Added.

WebKit/win:

Fix Bug 18077: Integrate testapi.c into the Windows build

<http://bugs.webkit.org/show_bug.cgi?id=18077>

Reviewed by Steve Falkenburg.

  • WebKit.vcproj/WebKit.sln: Added testapi.vcproj to the solution.
4:23 PM Changeset in webkit [31296] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Make testapi.c compile under MSVC

Currently you must compile testapi.c as C++ code since MSVC does not
support many C features that GCC does.

Reviewed by Steve Falkenburg.

  • API/testapi.c: (nan): Added an implementation of this for MSVC. (assertEqualsAsUTF8String): Use malloc instead of dynamically-sized stack arrays. (assertEqualsAsCharactersPtr): Ditto. (print_callAsFunction): Ditto. (main): Ditto, and explicitly cast from UniChar* to JSChar*.
4:23 PM Changeset in webkit [31295] by Adam Roben
  • 3 edits in trunk/JavaScriptCore

Stop using JavaScriptCore's custom stdbool.h and stdint.h on Windows

We can't remove the os-win32 directory yet because other ports (at
least wx) are still relying on it.

Reviewed by Steve Falkenburg.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
    • Made all the include paths match the one for the Debug configuration (these got out of sync in r30797)
    • Removed os-win32 from the include path
    • Removed os-win32 from the directories we copy to $WebKitOutputDir.
    • Removed stdint.h from the project
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Delete the files that we may have previously copied from the os-win32 directory.
4:00 PM Changeset in webkit [31294] by beidson@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Beth Dakin

Remove entirely unused internal method

  • WebView/WebArchiver.h:
  • WebView/WebArchiver.mm:
3:37 PM Changeset in webkit [31293] by beidson@apple.com
  • 7 edits in trunk

WebCore:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

<rdar://problem/5819308> - View Source is empty when view webarchives

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setParsedArchiveData): (WebCore::DocumentLoader::parsedArchiveData):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData in the DocumentLoader

WebKit/mac:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

<rdar://problem/5819308> - View Source is empty when view webarchives

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setParsedArchiveData): (WebCore::DocumentLoader::parsedArchiveData):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData in the DocumentLoader
3:17 PM Changeset in webkit [31292] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

Reviewed by Darin Adler.

  • WebView/WebHTMLView.mm: (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null check.
2:57 PM Changeset in webkit [31291] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Jon Honeycutt's rubberstamp

Fix a leak with the new WebArchive setup

  • WebView/WebArchive.mm: (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
2:28 PM Changeset in webkit [31290] by eric@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

Speculative crash fix for Acid3 crasher.
I couldn't figure out how to make a test case for this?
Suggestions welcome.

  • css/CSSFontSelector.cpp: null check document->renderer()
1:29 PM Changeset in webkit [31289] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • kjs/dtoa.cpp: Include stdint.h.
12:43 PM Changeset in webkit [31288] by ap@webkit.org
  • 3 edits in trunk/JavaScriptCore

Rubber-stamped by Darin.

Cleanup dtoa.cpp style.

  • kjs/dtoa.cpp: (Bigint::Balloc): (Bigint::Bfree): (Bigint::multadd): (Bigint::s2b): (Bigint::hi0bits): (Bigint::lo0bits): (Bigint::i2b): (Bigint::mult): (Bigint::pow5mult): (Bigint::lshift): (Bigint::cmp): (Bigint::diff): (Bigint::ulp): (Bigint::b2d): (Bigint::d2b): (Bigint::ratio): (Bigint::): (Bigint::match): (Bigint::hexnan): (Bigint::kjs_strtod): (Bigint::quorem): (Bigint::rv_alloc): (Bigint::nrv_alloc): (Bigint::kjs_freedtoa): (Bigint::kjs_dtoa):
  • kjs/dtoa.h:
12:21 PM Changeset in webkit [31287] by Antti Koivisto
  • 21 edits in trunk/WebCore

2008-03-25 Antti Koivisto <Antti Koivisto>

Reviewed by Geoff Garen.

Some memory cache cleanups:

  • Separate CachedResource loading from construction, initiate load using a separate load() method.
  • Add special case function to Cache for loading user stylesheets. This allows removal of a bunch of parameters from several methods and CachedResource constructors.
  • Construct CachedResources with m_inCache set to false which is quite a bit more logical as they are not yet in the cache at that point.
  • Pass encoding around as const String& instead of const String*.
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::image):
  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement):
  • loader/Cache.cpp: (WebCore::createResource): (WebCore::Cache::requestResource): (WebCore::Cache::requestUserCSSStyleSheet): (WebCore::Cache::remove):
  • loader/Cache.h:
  • loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
  • loader/CachedCSSStyleSheet.h:
  • loader/CachedFont.cpp: (WebCore::CachedFont::CachedFont): (WebCore::CachedFont::load): (WebCore::CachedFont::ref):
  • loader/CachedFont.h:
  • loader/CachedImage.cpp: (WebCore::CachedImage::CachedImage): (WebCore::CachedImage::load):
  • loader/CachedImage.h:
  • loader/CachedResource.cpp: (WebCore::CachedResource::CachedResource): (WebCore::CachedResource::~CachedResource): (WebCore::CachedResource::load):
  • loader/CachedResource.h: (WebCore::CachedResource::load):
  • loader/CachedScript.cpp: (WebCore::CachedScript::CachedScript):
  • loader/CachedScript.h:
  • loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::CachedXBLDocument):
  • loader/CachedXBLDocument.h:
  • loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
  • loader/CachedXSLStyleSheet.h:
  • loader/DocLoader.cpp: (WebCore::DocLoader::requestImage): (WebCore::DocLoader::requestFont): (WebCore::DocLoader::requestCSSStyleSheet): (WebCore::DocLoader::requestUserCSSStyleSheet): (WebCore::DocLoader::requestScript): (WebCore::DocLoader::requestXSLStyleSheet): (WebCore::DocLoader::requestXBLDocument): (WebCore::DocLoader::requestResource): (WebCore::DocLoader::preload):
  • loader/DocLoader.h:
12:12 PM Changeset in webkit [31286] by Darin Adler
  • 7 edits in trunk/WebCore

2008-03-25 Darin Adler <Darin Adler>

Reviewed by Anders.

  • avoid converting UString to String and then later to AtomicString

1% speedup on Acid3 test 26

This is inefficient for the case where there's already an AtomicString.
By first creating and destroying a String we waste time.

  • bindings/scripts/CodeGeneratorJS.pm: Use const UString& for string arguments rather than using String; this uses the object as it's produced from toString rather than creating a new temporary object that might not be of the right type. The type conversion happens at the callsite instead. Also eliminate the ability to use the type AtomicString from IDL.
  • dom/KeyboardEvent.idl: AtomicString -> DOMString.
  • dom/MouseEvent.idl: Ditto.
  • dom/MutationEvent.idl: Ditto.
  • dom/UIEvent.idl: Ditto.
  • svg/SVGStyleElement.idl: Ditto.
11:05 AM Changeset in webkit [31285] by beidson@apple.com
  • 2 edits in trunk/WebCore

2008-03-25 Brady Eidson <beidson@apple.com>

Build fix for non-CoreFoundation platforms

  • loader/archive/ArchiveFactory.cpp:
11:00 AM Changeset in webkit [31284] by beidson@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Removed the concept of "pending archive resources" and the "archive resources delivery timer"
from WebFrameLoaderClient, as those concepts have been pushed into WebCore

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::WebFrameLoaderClient):
10:44 AM Changeset in webkit [31283] by beidson@apple.com
  • 18 edits in trunk

WebCore:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • loader/FrameLoaderClient.h:
  • svg/graphics/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::setMainDocumentError): (WebCore::SVGEmptyFrameLoaderClient::finishedLoading):

WebKit/gtk:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebCoreSupport/FrameLoaderClientGtk.cpp:
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

WebKit/qt:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebCoreSupport/FrameLoaderClientQt.cpp:
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebFrame.cpp:
  • WebFrame.h:

WebKit/wx:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Remove newly obsolete FrameLoaderClient methods

  • WebKitSupport/FrameLoaderClientWx.cpp:
  • WebKitSupport/FrameLoaderClientWx.h:
10:41 AM Maintenance and architecture list edited by Darin Adler
Remove mention of bridge since it's gone now! (diff)
10:29 AM Changeset in webkit [31282] by beidson@apple.com
  • 2 edits in trunk/WebKit/mac

2008-03-25 Brady Eidson <beidson@apple.com>

Release build fix

  • WebView/WebArchive.mm: (-[WebArchive subresources]): (-[WebArchive subframeArchives]):
10:11 AM Changeset in webkit [31281] by beidson@apple.com
  • 31 edits
    2 adds
    2 deletes in trunk

WebCore:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

<rdar://problem/4516169> - Support WebArchives on Windows
And pave the way for many future WebArchive bug fixes and enhancements

This patch accomplishes two main goals:
1 - Consolidates much of the spread out WebKitMac archive code into one place in WebCore. This allows for cleaner refactoring

in the future as well as adding more archive formats with ease.

2 - Hooks up WebArchive support on Windows. Safari-style .webarchive files are nothing more than property lists readable by

CoreFoundation. While there are still some outstanding issues, including an NSKeyedArchiver chunk of data for the
ResourceResponse for each resource, this patch manually parses through the property list on CoreFoundation platforms and
gets many archives loading on Windows

My goal for this first cut was zero behavior change. As such, I went for a direct port of the WebKitMac code. There will be
opportunities for redesign and refactoring as followups.

  • WebCore.base.exp:
  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::setupForReplaceByMIMEType): Ported from WebKitMac, WebDataSource (WebCore::DocumentLoader::addAllArchiveResources): (WebCore::DocumentLoader::addArchiveResource): (WebCore::DocumentLoader::archiveResourceForURL): (WebCore::DocumentLoader::popArchiveForSubframe): (WebCore::DocumentLoader::clearArchiveResources):
  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp: Moved WebFrameLoaderClient and WebFrame code down into their more appropriate FrameLoader home (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::setDefersLoading): (WebCore::FrameLoader::deliverArchivedResourcesAfterDelay): (WebCore::FrameLoader::archiveResourceDeliveryTimerFired): (WebCore::FrameLoader::loadURLIntoChildFrame): (WebCore::FrameLoader::loadArchive): (WebCore::FrameLoader::scheduleArchiveLoad): (WebCore::FrameLoader::stopAllLoaders): (WebCore::FrameLoader::cancelPendingArchiveLoad): (WebCore::FrameLoader::isArchiveLoadPending): (WebCore::FrameLoader::finishedLoadingDocument):
  • loader/FrameLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::load):
  • loader/archive/Archive.h: Generic "Archive of web resources" class that is only useful when subclassed.

Contains a MainResource, subresources, and Archives for subframes

(WebCore::Archive::mainResource):
(WebCore::Archive::subresources):
(WebCore::Archive::subframeArchives):
(WebCore::Archive::setMainResource):
(WebCore::Archive::addSubresource):
(WebCore::Archive::addSubframeArchive):

  • loader/archive/ArchiveFactory.cpp: A class that will take raw archive data and the MIMEtype, and create the

appropriate Archive class for it. Additionally it handles registering the known MIMEtypes for all known archive formats

(WebCore::archiveFactoryCreate):
(WebCore::archiveMIMETypes):
(WebCore::ArchiveFactory::isArchiveMimeType):
(WebCore::ArchiveFactory::create):
(WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):

  • loader/archive/ArchiveFactory.h:
  • loader/archive/ArchiveResource.cpp: Analog to "WebResource" in WebKitMac. Contains the data and other important

attributes of an archived resource

(WebCore::ArchiveResource::create):
(WebCore::ArchiveResource::ArchiveResource):
(WebCore::ArchiveResource::response):

  • loader/archive/ArchiveResource.h: (WebCore::ArchiveResource::data): (WebCore::ArchiveResource::url): (WebCore::ArchiveResource::mimeType): (WebCore::ArchiveResource::textEncoding): (WebCore::ArchiveResource::frameName): (WebCore::ArchiveResource::ignoreWhenUnarchiving): (WebCore::ArchiveResource::shouldIgnoreWhenUnarchiving):
  • loader/archive/ArchiveResourceCollection.cpp: Analog of "WebUnarchivingState" in WebKitMac. Contains a hash of

all the resources for every frame in an archive, and contains the archives for each subframe needed to load a multi-frame archive

(WebCore::ArchiveResourceCollection::ArchiveResourceCollection):
(WebCore::ArchiveResourceCollection::addAllResources):
(WebCore::ArchiveResourceCollection::addResource):
(WebCore::ArchiveResourceCollection::archiveResourceForURL):
(WebCore::ArchiveResourceCollection::popSubframeArchive):

  • loader/archive/ArchiveResourceCollection.h:
  • loader/archive/cf/LegacyWebArchive.cpp: Subclass of Archive specifically for Webkit's Objective-C based ".webarchive" format.

Mostly a collection of static methods involved in parsing and serializing a WebKit-style .webarchive. Is mostly supported
for any CF platform.

(WebCore::createPropertyListRepresentationFromResource):
(WebCore::createPropertyListRep):
(WebCore::createResourceResponseFromPropertyListData):
(WebCore::createResource):
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::LegacyWebArchive):
(WebCore::LegacyWebArchive::init):
(WebCore::LegacyWebArchive::extract):
(WebCore::LegacyWebArchive::rawDataRepresentation):
(WebCore::createResourceResponseFromMacArchivedData):
(WebCore::propertyListDataFromResourceResponse):

  • loader/archive/cf/LegacyWebArchive.h:
  • loader/archive/cf/LegacyWebArchiveMac.mm: (WebCore::createResourceResponseFromMacArchivedData): (WebCore::propertyListDataFromResourceResponse):
  • platform/network/mac/ResourceRequest.h:
  • platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::applyWebArchiveHackForMail): Tweak the resource request for Mac clients when loading WebArchives

WebKit:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

<rdar://problem/4516169> - Support WebArchives on Windows

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-03-25 Brady Eidson <beidson@apple.com>

Reviewed by Darin

<rdar://problem/4516169> - Support WebArchives on Windows
And paves the way for many future WebArchive bug fixes and enhancements

This change moves most of the real workhorse code about WebArchives into WebCore. It maintains
1-to-1 relationships between a few objects in WebCore and WebKit. Such as:

  • WebArchive <-> LegacyWebArchive
  • WebResource <-> ArchiveResource
  • WebUnarchivingState <-> ArchiveResourceCollection


The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives
and now exist in WebCore

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch (WebFrameLoaderClient::finalSetupForReplace): (WebFrameLoaderClient::setDefersLoading): (WebFrameLoaderClient::willUseArchive): (WebFrameLoaderClient::isArchiveLoadPending): (WebFrameLoaderClient::cancelPendingArchiveLoad): (WebFrameLoaderClient::clearArchivedResources): (WebFrameLoaderClient::createFrame):
  • WebView/WebArchive.mm: (+[WebArchivePrivate initialize]): (-[WebArchivePrivate init]): (-[WebArchivePrivate initWithCoreArchive:]): (-[WebArchivePrivate coreArchive]): (-[WebArchivePrivate setCoreArchive:]): (-[WebArchivePrivate dealloc]): (-[WebArchivePrivate finalize]): (-[WebArchive init]): (-[WebArchive initWithMainResource:subresources:subframeArchives:]): (-[WebArchive initWithData:]): (-[WebArchive initWithCoder:]): (-[WebArchive encodeWithCoder:]): (-[WebArchive mainResource]): (-[WebArchive subresources]): (-[WebArchive subframeArchives]): (-[WebArchive data]): (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]): (-[WebArchive WebCore::]):
  • WebView/WebArchiveInternal.h: Added.
  • WebView/WebDataSource.mm: (-[WebDataSourcePrivate dealloc]): (-[WebDataSource _addSubframeArchives:]): (-[WebDataSource _documentFragmentWithArchive:]): (-[WebDataSource subresourceForURL:]): (-[WebDataSource addSubresource:]):
  • WebView/WebDataSourceInternal.h:
  • WebView/WebFrame.mm: (-[WebFrame loadArchive:]):
  • WebView/WebFrameInternal.h:
  • WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
  • WebView/WebResource.mm: (+[WebResourcePrivate initialize]): (-[WebResourcePrivate init]): (-[WebResourcePrivate initWithCoreResource:]): (-[WebResourcePrivate dealloc]): (-[WebResourcePrivate finalize]): (-[WebResource initWithCoder:]): (-[WebResource encodeWithCoder:]): (-[WebResource data]): (-[WebResource URL]): (-[WebResource MIMEType]): (-[WebResource textEncodingName]): (-[WebResource frameName]): (-[WebResource _initWithCoreResource:WebCore::]): (-[WebResource WebCore::]): (-[WebResource _ignoreWhenUnarchiving]): (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): (-[WebResource _fileWrapperRepresentation]): (-[WebResource _response]): (-[WebResource _stringValue]):
  • WebView/WebResourceInternal.h: Added.
  • WebView/WebResourcePrivate.h:
  • WebView/WebUnarchivingState.h: Removed.
  • WebView/WebUnarchivingState.m: Removed.
9:09 AM Changeset in webkit [31280] by Darin Adler
  • 2 edits in trunk/WebKit/win

2008-03-25 Darin Adler <Darin Adler>

Suggested by Adam.

  • Interfaces/WebKit.idl: Touch this file to make the Interface project rebuild.
7:33 AM QtWebKitTodo edited by Simon Hausmann
(diff)
12:33 AM Changeset in webkit [31279] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-03-25 David Hyatt <hyatt@apple.com>

Cut and paste error in the zoom code. A width() should have been a height(). Regression tests caught this.

  • page/DOMWindow.cpp: (WebCore::DOMWindow::innerHeight):

Mar 24, 2008:

11:57 PM squirrelfish edited by oliver@apple.com
(diff)
11:56 PM Changeset in webkit [31278] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

Reviewed by Mark.

Clean up SVG features message to be less confusing.

  • Scripts/build-webkit:
11:21 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
11:20 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
10:48 PM Changeset in webkit [31277] by ggaren@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-03-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.


Fixed recent 25% regression on simple for loop test. GCC seems to be
very finicky about the code that gets inlined into
Machine::privateExecute.

Everything in this patch is simply the result of experiment.


The resolve and resolve_base opcodes do not seem to have gotten slower
from this change.

  • VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::Machine::privateExecute):
  • kjs/nodes.h:
10:05 PM Changeset in webkit [31276] by oliver@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

Bug 18059: squirrelfish needs to compile on platforms without computed goto
<http://bugs.webkit.org/show_bug.cgi?id=18059>

Reviewed by Geoff Garen

"Standard" macro style support for conditionalising the use of computed goto.

10:02 PM Changeset in webkit [31275] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-24 Darin Adler <Darin Adler>

  • try to fix broken Wx build
  • platform/wx/TemporaryLinkStubs.cpp: (GraphicsContext::setPlatformShadow): (GraphicsContext::clearPlatformShadow):
9:35 PM Changeset in webkit [31274] by oliver@apple.com
  • 3 edits
    1 move in trunk

Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
<http://bugs.webkit.org/show_bug.cgi?id=18030>

Reviewed by Mark Rowe

Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
<http://bugs.webkit.org/show_bug.cgi?id=18057>

9:30 PM Changeset in webkit [31273] by Darin Adler
  • 5 edits in trunk/WebCore

2008-03-24 Darin Adler <Darin Adler>

Reviewed by Sam.

  • use AtomicString more consistently for attribute values

1% speedup on Acid3 test 26

  • dom/Element.cpp: (WebCore::Element::setAttribute): Changed value argument to AtomicString. Also fixed call to lower() to only be done if the name isn't already lowercase. Also took out one unneeded condition in a cascade of if statements. (WebCore::Element::createAttribute): Ditto. (WebCore::Element::setAttributeNS): Ditto.
  • dom/Element.h: Ditto.
  • dom/StyledElement.cpp: (WebCore::StyledElement::createAttribute): Ditto.
  • dom/StyledElement.h: Ditto.
9:28 PM Changeset in webkit [31272] by Darin Adler
  • 3 edits in trunk/WebCore

2008-03-24 Darin Adler <Darin Adler>

Reviewed by Sam.

  • get rid of extra level of function call in toJS functions for Node

0.6% speedup on Acid3 test 26

  • bindings/js/JSNodeCustom.cpp: (WebCore::toJS): Take a raw pointer, not a PassRefPtr, like other toJS functions.
  • bindings/scripts/CodeGeneratorJS.pm: Add an inlined toJS for EventTargetNode* to avoid ambiguity that otherwise exists between the toJS for EventTarget* and for Node*.
8:43 PM Changeset in webkit [31271] by weinig@apple.com
  • 5 edits in trunk/WebKitTools

2008-03-24 Sam Weinig <sam@webkit.org>

Reviewed by Dave Hyatt.

Add EventSender.zoomPageIn/zoomPageOut support to DRT.

  • DumpRenderTree/mac/DumpRenderTree.mm: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/mac/EventSendingController.mm: (+[EventSendingController isSelectorExcludedFromWebScript:]): (-[EventSendingController zoomPageIn]): (-[EventSendingController zoomPageOut]):
  • DumpRenderTree/win/DumpRenderTree.cpp: (resetWebViewToConsistentStateBeforeTesting):
  • DumpRenderTree/win/EventSender.cpp: (textZoomInCallback): (textZoomOutCallback): (zoomPageInCallback): (zoomPageOutCallback):
8:39 PM Changeset in webkit [31270] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-03-24 Darin Adler <Darin Adler>

Reviewed by Sam.

  • convert a JavaScript immediate number to a string more efficiently

2% speedup of Acid3 test 26

  • kjs/JSImmediate.cpp: (KJS::JSImmediate::toString): Take advantage of the fact that all immediate numbers are integers, and use the faster UString function for formatting integers instead of the slower one that works for floating point. I think this is a leftover from when immediate numbers were floating point.
8:26 PM Changeset in webkit [31269] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-24 Darin Adler <Darin Adler>

Reviewed by Hyatt.

  • add fast path to isValidName that does not use advanced Unicode functions

2% speedup on Acid3 test 26

  • dom/Document.cpp: (WebCore::isValidNameNonASCII): Added. Contains the old isValidName function. (WebCore::isValidNameASCII): Added. Contains a simpler function that returns true for most valid names that are also all ASCII. (WebCore::Document::isValidName): Changed to call both of the above functions. The common case is that isValidNameASCII returns true so isValidNameNonASCII is never called.
7:39 PM Changeset in webkit [31268] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-03-24 David Hyatt <hyatt@apple.com>

Fix for bug 18052, window properties need to respect zoom factor.

Reviewed by Beth

  • page/DOMWindow.cpp: (WebCore::DOMWindow::innerHeight): (WebCore::DOMWindow::innerWidth): (WebCore::DOMWindow::scrollX): (WebCore::DOMWindow::scrollY): (WebCore::DOMWindow::scrollTo):
  • page/FrameView.cpp: (WebCore::FrameViewPrivate::reset): (WebCore::FrameView::layout): (WebCore::FrameView::performPostLayoutTasks):
7:26 PM Changeset in webkit [31267] by weinig@apple.com
  • 6 edits in trunk

JavaScriptCore:

2008-03-23 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix http://bugs.webkit.org/show_bug.cgi?id=18048
The "thisObject" parameter to JSEvaluateScript is not used properly

Making passing a thisObject to JSEvaluateScript actually set the thisObject of the created
ExecState.

  • API/testapi.c: (main): Add tests for setting the thisObject when calling JSEvaluateScript.
  • kjs/ExecState.cpp: (KJS::ExecState::ExecState): Assign the thisObject to m_thisValue and remove the comment.

WebCore:

2008-03-24 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Fix http://bugs.webkit.org/show_bug.cgi?id=18048
The "thisObject" parameter to JSEvaluateScript is not used properly

  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate): No need to pass a thisObject since we want the global object to be used.
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::eval): To avoid any change to this function, don't pass a thisObject to keep the same behavior.
6:19 PM Changeset in webkit [31266] by beidson@apple.com
  • 3 edits in trunk/LayoutTests

2008-03-24 Brady Eidson <beidson@apple.com>

Made new layout test files executable, as needed for the tests to not fail!

  • http/tests/navigation/resources/reload-subframe-content.pl: Added.
  • http/tests/navigation/resources/reload-subframe.pl: Added.
6:10 PM squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
5:49 PM Changeset in webkit [31265] by ggaren@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

2008-03-24 Geoffrey Garen <ggaren@apple.com>

Moved my notes from nodes.h to the wiki.

  • kjs/nodes.h:
5:48 PM squirrelfish edited by ggaren@apple.com
(diff)
5:44 PM squirrelfish edited by oliver@apple.com
(diff)
5:44 PM WikiStart edited by ggaren@apple.com
(diff)
5:43 PM squirrelfish edited by ggaren@apple.com
(diff)
5:41 PM squirrelfish created by ggaren@apple.com
initial rough cut of tasks and ideas
5:37 PM Changeset in webkit [31264] by beidson@apple.com
  • 3 edits
    8 adds in trunk

WebKit/mac:

2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej, landed by Brady

Bug 3580: iFrames Appear to be Cached
<http://bugs.webkit.org/show_bug.cgi?id=3580>

Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
<http://bugs.webkit.org/show_bug.cgi?id=15486>

Bug 15554: Reload causes <object> to use old data
<http://bugs.webkit.org/show_bug.cgi?id=15554>

If a page is reloaded, a child frame's URL can not be taken from a history item.

  • WebView/WebFrame.mm: (-[WebFrame _loadURL:referrer:intoChild:]):

LayoutTests:

2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej, landed by Brady

Tests for the following bugs:

Bug 3580: iFrames Appear to be Cached
<http://bugs.webkit.org/show_bug.cgi?id=3580>

Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
<http://bugs.webkit.org/show_bug.cgi?id=15486>

Bug 15554: Reload causes <object> to use old data
<http://bugs.webkit.org/show_bug.cgi?id=15554>

  • http/tests/navigation/reload-subframe-frame-expected.txt: Added.
  • http/tests/navigation/reload-subframe-frame.html: Added.
  • http/tests/navigation/reload-subframe-iframe-expected.txt: Added.
  • http/tests/navigation/reload-subframe-iframe.html: Added.
  • http/tests/navigation/reload-subframe-object-expected.txt: Added.
  • http/tests/navigation/reload-subframe-object.html: Added.
  • http/tests/navigation/resources/reload-subframe-content.pl: Added.
  • http/tests/navigation/resources/reload-subframe.pl: Added.
5:16 PM Changeset in webkit [31263] by ggaren@apple.com
  • 9 edits
    17 adds in branches/squirrelfish/JavaScriptCore

2008-03-24 Geoffrey Garen <ggaren@apple.com>

Reviewed by NOBODY.


SquirrelFish lives.


Initial check-in of the code I've been carrying around. Lots of stuff
doesn't work. Plus a bunch of empty files.

5:10 PM Changeset in webkit [31262] by mrowe@apple.com
  • 1 copy in branches/squirrelfish

New branch.

5:09 PM Changeset in webkit [31261] by mrowe@apple.com
  • 1 delete in branches/squirrelfish
4:19 PM Changeset in webkit [31260] by Darin Adler
  • 8 edits in trunk/WebKit/mac

2008-03-24 Darin Adler <Darin Adler>

Reviewed by Beth.

  • fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
  • History/WebHistoryItem.mm: (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
  • WebView/WebDataSource.mm: (-[WebDataSource _URL]): Ditto. (-[WebDataSource unreachableURL]): Ditto.
  • WebView/WebHTMLView.mm: (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
  • DefaultDelegates/WebDefaultContextMenuDelegate.mm:
  • History/WebHistory.mm:
  • Misc/WebElementDictionary.mm:
  • Misc/WebNSAttributedStringExtras.mm: Remove unneeded imports of KURL.h.
4:15 PM Changeset in webkit [31259] by ggaren@apple.com
  • 1 move in branches/squirrelfish

No, I am not kidding.

3:59 PM Changeset in webkit [31258] by beidson@apple.com
  • 9 edits
    1 move
    12 adds in trunk

WebCore:

2008-03-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin's rubberstamp

Land a load of empty files for upcoming work to make sure I'm not breaking any platform's build

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • loader/archive: Added.
  • loader/archive/Archive.h: Added.
  • loader/archive/ArchiveFactory.cpp: Added.
  • loader/archive/ArchiveFactory.h: Added.
  • loader/archive/ArchiveResource.cpp: Added.
  • loader/archive/ArchiveResource.h: Added.
  • loader/archive/ArchiveResourceCollection.cpp: Added.
  • loader/archive/ArchiveResourceCollection.h: Added.
  • loader/archive/cf: Added.
  • loader/archive/cf/LegacyWebArchive.cpp: Added.
  • loader/archive/cf/LegacyWebArchive.h: Added.
  • loader/archive/cf/LegacyWebArchiveMac.mm: Added.

WebKit:

2008-03-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin's rubberstamp

Rename a .m to .mm

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

2008-03-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin's rubberstamp

Rename this file for upcoming work.

  • WebView/WebArchive.m: Removed.
  • WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
3:51 PM Changeset in webkit [31257] by hyatt@apple.com
  • 5 edits in trunk/WebCore

2008-03-24 David Hyatt <hyatt@apple.com>

Fix for bug 18009. Make sure the IE offset/client/scroll* extensions respect full page zoom.

Reviewed by Beth

  • dom/Element.cpp: (WebCore::localZoomForRenderer): (WebCore::adjustForLocalZoom): (WebCore::adjustForAbsoluteZoom): (WebCore::Element::offsetLeft): (WebCore::Element::offsetTop): (WebCore::Element::offsetWidth): (WebCore::Element::offsetHeight): (WebCore::Element::clientLeft): (WebCore::Element::clientTop): (WebCore::Element::clientWidth): (WebCore::Element::clientHeight): (WebCore::Element::scrollLeft): (WebCore::Element::scrollTop): (WebCore::Element::setScrollLeft): (WebCore::Element::setScrollTop): (WebCore::Element::scrollWidth): (WebCore::Element::scrollHeight):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::offsetParent):
  • rendering/RenderObject.h:
2:59 PM Changeset in webkit [31256] by mrowe@apple.com
  • 4 edits in branches/Safari-3-1-branch

Versioning.

2:57 PM Changeset in webkit [31255] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.16

New tag.

2:53 PM Changeset in webkit [31254] by mitz@apple.com
  • 2 edits in trunk/WebKitTools

Reviewed by Mark Rowe.

  • update bisect-builds for Safari 3.1
  • Scripts/bisect-builds: Added Safari 3.1 and the corresponding minimal revision, r29711.
2:51 PM Changeset in webkit [31253] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebKit/mac

Merge r31236.

2:51 PM Changeset in webkit [31252] by mrowe@apple.com
  • 16 edits
    6 adds in branches/Safari-3-1-branch

Merge r31144.

2:19 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
2:17 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
1:43 PM Changeset in webkit [31251] by beidson@apple.com
  • 4 edits in trunk/WebCore

2008-03-24 Brady Eidson <beidson@apple.com>

Reviewed by Darin

Some style cleanup and add a logging channel for upcoming work

  • platform/Logging.cpp:
  • platform/Logging.h:
  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedNonImageMimeTypes):
1:31 PM Changeset in webkit [31250] by mitz@apple.com
  • 6 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

  • fix <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47

Test: fast/repaint/renderer-destruction-by-invalidateSelection-crash.html

  • page/FrameView.cpp: (WebCore::FrameViewPrivate::reset): Removed repaintRects code. (WebCore::FrameView::layout): Ditto. (WebCore::FrameView::addRepaintInfo): Removed.
  • page/FrameView.h: Removed addRepaintInfo().
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Changed to call repaintRectangle instead of FrameView::addRepaintInfo().
  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Ditto.

LayoutTests:

Reviewed by Sam Weinig.

  • test for <rdar://problem/5812292> CrashTracer: [REGRESSION] 60 crashes in Safari at com.apple.WebCore: WebCore::RenderObject::repaintRectangle + 47
  • fast/repaint/renderer-destruction-by-invalidateSelection-crash.html: Added.
  • platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.checksum: Added.
  • platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png: Added.
  • platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt: Added.
12:26 PM Changeset in webkit [31249] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-24 Alp Toker <alp@atoker.com>

GTK+/soup http backend build fix for breakage introduced in r31141.
Fix suggested by Xan.

  • platform/network/ResourceHandle.h:
12:15 PM Changeset in webkit [31248] by ggaren@apple.com
  • 1 copy in branches/registercode/JavaScriptCore

Imported r31247 of JavaScriptCore from trunk.

12:07 PM Changeset in webkit [31247] by ggaren@apple.com
  • 1 add in branches/registercode

Created registercode branch.

10:55 AM Changeset in webkit [31246] by mitz@apple.com
  • 9 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • fix <rdar://problem/5792582> CSS opacity does not work with GDI text
  • fix <rdar://problem/5792619> non-opaque CSS colors do not work with GDI text (RGBA, HSLA)
  • fix <rdar://problem/5792624> GDI text can't be stroked/filled independently
  • make text-shadow work with GDI text
  • make -webkit-background-clip: text work with GDI text
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setShadow): Made this a shared method that updates the state and calls the platform-specific method. (WebCore::GraphicsContext::clearShadow): Ditto. (WebCore::GraphicsContext::getShadow): Added.
  • platform/graphics/GraphicsContext.h: (WebCore::GraphicsContext::WindowsBitmap): Added this class that represents a bitmap with a Windows device context that GDI can draw into.
  • platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState): Added the shadow parameters to the graphics state.
  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform- specific implementation to this. (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform- specific implementation to this.
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform- specific implementation to this. (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform- specific implementation to this.
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::setPlatformShadow): Renamed the platform- specific implementation to this. (WebCore::GraphicsContext::clearPlatformShadow): Renamed the platform- specific implementation to this.
  • platform/graphics/win/FontCGWin.cpp: (WebCore::toCGFloat): Added. Converts a Windows FIXED. (WebCore::createPathForGlyph): Added. Retrieves a glyph's hinted outline from GDI and creates a CGPath containing it. (WebCore::Font::drawGlyphs): Added two code paths in the GDI case. The existing code path, which uses GDI to draw text directly to the graphics context, is used for opaque-colored, non-transformed, non-stroked, non-shadowed text in a GDI-backed graphics context that is not in a transparency layer. An additional code path is used for non-stroked text in all other cases. It uses GDI to draw black text into an all-white Windows bitmap, then uses the green channel as a mask to create a bitmap with the desired fill color and alpha. The bitmap is then drawn into the graphics context, at which time transparency layers, transforms and shadows are handled properly. A third code path is used for stroked text. It constructs a path from hinted glyph outlines retrieved from GDI and strokes (and optionally fills) it.
  • platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::getWindowsContext): Added a mayCreateBitmap parameter. When false, prevents this method from creating a Windows device context if the graphics context does not already have one. (WebCore::GraphicsContext::releaseWindowsContext): Added a mayCreateBitmap parameter to match getWindowsContext(). (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap): (WebCore::GraphicsContext::createWindowsBitmap): Added. (WebCore::GraphicsContext::drawWindowsBitmap): Added. Draws the bitmap as a non-alpha-premultiplied image.
10:45 AM Changeset in webkit [31245] by kmccullough@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

2008-03-24 Kevin McCullough <kmccullough@apple.com>

  • Fixed Changelog
10:16 AM Changeset in webkit [31244] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-24 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17845
[GTK] combo box menu displayed in the wrong position

  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show): Change the popup menu vertical position so that the active item is over the combo box. (WebCore::PopupMenu::menuPositionFunction): use the "push in" style like native GTK+ combo boxes to handle menus that don't fit in the screen.
5:00 AM Changeset in webkit [31243] by Adam Roben
  • 2 edits in trunk/WebCore
  • WebCore.vcproj/WebCore.vcproj: Add files from WebCore/page/inspector to the project.
1:15 AM Changeset in webkit [31242] by ap@webkit.org
  • 4 edits in trunk

Build fix.

  • WebCore/WebCore.xcodeproj/project.pbxproj: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h to Copy Generated Headers phase.
  • WebKit/MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
12:24 AM Changeset in webkit [31241] by eric@webkit.org
  • 2 edits in trunk/WebCore

Build fix, no review.

Fix project paths to be group relative instead of project relative

  • WebCore.xcodeproj/project.pbxproj:

Mar 23, 2008:

10:36 PM Changeset in webkit [31240] by mjs@apple.com
  • 18 edits
    6 adds in trunk

WebCore:

2008-03-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Eric.

  • svg/SVGAltGlyphElement.cpp: Added. Implementation for new element. (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): (WebCore::SVGAltGlyphElement::~SVGAltGlyphElement): (WebCore::SVGAltGlyphElement::setGlyphRef): (WebCore::SVGAltGlyphElement::glyphRef): (WebCore::SVGAltGlyphElement::setFormat): (WebCore::SVGAltGlyphElement::format): (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): (WebCore::SVGAltGlyphElement::createRenderer): For now, this just renders as a tspan, which is right for everything besides the alternate glyph substitution itself.
  • svg/SVGAltGlyphElement.h: Added. Header for new element. (WebCore::SVGAltGlyphElement::contextElement):
  • svg/SVGAltGlyphElement.idl: Added. Interface for new element.
  • svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::childShouldCreateRenderer): Allow altGlyph to render here.
  • svg/SVGTextElement.cpp: (WebCore::SVGTextElement::childShouldCreateRenderer): ditto
  • svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::childShouldCreateRenderer): ditto
  • svg/svgtags.in: Add altGlyph
  • DerivedSources.make: Add new files
  • GNUmakefile.am: ditto
  • WebCore.SVG.exp: Add new ObjC DOM class
  • WebCore.pro: Add new files
  • WebCore.vcproj/WebCore.vcproj: ditto
  • WebCore.xcodeproj/project.pbxproj: ditto
  • bindings/js/JSSVGElementWrapperFactory.cpp: Handle altGlyph
  • bindings/objc/DOM.mm: (WebCore::createElementClassMap): ditto
  • bindings/objc/DOMInternal.h: Include altGlyph header
  • bindings/objc/DOMSVG.h: Include altGlyph header

LayoutTests:

2008-03-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Eric.

  • platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
  • platform/mac/svg/text/text-altglyph-01-b-expected.txt:
  • svg/dom/altGlyph-dom-expected.txt: Added.
  • svg/dom/altGlyph-dom.xhtml: Added.
  • svg/dom/resources/altGlyph-dom.js: Added.
6:21 PM Changeset in webkit [31239] by Antti Koivisto
  • 1 edit
    1 add in trunk/WebKitSite

2008-03-23 Antti Koivisto <Antti Koivisto>

  • blog-files/wsj-vs.png: Added.
2:08 PM Changeset in webkit [31238] by eric@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by eseidel. Landed by eseidel.

Bug 17685: [~=] attribute selector failing to match empty string
<http://bugs.webkit.org/show_bug.cgi?id=17685>

Test: fast/css/attribute-selector-empty-value.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector):
2:03 PM Changeset in webkit [31237] by eric@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Sam.

Make our SVG status document slightly less inaccurate.

  • projects/svg/status.xml:
3:48 AM Changeset in webkit [31236] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 17670: Key events may improperly propagate from iframe to parent frame
Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus

Reviewed by Maciej

Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
as that results in us dispatching the key events for each frame going up the frame
tree.

Mar 22, 2008:

3:21 PM Changeset in webkit [31235] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-03-22 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Darin Adler.

http://bugs.webkit.org/show_bug.cgi?id=16339
Frame scrollbar positions are not updated on page scroll

Widget::geometryChanged() was called instead of
ScrollViewScrollbar::geometryChanged() because of a missing const.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::geometryChanged): add the missing const.
3:01 PM Changeset in webkit [31234] by mrowe@apple.com
  • 6 edits in trunk/WebCore

2008-03-22 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Mark Rowe.

Bug 17974: REGRESSION: npfunctions.h should not import npruntime_internal.h
<http://bugs.webkit.org/show_bug.cgi?id=17974>
<rdar://problem/5782310>

Include npapi.h and npruntime.h directly in npfunctions.h.
Add npfunctions.h and npapi.h to npruntime_internal.h.
Replace includes of npfunctions.h with npruntime_internal.h.

  • bridge/npruntime_internal.h:
  • plugins/PluginPackage.h:
  • plugins/PluginStream.h:
  • plugins/npapi.cpp:
  • plugins/npfunctions.h:
2:04 PM Changeset in webkit [31233] by mrowe@apple.com
  • 4 edits in trunk

Fix the Qt build.

3:31 AM Changeset in webkit [31232] by eric@webkit.org
  • 3 edits in trunk

Update a (passing) result I missed in my last checkin. No review.

  • dom/xhtml/level3/core/documentgetdoctype01-expected.txt:
2:50 AM Changeset in webkit [31231] by eric@webkit.org
  • 10 edits
    6 adds in trunk

Reviewed by mjs.

Unify handling of NAMESPACE_ERR and fix Acid3 test 25
http://bugs.webkit.org/show_bug.cgi?id=16693

Test: fast/dom/DOMImplementation/createDocumentType-err.html

  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocumentType): (WebCore::DOMImplementation::createDocument):
  • dom/DOMImplementation.idl:
  • dom/Document.cpp: (WebCore::Document::hasPrefixNamespaceMismatch): (WebCore::Document::createElementNS): (WebCore::Document::parseQualifiedName): (WebCore::Document::createAttributeNS):
  • dom/Document.h:
  • dom/Element.cpp: (WebCore::Element::setAttributeNS):
  • editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::doApply):
2:49 AM Changeset in webkit [31230] by eric@webkit.org
  • 5 edits
    7 adds in trunk

Reviewed by mjs.

Fix createElementNS to throw exceptions for invalid qualified names
Fixes Acid3 sub-test 23
http://bugs.webkit.org/show_bug.cgi?id=16833

Tests: fast/dom/Document/createAttributeNS-namespace-err.html

fast/dom/Document/createElementNS-namespace-err.html

  • dom/Document.cpp: (WebCore::Document::createElement): (WebCore::hasNamespaceError): (WebCore::Document::createElementNS): (WebCore::Document::createAttributeNS):
  • dom/Document.idl:
2:14 AM Changeset in webkit [31229] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Sam Weinig. Landed by eseidel.


Make testkjs flush stdout after printing.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/testkjs.cpp: (functionPrint):
12:14 AM Changeset in webkit [31228] by oliver@apple.com
  • 3 edits
    2 adds in trunk

2008-03-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Bug 13693: REGRESSION (r13615): Acid2 Test Eyes render improperly after a page refresh
<http://bugs.webkit.org/show_bug.cgi?id=13693>

Reviewed by Oliver Hunt

Do not create bogus history items for unloaded <object> elements, because they
cause fallback content to be ignored on reload.

Mar 21, 2008:

11:57 PM Changeset in webkit [31227] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Oliver Hunt.

Test: fast/css-generated-content/empty-content-with-float-crash.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Added a null check for the case where the block contains no in-flow elements but still lays out as a line flow, which can happen as a result of empty generated content.

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/css-generated-content/empty-content-with-float-crash-expected.txt: Added.
  • fast/css-generated-content/empty-content-with-float-crash.html: Added.
9:59 PM Changeset in webkit [31226] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Optimise lookup of Math, undefined, NaN and Infinity

Reviewed by Maciej

Added a method to JSVariableObject to allow us to inject DontDelete properties
into the symbol table and localStorage. This results in a 0.4% progression in
SunSpider, with a 8% gain in math-partial-sums.

7:36 PM Changeset in webkit [31225] by oliver@apple.com
  • 8 edits in trunk

Global properties that use LocalStorage are not correctly listed as enumerable.

Reviewed by Geoff Garen

The problem was caused by JSObject::getPropertyAttributes not being aware
of the JSVariableObject SymbolTable. The fix is to make getPropertyAttributes
virtual and override in JSVariableObject. This does not produce any performance
regression.

5:39 PM Changeset in webkit [31224] by weinig@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-03-21 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Fix <rdar://problem/5788451>
toDataURL not implemented for Windows (need mapping of MIME type to UTI)

Hard code support for just PNG's on windows, the minimum the spec requires.

  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypesForEncoding):
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::utiFromMIMEType): (WebCore::ImageBuffer::toDataURL):

LayoutTests:

2008-03-21 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Enable tests for <rdar://problem/5788451>
toDataURL not implemented for Windows (need mapping of MIME type to UTI)

  • platform/win/Skipped:
  • platform/win/fast/canvas: Added.
  • platform/win/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
4:58 PM Changeset in webkit [31223] by pewtermoose@webkit.org
  • 4 edits in trunk/WebCore

2008-03-21 Matt Lilek <webkit@mattlilek.com>

Not reviewed, Mac build fix.

  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
  • bridge/jni/jni_utility.cpp: (KJS::Bindings::convertValueToJValue):
  • bridge/objc/objc_runtime.mm: (ObjcFallbackObjectImp::callAsFunction):
4:31 PM Changeset in webkit [31222] by Antti Koivisto
  • 1 edit
    2 adds in trunk/WebKitSite

2008-03-21 Antti Koivisto <Antti Koivisto>

Add some images for a blog post.

  • blog-files/wsj-nopreload.png: Added.
  • blog-files/wsj-preload.png: Added.
4:30 PM Changeset in webkit [31221] by Adam Roben
  • 2 edits in trunk/WebCore

Attempt to fix the Mac build

  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper):
3:09 PM Changeset in webkit [31220] by Adam Roben
  • 35 edits in trunk/WebCore

Rename static info members to s_info

This avoids conflicts with custom "info" methods, such as the one that
will soon be added to Console.

Reviewed by Ada Chan and Sam Weinig.

3:00 PM Changeset in webkit [31219] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-03-21 David Hyatt <hyatt@apple.com>

<rdar://problem/5808863> Zooming should not let non-zero border width become zero

Make sure zoomed values that begin >= 1 are not allowed to fall below 1.

Reviewed by adele

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeLengthDouble):
  • loader/CachedImage.cpp: (WebCore::CachedImage::imageSize): (WebCore::CachedImage::imageRect):
2:05 PM Changeset in webkit [31218] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-21 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • Instrument the InspectorController to cache XHR resrouces since they are not cached by WebCore. The resources will be kept in the same map as all other resources so they will have the exact same lifecycle.
  • ChangeLog:
  • page/InspectorController.cpp: (WebCore::InspectorCachedXMLHttpRequestResource::type): (WebCore::InspectorCachedXMLHttpRequestResource::setType): (WebCore::InspectorCachedXMLHttpRequestResource::data): (WebCore::InspectorCachedXMLHttpRequestResource::setData): (WebCore::InspectorCachedXMLHttpRequestResource::encoding): (WebCore::InspectorCachedXMLHttpRequestResource::setEncoding): (WebCore::InspectorCachedXMLHttpRequestResource::create): (WebCore::InspectorCachedXMLHttpRequestResource::InspectorCachedXMLHttpRequestResource):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send):
1:40 PM Changeset in webkit [31217] by zecke@webkit.org
  • 1 edit in trunk/ChangeLog

Add missing ChangeLog entry for r31214.

2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

Remove the JSCore include path options from global_cppflags.
Place JSCore include path options in javascriptcore_cppflags.
Add javascriptcore_cppflags to libWebCore_la_CPPFLAGS.

  • GNUmakefile.am:
12:26 PM Changeset in webkit [31216] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-21 Arkadiusz Miskiewicz <arekm@maven.pl>

Webkit does not build on linux powerpc

<http://bugs.webkit.org/show_bug.cgi?id=17019>

Reviewed by David Kilzer.

  • wtf/TCSpinLock.h: (TCMalloc_SpinLock::Unlock):
11:48 AM Changeset in webkit [31215] by ap@webkit.org
  • 2 edits in trunk/SunSpider

Reviewed by Geoff.

  • sunspider: Pause update daemon on Darwin to make results reliable again (workaround for <rdar://problem/5811127>).
11:21 AM Changeset in webkit [31214] by zecke@webkit.org
  • 7 edits in trunk

JavaScriptCore/ChangeLog:
2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

http://bugs.webkit.org/show_bug.cgi?id=17981

Add javascriptcore_cppflags to Programs_minidom_CPPFLAGS.

  • GNUmakefile.am:

WebCore/ChaneLog:
2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

http://bugs.webkit.org/show_bug.cgi?id=17981

Remove WebCore/ForwardingHeaders from cppflags as it is not needed,
and causes build problems with GTK+.

  • GNUmakefile.am:

WebKitTools/ChangeLog:
2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

http://bugs.webkit.org/show_bug.cgi?id=17981

Add webcore and javascriptcore cppflags to programs' _CPPFLAGS.

  • GNUmakefile.am:
10:17 AM Changeset in webkit [31213] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Adele Peterson.

Test: fast/block/float/br-with-clear.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Fixed the logic for the very special case of an all-lines-clean block that ends with a float- clearing <br> by looking for the <br> at the end of the line rather than at its beginning.

LayoutTests:

Reviewed by Adele Peterson.

  • fast/block/float/br-with-clear.html: Added.
  • platform/mac/fast/block/float/br-with-clear-expected.checksum: Added.
  • platform/mac/fast/block/float/br-with-clear-expected.png: Added.
  • platform/mac/fast/block/float/br-with-clear-expected.txt: Added.
9:36 AM Changeset in webkit [31212] by adachan@apple.com
  • 2 edits in trunk/WebKit/win

<rdar://problem/5810324> visitCount not updated in History.plist
Call WebCore::HistoryItem::mergeAutoCompleteHints() in WebHistoryItem::mergeAutoCompleteHints().

Reviewed by Steve.

  • WebHistoryItem.cpp: (WebHistoryItem::mergeAutoCompleteHints): (WebHistoryItem::QueryInterface):
9:29 AM Changeset in webkit [31211] by Adam Roben
  • 3 edits in trunk/WebKitTools

Remove a non-working mirror from cygwin-downloader and add the ruby package

  • CygwinDownloader/cygwin-downloader.py:
  • CygwinDownloader/cygwin-downloader.zip: Updated.
9:27 AM Changeset in webkit [31210] by Adam Roben
  • 3 edits in trunk/WebCore

Don't allow any newly-scheduled plugin requests to be serviced when JS is paused

This is a followup to r31199.

Reviewed by Tim Hatcher.

  • plugins/PluginView.cpp: (WebCore::PluginView::requestTimerFired): Added an assertion that JS is not paused. (WebCore::PluginView::scheduleRequest): Don't start the request timer if JS is paused. This is the bug fix. (WebCore::PluginView::setJavaScriptPaused): Replaced the use of m_requestTimerWasActive with a check to see if we have any pending requests. m_requestTimerWasActive would not be accurate if a new request had been scheduled while JS was paused. (WebCore::PluginView::PluginView): Removed initialization of m_requestTimerWasActive.
  • plugins/PluginView.h: Removed m_requestTimerWasActive.
9:19 AM UpdatingCygwinDownloader created by Adam Roben
Initial version
9:14 AM WikiStart edited by Adam Roben
Add a link to a page to describe how to update cygwin-downloader (diff)
9:00 AM Changeset in webkit [31209] by timothy@apple.com
  • 6 edits in trunk/WebKit/mac

Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
http://bugs.webkit.org/show_bug.cgi?id=17980

Reviewed by Adam.

The new highlight drawing was not honoring the fade value, so it was
always drawing at full opacity. The animation code didn't match Windows
and the new highlight anyway, so it has been removed. The highlight
how just detaches when it is hidden.

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
(-[WebInspectorWindowController close]): Ditto.
(-[WebInspectorWindowController highlightNode:]): Call attach.
(-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.

  • WebInspector/WebNodeHighlight.h:
  • WebInspector/WebNodeHighlight.m:

(-[WebNodeHighlight initWithTargetView:inspectorController:]):
(-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
(-[WebNodeHighlight attach]): Renamed from attachHighlight.
(-[WebNodeHighlight detach]): Renamed from detachHighlight.
(-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.

  • WebInspector/WebNodeHighlightView.h:
  • WebInspector/WebNodeHighlightView.m:

(-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.

4:14 AM Changeset in webkit [31208] by ap@webkit.org
  • 10 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.

Consolidate static identifier initializers within CommonIdentifiers.

No reliably measurable change on SunSpider; maybe a tiny improvement (within 0.2%).

  • kjs/CommonIdentifiers.h: Added static identifiers that were lazily initialized throughout the code.
  • kjs/date_object.cpp: (KJS::DateObjectImp::DateObjectImp):
  • kjs/function_object.cpp: (KJS::FunctionPrototype::FunctionPrototype):
  • kjs/object_object.cpp: (KJS::ObjectPrototype::ObjectPrototype):
  • kjs/regexp_object.cpp: (KJS::RegExpPrototype::RegExpPrototype): Use the values from CommonIdentifiers.
  • kjs/lookup.h: Caching the identifier in a static wasn't a win on SunSpider, removed it.
  • kjs/value.h: (KJS::jsNaN): We already have a shared NaN value, no need for a duplicate here.
  • wtf/MathExtras.h: (wtf_atan2): Having local variables for numeric_limits constants is good for readability, but there is no reason to keep them static.
12:07 AM Changeset in webkit [31207] by mitz@apple.com
  • 4 edits in trunk/LayoutTests
  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:

Mar 20, 2008:

10:30 PM Changeset in webkit [31206] by mitz@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-03-20 Dan Bernstein <mitz@apple.com>

Reviewed by Anders Carlsson.

  • fix an assertion failure due to a line being marked dirty during computeVerticalPositionsForLine() due to temporary box destruction

Test: fast/inline/clean-after-removing-temp-boxes.html

  • rendering/RenderText.cpp: (WebCore::RenderText::setTextWithOffset): Added code to dirty lines when this method is called on an empty text node, which has no line boxes.
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeVerticalPositionsForLine): Mark the line clean in the end.

LayoutTests:

2008-03-20 Dan Bernstein <mitz@apple.com>

Reviewed by Anders Carlsson.

  • test for an assertion failure due to a line being marked dirty during computeVerticalPositionsForLine() due to temporary box destruction
  • fast/inline/clean-after-removing-temp-boxes-expected.txt: Added.
  • fast/inline/clean-after-removing-temp-boxes.html: Added.
10:00 PM Changeset in webkit [31205] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Fix for leak introduced by inline ScopeChainNode use

Reviewed by Maciej

To avoid any extra branches when managing an inline ScopeChainNode
in the ScopeChain the inline node gets inserted with a refcount of

  1. This meant than when the ScopeChain was destroyed the ScopeChainNodes

above the inline node would be leaked.

We resolve this by manually popping the inline node in the
FunctionExecState destructor.

6:32 PM Changeset in webkit [31204] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Make some member variables private.


  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader):
  • loader/ResourceLoader.h:
6:18 PM Changeset in webkit [31203] by andersca@apple.com
  • 4 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Get rid of m_originalURL in ResourceLoader.

  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::load): Don't store m_originalURL.


  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::willSendRequest): Use the url of the current request instead of the original URL.
6:07 PM Changeset in webkit [31202] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Small loader cleanups.


  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::willSendRequest): No need to call setRequest here, ResourceLoader::willSendRequest takes care of that. Also, there is no need to check that newRequest is null here, because we assert earlier that it is not.


  • loader/ResourceLoader.h: Get rid of setRequest, it is no longer needed.
6:00 PM Changeset in webkit [31201] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Get rid of a couple of unnecessary class declarations.


  • loader/SubresourceLoader.h:
5:30 PM Changeset in webkit [31200] by hyatt@apple.com
  • 20 edits in trunk/WebCore

2008-03-20 David Hyatt <hyatt@apple.com>

Add a new value to background-clip, "text", that allows backgrounds to be clipped to foreground text (and
associated text decorations like shadows and underlines).

Reviewed by Beth

  • css/CSSParser.cpp: (WebCore::CSSParser::parseBackgroundProperty):
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::paint):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackgrounds): (WebCore::InlineFlowBox::paintBackground): (WebCore::InlineFlowBox::paintBoxDecorations):
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintColumns): (WebCore::RenderBlock::paintObject): (WebCore::RenderBlock::paintFloats):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::paintBackgrounds): (WebCore::RenderBox::paintBackground): (WebCore::RenderBox::paintBackgroundExtended):
  • rendering/RenderBox.h:
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBoxDecorations):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines):
  • rendering/RenderObject.h: (WebCore::): (WebCore::RenderObject::paintBackgroundExtended):
  • rendering/RenderStyle.h: (WebCore::):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paintBoxDecorations):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintBackgroundsBehindCell):
5:14 PM Changeset in webkit [31199] by Adam Roben
  • 3 edits in trunk/WebCore

Allow pausing/blocking of JS execution by plugins

Part of Bug 17133: Should support pausing JavaScript execution without
hanging the process

<http://bugs.webkit.org/show_bug.cgi?id=17133>
<rdar://problem/5719551>

This patch doesn't affect Mac, which doesn't use the shared PluginView
code.

Note that this patch doesn't prevent plugins from executing JS via an
NPObject they've already gotten hold of. It just blocks obtaining new
NPObjects and pauses any requests to evaluate javascript: URIs. This
is probably good enough for now because most plugins seem to always
obtain the Window object each time they want to execute JS.

Reviewed by Tim Hatcher.

  • plugins/PluginView.cpp: (WebCore::PluginView::getValue): Return an error if JS is paused. (WebCore::PluginView::setJavaScriptPaused): Stop the request timer if we're pausing, and resume it if we're unpausing. (WebCore::PluginView::PluginView): Initialize new members.
  • plugins/PluginView.h:
5:14 PM Changeset in webkit [31198] by Adam Roben
  • 3 edits in trunk/WebCore

Allow pausing of callOnMainThread callbacks

Part of Bug 17133: Should support pausing JavaScript execution without
hanging the process

<http://bugs.webkit.org/show_bug.cgi?id=17133>
<rdar://problem/5719551>

Reviewed by Tim Hatcher.

  • platform/MainThread.cpp: (WebCore::dispatchFunctionsFromMainThread): If callbacks are paused, don't dispatch the functions. (WebCore::setMainThreadCallbacksPaused): Added. If we're being unpaused, call scheduleDispatchFunctionsOnMainThread so that any queued callbacks will get dispatched in the near future.
  • platform/MainThread.h:
5:13 PM Changeset in webkit [31197] by Adam Roben
  • 5 edits in trunk/WebCore

Allow blocking of JS event handlers/javascript: URIs per-Frame

Part of Bug 17133: Should support pausing JavaScript execution without
hanging the process

<http://bugs.webkit.org/show_bug.cgi?id=17133>
<rdar://problem/5719551>

Two new methods are added to KJSProxy: setPaused and isPaused. When
setPaused(true) is called, JS event handlers are blocked and
javascript: URIs will not be evaluated.

Reviewed by Tim Hatcher.

  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent):
    • Removed some old KJS_DEBUGGER code
    • Don't run the handler if the KJSProxy is paused.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::KJSProxy): Initialize new member.
  • bindings/js/kjs_proxy.h: Added new methods.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript): Don't execute the script if the KJSProxy is paused.
4:50 PM Changeset in webkit [31196] by jhoneycutt@apple.com
  • 3 edits in trunk/WebCore

2008-03-20 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Anders.

Fix Windows warning / leak: warning C4150: deletion of pointer to
incomplete type 'WebCore::PluginRequest'; no destructor called

  • plugins/PluginView.cpp: Move PluginRequest class to PluginView.h so Windows PluginView destructor can use WTF::deleteAllValues to clean up m_requests.
  • plugins/PluginView.h: (WebCore::PluginRequest::PluginRequest): (WebCore::PluginRequest::frameLoadRequest): (WebCore::PluginRequest::notifyData): (WebCore::PluginRequest::sendNotification): (WebCore::PluginRequest::shouldAllowPopups):
4:18 PM Changeset in webkit [31195] by mrowe@apple.com
  • 8 edits in trunk

Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
command-line.

Reviewed by Sam Weinig.

4:17 PM Changeset in webkit [31194] by Adam Roben
  • 1 edit in trunk/WebCore/ChangeLog

Add some more bug references to ChangeLog from r31079

4:16 PM Developer Tools Hitlist edited by Adam Roben
Removed another fixed bug (diff)
4:11 PM Developer Tools Hitlist edited by Adam Roben
Removed a fixed bug (diff)
4:00 PM Changeset in webkit [31193] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

2008-03-20 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Anders.

<rdar://problem/5809600> REGRESSION:
http/tests/plugins/cross-frame-object-access.html hangs Windows Layout
Tests

r30897 changed the way we conditionalize this feature.

  • plugins/PluginView.cpp: (WebCore::PluginView::getValue): Test ENABLE(NETSCAPE_PLUGIN_API) instead of USE(NPOBJECT). (WebCore::PluginView::bindingInstance): Same.
3:59 PM Changeset in webkit [31192] by Adam Roben
  • 2 edits in trunk/WebCore

Highlight nodes when you hover over them in the Console

Part of Bug 16532: Inspector should highlight nodes in page when
hovering over nodes in Inspector's interface

<http://bugs.webkit.org/show_bug.cgi?id=16532>
<rdar://problem/5712896>

Reviewed by Tim Hatcher.

  • page/inspector/ConsolePanel.js: (WebInspector.ConsolePanel._formatnode): Add mouseover/mouseout event listeners to highlight the node and clear the highlight.
3:59 PM Changeset in webkit [31191] by Adam Roben
  • 2 edits in trunk/WebCore

Highlight nodes in the page when you hover over their DOM breadcrumbs

Part of Bug 16532: Inspector should highlight nodes in page when
hovering over nodes in Inspector's interface

<http://bugs.webkit.org/show_bug.cgi?id=16532>
<rdar://problem/5712896>

Reviewed by Tim Hatcher.

  • page/inspector/DocumentPanel.js: (WebInspector.DocumentPanel): Add an mouseout event listener to the breadcrumbs element to clear the highlighted node. (WebInspector.DocumentPanel.updateBreadcrumbs): Change the mouseover event listener to highlight the node represented by the hovered breadcrumb.
3:58 PM Changeset in webkit [31190] by Adam Roben
  • 2 edits in trunk/WebCore

Highlight nodes in the page when you hover over them in the DOM tree

Part of Bug 16532: Inspector should highlight nodes in page when
hovering over nodes in Inspector's interface

<http://bugs.webkit.org/show_bug.cgi?id=16532>
<rdar://problem/5712896>

The inspected node is no longer highlighted (unless, of course, you
hover over it).

Reviewed by Tim Hatcher.

  • page/inspector/DocumentPanel.js: (WebInspector.DocumentPanel):
    • Don't highlight the focused node when the DOM tree is shown
    • Added mousemove/mouseout event listeners to set/clear the highlighted node. These are added to the root of the DOM tree instead of to each individual list item to avoid flashing as the mouse moves between nodes.

(WebInspector.DocumentPanel.set focusedDOMNode): Don't highlight the
focused node.
(WebInspector.DocumentPanel._onmousemove): Highlight the node under
the mouse.

3:58 PM Changeset in webkit [31189] by Adam Roben
  • 2 edits in trunk/WebCore

Show nodes' content/padding/border/margin boxes in the node highlight

Part of Bug 17221: Node highlight should show node metrics

<http://bugs.webkit.org/show_bug.cgi?id=17221>
<rdar://problem/5732822>

Outstanding issues:

1) We don't show padding/border/margins for inlines
2) We don't show any numeric metrics, we just draw the boxes
3) We'll probably want to tweak the look of the highlight some, at

least to make the boxes better distinguishable

Reviewed by Tim Hatcher.

  • page/InspectorController.cpp: (WebCore::drawOutlinedRect): Added. Just draws a single rect. (WebCore::drawHighlightForBoxes): Added. Takes the rects we calculated for the node and draws the highlight. (WebCore::InspectorController::drawNodeHighlight): Calculates the content/padding/border/margin boxes for blocks and passes them off to drawHighlightForBoxes. The behavior for inlines is for now unchanged.
3:57 PM Changeset in webkit [31188] by Adam Roben
  • 3 edits in trunk/WebCore

Fix RenderContainer's override of addLineBoxRects to match RenderObject's

RenderContainer::addLineBoxRects was never getting called because its
parameters didn't match those of RenderObject::addLineBoxRects.

Reviewed by Mitz Pettel.

No test possible.

  • rendering/RenderContainer.cpp: Added an optional bool useSelectionHeight parameter to match RenderObject's method.
  • rendering/RenderContainer.h: Ditto.
3:38 PM Changeset in webkit [31187] by mrowe@apple.com
  • 3 edits in trunk/LayoutTests

Tweak NodeList tests to ensure that they force a GC outside of DRT.

Rubber-stamped by Sam Weinig.

  • fast/dom/NodeList/5725058-crash-scenario-1.html:
  • fast/dom/NodeList/5725058-crash-scenario-2.html:
3:37 PM Changeset in webkit [31186] by mitz@apple.com
  • 2 edits in trunk/WebKit/win

Reviewed by Adam Roben.

  • make makeTextLarger() and zoomPageIn() do what they are supposed to do
  • WebView.cpp: (WebView::makeTextLarger): Changed call to canZoomIn() to zoomIn(). (WebView::zoomPageIn): Ditto.
2:00 PM Changeset in webkit [31185] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-20 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17946
[GTK] Widgets are not clipped

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::paintMozWidget): pass the clipping rectangle to moz_gtk_widget_paint() instead of just the widget rectangle.
1:44 PM Changeset in webkit [31184] by alp@webkit.org
  • 9 edits
    2 deletes in trunk/WebKit/gtk

2008-03-20 Alp Toker <alp@atoker.com>

GTK+ build fix. Back out r31183. This patch also introduced API style
issues.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
  • webkit/headers.pri:
  • webkit/webkit-marshal.list:
  • webkit/webkitdefines.h:
  • webkit/webkitnavigationaction.cpp: Removed.
  • webkit/webkitnavigationaction.h: Removed.
  • webkit/webkitprivate.cpp:
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebview.h:
11:19 AM Changeset in webkit [31183] by andersca@apple.com
  • 10 edits
    2 adds in trunk

.:

2008-03-20 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Anders.

Resolves http://bugs.webkit.org/show_bug.cgi?id=16092
"[GTK] Middle-mouse click should allow opening a URL in a new tab"

Added WebKitNavigationAction object to GTK API

  • GNUmakefile.am:

WebKit/gtk:

2008-03-20 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed and tweaked by Anders.

Resolves http://bugs.webkit.org/show_bug.cgi?id=16092
"[GTK] Middle-mouse click should allow opening a URL in a new tab"

Created WebKitNavigationAction object exported through the API. The
navigation-requested signal provides this object as context for the
requested navigation, allowing the application to decide what to do
with the navigation based on which mouse button was used, which
modifier keys were held down, etc. This allows, for example, the
application to open links in a new tab when either middle-click or
control-click are used to initiate the navigation.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
  • webkit/headers.pri:
  • webkit/webkit-marshal.list:
  • webkit/webkitdefines.h:
  • webkit/webkitnavigationaction.cpp: Added. (webkit_navigation_action_finalize): (webkit_navigation_action_class_init): (webkit_navigation_action_init): (webkit_navigation_action_get_button): (webkit_navigation_action_get_modifier_flags): (webkit_navigation_action_get_navigation_type): (webkit_navigation_action_get_original_url):
  • webkit/webkitnavigationaction.h: Added.
  • webkit/webkitprivate.cpp: (WebKit::kit):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebview.h:
10:59 AM Changeset in webkit [31182] by hyatt@apple.com
  • 4 adds in trunk/LayoutTests

Added layout test for dynamic sibling selector patch.

10:59 AM Changeset in webkit [31181] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-03-20 David Hyatt <hyatt@apple.com>

Fix for http://bugs.webkit.org/show_bug.cgi?id=9279

Make :hover work with the adjacent sibling selector. This fix makes all forms of dynamic changes
(class name changes, :hover, :focus, etc.) work properly when used with the + selector.

Reviewed by weinig

Added fast/css/dynamic-sibling-selector.html

  • dom/Element.cpp: (WebCore::Element::recalcStyle):
10:22 AM Changeset in webkit [31180] by hyatt@apple.com
  • 4 edits in trunk/WebKit/win

Add full page zoom API for Windows WebKit.

9:18 AM Changeset in webkit [31179] by sullivan@apple.com
  • 4 edits in trunk/WebKit

WebKit:

2008-03-20 John Sullivan <sullivan@apple.com>

  • StringsNotToBeLocalized.txt: Brought this file up to date

WebKit/win:

2008-03-20 John Sullivan <sullivan@apple.com>

  • English.lproj/Localizable.strings: Brought this file up to date
9:09 AM Changeset in webkit [31178] by ddkilzer@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2008-03-20 Aaron Golden <aegolden@gmail.com>

Reviewed by Darin and David Kilzer.

Addresses <http://bugs.webkit.org/show_bug.cgi?id=15263>, which caused certain marquees to not display.

Test: fast/html/marquee-scroll.html

  • html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::parseMappedAttribute):

LayoutTests:

2008-03-20 Aaron Golden <aegolden@gmail.com>

Reviewed by Darin and David Kilzer.

  • fast/html/marquee-scroll.html: Added.
  • platform/mac/fast/html/marquee-scroll-expected.checksum: Added.
  • platform/mac/fast/html/marquee-scroll-expected.png: Added.
  • platform/mac/fast/html/marquee-scroll-expected.txt: Added.
9:01 AM Changeset in webkit [31177] by Adam Roben
  • 9 edits in trunk

Make WebNodeHighlightView use InspectorController to do its painting

WebCore:

Export InspectorController::drawNodeHighlight

Reviewed by Tim Hatcher.

  • WebCore.base.exp: Also sorted this file.

WebKit:

Mark WebNodeHighlight.m and WebNodeHighlightView.m Obj-C++

Reviewed by Tim Hatcher.

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

Make WebNodeHighlightView use InspectorController to do its painting

Reviewed by Tim Hatcher.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController highlightNode:]): Pass the InspectorController to the WebNodeHighlight, and don't call setHighlightedNode: (which has been removed). (-[WebInspectorWindowController hideHighlight]): Removed call to setHighlightedNode:.
  • WebInspector/WebNodeHighlight.h:
    • Replaced _highlightNode with _inspectorController
    • Removed _highlightedNode accessors
    • Added -inspectorController method
  • WebInspector/WebNodeHighlight.m: (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now takes an InspectorController* and stores it in _inspectorController. (-[WebNodeHighlight dealloc]): Removed code dealing with _highlightedNode. (-[WebNodeHighlight inspectorController]): Added.
  • WebInspector/WebNodeHighlightView.m: Removed FileInternal category. (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all GraphicsContexts to be based on a flipped CGContext, so we have to specify that this view is flipped. (-[WebNodeHighlightView drawRect:]): Changed to create a GraphicsContext and pass it to InspectorController::drawNodeHighlight.
7:33 AM Changeset in webkit [31176] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-20 David Krause <david.krause@gmail.com>

Reviewed by David Kilzer.

Fix http://bugs.webkit.org/show_bug.cgi?id=17923
Bug 17923: ARM platform endian defines inaccurate

  • wtf/Platform.h: Replaced !defined(ARMEL) check with !defined(VFP_FP) for PLATFORM(MIDDLE_ENDIAN)
3:20 AM Changeset in webkit [31175] by mjs@apple.com
  • 1 edit
    1 add in trunk/JavaScriptGlue

2008-03-20 Maciej Stachowiak <mjs@apple.com>

  • fix build
  • ForwardingHeaders/wtf/ListRefPtr.h: Added.
3:20 AM Changeset in webkit [31174] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-20 Maciej Stachowiak <mjs@apple.com>

  • fix build
  • JavaScriptCore.xcodeproj/project.pbxproj: install Activation.h as private
2:34 AM Changeset in webkit [31173] by mjs@apple.com
  • 5 edits
    1 add in trunk/JavaScriptCore

2008-03-20 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • reduce function call overhead for 1.014x speedup on SunSpider

I moved some functions from ExecState.cpp to ExecStateInline.h and
from JSGlobalObject.cpp to JSGlobalObject.h, and declared them
inline; machine function call overhead for these was hurting JS
funcion call overhead.


  • kjs/ExecState.cpp:
  • kjs/ExecStateInlines.h: Added. (KJS::ExecState::ExecState): (KJS::ExecState::~ExecState): (KJS::FunctionExecState::FunctionExecState): (KJS::FunctionExecState::~FunctionExecState):
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::pushActivation): (KJS::JSGlobalObject::checkActivationCount): (KJS::JSGlobalObject::popActivation):
  • kjs/function.cpp:

Mar 19, 2008:

11:36 PM Changeset in webkit [31172] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Avoid heap allocating the root scope chain node for eval and closure free functions

Reviewed by Maciej

Maciej suggested using an inline ScopeChainNode for functions that don't use eval
or closures as they are unable to ever capture the scope chain. This gives us a 2.4%
win in sunspider, a 15% win in controlflow-recursive, and big (>5%) wins in a number
of other tests.

10:23 PM Changeset in webkit [31171] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-03-19 Stephanie Lewis <Stephanie Lewis>

Rubber-stamped by Anders.

Fix Windows Build

  • platform/cf/SharedBufferCF.cpp: (WebCore::SharedBuffer::createCFData):
9:51 PM Changeset in webkit [31170] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-03-19 Stephanie Lewis <Stephanie Lewis>

Rubber-stamped by Anders.

Fix Windows Build

  • platform/SharedBuffer.h:
8:15 PM Changeset in webkit [31169] by justin.garcia@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.


<rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues


Elements with height: x%; overflow: visible; overlap what's below them when they are copied from
a document in quirksmode and pasted into to one in standards mode. This fix uses the computed
the value for a property if its value is a percentage.


  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use setProperty from appendStartMarkup. We already have a parsed property value, so we shouldn't use setProperty, since it takes in a String. If we did, we would have to call CSSValue::cssText() for a String only to re-parse it in setProperty. This wasn't extremely important now, but it will be as we compute more properties to fix the rest of the copy/paste fidelity bugs.
  • css/CSSMutableStyleDeclaration.h:
  • editing/markup.cpp: (WebCore::appendStartMarkup): Compute values for properties that have percentage values. We could perhaps narrow this special case to only include properties that are effected by quirksmode.

LayoutTests:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.


<rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues

  • editing/pasteboard/5780697-2-expected.txt: Added.
  • editing/pasteboard/5780697-2.html: Added.
6:14 PM Changeset in webkit [31168] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Sam Weinig.

Fix release build.

  • kjs/JSGlobalObject.cpp: Add missing #include.
6:00 PM Changeset in webkit [31167] by weinig@apple.com
  • 17 edits in trunk

JavaScriptCore:

2008-03-19 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for <rdar://problem/5785694>
Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file

Make the activeExecStates stack per JSGlobalObject instead of static to ensure
thread safety.

  • JavaScriptCore.exp:
  • kjs/ExecState.cpp: (KJS::InterpreterExecState::InterpreterExecState): (KJS::InterpreterExecState::~InterpreterExecState): (KJS::EvalExecState::EvalExecState): (KJS::EvalExecState::~EvalExecState): (KJS::FunctionExecState::FunctionExecState): (KJS::FunctionExecState::~FunctionExecState):
  • kjs/ExecState.h: (KJS::):
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::mark):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::activeExecStates):
  • kjs/collector.cpp: (KJS::Collector::collect): (KJS::Collector::reportOutOfMemoryToAllExecStates): Iterate all JSGlobalObjects and report the OutOfMemory condition to all the ExecStates in each.

WebCore:

2008-03-19 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for <rdar://problem/5785694>
Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file

Make the activeExecStates stack per JSGlobalObject instead of static to ensure
thread safety.

  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]): Change to throw an exception on the current GlobalObject instead of the top of the static activeExecStates stack. (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject instead of the top of the static activeExecStates stack.
  • bridge/c/c_instance.cpp:
  • bridge/c/c_instance.h:
  • bridge/jni/jni_instance.cpp: (JavaInstance::virtualBegin): (JavaInstance::virtualEnd):
  • bridge/jni/jni_instance.h:
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm: (ObjcInstance::~ObjcInstance): (ObjcInstance::virtualBegin): (ObjcInstance::virtualEnd):
  • bridge/runtime.cpp: (KJS::Bindings::Instance::setDidExecuteFunction): (KJS::Bindings::Instance::didExecuteFunction): (KJS::Bindings::Instance::setCurrentGlobalObject): Added. (KJS::Bindings::Instance::currentGlobalObject): Added. (KJS::Bindings::Instance::begin): (KJS::Bindings::Instance::end):
  • bridge/runtime.h: (KJS::Bindings::Instance::virtualBegin): Renamed from begin(). (KJS::Bindings::Instance::virtualEnd): Renamed from end(). We now store the currently active globalObject everytime we cross the runtime object boundary. To do this, we take advantage of the existing begin/end methods that are called when crossing this boundary, making begin set the current globalObject and then call the old begin, now called virtualBegin.
5:24 PM Changeset in webkit [31166] by beidson@apple.com
  • 6 edits
    1 add in trunk/WebCore

2008-03-19 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms
(Mac and Windows instead of just Mac)

  • WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp
  • WebCore.xcodeproj/project.pbxproj: Ditto
  • platform/SharedBuffer.cpp:
  • platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks
  • platform/cf/SharedBufferCF.cpp: Added. (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData (WebCore::SharedBuffer::hasPlatformData): (WebCore::SharedBuffer::platformData): (WebCore::SharedBuffer::platformDataSize): (WebCore::SharedBuffer::maybeTransferPlatformData): (WebCore::SharedBuffer::clearPlatformData):
  • platform/mac/SharedBufferMac.mm: (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData
4:44 PM Changeset in webkit [31165] by mitz@apple.com
  • 2 edits in trunk/WebKit/win

2008-03-19 Dan Bernstein <mitz@apple.com>

  • build fix
  • Interfaces/WebKit.idl: Touched.
3:31 PM Changeset in webkit [31164] by Adam Roben
  • 4 edits in trunk/WebKit/win

Fix a couple of bugs where the node highlight would appear when it shouldn't

There were at least two ways you could get the highlight to appear
when it shouldn't:

1) Selecting a node in the Inspector while the inspected WebView was

in a background tab.

2) Selecting a node in the Inspector, switching to another tab,

closing the Inspector, then switching back to the inspected
WebView's tab.

This patch fixes the above two issues, and possibly others.

show() and hide() are now private methods of WebNodeHighlight. They
are replaced by a single public method,
setShowsWhileWebViewIsVisible(bool). WebInspectorClient uses this to
tell the highlight whether it should be showing when the inspected
WebView is visible.

Reviewed by John Sullivan.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::highlight): If the highlight is already showing, it just needs to update since the highlighted node has changed. If the highlight is not showing, call setShowsWhileWebViewIsVisible(true) so that the highlight will show when the WebView is shown. (WebInspectorClient::hideHighlight): Changed to call setShowsWhileWebViewIsVisible(false) instead of hide().
  • WebNodeHighlight.cpp: (WebNodeHighlight::WebNodeHighlight): Initialize new member, and initialize m_inspectedWebViewWindow to its final value here instead of in show(). (WebNodeHighlight::setShowsWhileWebViewIsVisible): Added. If we're not supposed to show ourselves when the WebView is visible, we hide ourselves and return. Otherwise, we make our visibility match the WebView's. (WebNodeHighlight::isWebViewVisible): Added. (WebNodeHighlight::show): Removed initialization of m_inspectedWebViewWindow (this is now done by our constructor). Added an assertion that we're supposed to show ourselves when the WebView is visible. (WebNodeHighlight::onWebViewShowWindow): If we shouldn't show ourselves when the WebView is visible, then we don't need to do anything at all when the WebView's visibility changes.
  • WebNodeHighlight.h:
3:31 PM Changeset in webkit [31163] by Adam Roben
  • 4 edits in trunk/WebKit/win

Small WebNodeHighlight cleanup

Renamed the following methods:

visible() -> isShowing()
updateWindow() -> update()

Removed the window() method.

Added a new method, placeBehindWindow(HWND), that moves the highlight
overlay in the window z-order to be just behind the passed-in window.
WebInspectorClient calls this instead of doing the move directly using
the old window() method.

Reviewed by John Sullivan.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::attachWindow): (WebInspectorClient::detachWindow): (WebInspectorClient::highlight): Call placeBehindWindow instead of calling SetWindowPos directly.
  • WebNodeHighlight.cpp: (WebNodeHighlight::show): (WebNodeHighlight::isShowing): (WebNodeHighlight::placeBehindWindow): Added. Code came from WebInspectorClient::highlight. (WebNodeHighlight::onWebViewWindowPosChanged): (WebNodeHighlight::onRootWindowPosChanged):
  • WebNodeHighlight.h:
3:28 PM Changeset in webkit [31162] by oliver@apple.com
  • 5 edits in trunk

Bug 17954: Canvas arc() with radius of 0 throws exception
http://bugs.webkit.org/show_bug.cgi?id=17954

Reviewed by Antti

Simple fix -- use >= instead of > when validating the radius.

2:57 PM Changeset in webkit [31161] by justin.garcia@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.

<rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)


The position inside an empty inline-block was a candidate, but upstream and downstream
would move across it without stopping. This confused canonicalPosition, since no more
than two candidates should have the same upstream/downstream (be visually equivalent).


Code was added intentionally in isCandidate to make VisiblePositions inside empty
inline-blocks, so we need to make upstream/downstream understand that.

  • dom/Position.cpp: (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only stop when entering or leaving a non-inline element (referred to as a "block"). We must also avoid entering or leaving an empty inline-block. This will allow a VisiblePosition there, to match up with what the code in isCandidate intended. (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this. (WebCore::Position::upstream): Added better comments, called the new functions. (WebCore::Position::downstream): Ditto.
  • dom/Position.h:

LayoutTests:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.


<rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)

  • editing/pasteboard/4989774.html: Updated to wait for the images to load before trying to copy it.
  • editing/selection/5794920-1-expected.txt: Added.
  • editing/selection/5794920-1.html: Added.
2:51 PM Changeset in webkit [31160] by mitz@apple.com
  • 59 edits in trunk/WebCore

2008-03-19 Dan Bernstein <mitz@apple.com>

Rubber-stamped by John Sullivan.

  • change CSS property and value keyword constants from all-caps with underscores to intra-caps.
  • css/makeprop.pl:
  • css/makevalues.pl:
  • All files using the constants
1:39 PM Changeset in webkit [31159] by Adam Roben
  • 4 edits in trunk/WebCore

Make clicking anywhere in a row in the DOM tree select that row's node

We now have mousedown and dblclick event listeners on the root of the
tree that forward the event to the node on the row the mouse is over.

Reviewed by Tim Hatcher.

  • page/inspector/DocumentPanel.js: (WebInspector.DocumentPanel): Added a dblclick and mousedown event listeners to the root of the tree. (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the tree element for the row underneath the mouse. (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick event on to the tree element in the current row. (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree element in the current row.
  • page/inspector/treeoutline.js: (TreeOutline.treeElementFromPoint): Added. (TreeElement.treeElementSelected): Changed to call TreeElement.isEventWithinDisclosureTriangle, and added an early return. (TreeElement.treeElementToggled): Ditto. (TreeElement.isEventWithinDisclosureTriangle): Added.
  • page/inspector/utilities.js: (Node.enclosingNodeOrSelfWithNodeNameInArray): Added. (Node.enclosingNodeOrSelfWithNodeName): Now just calls enclosingNodeOrSelfWithNodeNameInArray. (Elemnt.get totalOffsetLeft): Added. (Elemnt.get totalOffsetTop): Added.
1:28 PM Changeset in webkit [31158] by mrowe@apple.com
  • 2 edits in trunk/WebKitLibraries

Fix http://bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is 2-architecture universal binary (not 4-architecture)).

Rubber-stamped by Sam Weinig.

  • libWebCoreSQLite3.a: Land a 4-way fat binary.
11:40 AM Changeset in webkit [31157] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: fast/repaint/line-flow-with-floats-10.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion. If the float's top margin has changed and it has not been repositioned yet, we do not have its new y position.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/repaint/line-flow-with-floats-10.html: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt: Added.
11:24 AM Changeset in webkit [31156] by adachan@apple.com
  • 4 edits in trunk/WebKit/win

2008-03-19 Ada Chan <adachan@apple.com>

Added a method to paint WebView content specified by
the document rect into a device context.

Reviewed by Darin.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::paintDocumentRectToContext):
  • WebView.h:
10:58 AM Changeset in webkit [31155] by hyatt@apple.com
  • 38 edits in trunk/WebCore

2008-03-19 David Hyatt <hyatt@apple.com>

New implementation of full page zoom. Because of how much doesn't transform when zooming, and because
of the need to obey viewport constraints, I decided to take a completely different approach. Now CSS
lengths and intrinsic sizes are simply adjusted by the zoom factor. This approach works much better and
avoids pixel cracks more than the old approach. In addition widgets "just work", namely plugins zoom
and scrollbars do not.

This patch also implements the IE zoom CSS property. This property allows fine-grained control over
zooming at the element level. It takes values of normal | <number> | <percentage> to match WinIE. In
addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
extra value, reset. The reset keyword can be used to prevent a section of the page from scaling at all
when a zoom is applied.

Reviewed by olliej

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Support the new 'zoom' property for getComputedStyle.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Code that parses the 'zoom' property.
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeLengthInt): (WebCore::CSSPrimitiveValue::computeLengthIntForLength): (WebCore::CSSPrimitiveValue::computeLengthShort): (WebCore::CSSPrimitiveValue::computeLengthFloat): (WebCore::CSSPrimitiveValue::computeLengthDouble):
  • css/CSSPrimitiveValue.h: Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the zoom factor.
  • css/CSSPropertyNames.in: Add the new zoom property to the list of properties we understand.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyDeclarations): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapBackgroundSize): (WebCore::CSSStyleSelector::mapBackgroundXPosition): (WebCore::CSSStyleSelector::mapBackgroundYPosition): (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
  • css/CSSStyleSelector.h: (WebCore::CSSStyleSelector::setStyle): Pass in the zoom factor when computing all lengths in CSS.
  • css/CSSValueKeywords.in: Add support for the 'reset' keyword of the zoom property.
  • dom/Document.cpp: (WebCore::Document::recalcStyle): Set the 'zoom' CSS property on the RenderView. This is how we implement full page zoom.
  • html/CanvasRenderingContext2D.cpp: (WebCore::size): Make sure the back end canvas size ignores zooming when rendering images.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::width): (WebCore::HTMLImageElement::height): (WebCore::HTMLImageElement::naturalWidth): (WebCore::HTMLImageElement::naturalHeight): Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.
  • loader/CachedImage.cpp: (WebCore::CachedImage::ref): (WebCore::CachedImage::imageSize): (WebCore::CachedImage::imageRect):
  • loader/CachedImage.h: (WebCore::CachedImage::canRender): Force access to the CachedImage metrics to take a multiplier so that people have to think about the zoom factor. The "intrinsic size" of the image then takes that into account.
  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish): (WebCore::ImageDocument::scale): (WebCore::ImageDocument::resizeImageToFit): (WebCore::ImageDocument::imageChanged): (WebCore::ImageDocument::restoreImageSize): (WebCore::ImageDocument::imageFitsInWindow): Make sure image documents respect the zoom.
  • page/AnimationController.cpp: (WebCore::ImplicitAnimation::animate): Make the 'zoom' CSS property work with CSS transitions.
  • page/Frame.h: (WebCore::Frame::pageZoomFactor): (WebCore::Frame::textZoomFactor): Add accessors for obtaining the pageZoom vs. textZoom.
  • page/FrameView.cpp: (WebCore::FrameView::adjustViewSize): Remove the old zoom implementation that used transforms.
  • page/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityIsIgnored]): Pass in the zoom factor.
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackground): (WebCore::InlineFlowBox::paintBoxDecorations): Pass in the zoom factor when testing for size.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize): (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::paintBackgroundExtended): (WebCore::RenderBox::calcHeight):
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layout):
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::canvasSizeChanged):
  • rendering/RenderHTMLCanvas.h: (WebCore::RenderHTMLCanvas::renderName): (WebCore::RenderHTMLCanvas::intrinsicSizeChanged):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::setImageSizeForAltText): (WebCore::RenderImage::imageChanged): (WebCore::RenderImage::calcReplacedWidth): (WebCore::RenderImage::calcReplacedHeight):
  • rendering/RenderImage.h: (WebCore::RenderImage::intrinsicSizeChanged):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::layout): (WebCore::RenderListMarker::imageChanged): (WebCore::RenderListMarker::getRelativeMarkerRect):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::paintBorder): Pass in the zoom factor when testing for size.
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): (WebCore::RenderReplaced::setStyle): (WebCore::RenderReplaced::intrinsicSizeChanged):
  • rendering/RenderReplaced.h: Added a new call when the zoom factor changes, intrinsicSizeChanged(). Replaced element subclasses respond to this via overrides.
  • rendering/RenderStyle.cpp: (WebCore::StyleVisualData::StyleVisualData): (WebCore::StyleInheritedData::StyleInheritedData): (WebCore::StyleInheritedData::operator==): (WebCore::RenderStyle::diff):
  • rendering/RenderStyle.h: (WebCore::StyleVisualData::operator==): (WebCore::RenderStyle::zoom): (WebCore::RenderStyle::zoomInEffect): (WebCore::RenderStyle::setZoom): (WebCore::RenderStyle::setZoomInEffect): (WebCore::RenderStyle::initialZoom): Support for 'zoom' in the RenderStyle. "zoomInEffect" represents the computed zoom taking into account all the zooms specified on ancestors.
  • rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::imageChanged):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::imageChanged):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::imageChanged):
  • rendering/RenderVideo.h: (WebCore::RenderVideo::intrinsicSizeChanged): Pass in the zoom factor.
  • rendering/RenderView.cpp: (WebCore::RenderView::calcHeight): (WebCore::RenderView::calcWidth): (WebCore::RenderView::layout): (WebCore::RenderView::viewHeight): (WebCore::RenderView::viewWidth):
  • rendering/RenderView.h: (WebCore::RenderView::zoomFactor): Back out the old implementation.
10:41 AM Google Summer of Code 2008 edited by Adam Roben
Made JS/CSS syntax highlighting a developer tools project (diff)
10:34 AM Google Summer of Code 2008 edited by Adam Roben
Added project ideas about syntax highlighting (diff)
9:29 AM Changeset in webkit [31154] by Adam Roben
  • 6 edits in trunk/WebCore

Rename firstParent* methods to enclosingNode*

Rubberstamped by John Sullivan.

  • page/inspector/ConsolePanel.js:
  • page/inspector/DocumentPanel.js:
  • page/inspector/NetworkPanel.js:
  • page/inspector/inspector.js:
  • page/inspector/utilities.js:
7:42 AM Changeset in webkit [31153] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by John Sullivan.

  • fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431

Test: fast/dynamic/subtree-parent-static-y.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling this method on the parent if the parent is the new layout subtree root, which would result in marking all the way to the top, when it should actually do nothing.

LayoutTests:

Reviewed by John Sullivan.

  • test for <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
  • fast/dynamic/subtree-parent-static-y.html: Added.
  • platform/mac/fast/dynamic/subtree-parent-static-y-expected.checksum: Added.
  • platform/mac/fast/dynamic/subtree-parent-static-y-expected.png: Added.
  • platform/mac/fast/dynamic/subtree-parent-static-y-expected.txt: Added.
2:37 AM Changeset in webkit [31152] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Use WTF::Unicode abstraction rather than using ICU functions directly.

  • html/PreloadScanner.cpp: (WebCore::PreloadScanner::tokenize):
2:22 AM Changeset in webkit [31151] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Attempt to fix the Gtk build.

12:48 AM Changeset in webkit [31150] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-19 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Maciej Stachowiak.

Fix http://bugs.webkit.org/show_bug.cgi?id=17941
Bug 17941: C++-style comments in JavaScriptCore API

  • API/JSBase.h: Remove C++-style comments from public JavaScriptCore API, replacing with standard C90 block comments.
12:18 AM Changeset in webkit [31149] by mrowe@apple.com
  • 5 edits in trunk

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"

  • kjs/nodes2string.cpp: (KJS::ConstDeclNode::streamTo): Null-check the correct variable.

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Test for http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"

  • fast/js/function-toString-parentheses-expected.txt:
  • fast/js/resources/function-toString-parentheses.js:

Mar 18, 2008:

11:17 PM Changeset in webkit [31148] by oliver@apple.com
  • 5 edits in trunk

Bug 17929: Incorrect decompilation with |const|, comma
http://bugs.webkit.org/show_bug.cgi?id=17929

Reviewed by Mark Rowe

There were actually two bugs here. First we weren't correctly handling const
nodes with multiple declarations. The second issue was caused by us not
giving the correct precedence to the initialisers.

9:23 PM Changeset in webkit [31147] by Darin Adler
  • 17 edits in trunk

JavaScriptCore:

2008-03-18 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • Speed up JavaScript built-in properties by changing the hash table to take advantage of the identifier objects

5% speedup for Acid3 test 26

  • JavaScriptCore.exp: Updated.
  • kjs/create_hash_table: Compute size of hash table large enough so that there are no collisions, but don't generate the hash table.
  • kjs/identifier.h: Made the add function that returns a PassRefPtr public.
  • kjs/lexer.cpp: (KJS::Lexer::lex): Updated for change to HashTable interface.
  • kjs/lookup.cpp: (KJS::HashTable::changeKeysToIdentifiers): Added. Finds the identifier for each property so the equality comparision can be done with pointer comparision.
  • kjs/lookup.h: Made the key be a union of char* with UString::Rep* so it can hold identifiers. Added a keysAreIdentifiers flag to the HashTable. Changed the Lookup functions to be member functions of HashTable instead.
  • kjs/object.cpp: (KJS::JSObject::deleteProperty): Update for change to HashTable. (KJS::JSObject::findPropertyHashEntry): Ditto. (KJS::JSObject::getPropertyAttributes): Ditto. (KJS::JSObject::getPropertyNames): Ditto.

WebCore:

2008-03-18 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • Speed up JavaScript built-in properties by changing the hash table to take advantage of the identifier objects

5% speedup for Acid3 test 26

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot): Update for change to HashTable. (WebCore::JSDOMWindowBase::put): Ditto.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetOwnPropertySlot): Ditto.
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): Ditto.
  • bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::customGetOwnPropertySlot): Ditto.
  • bindings/js/JSLocation.cpp: (WebCore::JSLocation::customGetOwnPropertySlot): Ditto. (WebCore::JSLocation::put): Ditto.
  • bindings/js/kjs_binding.cpp: (WebCore::nonCachingStaticFunctionGetter): Ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Same changes as in the create_hash_table script.
8:50 PM Changeset in webkit [31146] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-03-18 Matt Lilek <webkit@mattlilek.com>

Fix the Gtk build for real this time.

  • platform/network/curl/AuthenticationChallenge.h:
6:50 PM Changeset in webkit [31145] by mrowe@apple.com
  • 3 edits
    6 adds in trunk

Fix http://bugs.webkit.org/show_bug.cgi?id=17925 and http://bugs.webkit.org/show_bug.cgi?id=17927.

  • Bug 17925: Crash in KJS::JSObject::put after setting this.proto
  • Bug 17927: Hang after attempting to create circular proto
  • kjs/object.cpp:

(KJS::JSObject::put): Silently ignore attempts to set proto to a non-object, non-null value.
Return after setting the exception when an attempt to set a cyclic proto is detected so that
the cyclic value is not set.

6:42 PM Changeset in webkit [31144] by weinig@apple.com
  • 14 edits
    6 adds in trunk

WebCore:

2008-03-18 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for http://bugs.webkit.org/show_bug.cgi?id=17057
REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
<rdar://problem/5725058>

Tests: fast/dom/NodeList/5725058-crash-scenario-1.html

fast/dom/NodeList/5725058-crash-scenario-2.html
fast/dom/NodeList/5725058-crash-scenario-3.html

  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::ChildNodeList):
  • dom/ChildNodeList.h: Remove rootNodeChildrenChanged() method and fix the constructor to not pass in a needsNotifications argument to DynamicNodeList, as it no longer takes one.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Don't pass the needsNotifications argument to DynamicNodeList.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): Rename call to hasNodeLists() to hasNodeListCaches().
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document): Zero out the m_document variable to signify to destructors down the destruction chain that this is a Document type node being destructed, and thus, accessing document() is prohibited.
  • dom/Document.h: (WebCore::Document::addNodeListCache): Renamed from addNodeList. (WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion. (WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches. Rename m_numNodeLists to m_numNodeListCaches.
  • dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::DynamicNodeList): (WebCore::DynamicNodeList::~DynamicNodeList): (WebCore::DynamicNodeList::invalidateCache): (WebCore::DynamicNodeList::Caches::Caches):
  • dom/DynamicNodeList.h: (WebCore::DynamicNodeList::hasOwnCaches): Remove the needsNotifications concept from DynamicNodeList, instead, manually invalidate the cache for lists that own their own cache.
  • dom/NameNodeList.cpp: (WebCore::NameNodeList::NameNodeList):
  • dom/NameNodeList.h: Remove rootNodeAttributeChanged() method and fix the constructor to not pass in a needsNotifications argument to DynamicNodeList, as it no longer takes one.
  • dom/Node.cpp: (WebCore::Node::~Node): Decrement the document's nodeListCache count if we had a NodeListsNodeData cache and this is not the Document being destructor, as tagged by a null m_document. (WebCore::Node::childNodes): Increment the document's nodeListCache count if we need create the NodeListsNodeData. (WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count if we need create the NodeListsNodeData. Change to invalidate all the caches, instead of just the ChildNodeList, if document has had no NodeListCaches. (WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches set if it is owned by the NodeList and clear the m_nodeLists if it is empty. (WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty. (WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty. (WebCore::Node::notifyNodeListsChildrenChanged): Cleanup. (WebCore::Node::getElementsByName): Increment the document's nodeListCache count if we need create the NodeListsNodeData. (WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count if we need create the NodeListsNodeData.

(WebCore::NodeListsNodeData::invalidateCaches): Added.
(WebCore::NodeListsNodeData::invalidateAttributeCaches): Added.
(WebCore::NodeListsNodeData::isEmpty): Added.

  • dom/TagNodeList.cpp: (WebCore::TagNodeList::TagNodeList): Don't pass the needsNotifications argument to DynamicNodeList.

LayoutTests:

2008-03-18 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Tests for http://bugs.webkit.org/show_bug.cgi?id=17057
REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter
<rdar://problem/5725058>

  • fast/dom/NodeList/5725058-crash-scenario-1-expected.txt: Added.
  • fast/dom/NodeList/5725058-crash-scenario-1.html: Added.
  • fast/dom/NodeList/5725058-crash-scenario-2-expected.txt: Added.
  • fast/dom/NodeList/5725058-crash-scenario-2.html: Added.
  • fast/dom/NodeList/5725058-crash-scenario-3-expected.txt: Added.
  • fast/dom/NodeList/5725058-crash-scenario-3.html: Added.
5:43 PM Changeset in webkit [31143] by pewtermoose@webkit.org
  • 2 edits in trunk/WebCore

2008-03-18 Matt Lilek <webkit@mattlilek.com>

Not reviewed, build fix.

  • platform/network/curl/AuthenticationChallenge.h:
4:44 PM Changeset in webkit [31142] by weinig@apple.com
  • 3 edits in trunk/LayoutTests

2008-03-18 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

Make domListEnumeration.html test not depend on the order of property enumeration
by sorting the result array.

  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/resources/domListEnumeration.js:
4:22 PM Changeset in webkit [31141] by pewtermoose@webkit.org
  • 10 edits in trunk

WebCore:

2008-03-18 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Provide some stub implementations for things that WebKit
uses for performing authentication/challenge activities. This
is in support of http://bugs.webkit.org/show_bug.cgi?id=17837

  • platform/network/ResourceHandle.h:
  • platform/network/curl/AuthenticationChallenge.h: (WebCore::AuthenticationChallenge::AuthenticationChallenge): (WebCore::AuthenticationChallenge::sourceHandle):

WebKit/win:

2008-03-18 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Provide some stub implementations for things that WebKit
uses for performing authentication/challenge activities. This
is in support of http://bugs.webkit.org/show_bug.cgi?id=17837

  • WebDataSource.cpp:
  • WebError.cpp: Conditionalize CFNetwork-specific logic
  • WebURLAuthenticationChallenge.cpp: Conditionalize constructor for authentication/challenge member. (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
  • WebURLResponse.cpp: Remove CFNetwork-specific logic.
  • WebURLResponse.h: Conditionalize CFNetwork-specific member.
  • WebView.cpp: Conditionalize CFNetwork-specific network protocol test. (WebView::canHandleRequest):
3:31 PM Changeset in webkit [31140] by eric@webkit.org
  • 1 edit in trunk/WebCore/ChangeLog

Add missing changelog

3:30 PM Changeset in webkit [31139] by eric@webkit.org
  • 1 edit in trunk/WebCore/svg/graphics/SVGImage.cpp

Reviewed by Oliver.

Fix SVGImage crash seen once, and obvious via code inspection.

I was not able to find a test case for this.

  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::setContainerSize): (WebCore::SVGImage::usesContainerSize): (WebCore::SVGImage::hasRelativeWidth): (WebCore::SVGImage::hasRelativeHeight):
3:03 PM Google Summer of Code 2008 edited by jasper@unix.geek.nz
(diff)
2:52 PM Google Summer of Code 2008 edited by catfish.man@gmail.com
Add calc() to the idea list (diff)
2:43 PM Changeset in webkit [31138] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>

Fix Qt build after r31123.

Add PluginView methods to TemporaryLinkStubs.

  • platform/qt/TemporaryLinkStubs.cpp:
2:25 PM Changeset in webkit [31137] by weinig@apple.com
  • 2 edits in trunk/WebCore

2008-03-18 Sam Weinig <sam@webkit.org>

Reviewed by Darin Adler.

  • Speed up JavaScript prototype and constructor object creation using a static Identifier in the self() methods to avoid the cost of creating one from a c-string each time.

5% speedup for Acid3 test 26

  • bindings/scripts/CodeGeneratorJS.pm:
2:10 PM Changeset in webkit [31136] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-03-18 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • inline ActivationImp::init for 0.8% SunSpider speedup
  • kjs/Activation.h: (KJS::ActivationImp::init): Moved here from function.cpp
  • kjs/function.cpp:
1:57 PM Changeset in webkit [31135] by Antti Koivisto
  • 8 edits in trunk/WebCore

2008-03-18 Antti Koivisto <Antti Koivisto>

Reviewed by Mark Rowe.

Enable preloading for other platforms besides Mac.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
  • html/HTMLTokenizer.cpp:
  • html/HTMLTokenizer.h:
  • html/PreloadScanner.cpp: (WebCore::PreloadScanner::tokenize):
1:50 PM Changeset in webkit [31134] by hyatt@apple.com
  • 3 edits in trunk/WebKit/mac

2008-03-18 David Hyatt <hyatt@apple.com>

Add support for a preference in WebKit that can be used in nightly builds to test full page
zoom.

Reviewed by Antti

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebView.mm: (-[WebView setTextSizeMultiplier:]): (-[WebView canMakeTextSmaller]): (-[WebView makeTextSmaller:]): (-[WebView canMakeTextLarger]): (-[WebView makeTextLarger:]): (-[WebView canMakeTextStandardSize]): (-[WebView makeTextStandardSize:]):
12:58 PM Known incompatibilities between open-source WebKit and Safari edited by ddkilzer@apple.com
(diff)
12:21 PM Changeset in webkit [31133] by mrowe@apple.com
  • 4 copies
    1 add in releases/Apple/Safari 3.1

Release tag for Safari 3.1.

11:15 AM Changeset in webkit [31132] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2008-03-18 Dan Bernstein <mitz@apple.com>

Reviewed by Adele Peterson.

  • fix <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com

Test: fast/dynamic/floating-to-positioned.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::setStyle): Added code to remove a float from object lists if its position property changes to something other than static, since then it ceases to be a float.

LayoutTests:

2008-03-18 Dan Bernstein <mitz@apple.com>

Reviewed by Adele Peterson.

  • test for <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com
  • fast/dynamic/floating-to-positioned.html: Added.
  • platform/mac/fast/dynamic/floating-to-positioned-expected.checksum: Added.
  • platform/mac/fast/dynamic/floating-to-positioned-expected.png: Added.
  • platform/mac/fast/dynamic/floating-to-positioned-expected.txt: Added.
11:04 AM Changeset in webkit [31131] by Adam Roben
  • 2 edits in trunk/WebCore

Windows build fix after r31123

  • plugins/win/PluginViewWin.cpp: Add back MozillaUserAgent.
10:57 AM Changeset in webkit [31130] by jhoneycutt@apple.com
  • 2 edits in trunk/WebKit/gtk

2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed and landed by jhoneycutt.

Update to check if the MIME type is supported by a plugin.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (FrameLoaderClient::objectContentType):
9:42 AM Changeset in webkit [31129] by Adam Roben
  • 3 edits in trunk/WebKit/win

Focus the Inspector's WebView whenever the Inspector window is focused

Reviewed by Mitz.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::onSetFocus): Send focus to the WebView. (WebInspectorWndProc): Added a handler for WM_SETFOCUS.
  • WebCoreSupport/WebInspectorClient.h:
9:40 AM Changeset in webkit [31128] by Adam Roben
  • 4 edits in trunk/WebKit/win

Fix Bug 14276: Element highlight also covers Web inspector

<http://bugs.webkit.org/show_bug.cgi?id=14276>
<rdar://5712796>

Also fixes <rdar://5622837> Browser window comes to front when node
highlight appears, potentially blocking Inspector

Reviewed by Mitz.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::highlight): After showing the highlight, reposition it just behind the Inspector's window.
  • WebNodeHighlight.cpp: (WebNodeHighlight::show):
    • Changed flags passed to CreateWindowEx to not specify WS_VISIBLE. This is not needed because we'll show the window later in this function.
    • Removed call to SetWindowPos that tried to position the overlay just in front of the WebView. This is now handled by WebInspectorClient.
    • Changed call to ShowWindow to use SetWindowPos so that we can pass SWP_NOACTIVATE. This prevents the highlight from jumping in front of the Inspector every time it's shown.
  • WebNodeHighlight.h: Added a method to get the highlight's HWND.
9:13 AM Changeset in webkit [31127] by mitz@apple.com
  • 5 edits in trunk/WebCore

2008-03-18 Dan Bernstein <mitz@apple.com>

Reviewed by Darin Adler.

  • eliminate RenderFlow::m_clear
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear. (WebCore::RenderBlock::newLine): Added a 'clear' parameter.
  • rendering/RenderBlock.h:
  • rendering/RenderFlow.h: (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear' variable, passing a pointer to it to findNextLineBreak() and its value to newLine(). (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter, which this method adjusts when it encounters a <br>.
8:20 AM Changeset in webkit [31126] by Simon Hausmann
  • 4 edits in trunk

Fix the Qt build.

7:50 AM Changeset in webkit [31125] by pewtermoose@webkit.org
  • 3 edits in trunk/WebCore

2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>

Fix Mac build from commit of r31123.

Add a typedef for NSView* to PlatformWidget, remove duplicate PluginMessageThrottlerWin definition.

  • platform/Widget.h:
  • WebCore.vcproj/WebCore.vcproj:
7:46 AM Changeset in webkit [31124] by Simon Hausmann
  • 2 edits in trunk/JavaScriptCore

Fix the Qt build.

Including config.h like in the other .cpp files gets the #ifdeffery
correct for rand_s.

7:21 AM Changeset in webkit [31123] by pewtermoose@webkit.org
  • 12 edits
    1 copy in trunk

WebCore:

2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Jon Honeycutt.

Add PluginView.cpp and npapi.cpp to build files.
Copy win/PluginViewWin.cpp to PluginView.cpp for shared code.
Split Windows specific code out of PluginView.cpp.
Add #if USE(NPOBJECT) around dependant code.
Use npruntime_internal.h instead of npapi.h.
Add PlatformWidget typedef to Widget.h.
Update WidgetGtk.cpp for the PlatformWidget usage.
Add needed methods to TemporaryLinkStubs for GTK+ port.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
  • WebCore.vcproj/WebCore.vcproj:
  • plugins/win/PluginViewWin.cpp:
  • plugins/PluginView.cpp:
  • plugins/PluginView.h:
  • plugins/npapi.cpp:
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/gtk/TemporaryLinkStubs.cpp:

WebKit/gtk:

2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Jon Honeycutt.

Update setContainingWindow() calls to pass a GtkWidget.

  • webkit/webkitwebframe.cpp: (webkit_web_frame_new): (webkit_web_frame_init_with_web_view):
6:47 AM Changeset in webkit [31122] by Darin Adler
  • 29 edits in trunk

JavaScriptCore:

2008-03-17 Darin Adler <Darin Adler>

Reviewed by Maciej.

JavaScriptCore changes to support a WebCore speedup.

  • JavaScriptCore.exp: Export the UString::Rep::computeHash function.
  • wtf/HashSet.h: Added a find and contains function that take a translator, like the add function.

WebCore:

2008-03-17 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • speed up document property fetching (eliminate the AtomicString objects made during document property lookup)

3% speedup for Acid3 test 26

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot): Use AtomicString::find to locate the AtomicString, only if already present. Also call the new faster versions of the hasNamedItem and hasElementWithId functions that don't ref/deref the AtomicStringImpl, get inlined, etc.
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::canGetItemsForName): Ditto. (WebCore::writeHelper): Use a Vector instead of a String to build up the string to avoid the bad performance of string append.
  • dom/Document.cpp: Tweaked code and comments a bit. Nothing substantive.
  • dom/Document.h: Added new hasElementWithId function that's faster than getElementById because it doesn't ref/deref the AtomicStringImpl*, gets inlined, doesn't have to handle the 0 case, and doesn't try to return the element pointer (just a boolean).
  • html/HTMLAppletElement.cpp: (WebCore::HTMLAppletElement::parseMappedAttribute): Use AtomicString consistently. Also renamed the data member for clarity. (WebCore::HTMLAppletElement::insertedIntoDocument): Ditto. (WebCore::HTMLAppletElement::removedFromDocument): Ditto.
  • html/HTMLAppletElement.h: Ditto.
  • html/HTMLDocument.cpp: (WebCore::addItemToMap): Use AtomicString instead of String. (WebCore::removeItemFromMap): Ditto. (WebCore::HTMLDocument::addNamedItem): Updated for member name change. (WebCore::HTMLDocument::removeNamedItem): Ditto. (WebCore::HTMLDocument::addExtraNamedItem): Ditto. (WebCore::HTMLDocument::removeExtraNamedItem): Ditto. (WebCore::HTMLDocument::clear): Added. Moved code here from the JavaScript bindings. If we're going to have an empty placeholder function, there's no reason to have it in the bindings instead of here.
  • html/HTMLDocument.h: Added clear. Changed the named item function arguments to AtomicString insted of String. Changed the NameCountMap to use AtomicStringImpl* instead of StringImpl*. Renamed the data members to add a m_ prefix and remove the needless doc prefix. Added hasNamedItem and hasExtraNamedItem functions that are inlined and faster than the old idiom because they doesn't ref/deref the AtomicStringImpl*, get inlined, and don't have to handle the 0 case.
  • html/HTMLDocument.idl: Removed the [Custom] attribute on clear and took it out of the JavaScript-specific section.
  • html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::parseMappedAttribute): Use AtomicString consistently. Also renamed the data member for clarity. (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto. (WebCore::HTMLEmbedElement::removedFromDocument): Ditto.
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::insertedIntoDocument): Ditto. (WebCore::HTMLFormElement::removedFromDocument): Ditto. (WebCore::HTMLFormElement::parseMappedAttribute): Ditto.
  • html/HTMLFormElement.h: Ditto.
  • html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::openURL): Renamed m_name to m_frameName for clarity, since the frame name is not the same as the name attribute. (WebCore::HTMLFrameElementBase::parseMappedAttribute): Ditto. (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Ditto.
  • html/HTMLFrameElementBase.h: Ditto.
  • html/HTMLIFrameElement.cpp: (WebCore::HTMLIFrameElement::parseMappedAttribute): Use AtomicString consistently. Also renamed the data member for clarity. (WebCore::HTMLIFrameElement::insertedIntoDocument): Ditto. (WebCore::HTMLIFrameElement::removedFromDocument): Ditto.
  • html/HTMLIFrameElement.h: Ditto.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::parseMappedAttribute): Ditto. (WebCore::HTMLImageElement::insertedIntoDocument): Ditto. (WebCore::HTMLImageElement::removedFromDocument): Ditto.
  • html/HTMLImageElement.h: Ditto.
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto. (WebCore::HTMLObjectElement::insertedIntoDocument): Ditto. (WebCore::HTMLObjectElement::removedFromDocument): Ditto. (WebCore::HTMLObjectElement::updateDocNamedItem): Ditto.
  • html/HTMLObjectElement.h: Ditto.
  • html/HTMLParamElement.cpp: (WebCore::HTMLParamElement::isURLAttribute): Use equalIgnoringCase instead of callling lower().
  • html/HTMLPlugInElement.h: Changed the type of m_name. The code that uses this is in HTMLAppletElement, HTMLEmbedElement, and HTMLObjectElement.
  • platform/text/AtomicString.cpp: (WebCore::equal): Moved to an inline so we can share this code between a few different functions. It could move to a header too if we want to use it elsewhere. (WebCore::UCharBufferTranslator::equal): Change to use inline. (WebCore::HashAndCharactersTranslator::hash): Added. (WebCore::HashAndCharactersTranslator::equal): Added. (WebCore::HashAndCharactersTranslator::translate): Added. (WebCore::AtomicString::add): Improved the Identifier and UString overloads to use the already-computed hash code instead of rehashing the string. (WebCore::AtomicString::find): Added.
  • platform/text/AtomicString.h: Added a find function so we can avoid allocating memory just to look up a string in an atomic string set or map.
  • platform/text/StringImpl.h: Added declarations needed for the AtomicString changes.
2:42 AM Changeset in webkit [31121] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

2008-03-18 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • a few micro-optimizations for 1.2% SunSpider speedup
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): check for Return completion before Throw, it is more likely.
  • kjs/object.cpp: (KJS::JSObject::put): When walking prototype chain, instead of checking isObject (a virtual call), compare to jsNull (compare to a constant) since null is the only non-object that can be in a prototype chain.

Mar 17, 2008:

11:12 PM Changeset in webkit [31120] by timothy@apple.com
  • 2 edits in trunk/WebCore

2008-03-17 Timothy Hatcher <timothy@apple.com>

Reviewed by Mark Rowe.

Bug 17908: Various bugs in the Console completion code
http://bugs.webkit.org/show_bug.cgi?id=17908

  • page/inspector/ConsolePanel.js: (WebInspector.ConsolePanel.complete): Moved the code that checked for the caret being at the end of the prompt into the _caretAtEndOfPrompt helper function. (WebInspector.ConsolePanel.messagesSelectStart): Clear and redo the auto complete when the selection changes. (WebInspector.ConsolePanel._caretInsidePrompt): Fixed a logic error that always caused a false result. (WebInspector.ConsolePanel._caretAtEndOfPrompt): Added. Tests if the selection is a caret at the end of the prompt. (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Changed the offset to use the childNodes length. This makes sure the caret is at the end when there are multiple text nodes in the prompt.
10:36 PM Changeset in webkit [31119] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Optimise multi-scope function call resolution

Reviewed by Geoff

Refactor multiscope variable resolution and use to add
optimised FunctionCallResolveNode subclasses.

2.6% gain in sunspider performance, *25%* gain in controlflow-recursive

10:03 PM Changeset in webkit [31118] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

Reviewed by Dan Bernstein.

Fix bogus argCount check breaking plugin test.

  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
9:36 PM Changeset in webkit [31117] by mitz@apple.com
  • 4 edits in trunk/WebCore

2008-03-17 Dan Bernstein <mitz@apple.com>

Rubber-stamped by Dave Hyatt.

  • FloatingObject cleanup

Renamed FloatingObject's data members as follows: node -> m_renderer,
startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
and noPaint -> !m_shouldPaint, reversing the meaning of the flag.

Also addressed the FIXME in RenderBlock::containsFloat().

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::repaintOverhangingFloats): (WebCore::RenderBlock::paintFloats): (WebCore::RenderBlock::insertFloatingObject): (WebCore::RenderBlock::removeFloatingObject): (WebCore::RenderBlock::positionNewFloats): (WebCore::RenderBlock::leftRelOffset): (WebCore::RenderBlock::rightRelOffset): (WebCore::RenderBlock::nextFloatBottomBelow): (WebCore::RenderBlock::floatBottom): (WebCore::RenderBlock::floatRect): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::leftBottom): (WebCore::RenderBlock::rightBottom): (WebCore::RenderBlock::clearFloats): (WebCore::RenderBlock::addOverhangingFloats): (WebCore::RenderBlock::addIntrudingFloats): (WebCore::RenderBlock::containsFloat): Changed to return false if the floats lists exists but is empty, since line layout code no longer relies on the buggy behavior. (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::adjustForBorderFit):
  • rendering/RenderBlock.h: (WebCore::RenderBlock::containsFloats): (WebCore::RenderBlock::FloatingObject::FloatingObject):
  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::matchedEndLine):
9:04 PM Changeset in webkit [31116] by mitz@apple.com
  • 6 edits
    38 adds in trunk

WebCore:

2008-03-17 Dan Bernstein <mitz@apple.com>

Reviewed by Dave Hyatt.

  • allow incremental relayout of blocks that contain floats

Tests: fast/repaint/line-flow-with-floats-[1-9].html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most of the function body out of an if statement which was replaced with an early return. (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most of the function body out of an if statement and moving the ASSERT, which is a crash in release builds, to the beginning. Made this function set the m_isDescendant flag of floating objects it creates. (WebCore::RenderBlock::removeFloatingObject): Added a call to markLinesDirtyInVerticalRange() when removing a float from a block with inline children. (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the lines in the given range as dirty. (WebCore::RenderBlock::clearFloats): Added code to detect changes to the geometry of floats intruding into this block from other blocks and mark any lines whose available width has changed as a result as dirty.
  • rendering/RenderBlock.h: (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure to cache a float with its position and size. (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an m_isDescendant flag, used by clearFloats() to distinguish between floats entering the block from outside and floats internal to the block.
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::floats): Added. (WebCore::RootInlineBox::floatsPtr): Added. (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to hold the floats originating on the line.
  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Made the existence of floats not force a full layout. Changed to cache the geometry of floats in the block and detect changes to it. If a float's size or position changes, all lines from that point on are treated as dirty. An exception is a change in the dimensions of a float on an otherwise-clean line, which only dirties lines potentially affected by the change (see determineStartPosition()). Added code to update each RootInlineBox's set of floats as lines are laid out. Added code to shift floats belonging to clean lines in the end along with the lines. (WebCore::RenderBlock::determineStartPosition): Made this function look for changes to floats' dimensions and mark lines as dirty accordingly. Also look for new floats and if found, cause a full layout. Added code to re-add floats belonging to clean lines. (WebCore::RenderBlock::matchedEndLine): Added checking that the clean lines in the end can be shifted vertically as needed, i.e. that the available width along the way is uniform.

LayoutTests:

2008-03-17 Dan Bernstein <mitz@apple.com>

Reviewed by Dave Hyatt.

  • test incremental relayout of blocks that contain floats
  • fast/repaint/line-flow-with-floats-1.html: Added.
  • fast/repaint/line-flow-with-floats-2.html: Added.
  • fast/repaint/line-flow-with-floats-3.html: Added.
  • fast/repaint/line-flow-with-floats-4.html: Added.
  • fast/repaint/line-flow-with-floats-5.html: Added.
  • fast/repaint/line-flow-with-floats-6.html: Added.
  • fast/repaint/line-flow-with-floats-7.html: Added.
  • fast/repaint/line-flow-with-floats-8.html: Added.
  • fast/repaint/line-flow-with-floats-9.html: Added.
  • fast/repaint/resources/line-flow-with-floats.html: Added.
  • fast/repaint/resources/line-flow-with-floats.js: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-1-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-1-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-2-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-2-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-3-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-3-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-4-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-4-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-5-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-5-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-6-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-6-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-7-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-7-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-8-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-8-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt: Added.
7:36 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
7:34 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
7:33 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
7:32 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
7:32 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
7:31 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
6:54 PM Changeset in webkit [31115] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

Don't define PLATFORM(MIDDLE_ENDIAN) on little endian ARM.

Reviewed by Darin.

See <http://bugs.webkit.org/show_bug.cgi?id=15416#c13>.

  • wtf/Platform.h: Added check for !defined(ARMEL) when defining PLATFORM(MIDDLE_ENDIAN).
4:33 PM Changeset in webkit [31114] by oliver@apple.com
  • 11 edits in trunk/JavaScriptCore

Add fast multi-level scope lookup

Reviewed by Geoff, Darin and Weinig

Add logic and AST nodes to provide rapid variable resolution across
static scope boundaries. This also adds logic that allows us to skip
any static scopes that do not contain the variable to be resolved.

This results in a ~2.5% speedup in SunSpider, and gives a 25-30% speedup
in some simple and ad hoc closure and global variable access tests.

4:22 PM Google Summer of Code 2008 edited by eric@webkit.org
(diff)
4:08 PM Changeset in webkit [31113] by mitz@apple.com
  • 2 edits in trunk/WebKitSite

2008-03-17 Dan Bernstein <mitz@apple.com>

Reviewed by Sam Weinig.

  • link "backtrace" to the page that explains how to get one
  • quality/bugwriting.html:
2:47 PM Changeset in webkit [31112] by eric@webkit.org
  • 8 edits
    4 adds in trunk

Reviewed by darin.

Fix _NPN_IntFromIdentifier (and export the symbol for use!)

Test: plugins/netscape-identifier-conversion.html

  • WebCore.NPAPI.exp:
  • bridge/npruntime.cpp: (_NPN_IntFromIdentifier):
2:38 PM Changeset in webkit [31111] by weinig@apple.com
  • 4 edits in trunk

WebCore:

2008-03-17 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)

  • page/DOMWindow.idl:

LayoutTests:

2008-03-17 Sam Weinig <sam@webkit.org>

Reviewed by Dan Bernstein.

Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)

  • fast/dom/Window/window-properties-expected.txt:
2:34 PM Changeset in webkit [31110] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2008-03-17 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed Gtk+ build fix.

  • platform/ScrollView.h: make it public
  • platform/gtk/ScrollViewGtk.cpp: remove const
2:33 PM Changeset in webkit [31109] by zecke@webkit.org
  • 5 edits in trunk/WebCore

2008-03-17 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Holger.

<http://bugs.webkit.org/show_bug.cgi?id=17754>

  • Implement ResourceHandle::loadResourceSynchronously to dispatch synchronous requests.
  • Implement WebCoreSynchronousLoader, the ResourceHandleClient which holds the network data, response and error for us during the transfert.
  • platform/network/ResourceHandleInternal.h: Remove trailing white space.
  • platform/network/curl/ResourceHandleCurl.cpp: Add WebCoreSynchronousLoader (WebCore::WebCoreSynchronousLoader::resourceResponse): (WebCore::WebCoreSynchronousLoader::resourceError): (WebCore::WebCoreSynchronousLoader::data): (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): (WebCore::WebCoreSynchronousLoader::didReceiveResponse): (WebCore::WebCoreSynchronousLoader::didReceiveData): (WebCore::WebCoreSynchronousLoader::didFinishLoading): (WebCore::WebCoreSynchronousLoader::didFail): (WebCore::ResourceHandle::loadResourceSynchronously): Implement method using WebCoreSynchronousLoader.
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::dispatchSynchronousJob): (WebCore::ResourceHandleManager::startJob): (WebCore::ResourceHandleManager::initializeHandle): Handle initialization method used both for synchronous and asynchronous job.
  • platform/network/curl/ResourceHandleManager.h:
2:27 PM Changeset in webkit [31108] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-17 Darin Adler <Darin Adler>

  • try to fix GTK build
  • platform/ScrollView.h: Make setGtkAdjustments adjustment. And non-virtual (why was it virtual?).
1:35 PM Changeset in webkit [31107] by mrowe@apple.com
  • 4 edits in branches/Safari-3-1-branch

Versioning.

1:34 PM Changeset in webkit [31106] by Adam Roben
  • 3 edits
    2 adds in trunk/WebCore

2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>

Fix Bug 17898: Split PluginMessageThrottlerWin into its own files

<http://bugs.webkit.org/show_bug.cgi?id=17898>

Move the PluginMessageThrottlerWin class into its own files, in
preparation for refactoring PluginView code to be shared.

Reviewed and tweaked by Adam Roben.

  • WebCore.vcproj/WebCore.vcproj:
  • plugins/PluginView.h:
  • plugins/win/PluginMessageThrottlerWin.cpp: Added.
  • plugins/win/PluginMessageThrottlerWin.h: Added.
  • plugins/win/PluginViewWin.cpp:
1:33 PM Changeset in webkit [31105] by mrowe@apple.com
  • 1 copy in tags/Safari-5525.15

New tag.

1:21 PM Changeset in webkit [31104] by Adam Roben
  • 2 edits in trunk/WebCore

More Windows build fixes after r31098

  • platform/ScrollView.h: Make some more methods public.
1:18 PM Changeset in webkit [31103] by Adam Roben
  • 2 edits in trunk/WebCore

Windows and Qt build fixes after r31098

  • platform/ScrollView.h: Mark methods public that still need to be so.
12:28 PM Changeset in webkit [31102] by mrowe@apple.com
  • 2 edits in branches/Safari-3-1-branch/WebCore

Merge r31069.

11:58 AM Changeset in webkit [31101] by timothy@apple.com
  • 2 edits in trunk/WebCore

2008-03-16 Timothy Hatcher <timothy@apple.com>

Reviewed by Darin Adler.

Bug 17883: Console completion should support bracket notation
http://bugs.webkit.org/show_bug.cgi?id=17883

Also fixes a bug where the Inspector's window object was used instead of the
inspected window object.

  • page/inspector/ConsolePanel.js: (WebInspector.ConsolePanel.complete): Add a comment about the _backwardsRange call. (WebInspector.ConsolePanel.completions): Add a comment about the _backwardsRange call. Check the last character of the expression for a dot or bracket. Fallback to the InspectorController.inspectedWindow() instead of window, this was a bad bug. If the expression caused an exception, just consider the prefix a window property. When bracket notation is used remember what quote was used and compared property names with that quote surrounding it. Also escape the property name for the quote and backslash.
11:01 AM Changeset in webkit [31100] by Darin Adler
  • 12 edits
    22 adds
    7 deletes in trunk

WebCore:

2008-03-17 Robert Blaut <webkit@blaut.biz>

Reviewed by Darin.

Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
Set default margin-bottom for form element in quirk mode
and be compatible with Gecko.

Tests: fast/css/margin-bottom-form-element-quirk.html

fast/css/margin-bottom-form-element-strict.html

  • css/html4.css:
  • css/quirks.css:

LayoutTests:

2008-03-17 Robert Blaut <webkit@blaut.biz>

Reviewed by Darin.

Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
Set default margin-bottom for form element in quirk mode
and be compatible with Gecko.

  • fast/css/margin-bottom-form-element-quirk.html: Added.
  • fast/css/margin-bottom-form-element-strict.html: Added.
  • fast/frames/viewsource-empty-attribute-value-expected.txt:
  • platform/mac/fast/block/margin-collapse/103-expected.checksum:
  • platform/mac/fast/block/margin-collapse/103-expected.png:
  • platform/mac/fast/block/margin-collapse/103-expected.txt:
  • platform/mac/fast/css/margin-bottom-form-element-quirk-expected.checksum: Added.
  • platform/mac/fast/css/margin-bottom-form-element-quirk-expected.png: Added.
  • platform/mac/fast/css/margin-bottom-form-element-quirk-expected.txt: Added.
  • platform/mac/fast/css/margin-bottom-form-element-strict-expected.checksum: Added.
  • platform/mac/fast/css/margin-bottom-form-element-strict-expected.png: Added.
  • platform/mac/fast/css/margin-bottom-form-element-strict-expected.txt: Added.
  • platform/mac/tables/mozilla/bugs/bug44505-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug44505-expected.png:
  • platform/mac/tables/mozilla/bugs/bug44505-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug51727-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug51727-expected.png:
  • platform/mac/tables/mozilla/bugs/bug51727-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug52505-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug52505-expected.png:
  • platform/mac/tables/mozilla/bugs/bug52505-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug52506-expected.checksum:
  • platform/mac/tables/mozilla/bugs/bug52506-expected.png:
  • platform/mac/tables/mozilla/bugs/bug52506-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.checksum:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.png:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.checksum:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.png:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/qt/fast/block/margin-collapse/103-expected.txt: Removed.
  • platform/qt/tables/mozilla/bugs/bug44505-expected.txt: Removed.
  • platform/qt/tables/mozilla/bugs/bug51727-expected.txt: Removed.
  • platform/qt/tables/mozilla/bugs/bug52505-expected.txt: Removed.
  • platform/qt/tables/mozilla/bugs/bug52506-expected.txt: Removed.
  • platform/qt/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt: Removed.
  • platform/qt/tables/mozilla_expected_failures/bugs/bug56024-expected.txt: Removed.
10:38 AM Changeset in webkit [31099] by Antti Koivisto
  • 2 edits in trunk/WebCore

2008-03-17 Antti Koivisto <Antti Koivisto>

Reviewed by Darin.

Speculative fix for http://bugs.webkit.org/show_bug.cgi?id=17878
Bug 17878: REGRESSION: Acid3 sometimes crashes Webkit under WebCore::Loader::Host::cancelRequests


I can't reproduce the crash or make a test case for this one but I'm pretty sure this
is the problem. Essentially the same bug as http://bugs.webkit.org/show_bug.cgi?id=17862
except in didFail() instead of didFinishLoading().

  • loader/loader.cpp: (WebCore::Loader::Host::didFail):
9:56 AM Changeset in webkit [31098] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-17 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed and tweaked by Darin.

http://bugs.webkit.org/show_bug.cgi?id=17172
Refactor platform checks in ScrollView.h

  • platform/ScrollView.h: Change #ifs around.
9:43 AM Changeset in webkit [31097] by Darin Adler
  • 3 edits
    3 adds in trunk

WebCore:

2008-03-17 Yuzhu Shen <yuzhu.shen@gmail.com>

Reviewed by Darin.

Fix the bug: http://bugs.webkit.org/show_bug.cgi?id=17760
It is necessary to load the image even when src="".

Test: fast/images/load-img-with-empty-src.html

  • html/HTMLImageLoader.cpp: (WebCore::HTMLImageLoader::updateFromElement): isNull rather than isEmpty.

LayoutTests:

2008-03-17 Yuzhu Shen <yuzhu.shen@gmail.com>

Reviewed by Darin.

Bug: http://bugs.webkit.org/show_bug.cgi?id=17760
Test whether <img> tries to load image with empty src attribute.

  • fast/images/load-img-with-empty-src-expected.txt: Added.
  • fast/images/load-img-with-empty-src.html: Added.
  • fast/images/resources/test-load.jpg: Added.
8:27 AM Changeset in webkit [31096] by Adam Roben
  • 2 edits in trunk/WebCore

2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>

Fix GTK+ build from r31094.

  • plugins/gtk/PluginDatabaseGtk.cpp: (PluginDatabase::getPluginsInPaths):
8:25 AM Changeset in webkit [31095] by Adam Roben
  • 3 edits
    2 adds in trunk

Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash

WebCore:

Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash

<http://bugs.webkit.org/show_bug.cgi?id=17876>

Reviewed by John.

Test: fast/dom/remove-named-attribute-crash.html

  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::removeAttribute): Store the Attribute we're going to remove from the m_attributes Vector in a RefPtr so it doesn't get deleted when it is removed from the Vector.

LayoutTests:

Test for Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash

<http://bugs.webkit.org/show_bug.cgi?id=17876>

Reviewed by John.

  • fast/dom/remove-named-attribute-crash-expected.txt: Added.
  • fast/dom/remove-named-attribute-crash.html: Added.
7:51 AM Changeset in webkit [31094] by Adam Roben
  • 3 edits
    2 adds in trunk/WebCore

2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Adam Roben.

Implement PluginDatabase for GTK+ with PluginDatabaseGtk.cpp.
Remove implemented methods from TemporaryLinkStubs.

  • GNUmakefile.am:
  • plugins/gtk:
  • plugins/gtk/PluginDatabaseGtk.cpp:
  • platform/gtk/TemporaryLinkStubs.cpp:
2:47 AM WebKit Team edited by zecke2@selfish.org
Correct my information. I'm not employed by Trolltech (and wasn't) (diff)
1:27 AM Changeset in webkit [31093] by Simon Hausmann
  • 3 edits in trunk/WebCore

Fix the Qt build.

Mar 16, 2008:

9:05 PM Changeset in webkit [31092] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-03-16 Maciej Stachowiak <mjs@apple.com>

Not reviewed, just fixing an incomplete comment from the last commit.

  • dom/Range.cpp: (WebCore::Range::surroundContents):
8:59 PM Changeset in webkit [31091] by kevino@webkit.org
  • 3 edits in trunk/WebKit/wx

wx build fix. Make sure we link png/jpeg libraries before wx libraries to get the right symbols.

8:50 PM Changeset in webkit [31090] by mjs@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-03-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


This gets us to 92/100

  • dom/Range.cpp: (WebCore::Range::surroundContents): Check for HIERARCHY_REQUEST_ERR before BAD_BOUNDARYPOINTS_ERR, since Acid3 expects exceptional conditions to be tested in the order that the spec lists them. Also, adjust the HIERARCHY_REQUEST_ERR check. If the start point of the range is in a comment node, the node that would be the parent of a partial replacement is actually the comment node's parent (since comment nodes have character indices), so we should do the HIERARCHY_REQUEST_ERR check based on the parent of the comment node, as for text nodes, even though it will fail later with a different exception because it is not allowed to surround a partially selected non-text node.

LayoutTests:

2008-03-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.


  • fast/dom/Range/acid3-surround-contents-expected.txt: Added.
  • fast/dom/Range/acid3-surround-contents.html: Added.
8:47 PM Changeset in webkit [31089] by Darin Adler
  • 21 edits
    2 adds in trunk

WebCore:

2008-03-16 Marvin Decker <marv.decker@gmail.com>

Reviewed by Darin.

Fix bug 15119: URL query characters that are unencodable in the
request's character set should be converted to XML entities with
non-alphanumeric characters escaped.

Test: http/tests/uri/escaped-entity.html

  • html/FormDataList.cpp: (WebCore::FormDataList::appendString):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
  • platform/KURL.cpp: (WebCore::encodeRelativeString):
  • platform/text/String.cpp: (WebCore::String::latin1): (WebCore::String::utf8):
  • platform/text/TextCodec.cpp: (WebCore::TextCodec::unencodableCharReplacement):
  • platform/text/TextCodec.h: (WebCore::):
  • platform/text/TextCodecICU.cpp: (WebCore::urlEscapedEntityCallback): (WebCore::gbkUrlEscapedEntityCallack): (WebCore::TextCodecICU::encode):
  • platform/text/TextCodecICU.h: (WebCore::TextCodecICU::setNeedsGBKFallbacks):
  • platform/text/TextCodecLatin1.cpp: (WebCore::encodeComplexWindowsLatin1): (WebCore::TextCodecLatin1::encode):
  • platform/text/TextCodecLatin1.h:
  • platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::encode):
  • platform/text/TextCodecUTF16.h:
  • platform/text/TextCodecUserDefined.cpp: (WebCore::encodeComplexUserDefined): (WebCore::TextCodecUserDefined::encode):
  • platform/text/TextCodecUserDefined.h:
  • platform/text/TextEncoding.cpp: (WebCore::TextEncoding::encode):
  • platform/text/TextEncoding.h:
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::encode):
  • platform/text/mac/TextCodecMac.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send):

LayoutTests:

2008-03-16 Marvin Decker <marv.decker@gmail.com>

Reviewed by Darin.

Fix bug 15119, unencodable characters in URLs should be entity-escaped.

  • http/tests/uri/escaped-entity-expected.txt: Added.
  • http/tests/uri/escaped-entity.html: Added.
8:26 PM Changeset in webkit [31088] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-03-16 weihongzeng <weihong.zeng@hotmail.com>


Reviewed by Darin Adler.


http://bugs.webkit.org/show_bug.cgi?id=15416
Add support for mixed-endian processors


  • kjs/dtoa.cpp: Add IEEE_ARM, triggered by PLATFORM(MIDDLE_ENDIAN).
6:29 PM Changeset in webkit [31087] by kevino@webkit.org
  • 12 edits in trunk

Rubber stamped by Darin.

Add set-webkit-configuration support for wx port, and centralize build dir location setting.

http://bugs.webkit.org/show_bug.cgi?id=17790

3:21 PM Changeset in webkit [31086] by Darin Adler
  • 7 edits
    2 copies
    2 adds in trunk

WebCore:

2008-03-16 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

Tests: fast/forms/textarea-default-value-leading-newline.html

fast/forms/textarea-linewrap-dynamic.html

  • html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Tweaked names/ (WebCore::HTMLTextAreaElement::selectionStart): Ditto, also use early return and check for < 0 rather than -1 specifically. (WebCore::HTMLTextAreaElement::selectionEnd): Ditto. (WebCore::HTMLTextAreaElement::setSelectionStart): Early return. (WebCore::HTMLTextAreaElement::setSelectionEnd): Ditto. (WebCore::HTMLTextAreaElement::select): Ditto. (WebCore::HTMLTextAreaElement::setSelectionRange): Ditto. (WebCore::HTMLTextAreaElement::parseMappedAttribute): Changed value parsing to treat unknown values as meaning "default" rather than "leave value as-is". Only call setNeedsLayoutAndPrefWidthsRecalc when mode changed. (WebCore::HTMLTextAreaElement::createRenderer): Removed name of unused argument. (WebCore::HTMLTextAreaElement::appendFormData): Updated for name changes. (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Got rid of unnneeded explicit class name in isFocusable call. (WebCore::HTMLTextAreaElement::isMouseFocusable): Ditto. (WebCore::HTMLTextAreaElement::updateFocusAppearance): Tweaked formatting. (WebCore::HTMLTextAreaElement::defaultEventHandler): Ditto. (WebCore::HTMLTextAreaElement::updateValue): Early return. (WebCore::HTMLTextAreaElement::setValue): Got rid of intermediate value to eliminate on small refcount churn. (WebCore::HTMLTextAreaElement::defaultValue): Got rid of unneeded redundant string length checks, since String already checks all indexing and returns 0. (WebCore::HTMLTextAreaElement::setDefaultValue): Added code to normalize line endings and add a leading line ending to fix cases where the first character is a newline. (WebCore::HTMLTextAreaElement::accessKeyAction): Removed name of unused arg. (WebCore::HTMLTextAreaElement::accessKey): Changed return value to avoid refcount churn. (WebCore::HTMLTextAreaElement::selection): Updated names and use < 0 instead of -1 specifically.
  • html/HTMLTextAreaElement.h: Replaced wrap function with more-specific shouldWrapText one. Changed return value of accessKey. Made WrapMethod enum provate and renamed the values. Renamed cachedSelStart and cachedSelEnd to m_cachedSelectionStart and m_cachedSelectionEnd.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createInnerTextStyle): Updated for change to HTMLTextAreaElement wrap function.

LayoutTests:

2008-03-16 Darin Adler <Darin Adler>

Reviewed by Mark Rowe.

  • fast/forms/textarea-default-value-leading-newline-expected.txt: Added.
  • fast/forms/textarea-default-value-leading-newline.html: Copied from fast/forms/textarea-crlf.html.
  • fast/forms/textarea-hard-linewrap-expected.txt: Updated.
  • fast/forms/textarea-hard-linewrap.html: Cleaned up a bit.
  • fast/forms/textarea-linewrap-dynamic-expected.txt: Added.
  • fast/forms/textarea-linewrap-dynamic.html: Copied from fast/forms/textarea-hard-linewrap.html.
2:47 PM Changeset in webkit [31085] by Antti Koivisto
  • 6 edits in trunk/WebCore

Reviewed by Mitz.

Fix http/tests/security/frame-loading-via-document-write.html
which was broken by the preload patch.


Don't print error message when preload fails local file security check.
Some minor refactoring.

  • html/PreloadScanner.cpp: (WebCore::PreloadScanner::emitTag): (WebCore::PreloadScanner::emitCSSRule):
  • loader/Cache.cpp: (WebCore::Cache::requestResource):
  • loader/Cache.h:
  • loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): (WebCore::DocLoader::preload): (WebCore::DocLoader::printPreloadStats):
  • loader/DocLoader.h:
1:53 PM Changeset in webkit [31084] by Antti Koivisto
  • 3 edits
    3 adds in trunk

WebCore:

Reviewed by Darin.


Fix http://bugs.webkit.org/show_bug.cgi?id=17862
REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com


This was a memory smasher introduced by the preloading patch.
If a script resource was marked uncacheable, early deletion of the
Request object would cause deletion of the CachedResource too if
it was referred more than once in a single document.

Test: http/tests/misc/uncacheable-script-repeated.html

  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): (WebCore::Loader::Host::didFinishLoading):

LayoutTests:

Reviewed by Darin.


Test for http://bugs.webkit.org/show_bug.cgi?id=17862
REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com

  • http/tests/misc/resources/uncacheable-script.cgi: Added.
  • http/tests/misc/uncacheable-script-repeated-expected.txt: Added.
  • http/tests/misc/uncacheable-script-repeated.html: Added.
1:35 PM Changeset in webkit [31083] by Darin Adler
  • 3 edits
    2 adds in trunk

WebCore:

2008-03-16 Yuzhu Shen <yuzhu.shen@gmail.com>

Reviewed by Darin.

Fix bug http://bugs.webkit.org/show_bug.cgi?id=17714
<img href="#"> should go to top of the page.

Test: fast/html/empty-fragment-id-goto-top.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::gotoAnchor):

LayoutTests:

2008-03-16 Yuzhu Shen <yuzhu.shen@gmail.com>

Reviewed by Darin.

Bug: http://bugs.webkit.org/show_bug.cgi?id=17714
Test whether clicking <img href="#"> goes to top of the page.

  • fast/html/empty-fragment-id-goto-top-expected.txt: Added.
  • fast/html/empty-fragment-id-goto-top.html: Added.
1:25 PM Changeset in webkit [31082] by Darin Adler
  • 6 edits in trunk

WebCore:

2008-03-16 Thiago Macieira <thiago.macieira@trolltech.com>

Reviewed by Darin.

Don't use RefPtr in classes you haven't seen the implementation of.

Forward-declaration and declaration of RefPtr<Foo> is ok. But you
cannot *use* said objects until Foo is defined. This is true even for
initialisation with a 0.

Seems the HP aCC compiler is more strict here than gcc.

  • editing/SplitTextNodeCommand.h:
  • page/FrameTree.h:
  • xml/XPathExpressionNode.h:

WebKit/qt:

2008-03-16 Thiago Macieira <thiago.macieira@trolltech.com>

Reviewed by Simon.

Don't use RefPtr in classes you haven't seen the implementation of.


Forward-declaration and declaration of RefPtr<Foo> is ok. But you
cannot *use* said objects until Foo is defined. This is true even for
initialisation with a 0.


Seems the HP aCC compiler is more strict here than gcc.

  • Api/qwebframe_p.h:
1:17 PM Changeset in webkit [31081] by Darin Adler
  • 4 edits
    2 adds in trunk

WebCore:

2008-03-16 Darin Adler <Darin Adler>

Reviewed by Mitz.

Test: fast/forms/textarea-trailing-newline.html

  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::finishText): Added code to strip the trailing newline. It's possible there are some obscure cases where this is not wanted, but I couldn't find any. If someone finds a case where this is bad, we can make the code conditional.

LayoutTests:

2008-03-16 Darin Adler <Darin Adler>

Reviewed by Mitz.

  • fast/forms/textarea-paste-newline.html: Updated test to expect correct behavior instead of expecting the bug.
  • fast/forms/textarea-trailing-newline-expected.txt: Added.
  • fast/forms/textarea-trailing-newline.html: Added.
1:15 PM Changeset in webkit [31080] by Darin Adler
  • 2 edits in trunk/WebCore

2008-03-16 Darin Adler <Darin Adler>

Reviewed by Mitz.

This is causing intermittent crashes on some existing test cases on the buildbot
too; I don't have a 100% test case right now, but it should be easy to add one later
and this does fix a crash in a test we already have.

  • dom/CharacterData.cpp: (WebCore::CharacterData::CharacterData): Initialize m_data to the empty string, not the null string. The class assumes the string can never being null. (WebCore::CharacterData::setData): If asked to set the data to the null string, set it to the empty string instead. This matches what the (non-empty) constructor has always done.

Mar 15, 2008:

11:34 PM Changeset in webkit [31079] by timothy@apple.com
  • 5 edits
    2 adds in trunk/WebCore

Reviewed by Adam Roben.

Bug 17870: Web Inspector console should feel more like a terminal
http://bugs.webkit.org/show_bug.cgi?id=17870

Bug 14390: Console input area should be more noticeable
http://bugs.webkit.org/show_bug.cgi?id=14390

Adds tab completion, auto completion and a blended input prompt.
The prompt is also focused when the console is shown.

Implements a new look, that will be part of the UI refresh.

  • page/inspector/ConsolePanel.js: (WebInspector.ConsolePanel): Renamed a few properties. (WebInspector.ConsolePanel.get/set promptText): Property to set and get the current prompt text. Does not affect command history. (WebInspector.ConsolePanel.show): Make the prompt focus on show. (WebInspector.ConsolePanel.acceptAutoComplete): Accepts any pending auto complete text. (WebInspector.ConsolePanel.clearAutoComplete): Cancels any pending auto complete text. (WebInspector.ConsolePanel.autoCompleteSoon): Sets a timeout to auto complete in 250 ms, only if there isn't a pending auto complete. (WebInspector.ConsolePanel.complete): (WebInspector.ConsolePanel.completions): Generate a list of possible completions based on the prefix and the previous expression ranges. (WebInspector.ConsolePanel._backwardsRange): Helper to scan backwards from a node and offset to find a start node and offset of the first character found in the characters string. (WebInspector.ConsolePanel._evalInInspectedWindow): Helper to eval in the inspected window. (WebInspector.ConsolePanel._caretInsidePrompt): Returns true if the selection is collapsed and is inside the prompt element. (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Moves the selection to the end of the prompt. (WebInspector.ConsolePanel._onTabPressed): Calls complete on tab press. (WebInspector.ConsolePanel._onEnterPressed): Call clearAutoComplete so the autocompletion text is not evaluated.
  • page/inspector/Images/errorIcon.png: New image.
  • page/inspector/Images/userInputIcon.png: Added.
  • page/inspector/Images/userInputPreviousIcon.png: Added.
  • page/inspector/Images/warningIcon.png: New image.
  • page/inspector/inspector.css: New refreshed UI.
12:12 PM Changeset in webkit [31078] by pewtermoose@webkit.org
  • 2 edits in trunk/WebKitSite

2008-03-15 Matt Lilek <webkit@mattlilek.com>

Rubber-stamped by Mitz.

Update crash log page with instructions for Leopard.

  • quality/crashlogs.html:
10:49 AM Changeset in webkit [31077] by Darin Adler
  • 3 edits in trunk/WebKitTools

2008-03-15 Darin Adler <Darin Adler>

  • Scripts/commit-log-editor: Include the name line of the change log entry. A long time ago I designed this script to not include the name because I thought it was redundant (same as the name of the person checking in), but nowadays it's more common for someone to check something in done by someone else.
  • Scripts/do-webcore-rename: Added some more planned renames and removed some that were already done "by hand".
10:37 AM Changeset in webkit [31076] by Darin Adler
  • 2 edits
    3 moves in trunk/WebCore

2008-03-15 Mark Mentovai <mark@moxienet.com>

Reviewed and landed by Darin.

  • WebCore.xcodeproj/project.pbxproj: Remove unnecessary uses of explicitFileType, preferring lastKnownFileType ("File Type: Default for File" in Xcode's File Info's General tab). Files below that relied on an explicit file type setting other than what would be implied by their extensions have been renamed to have correct extensions.
  • bridge/jni/jni_jsobject.cpp: Removed.
  • bridge/jni/jni_jsobject.mm: Copied from bridge/jni/jni_jsobject.cpp.
  • loader/mac/LoaderNSURLExtras.m: Removed.
  • loader/mac/LoaderNSURLExtras.mm: Copied from loader/mac/LoaderNSURLExtras.m.
  • platform/mac/SharedTimerMac.cpp: Removed.
  • platform/mac/SharedTimerMac.mm: Copied from platform/mac/SharedTimerMac.cpp.
10:26 AM Changeset in webkit [31075] by Darin Adler
  • 23 edits
    6 adds in trunk

WebCore:

Reviewed by Sam.

Test: fast/dom/Range/mutation.html

  • WebCore.xcodeproj/project.pbxproj: Added NodeWithIndex.h, NodeWithIndexAfter.h, and NodeWithIndexBefore.h.
  • dom/CharacterData.cpp: (WebCore::CharacterData::setData): Replaced call to Document::removeMarkers with call to Document::textRemoved. (WebCore::CharacterData::insertData): Replaced call to Document::shiftMarkers with call to Document::textInserted. (WebCore::CharacterData::deleteData): Replaced call to Document::removeMarkers and Document::shiftMarkers with call to Document::textRemoved. (WebCore::CharacterData::replaceData): Replaced call to Document::removeMarkers and Document::shiftMarkers with call to Document::textRemoved and Document::textInserted. (WebCore::CharacterData::containsOnlyWhitespace): Tweaked a bit.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): Added a call to Document::nodeChildrenChanged when the nmber of children was changed (and not by the parser). (WebCore::dispatchChildRemovalEvents): Updated for name change.
  • dom/Document.cpp: (WebCore::Document::~Document): Assert that all ranges are gone. (WebCore::Document::nodeChildrenChanged): Added. Calls nodeChildrenChanged on all ranges. (WebCore::Document::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval. Added code to call nodeWillBeRemoved on all ranges. (WebCore::Document::textInserted): Added. Calls textInserted on all ranges and also calls shiftMarkers. (WebCore::Document::textRemoved): Added. Calls textRemoved on all ranges and also calls removeMarkers and shiftMarkers. (WebCore::Document::textNodesMerged): Added. Calls textNodesMerged on all ranges. (WebCore::Document::textNodeSplit): Added. Calls textNodeSplit on all ranges. (WebCore::Document::attachRange): Added. Adds range to the HashSet of all ranges for this document. (WebCore::Document::detachRange): Added. Removes range from the HashSet.
  • dom/Document.h: Added the new functions and the data member.
  • dom/Element.cpp: (WebCore::Element::normalizeAttributes): Added. Contains the part of the normalize function that's specific to Element. Better encapsulation to have it here rather than in Node::normalize.
  • dom/Element.h: Added the new function.
  • dom/Node.cpp: (WebCore::Node::normalize): Rewrote so it's no longer recursive. Also added a call to textNodesMerged after each pair of nodes is merged but before the second node is removed. (WebCore::Node::traverseNextNodePostOrder): Added. Helper function used by normalize, but also useful elsewhere.
  • dom/Node.h: Added the new function.
  • dom/NodeIterator.cpp: (WebCore::NodeIterator::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
  • dom/NodeIterator.h: Ditto.
  • dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::setData): Call textRemoved.
  • dom/Range.cpp: (WebCore::NodeWithIndex::index): Added. Computes and stores index. (WebCore::NodeWithIndexBefore::indexBefore): Added. Computes and stores index. (WebCore::NodeWithIndexAfter::indexAfter): Added. Computes and stores index. (WebCore::Range::Range): Call attachRange. (WebCore::Range::~Range): Call detachRange unless the range is already detached. (WebCore::Range::commonAncestorContainer): Removed check for WRONG_DOCUMENT_ERR. It's no longer possible to create a range where the two containers are non-zero and have no common ancestor. (WebCore::Range::isPointInRange): Rewrote expression to be more readable. (WebCore::Range::compareNode): Changed local variable to use int for consistency. (WebCore::Range::compareBoundaryPoints): Replaced ASSERT with ASSERT_NOT_REACHED. (WebCore::Range::deleteContents): Removed check for INVALID_STATE_ERR and initialization of ec to 0; both are now inside checkDeleteExtract. (WebCore::Range::intersectsNode): Changed local variable to use int for consistency. Also changed comparison to use < 0 and >= 0 rather than checking explicitly for 1 and -1. (WebCore::Range::processContents): Changed code to not get the nodeType multiple times on the same node, and tweaked formatting. Removed code to update the range on deletion, because the normal delete logic will take care of that now. (WebCore::Range::extractContents): Removed check for INVALID_STATE_ERR and initialization of ec to 0; both are now inside checkDeleteExtract. (WebCore::Range::insertNode): Changed local variable to use int for consistency. (WebCore::Range::toString): Changed variable name to pastLast. (WebCore::Range::detach): Call detachRange. (WebCore::Range::checkDeleteExtract): Added check for detached range and code to set ec to 0; moved here from the two callers. Also changed variable name to pastLast. (WebCore::endpointNodeChildrenChanged): Added. (WebCore::Range::nodeChildrenChanged): Added. (WebCore::endpointNodeWillBeRemoved): Added. (WebCore::Range::nodeWillBeRemoved): Added. (WebCore::endpointTextInserted): Added. (WebCore::Range::textInserted): Added. (WebCore::endpointTextRemoved): Added. (WebCore::Range::textRemoved): Added. (WebCore::endpointTextNodesMerged): Added. (WebCore::Range::textNodesMerged): Added. (WebCore::endpointTextNodesSplit): Added. (WebCore::Range::textNodeSplit): Added.
  • dom/Range.h: Added new member functions.
  • dom/NodeWithIndex.h: Added. Makes it so we won't find the index for the same node more than once.
  • dom/NodeWithIndexAfter.h: Added. Similar to NodeWithIndex but gives the index after a node and treats a node pointer of 0 as meaning "before first node in parent container".
  • dom/NodeWithIndexBefore.h: Added. Similar to NodeWithIndex but treats a node pointer of 0 as meaning "after last node in parent container".
  • dom/Text.cpp: (WebCore::Text::splitText): Call textNodeSplit.
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): Changed variable name to pastLast.

LayoutTests:

Reviewed by Sam.

  • fast/dom/Range/mutation-expected.txt: Added.
  • fast/dom/Range/mutation.html: Added.
  • fast/dom/Range/resources/mutation.js: Added.
  • editing/execCommand/4920742-2-expected.txt: Updated.
  • editing/execCommand/4920742-2.html: Updated this test. It was testing for a crash in a case that's no longer possible -- you can't make a range where one endpoint is in the document and the other is not.
  • platform/mac/editing/execCommand/4920488-expected.txt: Removed WRONG_DOCUMENT_ERR. The fact that a test was getting this exception was a bug, similar to the case above.
  • platform/qt/editing/execCommand/4920488-expected.txt: Ditto.
7:15 AM Changeset in webkit [31074] by zecke@webkit.org
  • 3 edits
    2 adds in trunk

WebCore:
2008-03-15 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Holger.

[CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
http://bugs.webkit.org/show_bug.cgi?id=16906

Add null checks for httpBody() to match other ports.

Test: http/tests/xmlhttprequest/xmlhttprequest-post-crash.html

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::readCallback): Add null check. (WebCore::ResourceHandleManager::setupPOST): Ditto.

LayoutTests:
2008-03-15 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Holger.

[CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL
http://bugs.webkit.org/show_bug.cgi?id=16906

  • http/tests/xmlhttprequest/xmlhttprequest-post-crash-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-post-crash.html: Added.
Note: See TracTimeline for information about the timeline view.