Timeline



Apr 15, 2008:

10:53 PM Changeset in webkit [31933] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Bug 18526: Throw exceptions when resolve fails for op_resolve_base_and_func.
<https://bugs.webkit.org/show_bug.cgi?id=18526>

Reviewed by Maciej

Very simple fix, sunspider shows a 0.7% progression, ubench shows a 0.4% regression.

10:30 PM Changeset in webkit [31932] by justin.garcia@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

2008-04-15 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.

<rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)

  • editing/markup.cpp: (WebCore::createFragmentFromText): Don't use clones of the enclosing block to hold paragraphs if the enclosing block is the root editable element.

LayoutTests:

2008-04-15 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.

<rdar://problem/5665299> REGRESSION (r27369): Paste text into a contenteditable div creates a contenteditable div for each line (16661)

  • editing/pasteboard/5665299-expected.txt: Added.
  • editing/pasteboard/5665299.html: Added.
8:36 PM Changeset in webkit [31931] by mrowe@apple.com
  • 4 edits in trunk/WebCore

Don't treat the misnamed NSAccessibilitySortButtonRole as an accessibility role.
It is really a subrole of NSAccessibilityButtonRole. As it is not used inside WebCore
there is no change in behaviour as a result of doing this. This fixes <rdar://problem/5866444>.

Reviewed by Jon Honeycutt.

  • page/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::canSetFocusAttribute): Remove SortButtonRole as it is unused.

  • page/AccessibilityObject.h: Ditto.

(WebCore::):

  • page/mac/AccessibilityObjectWrapper.mm:

(RoleEntry::):

8:21 PM Changeset in webkit [31930] by mjs@apple.com
  • 2 edits in branches/squirrelfish/SunSpider

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

Rubber stamped by Oliver.


  • add newly working tests to squirrelfish list
  • tests/LIST-SQUIRRELFISH: Add 3d-raytrace and string-unpack-code
8:03 PM Changeset in webkit [31929] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver.


  • fix incorrect result on 3d-raytrace test


Oliver found and tracked down this bug, I just typed in the fix.

  • VM/Machine.cpp: (KJS::slideRegisterWindowForCall): When setting omitted parameters to undefined, account for the space for local variables.
6:57 PM Changeset in webkit [31928] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver.


  • fix codegen handling of dst registers


1.006x speedup (not sure why).


Most emitCode functions take an optional "dst" parameter that says
where the output of the instruction should be written. I made some
functions for convenient handling of the dst register:

  • VM/CodeGenerator.h: (KJS::CodeGenerator::tempDestination): Takes the dst register. Returns it if it is not null and is a temporary, otherwise allocates a new temporary. This is intended for cases where an intermediate value might be written into the dst

(KJS::CodeGenerator::finalDestination): Takes the dst register and an optional
register that was used as a temp destination. Picks the right thing for the final
output. Intended to be used as the output register for the instruction that generates
the final value of a particular node.


(KJS::CodeGenerator::moveToDestinationIfNeeded): Takes dst and a
RegisterID; moves from the register to dst if dst is defined and
different from the register. This is intended for cases where the
result of a node is already in a specific register (likely a
local), and so no code needs to be generated unless a specific
destination has been requested, in which case a move is needed.


