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

Timeline



Apr 28, 2008:

11:14 PM Changeset in webkit [32672] by rwlbuis@webkit.org
  • 2 edits in trunk/WebKit/mac

Reviewed by Maciej.

Build fix for Tiger.

11:05 PM Changeset in webkit [32671] by mitz@apple.com
  • 13 edits in trunk

WebCore:

Reviewed by Maciej Stachowiak.

  • rendering/InlineTextBox.cpp: (WebCore::paintTextWithShadows): The loop was doing one extra pass without shadow even in cases where the last pass with a shadow was painting the text at the right position (rather than outside the clip). Fixed that. The only case where a separate pass without shadow is needed is when there is text-stroke, since in that case all shadow passes paint the text outside the clip.

LayoutTests:

Reviewed by Maciej Stachowiak.

  • platform/mac/fast/css/shadow-multiple-expected.checksum:
  • platform/mac/fast/css/shadow-multiple-expected.png:
  • platform/mac/fast/repaint/shadow-multiple-horizontal-expected.checksum:
  • platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum:
  • platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum:
  • platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/mac/fast/repaint/shadow-multiple-vertical-expected.checksum:
  • platform/mac/fast/repaint/shadow-multiple-vertical-expected.png:
10:53 PM SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
10:51 PM SquirrelFishPerfIdeas edited by mjs@apple.com
(diff)
10:30 PM SquirrelFishPerfIdeas edited by ggaren@apple.com
(diff)
9:10 PM Changeset in webkit [32670] by oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Restore base pointer when popping a global RegisterFile

Reviewed by Geoff

8:57 PM Changeset in webkit [32669] by oliver@apple.com
  • 5 edits in branches/squirrelfish/JavaScriptCore

Bug 18643: SQUIRRELFISH: need to support implicit function calls (valueOf, toString, getters/setters)
<https://bugs.webkit.org/show_bug.cgi?id=18643>

Reviewed by Geoff

Partial fix. This results in all implicit calls to toString or valueOf
executing in a separate RegisterFile, so ensuring that the the pointers
in the triggering interpreter don't get trashed. This still leaves the
task of preventing new global re-entry from toString and valueOf from
clobbering the RegisterFile.

8:14 PM Changeset in webkit [32668] by beidson@apple.com
  • 11 edits
    4 adds in trunk

WebCore:

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

Reviewed by Sam Weinig

Add Storage.clear(), per updates to HTML5

Tests: storage/domstorage/localstorage/clear.html

storage/domstorage/sessionstorage/clear.html

  • storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::areaCleared):
  • storage/LocalStorageArea.h:
  • storage/SessionStorageArea.cpp: (WebCore::SessionStorageArea::areaCleared):
  • storage/SessionStorageArea.h:
  • storage/Storage.cpp: (WebCore::Storage::clear):
  • storage/Storage.h:
  • storage/Storage.idl:
  • storage/StorageArea.cpp: (WebCore::StorageArea::internalClear):
  • storage/StorageArea.h: (WebCore::StorageArea::clear):

LayoutTests:

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

Reviewed by Sam Weinig

Add Storage.clear(), per updates to HTML5

  • storage/domstorage/localstorage/clear-expected.txt: Added.
  • storage/domstorage/localstorage/clear.html: Added.
  • storage/domstorage/sessionstorage/clear-expected.txt: Added.
  • storage/domstorage/sessionstorage/clear.html: Added.
6:54 PM Changeset in webkit [32667] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


Simplified activation object a bit: No need to store the callee
in the activation object -- we can pull it out of the call frame
when needed, instead.


SunSpider reports no change.

6:30 PM Changeset in webkit [32666] by adele@apple.com
  • 21 edits in trunk

WebCore:

2008-04-28 Adele Peterson <adele@apple.com>

Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.

WebCore part of fix for <rdar://problem/3709505>
Safari should have a way to upload bundles from the file upload control (as zip)

  • WebCore.base.exp: Added symbols.
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ask the application if a file will need to be replaced before it's uploaded. It will also give the replacement filename which is used to determine the correct mime-type and to construct the correct header.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::submitForm): Asks the application to generate any files for the form data before a form submission starts. (WebCore::FrameLoader::loadItem): ditto.
  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::didReceiveResponse): Tells the FormData from the request to remove any generated files if it needs to. (WebCore::ResourceLoader::didCancel): ditto. (WebCore::ResourceLoader::didFail): ditto.
  • platform/network/FormData.cpp: (WebCore::FormData::FormData): Initializes m_hasGeneratedFiles, which keeps track of whether there are files that will need to be removed. (WebCore::FormData::~FormData): Added. Assert that there are no files that need to be removed, but if there are, release builds will still remove them here. (WebCore::FormData::appendFile): Passes along a shouldGenerateFile flag to the FormDataElement. (WebCore::FormData::generateFiles): Added. Iterates through the FormDataElements, and using the ChromeClient pointer, asks the application to create any compressed files so the FormDataElements can store the paths. (WebCore::FormData::removeGeneratedFilesIfNeeded): Added. Removes generated files and their directories (if empty).
  • platform/network/FormData.h: (WebCore::FormDataElement::FormDataElement): Added a boolean to track whether the file will need to be generated, and a string to hold the path of the generated file.
  • platform/network/mac/FormDataStreamMac.mm: (WebCore::advanceCurrentStream): Uses the generated file path instead of the original file path when streaming the file. (WebCore::setHTTPBody): Uses the generated file path when determining the size of the file to be uploaded.
  • platform/FileSystem.h: Added directoryName.
  • platform/posix/FileSystemPOSIX.cpp: (WebCore::directoryName): Added.
  • platform/gtk/FileSystemGtk.cpp: (WebCore::directoryName): Added empty implementation.
  • platform/qt/FileSystemQt.cpp: (WebCore::directoryName): ditto.
  • platform/win/FileSystemWin.cpp: (WebCore::directoryName): ditto.
  • platform/wx/FileSystemWx.cpp: (WebCore::directoryName): ditto.