I also applied these methods throughout emitCode functions. In
some cases this was just cleanup, in other cases I fixed actual
codegen bugs. Below I have given specific comments for the cases
where I believe I fixed a codegen bug, or improved quality of codegen.


  • kjs/nodes.cpp: (KJS::NullNode::emitCode): (KJS::FalseNode::emitCode): (KJS::TrueNode::emitCode): (KJS::NumberNode::emitCode): (KJS::StringNode::emitCode): (KJS::RegExpNode::emitCode): (KJS::ThisNode::emitCode): Now avoids emitting a mov when dst is the same as the this register (the unlikely case of "this = this"); (KJS::ResolveNode::emitCode): Now avoids emitting a mov when dst is the same as the local regiester, in the local var case (the unlikely case of "x = x"); (KJS::ArrayNode::emitCode): Fixed a codegen bug where array literal element expressions may have observed an intermediate value of constructing the array. (KJS::ObjectLiteralNode::emitCode): (KJS::PropertyListNode::emitCode): Fixed a codegen bug where object literal property definition expressions may have obesrved an intermediate value of constructing the object. (KJS::BracketAccessorNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::NewExprNode::emitCode): (KJS::FunctionCallValueNode::emitCode): (KJS::FunctionCallBracketNode::emitCode): (KJS::FunctionCallDotNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PostDecResolveNode::emitCode): (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode): (KJS::DeleteResolveNode::emitCode): (KJS::DeleteBracketNode::emitCode): (KJS::DeleteDotNode::emitCode): (KJS::DeleteValueNode::emitCode): (KJS::VoidNode::emitCode): (KJS::TypeOfResolveNode::emitCode): (KJS::TypeOfValueNode::emitCode): (KJS::PreIncResolveNode::emitCode): Fixed a codegen bug where the final value would not be output to the dst register in the local var case. (KJS::PreDecResolveNode::emitCode): Fixed a codegen bug where the final value would not be output to the dst register in the local var case. (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::PreIncDotNode::emitCode): (KJS::PreDecDotNode::emitCode): (KJS::UnaryPlusNode::emitCode): (KJS::NegateNode::emitCode): (KJS::BitwiseNotNode::emitCode): (KJS::LogicalNotNode::emitCode): (KJS::MultNode::emitCode): (KJS::DivNode::emitCode): (KJS::ModNode::emitCode): (KJS::AddNode::emitCode): (KJS::SubNode::emitCode): (KJS::LeftShiftNode::emitCode): (KJS::RightShiftNode::emitCode): (KJS::UnsignedRightShiftNode::emitCode): (KJS::LessNode::emitCode): (KJS::GreaterNode::emitCode): (KJS::LessEqNode::emitCode): (KJS::GreaterEqNode::emitCode): (KJS::InstanceOfNode::emitCode): (KJS::InNode::emitCode): (KJS::EqualNode::emitCode): (KJS::NotEqualNode::emitCode): (KJS::StrictEqualNode::emitCode): (KJS::NotStrictEqualNode::emitCode): (KJS::BitAndNode::emitCode): (KJS::BitXOrNode::emitCode): (KJS::BitOrNode::emitCode): (KJS::LogicalAndNode::emitCode): (KJS::LogicalOrNode::emitCode): (KJS::ConditionalNode::emitCode): (KJS::emitReadModifyAssignment): Allow an out argument separate from the operands, needed for fixes below. (KJS::ReadModifyResolveNode::emitCode): Fixed a codegen bug where the right side of the expression may observe an intermediate value. (KJS::AssignResolveNode::emitCode): Fixed a codegen bug where the right side of the expression may observe an intermediate value. (KJS::ReadModifyDotNode::emitCode): Fixed a codegen bug where the right side of the expression may observe an intermediate value. (KJS::ReadModifyBracketNode::emitCode): Fixed a codegen bug where the right side of the expression may observe an intermediate value. (KJS::CommaNode::emitCode): Avoid writing temporary value to dst register. (KJS::ReturnNode::emitCode): Void return should return undefined, not null. (KJS::FuncExprNode::emitCode):
6:56 PM Changeset in webkit [31927] by andersca@apple.com
  • 2 edits in trunk/WebCore

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

Fix leaks seen on bot.


  • loader/SubstituteResource.h: (WebCore::SubstituteResource::~SubstituteResource): Add a virtual destructor.
6:10 PM Changeset in webkit [31926] by beidson@apple.com
  • 3 edits in trunk/WebCore

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

Reviewed by Anders Carlsson

Fix for <rdar://problem/5820819> - Crash sometime occurs when interrupting a load.

Each SubresourceLoader has a client. That client is often a Loader::Host object.
The Loader/Host/CachedResource system predates our ref-counting and ownership models, and therefore manages
object lifetime manually.

The cause of this crash was that we would sometimes call "didFail()" on a Host object twice - Once when
beginning the new navigation, and once when the new navigation is committed.

The problem is after the first time Host::didFail() gets called, the Host is almost always deleted shortly
thereafter. But the SubresourceLoader had a dangling pointer to the Host which is now invalid.