Added new ChromeClient methods to give the application control over the file compression for uploading.

  • page/Chrome.cpp: (WebCore::ChromeClient::shouldReplaceWithGeneratedFileForUpload): Added a default implementation. (WebCore::ChromeClient::generateReplacementFile): ditto.
  • page/ChromeClient.h:

WebKit/mac:

2008-04-28 Adele Peterson <adele@apple.com>

Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.

WebKit part of fix for <rdar://problem/3709505>
Safari should have a way to upload bundles from the file upload control (as zip)

Added UIDelegate methods to let the application handle generating replacement files for uploads.
In this case, Safari will create archived files for bundles so they can be uploaded properly.

  • DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]): (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::shouldReplaceWithGeneratedFileForUpload): (WebChromeClient::generateReplacementFile):
  • WebView/WebUIDelegatePrivate.h:
6:28 PM Changeset in webkit [32665] by andersca@apple.com
  • 6 edits in trunk

WebCore:

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

Reviewed by Sam, Mark, Adele and Darin.

Add a (currently not called) method for opening the application cache database.


  • WebCore.base.exp:
  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::setCacheDirectory): (WebCore::ApplicationCacheStorage::openDatabase):
  • loader/appcache/ApplicationCacheStorage.h:

WebKit/mac:

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

Reviewed by Sam, Mark, Adele and Darin.

Initialize the application cache path.


  • WebView/WebView.mm: (WebKitInitializeApplicationCachePathIfNecessary): (-[WebView _commonInitializationWithFrameName:groupName:]):
6:18 PM Changeset in webkit [32664] by alice.liu@apple.com
  • 34 edits
    8 adds in trunk

WebCore:

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

Reviewed by Darin.

Fix <rdar://problem/4911289> Add tabindex property to all children
of HTMLElement (7138)
http://bugs.webkit.org/show_bug.cgi?id=7138

Test: fast/events/tabindex-focus-blur-all.html

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMPrivate.h: -DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h are no longer needed
  • bindings/objc/PublicDOMInterfaces.h: -Moving focus, blur, tabindex to HTMLElement from its descendants.
  • dom/Node.cpp: (WebCore::Node::Node): (WebCore::Node::isFocusable): (WebCore::Node::isKeyboardFocusable): -The concept of being focusable now needs to account for tabindex attribute.
  • dom/Node.h: -Need to use a bit to keep track of whether tabindex was explicitly set to 0 or was just initialized to 0. (WebCore::Node::tabIndex): -Make this virtual so that Anchors and GenericFormElements can determine tabindex without accounting for focusability (WebCore::Node::setTabIndexExplicitly): -Renamed setTabIndex() to setTabIndexExplicitly() so as not to hide behind and/or be confused for HTMLElement::setTabIndex
  • html/HTMLAnchorElement.cpp:
  • html/HTMLAnchorElement.h: (WebCore::HTMLAnchorElement::tabIndex):
  • html/HTMLGenericFormElement.cpp:
  • html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::tabIndex): -Anchors and form elements are normally focusable, and need to avert the check for focusability in HTMLElement::tabIndex because tabIndex could be queried before a first layout happens.
  • html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute): -Function Node::setTabIndex changed to Node::setTabIndexExplicitly (WebCore::HTMLElement::isFocusable): -The concept of being focusable now needs to account for tabindex attribute. (WebCore::HTMLElement::tabIndex): -HTML5 specifies that querying tabindex for elements that aren't focusable shall return -1 (WebCore::HTMLElement::setTabIndex): -New default implementation
  • html/HTMLElement.h:
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::focus): -Now with HTML5's enhanced specification of tabindex, legend elements themselves shall focus (if they should), and not the first form element they encapsulate. This matches Firefox behavior. HTMLLabelElements still forward focus to the encapsulated element. This also matches other browsers.
  • html/HTMLAreaElement.cpp: (WebCore::HTMLAreaElement::isFocusable):
  • html/HTMLAreaElement.h: -HTMLAreaElement isn't subject to the same focusability requirements as its parent, HTMLAnchorElement. Default HTMLElement implementation is desired.
  • html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::isFocusable):
  • html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::isFocusable):
  • html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::isFocusable):
  • html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::isFocusable): -These elements aren't subject to the same focusability requirements as their parent, HTMLGenericFormElement. Default HTMLElement implementation is desired.
  • html/HTMLAnchorElement.idl:
  • html/HTMLAreaElement.idl:
  • html/HTMLButtonElement.idl:
  • html/HTMLElement.idl:
  • html/HTMLInputElement.idl:
  • html/HTMLLabelElement.idl:
  • html/HTMLLegendElement.idl:
  • html/HTMLObjectElement.idl:
  • html/HTMLSelectElement.idl:
  • html/HTMLTextAreaElement.idl: -Moving tabindex attribute, focus and blur methods from descendants of HTMLElement to HTMLElement

WebKit/mac:

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

Reviewed by Darin.

Fix <rdar://problem/4911289> Add tabindex property to all children
of HTMLElement (7138)
http://bugs.webkit.org/show_bug.cgi?id=7138

  • MigrateHeaders.make: Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h because now that focus() has been moved to DOMHTMLElement.h, these files are no longer needed.

LayoutTests:

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

Reviewed by Sam Weinig.

Fix <rdar://problem/4911289> Add tabindex property to all children
of HTMLElement (7138)
http://bugs.webkit.org/show_bug.cgi?id=7138

minor updates to these existing tests:

  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/plugin-attributes-enumeration-expected.txt:
  • fast/dom/resources/domListEnumeration.js:
  • fast/events/resources/abe.png: Added.
  • fast/events/resources/tabindex-focus-blur-all-frame1.html: Added.
  • fast/events/resources/tabindex-focus-blur-all-frame2.html: Added.
  • fast/events/resources/tabindex-focus-blur-all-iframe1.html: Added.
  • fast/events/resources/tabindex-focus-blur-all-iframe2.html: Added.
  • fast/events/resources/tabindex-focus-blur-all.js: Added.
  • fast/events/tabindex-focus-blur-all-expected.txt: Added.
  • fast/events/tabindex-focus-blur-all.html: Added.