I explored a few options to fix this bug. The one that was most obviously "clean" was to call cancel() on
the SubresourceLoader itself, which would end up calling Host::didFail() and doing the appropriate cache
cleanup.

This problem with that approach was that it had other side effects - when you cut off a load that had already
partially displayed in the WebView, images that hadn't finished loading would be invalidated and immediately
turn into broken image icons. This was visually jarring and pretty unacceptable.

So I decided to follow a much simpler approach, which was to have the Host clear the client pointer from each
SubresourceLoader before it forgets about it. This leaves things the same visually and fixes the crash.

Note that the layout test for this - if possible - will require other enhancements to DRT including possibly
adding support for window.stop(). That task is non-trivial, and is documented in <rdar://problem/5061826>

  • loader/SubresourceLoader.h: (WebCore::SubresourceLoader::clearClient): Add a method to clear the SubresourceLoaderClient. This is perfectly safe to do on an in-flight SubresourceLoader as they are already designed to be client-less, and already null-check the client before calling it.
  • loader/loader.cpp: (WebCore::Loader::Host::didFail): The SubresourceLoader itself might not be finished loading and might decide to call into its client later. Since the client has no guaranteed lifetime and is liable to be deleted after didFail() is called, call clearClient() on the SubresourceLoader so such an invalid call can't happen.
4:48 PM Changeset in webkit [31925] by kdecker@apple.com
  • 4 edits in trunk/WebKit/mac

Reviewed by Anders.

<rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403


In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
a bundle out from underneath itself.

  • Plugins/WebBasePluginPackage.h: Added unload method.
  • Plugins/WebBasePluginPackage.m: (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload. (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage unload]): Added.
4:24 PM Changeset in webkit [31924] by andersca@apple.com
  • 2 edits in trunk/WebKitTools

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

Add missing ;


  • Scripts/build-webkit:
4:16 PM Changeset in webkit [31923] by andersca@apple.com
  • 13 edits
    12 adds in trunk

JavaScriptCore:

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

Reviewed by Adam.

Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.


  • Configurations/JavaScriptCore.xcconfig:

WebCore:

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

Reviewed by Adam.

Add empty files for the application cache.


  • Configurations/WebCore.xcconfig:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/build-generated-files.sh: Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.


  • WebCore.xcodeproj/project.pbxproj:
  • loader/appcache: Added.
  • loader/appcache/ApplicationCache.cpp: Added.
  • loader/appcache/ApplicationCache.h: Added.
  • loader/appcache/ApplicationCacheGroup.cpp: Added.
  • loader/appcache/ApplicationCacheGroup.h: Added.
  • loader/appcache/ApplicationCacheResource.cpp: Added.
  • loader/appcache/ApplicationCacheResource.h: Added.
  • loader/appcache/DOMApplicationCache.cpp: Added.
  • loader/appcache/DOMApplicationCache.h: Added.
  • loader/appcache/DOMApplicationCache.idl: Added.
  • loader/appcache/ManifestParser.cpp: Added.
  • loader/appcache/ManifestParser.h: Added.

WebKit/mac:

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

Reviewed by Adam.

Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.

  • Configurations/WebKit.xcconfig:

WebKit/win:

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

Reviewed by Adam.

Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.

  • WebKit.vcproj/WebKit.vcproj:

WebKitTools:

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

Reviewed by Adam.

Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.

  • Scripts/build-webkit:
3:27 PM Changeset in webkit [31922] by kmccullough@apple.com
  • 6 edits in trunk/WebCore

2008-04-15 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

  • <rdar://problem/5792587> AJAX (XMLHttpRequest) support for the Inspector (17776)
  • Add XMLHttpRequest support to the inspector.
  • English.lproj/InspectorLocalizedStrings.js: Specify capitalization instead of using text-transform because XHR must capitalize all the letters.
  • page/inspector/Resource.js: Assume XHRs are textType even though this may not always be true. Also add the XHR category and let all mime types be consistent with it.
  • page/inspector/ResourcesPanel.js: Set the XHR category color.
  • page/inspector/inspector.css: Make XHRs yellow and fonts red because XHRs are more common than fonts and yellow next to orange (scripts) is not as harsh on the eyes as red next to orange.
  • page/inspector/inspector.js: Specify capitalization again.