5:26 PM Changeset in webkit [32663] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


RS by Oliver Hunt on moving JSArguments.cpp out of AllInOneFile.cpp.

Substantially more handling of "arguments": "arguments" works fully
now, but "f.arguments" still doesn't work.

Fixes 10 regression tests.


SunSpider reports no regression.

  • kjs/JSActivation.cpp: (KJS::JSActivation::createArgumentsObject): Reconstruct an arguments List to pass to the arguments object constructor.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/AllInOneFile.cpp: Removed JSActivation.cpp from AllInOneFile.cpp because that seems to make GCC happy. (Previously, I had added JSActivation.cpp to AllInOneFile.cpp because *that* seemed to make GCC happy. So it goes.)
4:39 PM Changeset in webkit [32662] by ggaren@apple.com
  • 4 edits in branches/squirrelfish/JavaScriptCore

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

Reviewed by Maciej Stachowiak.


Groundwork for more handling of "arguments". I'm not checking in the
actual handling of "arguments" yet, because it still needs a little
fiddling to avoid a performance regression.


SunSpider reports no change.

  • VM/Machine.cpp: (KJS::initializeCallFrame): Put argc in the register file, so the arguments object can find it later, to determine arguments.length.
  • kjs/nodes.h: (KJS::FunctionBodyNode::): Added a special code accessor for when you know the code has already been generated, and you don't have a scopeChain to supply for potential code generation. (This is the case when the activation object creates the arguments object.)
4:04 PM Changeset in webkit [32661] by oliver@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

Replace unsafe use of auto_ptr in Vector with manual memory
management.

Reviewed by Geoff

2:28 PM Changeset in webkit [32660] by mitz@apple.com
  • 15 edits
    20 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

  • support multiple box- and text-shadows

Tests: fast/css/shadow-multiple.html

fast/repaint/shadow-multiple-horizontal.html
fast/repaint/shadow-multiple-strict-horizontal.html
fast/repaint/shadow-multiple-strict-vertical.html
fast/repaint/shadow-multiple-vertical.html

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForShadow): Changed to account for reversing the order of the shadow values in the ShadowData list.
  • css/CSSValueList.cpp: (WebCore::CSSValueList::prepend): Added.
  • css/CSSValueList.h:
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Changed to account for all shadows in overflow calculation. (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. (WebCore::InlineFlowBox::paint): Changed to account for all shadows when testing for intersection with the damage rect. (WebCore::InlineFlowBox::paintTextDecorations): Changed to paint all shadows.
  • rendering/InlineTextBox.cpp: (WebCore::paintTextWithShadows): Factored out from paint() and changed to paint all shadows. (WebCore::InlineTextBox::paint): Moved the text painting code out to paintTextWithShadows(). Changed to not paint shadows for markers and composition underlines and in "force black text" mode. (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintDecoration): Changed to paint all shadows.
  • rendering/InlineTextBox.h: Changed some public methods to private or protected.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowHeight): Changed to account for all shadows. (WebCore::RenderBlock::overflowWidth): Ditto. (WebCore::RenderBlock::overflowLeft): Ditto. (WebCore::RenderBlock::overflowTop): Ditto. (WebCore::RenderBlock::overflowRect): Ditto. (WebCore::RenderBlock::layoutBlock): Ditto.
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateRects): Ditto.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintBoxShadow): Changed to paint all shadows. Changed to avoid clipping out the box if it has a fully opaque background. (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Changed to account for all shadows. (WebCore::RenderObject::selectionForegroundColor): Cleaned up. (WebCore::RenderObject::adjustRectForOutlineAndShadow): Changed to account for all shadows.
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::adjustOverflowForBoxShadow): Ditto.
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::setTextShadow): Changed to prepend when adding so that the stacking order of shadows when painting will be "first o top". (WebCore::RenderStyle::setBoxShadow): Ditto.
  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Changed to account for all shadows.

LayoutTests:

Reviewed by Dave Hyatt.

  • add rendering and invalidation tests for multiple shadows
  • fast/css/shadow-multiple.html: Added.
  • fast/repaint/shadow-multiple-horizontal.html: Added.
  • fast/repaint/shadow-multiple-strict-horizontal.html: Added.
  • fast/repaint/shadow-multiple-strict-vertical.html: Added.
  • fast/repaint/shadow-multiple-vertical.html: Added.
  • platform/mac/fast/css/shadow-multiple-expected.checksum: Added.
  • platform/mac/fast/css/shadow-multiple-expected.png: Added.
  • platform/mac/fast/css/shadow-multiple-expected.txt: Added.
  • platform/mac/fast/repaint/shadow-multiple-horizontal-expected.checksum: Added.
  • platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/mac/fast/repaint/shadow-multiple-horizontal-expected.txt: Added.
  • platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum: Added.
  • platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.txt: Added.
  • platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum: Added.
  • platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.txt: Added.
  • platform/mac/fast/repaint/shadow-multiple-vertical-expected.checksum: Added.
  • platform/mac/fast/repaint/shadow-multiple-vertical-expected.png: Added.
  • platform/mac/fast/repaint/shadow-multiple-vertical-expected.txt: Added.
12:47 PM Changeset in webkit [32659] by Adam Roben
  • 2 edits in trunk/WebCore

Fix some more Windows build errors in COMPtr

  • platform/win/COMPtr.h: (WTF::): Define DefaultHash<COMPtr<P> > by using PtrHash<COMPtr<P> >, which is just a copy of PtrHash<RefPtr<P> >.
12:39 PM Changeset in webkit [32658] by Adam Roben
  • 3 edits in trunk/WebKit/win

Fix some Windows build errors in WebKit

  • Interfaces/WebKit.idl: Touched to force Interfaces to rebuild.
  • WebKitPrefix.cpp: Touched to force WebKit to rebuild.