2:56 PM Changeset in webkit [31921] by mjs@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Geoff.

  • fix huge performance regression (from trunk) in string-unpack-code


This restores string-unpack-code performance to parity with
trunk (2.27x speedup relative to previous SquirrelFish)


  • VM/Machine.cpp: (KJS::Machine::execute): Shrink register file after call to avoid growing repeatedly.
2:31 PM Changeset in webkit [31920] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

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

Fix the zoom property so that it works properly with font-size.

Reviewed by John Sullivan

Added fast/css/zoom-font-size.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::updateFont): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::checkForZoomChange):
  • css/CSSStyleSelector.h:
2:29 PM Changeset in webkit [31919] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Sam Weinig.


Fixed dumpCallFrame to match our new convention of passing around a
ScopeChainNode* instead of a ScopeChain*.

  • JavaScriptCore.exp:
  • VM/Machine.cpp: (KJS::Machine::dumpCallFrame):
  • VM/Machine.h:
1:56 PM Changeset in webkit [31918] by timothy@apple.com
  • 3 edits in trunk/WebCore

Fixes the bug where a resource view could still be shown after the inspected
page navigates to another page.

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

Reviewed by Adam Roben.

  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype.reset): Close the visible resource.
Iterate over all the resources and zero errors and warnings and delete the
resource view and tree element. Removes all children of resourceViews. Passes
true to _updateGraphDividersIfNeeded to force an immediate update.
(WebInspector.ResourcesPanel.prototype.removeResource): Added. Closes
the resource view if it is visible. Removes the resource from the _resources
array. Removes the tree element from the outline tree. Zeros out the errors
and warnings properties. Deletes the tree element and resource view properties.
(WebInspector.ResourcesPanel.prototype.closeVisibleResource): Null check
this._calculator for times when reset is called before the calculator is set.

  • page/inspector/inspector.js:

(WebInspector.removeResource): Call ResourcesPanel.removeResource.

1:55 PM Changeset in webkit [31917] by andersca@apple.com
  • 4 edits in trunk/WebCore

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

Reviewed by Adam.

Rename "archive" to "substitute" in a couple of places.


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::DocumentLoader): (WebCore::DocumentLoader::clearArchiveResources): (WebCore::DocumentLoader::deliverSubstituteResourcesAfterDelay): (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired): (WebCore::DocumentLoader::isSubstituteLoadPending): (WebCore::DocumentLoader::cancelPendingSubstituteLoad): (WebCore::DocumentLoader::scheduleArchiveLoad): (WebCore::DocumentLoader::setDefersLoading):
  • loader/DocumentLoader.h:
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::load): (WebCore::ResourceLoader::didCancel):
12:44 PM Changeset in webkit [31916] by andersca@apple.com
  • 4 edits in trunk/WebCore

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

Reviewed by Adam.

Move the URL, response and data to SubstituteResource.


  • loader/SubstituteResource.h: (WebCore::SubstituteResource::url): (WebCore::SubstituteResource::response): (WebCore::SubstituteResource::data): (WebCore::SubstituteResource::SubstituteResource):
  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::ArchiveResource):
  • loader/archive/ArchiveResource.h: (WebCore::ArchiveResource::frameName):
12:21 PM Changeset in webkit [31915] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

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

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

Make sure to ignore zoom:0. That is not supposed to actually do anything. It's a hack in IE
to cause an element to set "hasLayout."

Reviewed by Anders

Added fast/css/zoom-property-parsing.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty):
12:03 PM Changeset in webkit [31914] by andersca@apple.com
  • 4 edits
    1 add in trunk/WebCore

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

Reviewed by Adam.

Add a (currently empty) SubstituteResource class and make ArchiveResource inherit from it.


  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/SubstituteResource.h: Added.
  • loader/archive/ArchiveResource.h:
11:49 AM Changeset in webkit [31913] by Antti Koivisto
  • 3 edits in trunk/WebCore

2008-04-15 Antti Koivisto <Antti Koivisto>

Reviewed by Geoff.