12:28 PM Changeset in webkit [32657] by Adam Roben
  • 2 edits in trunk/WebCore

Fix some Windows build errors in COMPtr

  • platform/win/COMPtr.h: Explicitly name the WTF namespace when using HashTableDeletedValueType.
12:22 PM Changeset in webkit [32656] by Adam Roben
  • 2 edits in trunk/WebCore

Fix some Windows build errors in FontPlatfomrData

  • platform/graphics/win/FontPlatformData.h: Removed the Deleted constructor and replaced it with a HashTableDeletedValueType constructor. Also added isHashTableDeletedValue() and hashTableDeletedFontValue().
12:14 PM Changeset in webkit [32655] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

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

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

Canvas can't draw itself into its own buffer. Make sure the dirtying call comes after the image()
has been accessed. Technically willDraw should be renamed to didDraw and all calls should be moved
to after draws have occurred (since if the draw op itself wants to reference the image it shouldn't get
a dirty copy either), but I'll take that up with olliej when he wakes up. :)

Reviewed by Dan Bernstein

Added fast/canvas/canvasDrawsIntoSelf.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage):

LayoutTests:

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

Add layout test for canvas self-drawing bug.

Reviewed by Dan Bernstein

  • fast/canvas/canvasDrawingIntoSelf.html: Added.
  • platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.checksum: Added.
  • platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.png: Added.
  • platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.txt: Added.
12:12 PM Changeset in webkit [32654] by ap@webkit.org
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • kjs/ExecState.h: For whatever reason, MSVC couldn't generate a default constructor for a struct that had a "const List" member. Removing the const qualifier makes the problem go away.
11:58 AM Changeset in webkit [32653] by ap@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Geoff Garen.

<rdar://problem/5825192> Replace use of Gestalt with BSD sysctl

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::isAvailable): There is no need to check QuickTime version post-Tiger, as it will never be below 7.3 again. This change may make library loading happen earlier in some cases, hopefully, that's not a big deal.
11:22 AM Changeset in webkit [32652] by ap@webkit.org
  • 64 edits in trunk

Reviewed by Darin.

Fix run-webkit-tests --threading
and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
Proxy server issue in Sunday's Nightly

Changed ClassInfo objects for built-in objects to hold a getter function returning
a per-thread instance. This makes it safe to share these ClassInfo objects between threads -
and these are the only ones that need to be shared.

11:15 AM Changeset in webkit [32651] by hyatt@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

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

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

The arguments in drawImage were reversed when I switched away from the image buffer method.

Reviewed by Tim Hatcher

Added fast/canvas/drawImage.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage):

LayoutTests:

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

Add layout test for canvas.

Reviewed by Tim Hatcher

  • fast/canvas/drawImage.html: Added.
  • platform/mac/fast/canvas/drawImage-expected.checksum: Added.
  • platform/mac/fast/canvas/drawImage-expected.png: Added.
  • platform/mac/fast/canvas/drawImage-expected.txt: Added.
10:18 AM Changeset in webkit [32650] by Darin Adler
  • 7 edits in trunk/JavaScriptCore

2008-04-28 Darin Adler <Darin Adler>

Reviewed by Adam.

  • make sure RefPtr's default hash doesn't ref/deref when computing the hash
  • remove remnants of the hash table storage type optimization
  • wtf/HashFunctions.h: Used "using" to get the hash and equal functions from PtrHash<P*> into PtrHash<RefPtr<P>>.
  • wtf/HashMap.h: Replaced uses of PairBaseHashTraits with PairHashTraits. Eliminated storage-related typedefs. Removed constructor, destructor, copy constructor, and destructor since the compiler-generated ones are fine. Removed refAll and derefAll. Took out unnnecessary typecasts. Removed use of RefCounter.
  • wtf/HashSet.h: Eliminated storage-related typedefs. Removed constructor, destructor, copy constructor, and destructor since the compiler-generated ones are fine. Removed refAll and derefAll. Removed unneeded template arguents from HashSetTranslatorAdapter. Eliminated unneeded HashSetTranslator template.
  • wtf/HashTable.h: Tweaked formatting. Removed NeedsRef, RefCounterBase, RefCounter, HashTableRefCounterBase, HashTableRefCounter, and Assigner class templates.
  • wtf/HashTraits.h: Removed StorageTraits, needsRef, PairBaseHashTraits, and HashKeyStorageTraits.
  • wtf/RefPtrHashMap.h: Made all the same fixes as in HashMap. Also made the corresponding changes to RefPtrHashMapRawKeyTranslator.
10:06 AM Changeset in webkit [32649] by Darin Adler
  • 2 edits in trunk/WebKitLibraries

2008-04-28 Darin Adler <Darin Adler>

Reviewed by Adam.

  • fix Windows build
  • win/tools/vsprops/common.vsprops: Add warning 4344 to the list of disabled warnings. It's really a warning about a bug they fixed in MSVC -- not helpful to us in WebKit.
9:54 AM Changeset in webkit [32648] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

2008-04-28 Darin Adler <Darin Adler>

Reviewed by Mitz.

  • fix assertion hit every time you view www.apple.com
  • kjs/PropertyNameArray.cpp: (KJS::PropertyNameArray::add): Changed assertion to allow null and empty strings. Now to find out why we have a property named "" and if that's a bug!
8:25 AM Changeset in webkit [32647] by Simon Hausmann
  • 3 edits
    4 adds in trunk

Holger Hans Peter Freyther <zecke@selfish.org>

Fix the crash on http://www.orad.pl. We called end too early.

  1. we need a ::write that will pause the parser due a pending script
  2. we need a second write to queue data (tricky part)
  3. we need to get a finish call (document loaded)
  4. we resume the script and parse, schedule loading of a new script and have called end
  5. we resume the new script and we get a crash

This bug is hard to trigger, e.g. if the web server is only allowing
one connection per client/IP. This is why we need to sleep in the scripts. We
want to make sure that the page is first fully received before serving the
scripts.

8:24 AM Changeset in webkit [32646] by Simon Hausmann
  • 2 edits in trunk/LayoutTests

Holger Hans Peter Freyther <zecke@selfish.org>

Update the Skipped list, we pass most of the http/tests/misc

8:24 AM Changeset in webkit [32645] by Simon Hausmann
  • 2 edits in trunk/WebKitTools

Holger Hans Peter Freyther <zecke@selfish.org>

Reset dumping resource load callbacks to false for the next test

8:14 AM Changeset in webkit [32644] by Simon Hausmann
  • 2 edits in trunk/WebCore

Ariya Hidayat <ahidayat@trolltech.com>

Fix rounded corner on combo box with CSS border

8:14 AM Changeset in webkit [32643] by Simon Hausmann
  • 13 edits in trunk

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix QWebView::loadFinished isn't always emitted

Replaced loadDone() with loadFinished(bool) and moved the signals for progress
tracking (start, progres, and finish) to the page instead of the frame. This
ensures that we emit loadFinished even when a subframe started the actual load.

This causes a few regressions in the layout tests that we for now accept for
the sake of the correct API. Layout tests we can fix any time though, including
patch release, the API however we can't change anymore in patch releases.

8:09 AM Changeset in webkit [32642] by Simon Hausmann
  • 2 edits in trunk/WebCore

Ariya Hidayat <ahidayat@trolltech.com>

Fix CSS border does not show up for combo boxes

Do not clear the border when painting the combo box for 'select' form element

8:09 AM Changeset in webkit [32641] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Kavindra Devi Palaraja <kdpalara@trolltech.com>

Added more documentation for QWebSettings, QWebPluginFactory and QWebFrame

8:09 AM Changeset in webkit [32640] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Ariya Hidayat <ahidayat@trolltech.com>

Fix document/frame title not reset when loading a new URI

We should assume first the frame has no title. If it has, then the dispatchDidReceiveTitle()
will be called very soon with the correct title.
This properly resets the title when we navigate to a URI without a title.

8:08 AM Changeset in webkit [32639] by Simon Hausmann
  • 2 edits in trunk/WebCore

Olivier Goffart <ogoffart@trolltech.com>

Avoid comparing to 0 in qFuzzyCompare for increased
numeric stability.

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

David Boddie <dboddie@trolltech.com>

Minor documentation changes.

7:51 AM Changeset in webkit [32637] by Simon Hausmann
  • 2 edits in trunk/WebCore

Benjamin Meyer <bmeyer@trolltech.com>

Fixes: Pages returning 404 with content are not displayed.

A web page that returns 404 can still have content.

7:50 AM Changeset in webkit [32636] by Simon Hausmann
  • 2 edits in trunk/WebCore

Paul Olav Tvete <paul@trolltech.com>

Fix compiler warning

7:29 AM Changeset in webkit [32635] by Simon Hausmann
  • 4 edits in trunk

Tor Arne Vestbø <tavestbo@trolltech.com>

Prevent middle-click from triggering open URL from clipboard when the event has already been accepted.

7:29 AM Changeset in webkit [32634] by Simon Hausmann
  • 5 edits in trunk

Tor Arne Vestbø <tavestbo@trolltech.com>

Fix scrollbar behavior in QtWebKit to match QScrollBar.

Right click context menu is now supported, along with
middle click to center slider thumb over mouse cursor.

7:24 AM Changeset in webkit [32633] by Simon Hausmann
  • 5 edits
    1 add in trunk

Tor Arne Vestbø <tavestbo@trolltech.com>

Implemented channel-based logging for QtWebKit.

Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable.
Warnings for notImplemented() is still output by default, but can be disabled
by setting DISABLE_NI_WARNINGS=1.

6:52 AM Changeset in webkit [32632] by Simon Hausmann
  • 5 edits in trunk/WebKit/qt

Simon Hausmann <shausman@trolltech.com>

Removed setHtml(const QByteArray &) overload as it breaks the common use of the setHtml() API.

6:52 AM Changeset in webkit [32631] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Kavindra Devi Palaraja <kdpalara@trolltech.com>

Doc - adding more documentation to QWebFrame, QWebPage and QWebView

6:50 AM Changeset in webkit [32630] by Simon Hausmann
  • 4 edits in trunk

Simon Hausmann <shausman@trolltech.com>

Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens

Give the popups the right parent widget and the right coordinates relative within the parent.

6:45 AM Changeset in webkit [32629] by Simon Hausmann
  • 4 edits in trunk/WebKit/qt

Benjamin Meyer <bmeyer@trolltech.com>

Doc: Add see also's (and a few minor whitespace/typo corrections)

6:45 AM Changeset in webkit [32628] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Kavindra Devi Palaraja <kdpalara@trolltech.com>

Submitting more documentation for QWebPage

6:45 AM Changeset in webkit [32627] by Simon Hausmann
  • 2 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

Fixes: Tabbing to a checkbox/button doesn't work on Win/X11

Respect platform settings for tabbing to all controls.

6:45 AM Changeset in webkit [32626] by Simon Hausmann
  • 2 edits in trunk/WebCore

Tor Arne Vestbø <tavestbo@trolltech.com>

First part of the fix for tabbing to a checkbox/button doesn't work on Win/X11

Draw controls instead of pimitive elements, to get focus rects for free.

6:44 AM Changeset in webkit [32625] by Simon Hausmann
  • 5 edits in trunk

Lincoln Ramsay <lincoln.ramsay@trolltech.com>

Compile when QT_NO_CLIPBOARD is defined.

6:44 AM Changeset in webkit [32624] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

David Boddie <dboddie@trolltech.com>

Minor documentation fix.

6:34 AM Changeset in webkit [32623] by Simon Hausmann
  • 3 edits in trunk/WebCore

Ariya Hidayat <ariya.hidayat@trolltech.com>

Draw the arrow button on the styled combo box using the fallback ("Windows") style

6:30 AM Changeset in webkit [32622] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix positioning of native widgets (plugins).