Fix <rdar://problem/5862921>
REGRESSION: Leak in SVGSVGElement::SVGSVGElement


In these strange days RefCounted starts with count of one.

  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement):
  • svg/animation/SMILTimeContainer.h: (WebCore::SMILTimeContainer::create):
11:15 AM Changeset in webkit [31912] by hyatt@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

2008-04-15 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by hyatt

[CSS1, CSS3] Fixed the background-origin calculation for root elements
(background-size and background-position are affected), r10794
[CSS3] Fixed the background-size transformation where width is specified in percentage and height is left to auto

Test: fast/backgrounds/background-origin-root-element.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize): (WebCore::RenderBox::calculateBackgroundImageGeometry):

LayoutTests:

2008-04-15 Anatoli Papirovski <apapirovski@mac.com>

Reviewed by hyatt

Added test case for background-origin calculation on root elements
(background-repeat and background-size), r10794 [CSS1 + CSS3]

  • fast/backgrounds/background-origin-root-element.html: Added.
  • platform/mac/fast/backgrounds/background-origin-root-element-expected.checksum: Added.
  • platform/mac/fast/backgrounds/background-origin-root-element-expected.png: Added.
  • platform/mac/fast/backgrounds/background-origin-root-element-expected.txt: Added.
10:54 AM Changeset in webkit [31911] by beidson@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by John Sullivan

Do a more complete job adding the "WebArchiveDebugMode" pref

  • WebView/WebPreferences.m: Add both getter *and* setter (-[WebPreferences webArchiveDebugModeEnabled]): (-[WebPreferences setWebArchiveDebugModeEnabled:]):
  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): Call the renamed getter
10:24 AM Changeset in webkit [31910] by timothy@apple.com
  • 4 edits in trunk/WebCore

Fixes the regression where the error and warning counts did not show up in the Resources
sidebar next to resources.

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

Reviewed by Adam Roben.

  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype.addMessageToResource): Increment errors or warnings
on the resource. Set the bubbleText to the total of the errors and warnings. Add a error
or warning class to the bubble.
(WebInspector.ResourcesPanel.prototype.clearMessages): Zero out the errors and warnings
properties on each resource. Set the bubbleText back to an empty string.

  • page/inspector/SidebarTreeElement.js:

(WebInspector.SidebarTreeElement): Create a statusElement.
(WebInspector.SidebarTreeElement.prototype.get bubbleText): Return _bubbleText.
(WebInspector.SidebarTreeElement.prototype.set bubbleText): Create bubbleElement if needed.
Assign the value to _bubbleText and bubbleElement.textContent.
(WebInspector.SidebarTreeElement.prototype.onattach): Append statusElement to _listItemNode.

  • page/inspector/inspector.css: Style rules for bubbles and status elements.
10:24 AM Changeset in webkit [31909] by timothy@apple.com
  • 5 edits in trunk/WebCore

Fixes the regression where error and warning bubbles would not be added
to the source view of a resource.

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

Reviewed by Adam Roben.

  • css/view-source.css:

(.webkit-html-message-bubble): Add a min-height to make sure the border-radius
has enough room to apply.

  • page/inspector/Console.js:

(WebInspector.Console.prototype.addMessage): Removed code that added messages
to resource panels and incremented error and warning counts on resources.
Now just call ResourcesPanel.addMessageToResource after assigning the resource
to the console message.
(WebInspector.Console.prototype.clearMessages): Removed code that cleared error
and warning counts from resources an call ResourcesPanel.clearMessages.

  • page/inspector/ResourcesPanel.js:

(WebInspector.ResourcesPanel.prototype.addMessageToResource): Call addMessage
on the resource's view, if it is implemented.
(WebInspector.ResourcesPanel.prototype.clearMessages): Call clearMessages
on all the resource views for the ones that implement it.
(WebInspector.ResourcesPanel.prototype.refreshResource): Call _resourceView
to make the resource's view if needed. Use a local view variable.
(WebInspector.ResourcesPanel.prototype._resourceView): Added helper function
to create a resource view if needed.

  • page/inspector/SourceView.js:

(WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Delete the
_frameNeedsSetup property at the beginning to prevent recursion. Get the
length of the messages array when assigning the local length variable.
(WebInspector.SourceView.prototype.addMessage): Renamed from addMessageToSource.
(WebInspector.SourceView.prototype.clearMessages): Added. Clear all the message
bubbles that might be sprinkled in the source. Also clears the messages array.
(WebInspector.SourceView.prototype._addMessageToSource): Create the image
element in the Inspector's document so we can use relative image URLs. Then
adopt the image element into the frame's document.

10:07 AM Changeset in webkit [31908] by beidson@apple.com
  • 4 edits
    20 adds in trunk

WebCore:

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

Reviewed by Anders

Hook up event dispatching for window.localStorage changes.

Tests: storage/domstorage/localstorage/enumerate-storage.html

storage/domstorage/localstorage/iframe-events.html
storage/domstorage/localstorage/index-get-and-set.html
storage/domstorage/localstorage/onstorage-attribute-markup.html
storage/domstorage/localstorage/onstorage-attribute-setattribute.html
storage/domstorage/localstorage/simple-events.html
storage/domstorage/localstorage/simple-usage.html
storage/domstorage/localstorage/window-open.html

  • storage/LocalStorage.cpp: (WebCore::LocalStorage::dispatchStorageEvent): Walk every Page in the PageGroup, adding each Frame that matches the storage area's security origin to a Vector. Then dispatch the StorageEvent to each Frame in the Vector
  • storage/SessionStorage.cpp: (WebCore::SessionStorage::dispatchStorageEvent): Adopt the technique used in LocalStorage, which is to only add the Frames to the Vector if their security origin matches

LayoutTests:

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

Reviewed by Anders

Hook up event dispatching for window.localStorage changes.
Now a meaningful LayoutTest suite can be landed for window.localStorage.

  • storage/domstorage/localstorage/enumerate-storage-expected.txt: Added.
  • storage/domstorage/localstorage/enumerate-storage.html: Added.
  • storage/domstorage/localstorage/iframe-events-expected.txt: Added.
  • storage/domstorage/localstorage/iframe-events.html: Added.
  • storage/domstorage/localstorage/index-get-and-set-expected.txt: Added.
  • storage/domstorage/localstorage/index-get-and-set.html: Added.
  • storage/domstorage/localstorage/onstorage-attribute-markup-expected.txt: Added.
  • storage/domstorage/localstorage/onstorage-attribute-markup.html: Added.
  • storage/domstorage/localstorage/onstorage-attribute-setattribute-expected.txt: Added.
  • storage/domstorage/localstorage/onstorage-attribute-setattribute.html: Added.
  • storage/domstorage/localstorage/resources: Added.
  • storage/domstorage/localstorage/resources/clearLocalStorage.js: Added.
  • storage/domstorage/localstorage/resources/iframe-events-second.html: Added.
  • storage/domstorage/localstorage/resources/window-open-second.html: Added.
  • storage/domstorage/localstorage/simple-events-expected.txt: Added.
  • storage/domstorage/localstorage/simple-events.html: Added.
  • storage/domstorage/localstorage/simple-usage-expected.txt: Added.
  • storage/domstorage/localstorage/simple-usage.html: Added.
  • storage/domstorage/localstorage/window-open-expected.txt: Added.
  • storage/domstorage/localstorage/window-open.html: Added.
4:51 AM Changeset in webkit [31907] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Ariya Hidayat <ariya.hidayat@trolltech.com>

fix potential crash when loading image(s)

Crash may occur. If compiled with 4.3, the variable is not initialized.
This fix solves https://bugs.webkit.org/show_bug.cgi?id=17174

3:51 AM Changeset in webkit [31906] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

Simon Hausmann <Simon Hausmann>

Update the micro focus for input methods as soon as the composition mode changes
or the caret/selection changes.

3:51 AM Changeset in webkit [31905] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Simon Hausmann <Simon Hausmann>

Don't use QDir, QString or any locale sensitive function before constructing Q(Core)Application,
it yields undefined behaviour or wrong default codec initialization.

3:50 AM Changeset in webkit [31904] by Simon Hausmann
  • 5 edits in trunk

Olivier Goffart <ogoffart@trolltech.com>

Fixes: copy to clipboard when selecting, and paste when clicking with the middle button

3:29 AM Changeset in webkit [31903] by Simon Hausmann
  • 7 edits in trunk/WebKit/qt

Michael Brasser <michael.brasser@trolltech.com>

Add basic input method support.

3:28 AM Changeset in webkit [31902] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

Simon Hausmann <Simon Hausmann>

Added (QWebFrame|QWebView)::textZoomFactor.

3:28 AM Changeset in webkit [31901] by Simon Hausmann
  • 3 edits in trunk/WebKit/qt

Michael Brasser <michael.brasser@trolltech.com>

Added simple scrolling API to QWebFrame.

The intent is that it works similar to QAbstractScrollArea.

3:12 AM Changeset in webkit [31900] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Olivier Goffart <ogoffart@trolltech.com>

Fixes: implement the OpenFrameInNewWindow action.

2:40 AM Changeset in webkit [31899] by Simon Hausmann
  • 44 edits in trunk

Fix compilation with Qt namespaces

Qt can be configured to have all of its classes inside a specified namespaces.
This is for example used in plugin/component environments like Eclipse.

This change makes it possible to let the Qt port compile against a namespaced
Qt by the use of macros Qt provides to properly forward declare Qt classes in
the namespace.

Signed-off-by: Simon

2:18 AM Changeset in webkit [31898] by oliver@apple.com
  • 7 edits in branches/squirrelfish/JavaScriptCore

Bug 18436: Need to throw exception on read/modify/write or similar resolve for nonexistent property
<https://bugs.webkit.org/show_bug.cgi?id=18436>

Reviewed by Maciej.

Add op_resolve_base_and_property for read/modify/write operations,
this adds a "superinstruction" to resolve the base and value of a
property simultaneously. Just using resolveBase and resolve results
in an 5% regression in ubench, 30% in loop-empty-resolve (which is
expected). 1.3% progression in sunspider, 2.1% in ubench, with a
21% gain in loop-empty-resolve. The only outlier is function-missing-args
which gets a 3% regression that I could never resolve.

2:07 AM Changeset in webkit [31897] by mjs@apple.com
  • 8 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Oliver.


3d-raytrace and string-unpack-code now run.


The basic approach is to pass around ScopeChainNode* instead of
ScopeChain*, which in addition to not becoming suddenly an invalid
pointer also saves an indirection.


This is an 0.4% speedup on SunSpider --squirrelfish (1.8% on --ubench)


  • VM/Machine.cpp: (KJS::resolve): (KJS::resolveBase): (KJS::resolveBaseAndFunc): (KJS::initializeCallFrame): (KJS::scopeChainForCall): (KJS::Machine::unwindCallFrame): (KJS::Machine::throwException): (KJS::Machine::execute): (KJS::Machine::privateExecute):
  • VM/Machine.h:
  • VM/Register.h: (KJS::Register::):
  • kjs/nodes.cpp: (KJS::EvalNode::generateCode): (KJS::FunctionBodyNode::generateCode): (KJS::ProgramNode::generateCode): (KJS::ProgramNode::processDeclarations): (KJS::EvalNode::processDeclarations): (KJS::FuncDeclNode::makeFunction): (KJS::FuncExprNode::makeFunction):
  • kjs/nodes.h: (KJS::ProgramNode::): (KJS::EvalNode::): (KJS::FunctionBodyNode::):
  • kjs/object.h:
  • kjs/scope_chain.h: (KJS::ScopeChainNode::ScopeChainNode): (KJS::ScopeChainNode::deref): (KJS::ScopeChainIterator::ScopeChainIterator): (KJS::ScopeChainIterator::operator*): (KJS::ScopeChainIterator::operator->): (KJS::ScopeChain::ScopeChain): (KJS::ScopeChain::node): (KJS::ScopeChain::deref): (KJS::ScopeChain::ref): (KJS::ScopeChainNode::ref): (KJS::ScopeChainNode::release): (KJS::ScopeChainNode::begin): (KJS::ScopeChainNode::end):
12:20 AM squirrelfish edited by ggaren@apple.com
(diff)

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.

Note: See TracTimeline for information about the timeline view.