Correctly convert the coordinates of the Widget in Widget::setFrameGeometry()
to be relative to the containing toplevel QWidget using convertToContainingWindow().

Note: convertToContainingWindow() takes child coordinates.

6:30 AM Changeset in webkit [32621] by Simon Hausmann
  • 3 edits in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

plugins: fix scrolling issues

When scrolling you can see artefacts that remain on the screen, they
seem to originate from the backingstore handling. I'm not entirely sure
where they come from, my workarounds involved a
data->m_widget->parentWidget()->update() call in Widget::geometryChanged or
handling widgets with a native QWidget embedded like web pages with a
static background. This needs more investigations, I think the ScrollView
change is cleaner than the brute force in Widget::geometryChanged

Focus handling seems to be broken as well and needs further work, we don't
clip plugin QWidgets and they can draw out of their bounds, e.g. on the ScrollBar,
the z-order is likely not honored as well.

6:29 AM Changeset in webkit [32620] by Simon Hausmann
  • 1 edit
    3 adds in trunk/WebCore

Holger Hans Peter Freyther <zecke@selfish.org>

Add manual test to test placement of QWidgets in iframe's

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

Holger Hans Peter Freyther <zecke@selfish.org>

Implement QWebPage::createPlugin

The code is coming from the demo browser and needed here
for some manual tests.

4:59 AM Changeset in webkit [32618] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

Qt/Win build fix. Include config.h to get the implicit MathExtras.h
inclusion correct with regards to rand_s.

4:21 AM Changeset in webkit [32617] by Simon Hausmann
  • 2 edits in trunk/WebCore

Fix the build with ENABLE_DATABASE=0 (Qt/Windows) by including
SecurityOrigin.h. It's used in the file and also implicitly included
through the database headers.

3:52 AM Changeset in webkit [32616] by Simon Hausmann
  • 2 edits in trunk/WebCore

Prospective Wx build fix.

3:52 AM Changeset in webkit [32615] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-04-28 Simon Hausmann <Simon Hausmann>

Reviewed by Alp.

Gtk build fix, similar to the changes done in r32609.

3:24 AM Changeset in webkit [32614] by Simon Hausmann
  • 2 edits in trunk/WebCore

2008-04-28 Simon Hausmann <Simon Hausmann>

Prospective build fix. After r32609 it seems the workaround here
is not needed anymore. With gcc 4.2/4.3 before 32609 the workaround
is needed for compilation, after 32609 compilation only succeeds
without the workaround.

  • plugins/PluginPackage.h: Removed workaround of extra StorageTraits specification for the custom hash function of PluginPackage used in PluginSet.
3:10 AM Changeset in webkit [32613] by Simon Hausmann
  • 6 edits in trunk

2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

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

Fix scrollbar painting issues in QtWebKit.

Hovering and click-draging outside of the scrollbar would
produce unexpected and inconcistent results. We also didn't
pass on leave-events to the underlying WebKit code, which
was nessecary to implement the paint fix.

12:41 AM Changeset in webkit [32612] by oliver@apple.com
  • 8 edits
    1 add in trunk

Bug 17173: HTML5 Canvas API requires us to ignore certain operations
<https://bugs.webkit.org/show_bug.cgi?id=17173>

Reviewed by Maciej

This fixes the semantics of a number of Canvas functions to match
the new HTML5 non-throwing semantics.

Test: fast/canvas/canvas-path-with-inf-nan-dimensions.html

Apr 27, 2008:

11:57 PM Changeset in webkit [32611] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Fix crash inside PtrHash::hash when loading a page.

  • wtf/HashFunctions.h: Explicitly use the superclass implementation of hash to avoid infinite recursion.
11:49 PM Changeset in webkit [32610] by rwlbuis@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Adele.

https://bugs.webkit.org/show_bug.cgi?id=18652
onchange events don't seem to fire for input[type=range] controls.

Fire changeEvent when dragging the slider.

10:59 PM Changeset in webkit [32609] by Darin Adler
  • 42 edits in trunk

JavaScriptCore:

2008-04-25 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • fix <rdar://problem/5657459> REGRESSION: JavaScriptCore no longer builds with GCC 4.2 due to pointer aliasing warnings

Fix this by removing the HashTable optimizations that allowed us to share a back end
implementation between hash tables with integers, pointers, RefPtr, and String objects
as keys. The way it worked was incompatible with strict aliasing.

This increases code size. On Mac OS X we'll have to regenerate .order files to avoid
slowing down Safari startup times.

This creates a slight slowdown in SunSpider, mitigated by the following four speedups:

  • speed up array put slightly by moving a branch (was already done for get)
  • speed up symbol table access by adding a function named inlineGet to HashMap and using that in symbolTableGet/Put
  • speed up PropertyNameArray creation by reducing the amount of reference count churn and uniqueness checking when adding names and not doing any allocation at all when building small arrays
  • speed up conversion of strings to floating point numbers by eliminating the malloc/free of the buffer for the ASCII copy of the string; a way to make things even faster would be to change strtod to take a UTF-16 string

Note that there is considerable unused complexity now in HashSet/Map/Table to support
"storage types", which is no longer used. Will do in a separate patch.

  • API/JSCallbackObjectFunctions.h: (KJS::JSCallbackObject<Base>::getPropertyNames): Removed explicit cast to Identifier to take advantage of the new PropertyNameArray::add overload and avoid reference count churn.
  • API/JSObjectRef.cpp: (JSPropertyNameAccumulatorAddName): Ditto.
  • JavaScriptCore.exp: Updated PropertyNameArray::add entry point name.
  • kjs/JSVariableObject.cpp: Removed now-unneeded IdentifierRepHashTraits::nullRepPtr definition (see below). (KJS::JSVariableObject::getPropertyNames): Removed explicit cast to Identifier.
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableGet): Use inlineGet for speed. Also changed to do early exit instead of nesting the body inside an if. (KJS::JSVariableObject::symbolTablePut): Ditto.
  • kjs/PropertyNameArray.cpp: (KJS::PropertyNameArray::add): Changed implementation to take a raw pointer instead of a reference to an identifier. Do uniqueness checking by searching the vector when the vector is short, only building the set once the vector is large enough.
  • kjs/PropertyNameArray.h: Added an overload of add for a raw pointer, and made the old add function call that one. Added an addKnownUnique function for use when the new name is known to be different from any other in the array. Changed the vector to have an inline capacity of 20.
  • kjs/SymbolTable.h: Changed IdentifierRepHash to inherit from the default hash for a RefPtr so we don't have to define so much. Added an overload of the hash function for a raw pointer as required by the new RefPtrHashMap. Got rid of the now-unneeded IdentifierRepHashTraits -- the default traits now work fine. Added a definition of empthValueIsZero to SymbolTableIndexHashTraits; not having it was incorrect, but harmless.
  • kjs/array_instance.cpp: (KJS::ArrayInstance::put): Move the maxArrayIndex check inside the branch that checks the index against the length, as done in the get function.
  • kjs/function.cpp: (KJS::globalFuncKJSPrint): Changed to use the new getCString instead of cstring.
  • kjs/internal.cpp: Removed printInfo debugging function, a client of cstring. If we need a debugging function we can easily make a better one and we haven't used this one in a long time.
  • kjs/internal.h: Ditto.
  • kjs/object.cpp: (KJS::JSObject::getPropertyNames): Removed explicit cast to Identifier.
  • kjs/property_map.cpp: (KJS::PropertyMap::getEnumerablePropertyNames): Ditto. Also added a special case for the case where the propertyNames array is empty -- in that case we know we're adding a set of names that are non-overlapping so we can use addKnownUnique.
  • kjs/ustring.cpp: (KJS::UString::getCString): Replaces cstring. Puts the C string into a CStringBuffer, which is a char Vector with an inline capacity. Also returns a boolean to indicate if the converion was lossy, which eliminates the need for a separate is8Bit call. (KJS::UString::toDouble): Changed to call getCString instead of cstring.
  • kjs/ustring.h: Ditto.
  • wtf/HashFunctions.h: Overload the hash and equal functions for RefPtr's default hash to take raw pointers. This works with the changes to RefPtrHashMap to avoid introducing refcount churn.
  • wtf/HashMap.h: Removed special code to convert the deleted value to the empty value when writing a new value into the map. This is now handled elsewhere. (WTF::HashMap::get): Removed code that checks for an empty hash table before calling HashTable::lookup; it's slightly more efficient to do this check inside lookup.
  • wtf/HashTable.h: (WTF::HashTable::isDeletedBucket): Changed to use isDeletedValue instead of using deletedValue and the equality operator. (WTF::HashTable::deleteBucket): Changed to use constructDeletedValue instead of using deletedValue and the assignment operator. (WTF::HashTable::checkKey): Added. Factors out the check for values that are empty or deleted keys that's used in various functions below. (WTF::HashTable::lookup): Changed to use checkKey, check for a 0 table, and also made public for use by RefPtrHashMap. (WTF::HashTable::lookupForWriting): Changed to use checkKey. (WTF::HashTable::fullLookupForWriting): Changed to use checkKey. (WTF::HashTable::add): Changed to use checkKey, and call initializeBucket on a deleted bucket before putting a new entry into it. (WTF::HashTable::addPassingHashCode): Ditto. (WTF::HashTable::deallocateTable): Check isDeletedBucket before calling ~ValueType.
  • wtf/HashTraits.h: Got ridd of all the HashTraits specialization for the integer types, since GeneicHashTraitsBase already deals with integers separately. Put the deleted value support into GenericHashTraitsBase. Changed FloatHashTraits to inherit from GenericHashTraits, and define construct/isDeletedValue rather than deletedValue. Removed the ref and deref functions from RefPtr's HashTraits, and defined construct/isDeletedValue. Eliminated DeletedValueAssigner. Changed PairHashTraits to define construct/isDeletedValue, and also merged PairBaseHashTraits in with PairHashTraits. Got rid of all specialization of HashKeyStorageTraits. We'll remove that, and the needsRef data member, later.
  • wtf/RefPtr.h: Added HashTableDeletedValueType, an enum type with a single value, HashTableDeletedValue. Used that type to make a new constructor to construct deleted values and also added an isHashTableDeletedValue function.
  • wtf/RefPtrHashMap.h: Added RefPtrHashMapRawKeyTranslator and used it to implement the raw pointer functions. This is a way to continue to avoid refcount thrash. We can't use the old way because it depended on the underlying map using a non-RefPtr type. (WTF::HashMap::find): Use find with RefPtrHashMapRawKeyTranslator. (WTF::HashMap::contains): Use contains with RefPtrHashMapRawKeyTranslator. (WTF::HashMap::inlineAdd): Use add with RefPtrHashMapRawKeyTranslator. (WTF::HashMap::get): Removed code that checks for an empty hash table before calling HashTable::lookup; it's slightly more efficient to do this check inside lookup. (WTF::HashMap::inlineGet): Added. Just like get, but marked inline for use in the symbol table code.

WebCore:

2008-04-25 Darin Adler <Darin Adler>

Reviewed by Maciej.

  • update for compatibility with HashTable that no longer has optimization to share implementation between hash tables with integers, pointers, RefPtr, and String objects as keys
  • bindings/js/JSSVGPODTypeWrapper.h: (WebCore::PODTypeReadWriteHashInfo::PODTypeReadWriteHashInfo): Added constructor for HashTableDeletedValue. (WebCore::PODTypeReadWriteHashInfo::isHashTableDeletedValue): Added. (WebCore::PODTypeReadWriteHashInfoTraits::constructDeletedValue): Added. (WebCore::PODTypeReadWriteHashInfoTraits::isDeletedValue): Added.
  • dom/Document.cpp: Made changedDocuments internal to the file rather than a static data member of Document. (WebCore::FormElementKey::ref): Removed unneeded check for deleted value -- this will never be called on a deleted element. (WebCore::FormElementKey::deref): Ditto.
  • dom/Document.h: Added HashTableDeletedValue constructor and isHashTableDeletedValue to FormElementKey. Changed FormElementKeyHashTraits to use construct/isDeletedValue. Got rid of the changedDocuments data member. Changed iconURL to be an inline that returns a const String&.
  • dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to use construct/isDeletedValue.
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::getAXID): Call isDeletedValue instead of deletedValue.
  • platform/SecurityOriginHash.h: Added overload so that SecurityOriginHash can work with raw pointers as well as RefPt (helpful with the new RefPtrHashMap). Eliminated SecurityOriginTraits, since we can now use the default traits. Changed the value of safeToCompareToEmptyOrDeleted to false, since it's not safe to compare a deleted value using this hash function. I don't think it was safe before either; I'm not sure why it didn't cause a problem before.
  • platform/cf/SchedulePair.h: Removed SchedulePairTraits -- custom traits are no longer needed.
  • platform/graphics/FontCache.cpp: (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Added constructor for HashTableDeletedValue. (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): Added. (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): Added. (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): Added. (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): Added. (WebCore::FontDataCacheKeyTraits::constructDeletedValue): Added. (WebCore::FontDataCacheKeyTraits::isDeletedValue): Added.
  • platform/graphics/IntSizeHash.h: Changed HashTraits<IntSize> to use construct/isDeletedValue.
  • platform/graphics/mac/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Added constructor for HashTableDeletedValue. (WebCore::FontPlatformData::isHashTableDeletedValue): Added. (WebCore::FontPlatformData::hashTableDeletedFontValue): Added.
  • platform/text/PlatformString.h: (WebCore::String::swap): Added. Avoids any refcount churn when swapping two strings. (WebCore::String::String): Added constructor for HashTableDeletedValue. (WebCore::String::isHashTableDeletedValue): Added. (WebCore::swap): Added. Avoids any refcount churn when swapping two strings.
  • platform/text/StringHash.h: Changed specialization of HashTraits for WebCore::String to use the deleted value now defined in that class and removed the code to do ref/deref. Removed HashKeyStorageTraits specializations.


  • platform/win/COMPtr.h: Changed specialization of HashTraits for COMPtr to use the deleted value now defined in that class and removed the code to do ref/deref. Removed HashKeyStorageTraits specializations. (COMPtr::COMPtr): Added constructor for HashTableDeletedValue. (COMPtr::isHashTableDeletedValue): Added. (COMPtr::query): Removed inline keyword not needed since functions defined in the class definition are automatically marked inline. (COMPtr::hashTableDeletedValue): Added.
  • storage/DatabaseTracker.h: Removed now-unneeded SecurityOriginTraits.
  • storage/LocalStorage.h: Ditto.
  • storage/OriginQuotaManager.h: Ditto.
  • storage/SessionStorage.h: Ditto.
  • svg/SVGAnimatedTemplate.h: (WebCore::SVGAnimatedTypeWrapperKey::SVGAnimatedTypeWrapperKey): Added constructor for HashTableDeletedValue. (WebCore::SVGAnimatedTypeWrapperKey::isHashTableDeletedValue): Added. (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::constructDeletedValue): Added. (WebCore::SVGAnimatedTypeWrapperKeyHashTraits::isDeletedValue): Added.
10:44 PM Changeset in webkit [32608] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Tim Hatcher.

Initialize the extra member of the xmlEntity struct when using libxml2 >= 2.6.27.

  • dom/XMLTokenizer.cpp: (WebCore::):
10:37 PM Changeset in webkit [32607] by kevino@webkit.org
  • 3 edits in trunk/WebKit/wx

Add methods to check if there is a previous/next page in the history. Also some coding style cleanup.

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

10:08 PM Changeset in webkit [32606] by mjs@apple.com
  • 3 edits in branches/squirrelfish/JavaScriptCore

2008-04-27 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej.

Bug 18746: SQUIRRELFISH: indirect eval used when direct eval should be used
<https://bugs.webkit.org/show_bug.cgi?id=18746>

Change the base to the correct value of the 'this' object after the direct
eval test instead of before.

Fixes 5 layout tests.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/nodes.cpp: (KJS::EvalFunctionCallNode::emitCode):
9:46 PM Changeset in webkit [32605] by mitz@apple.com
  • 6 edits
    3 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: editing/selection/move-left-right.html

  • editing/SelectionController.cpp: (WebCore::SelectionController::modifyMovingRight): Added. Currently implemented for character granularity, all other being treated as "forward". (WebCore::SelectionController::modifyMovingForward): Renamed modifyMovingRightForward() to this. (WebCore::SelectionController::modifyMovingLeft): Added. Currently implemented for character granularity, all other being treated as "backward". (WebCore::SelectionController::modifyMovingBackward): Renamed modifyMovingLeftBackward() to this. (WebCore::SelectionController::modify): Changed to call either the visual (left/right) or logical (backward/forward) methods depending on the 'dir' argument for moves.
  • editing/SelectionController.h:
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Added. (WebCore::VisiblePosition::left): Added. (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Added. (WebCore::VisiblePosition::right): Added.
  • editing/VisiblePosition.h:

LayoutTests:

Reviewed by Darin Adler.

  • editing/selection/move-left-right-expected.txt: Added.
  • editing/selection/move-left-right.html: Added.
  • platform/mac/editing/selection/move-left-right-expected.txt: Added.
9:32 PM Changeset in webkit [32604] by weinig@apple.com
  • 5 edits in trunk

WebCore:

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

Reviewed by Maciej Stachowiak.

Fix for <rdar://problem/5893385> Need to provide access to the CanvasRenderingContext2D prototype
Add a JS constructor for CanvasRenderingContext2D.

  • html/CanvasRenderingContext2D.idl:
  • page/DOMWindow.idl:

LayoutTests:

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

Reviewed by Maciej Stachowiak.

Update test to reflect add the CanvasRenderingContext2d constructor.

  • fast/dom/Window/window-properties-expected.txt:
Note: See TracTimeline for information about the timeline view.