Timeline



Mar 23, 2008:

10:36 PM Changeset in webkit [31240] by mjs@apple.com
  • 18 edits
    6 adds in trunk

WebCore:

2008-03-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Eric.

  • svg/SVGAltGlyphElement.cpp: Added. Implementation for new element. (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): (WebCore::SVGAltGlyphElement::~SVGAltGlyphElement): (WebCore::SVGAltGlyphElement::setGlyphRef): (WebCore::SVGAltGlyphElement::glyphRef): (WebCore::SVGAltGlyphElement::setFormat): (WebCore::SVGAltGlyphElement::format): (WebCore::SVGAltGlyphElement::childShouldCreateRenderer): (WebCore::SVGAltGlyphElement::createRenderer): For now, this just renders as a tspan, which is right for everything besides the alternate glyph substitution itself.
  • svg/SVGAltGlyphElement.h: Added. Header for new element. (WebCore::SVGAltGlyphElement::contextElement):
  • svg/SVGAltGlyphElement.idl: Added. Interface for new element.
  • svg/SVGTSpanElement.cpp: (WebCore::SVGTSpanElement::childShouldCreateRenderer): Allow altGlyph to render here.
  • svg/SVGTextElement.cpp: (WebCore::SVGTextElement::childShouldCreateRenderer): ditto
  • svg/SVGTextPathElement.cpp: (WebCore::SVGTextPathElement::childShouldCreateRenderer): ditto
  • svg/svgtags.in: Add altGlyph
  • DerivedSources.make: Add new files
  • GNUmakefile.am: ditto
  • WebCore.SVG.exp: Add new ObjC DOM class
  • WebCore.pro: Add new files
  • WebCore.vcproj/WebCore.vcproj: ditto
  • WebCore.xcodeproj/project.pbxproj: ditto
  • bindings/js/JSSVGElementWrapperFactory.cpp: Handle altGlyph
  • bindings/objc/DOM.mm: (WebCore::createElementClassMap): ditto
  • bindings/objc/DOMInternal.h: Include altGlyph header
  • bindings/objc/DOMSVG.h: Include altGlyph header

LayoutTests:

2008-03-23 Maciej Stachowiak <mjs@apple.com>

Reviewed by Eric.

  • platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
  • platform/mac/svg/text/text-altglyph-01-b-expected.txt:
  • svg/dom/altGlyph-dom-expected.txt: Added.
  • svg/dom/altGlyph-dom.xhtml: Added.
  • svg/dom/resources/altGlyph-dom.js: Added.
6:21 PM Changeset in webkit [31239] by Antti Koivisto
  • 1 edit
    1 add in trunk/WebKitSite

2008-03-23 Antti Koivisto <Antti Koivisto>

  • blog-files/wsj-vs.png: Added.
2:08 PM Changeset in webkit [31238] by eric@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by eseidel. Landed by eseidel.

Bug 17685: [~=] attribute selector failing to match empty string
<http://bugs.webkit.org/show_bug.cgi?id=17685>

Test: fast/css/attribute-selector-empty-value.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::checkOneSelector):
2:03 PM Changeset in webkit [31237] by eric@webkit.org
  • 2 edits in trunk/WebKitSite

Reviewed by Sam.

Make our SVG status document slightly less inaccurate.

  • projects/svg/status.xml:
3:48 AM Changeset in webkit [31236] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 17670: Key events may improperly propagate from iframe to parent frame
Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus

Reviewed by Maciej

Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
as that results in us dispatching the key events for each frame going up the frame
tree.

Mar 22, 2008:

3:21 PM Changeset in webkit [31235] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-03-22 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Darin Adler.

http://bugs.webkit.org/show_bug.cgi?id=16339
Frame scrollbar positions are not updated on page scroll

Widget::geometryChanged() was called instead of
ScrollViewScrollbar::geometryChanged() because of a missing const.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::geometryChanged): add the missing const.
3:01 PM Changeset in webkit [31234] by mrowe@apple.com
  • 6 edits in trunk/WebCore

2008-03-22 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Mark Rowe.

Bug 17974: REGRESSION: npfunctions.h should not import npruntime_internal.h
<http://bugs.webkit.org/show_bug.cgi?id=17974>
<rdar://problem/5782310>

Include npapi.h and npruntime.h directly in npfunctions.h.
Add npfunctions.h and npapi.h to npruntime_internal.h.
Replace includes of npfunctions.h with npruntime_internal.h.

  • bridge/npruntime_internal.h:
  • plugins/PluginPackage.h:
  • plugins/PluginStream.h:
  • plugins/npapi.cpp:
  • plugins/npfunctions.h:
2:04 PM Changeset in webkit [31233] by mrowe@apple.com
  • 4 edits in trunk

Fix the Qt build.

3:31 AM Changeset in webkit [31232] by eric@webkit.org
  • 3 edits in trunk

Update a (passing) result I missed in my last checkin. No review.

  • dom/xhtml/level3/core/documentgetdoctype01-expected.txt:
2:50 AM Changeset in webkit [31231] by eric@webkit.org
  • 10 edits
    6 adds in trunk

Reviewed by mjs.

Unify handling of NAMESPACE_ERR and fix Acid3 test 25
http://bugs.webkit.org/show_bug.cgi?id=16693

Test: fast/dom/DOMImplementation/createDocumentType-err.html

  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocumentType): (WebCore::DOMImplementation::createDocument):
  • dom/DOMImplementation.idl:
  • dom/Document.cpp: (WebCore::Document::hasPrefixNamespaceMismatch): (WebCore::Document::createElementNS): (WebCore::Document::parseQualifiedName): (WebCore::Document::createAttributeNS):
  • dom/Document.h:
  • dom/Element.cpp: (WebCore::Element::setAttributeNS):
  • editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::doApply):
2:49 AM Changeset in webkit [31230] by eric@webkit.org
  • 5 edits
    7 adds in trunk

Reviewed by mjs.

Fix createElementNS to throw exceptions for invalid qualified names
Fixes Acid3 sub-test 23
http://bugs.webkit.org/show_bug.cgi?id=16833

Tests: fast/dom/Document/createAttributeNS-namespace-err.html

fast/dom/Document/createElementNS-namespace-err.html

  • dom/Document.cpp: (WebCore::Document::createElement): (WebCore::hasNamespaceError): (WebCore::Document::createElementNS): (WebCore::Document::createAttributeNS):
  • dom/Document.idl:
2:14 AM Changeset in webkit [31229] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

Reviewed by Sam Weinig. Landed by eseidel.


Make testkjs flush stdout after printing.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • kjs/testkjs.cpp: (functionPrint):
12:14 AM Changeset in webkit [31228] by oliver@apple.com
  • 3 edits
    2 adds in trunk

2008-03-21 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Bug 13693: REGRESSION (r13615): Acid2 Test Eyes render improperly after a page refresh
<http://bugs.webkit.org/show_bug.cgi?id=13693>

Reviewed by Oliver Hunt

Do not create bogus history items for unloaded <object> elements, because they
cause fallback content to be ignored on reload.

Mar 21, 2008:

11:57 PM Changeset in webkit [31227] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Oliver Hunt.

Test: fast/css-generated-content/empty-content-with-float-crash.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Added a null check for the case where the block contains no in-flow elements but still lays out as a line flow, which can happen as a result of empty generated content.

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/css-generated-content/empty-content-with-float-crash-expected.txt: Added.
  • fast/css-generated-content/empty-content-with-float-crash.html: Added.
9:59 PM Changeset in webkit [31226] by oliver@apple.com
  • 3 edits in trunk/JavaScriptCore

Optimise lookup of Math, undefined, NaN and Infinity

Reviewed by Maciej

Added a method to JSVariableObject to allow us to inject DontDelete properties
into the symbol table and localStorage. This results in a 0.4% progression in
SunSpider, with a 8% gain in math-partial-sums.

7:36 PM Changeset in webkit [31225] by oliver@apple.com
  • 8 edits in trunk

Global properties that use LocalStorage are not correctly listed as enumerable.

Reviewed by Geoff Garen

The problem was caused by JSObject::getPropertyAttributes not being aware
of the JSVariableObject SymbolTable. The fix is to make getPropertyAttributes
virtual and override in JSVariableObject. This does not produce any performance
regression.

5:39 PM Changeset in webkit [31224] by weinig@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-03-21 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Fix <rdar://problem/5788451>
toDataURL not implemented for Windows (need mapping of MIME type to UTI)

Hard code support for just PNG's on windows, the minimum the spec requires.

  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypesForEncoding):
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::utiFromMIMEType): (WebCore::ImageBuffer::toDataURL):

LayoutTests:

2008-03-21 Sam Weinig <sam@webkit.org>

Reviewed by Oliver Hunt.

Enable tests for <rdar://problem/5788451>
toDataURL not implemented for Windows (need mapping of MIME type to UTI)

  • platform/win/Skipped:
  • platform/win/fast/canvas: Added.
  • platform/win/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
4:58 PM Changeset in webkit [31223] by pewtermoose@webkit.org
  • 4 edits in trunk/WebCore

2008-03-21 Matt Lilek <webkit@mattlilek.com>

Not reviewed, Mac build fix.

  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
  • bridge/jni/jni_utility.cpp: (KJS::Bindings::convertValueToJValue):
  • bridge/objc/objc_runtime.mm: (ObjcFallbackObjectImp::callAsFunction):
4:31 PM Changeset in webkit [31222] by Antti Koivisto
  • 1 edit
    2 adds in trunk/WebKitSite

2008-03-21 Antti Koivisto <Antti Koivisto>

Add some images for a blog post.

  • blog-files/wsj-nopreload.png: Added.
  • blog-files/wsj-preload.png: Added.
4:30 PM Changeset in webkit [31221] by Adam Roben
  • 2 edits in trunk/WebCore

Attempt to fix the Mac build

  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper):
3:09 PM Changeset in webkit [31220] by Adam Roben
  • 35 edits in trunk/WebCore

Rename static info members to s_info

This avoids conflicts with custom "info" methods, such as the one that
will soon be added to Console.

Reviewed by Ada Chan and Sam Weinig.

3:00 PM Changeset in webkit [31219] by hyatt@apple.com
  • 3 edits in trunk/WebCore

2008-03-21 David Hyatt <hyatt@apple.com>

<rdar://problem/5808863> Zooming should not let non-zero border width become zero

Make sure zoomed values that begin >= 1 are not allowed to fall below 1.

Reviewed by adele

  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeLengthDouble):
  • loader/CachedImage.cpp: (WebCore::CachedImage::imageSize): (WebCore::CachedImage::imageRect):
2:05 PM Changeset in webkit [31218] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

2008-03-21 Kevin McCullough <kmccullough@apple.com>

Reviewed by Sam.

-<rdar://problem/5712804> XMLHttpRequests do not show response contents, preview images (14313)
-<rdar://problem/5712931> XMLHttpRequests should be shown separately and grouped (14315)
-<rdar://problem/5732836> XMLHttpRequest: Inspector should show network activity/XHR in Console (17233)

  • Instrument the InspectorController to cache XHR resrouces since they are not cached by WebCore. The resources will be kept in the same map as all other resources so they will have the exact same lifecycle.
  • ChangeLog:
  • page/InspectorController.cpp: (WebCore::InspectorCachedXMLHttpRequestResource::type): (WebCore::InspectorCachedXMLHttpRequestResource::setType): (WebCore::InspectorCachedXMLHttpRequestResource::data): (WebCore::InspectorCachedXMLHttpRequestResource::setData): (WebCore::InspectorCachedXMLHttpRequestResource::encoding): (WebCore::InspectorCachedXMLHttpRequestResource::setEncoding): (WebCore::InspectorCachedXMLHttpRequestResource::create): (WebCore::InspectorCachedXMLHttpRequestResource::InspectorCachedXMLHttpRequestResource):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send):
1:40 PM Changeset in webkit [31217] by zecke@webkit.org
  • 1 edit in trunk/ChangeLog

Add missing ChangeLog entry for r31214.

2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

Remove the JSCore include path options from global_cppflags.
Place JSCore include path options in javascriptcore_cppflags.
Add javascriptcore_cppflags to libWebCore_la_CPPFLAGS.

  • GNUmakefile.am:
12:26 PM Changeset in webkit [31216] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-21 Arkadiusz Miskiewicz <arekm@maven.pl>

Webkit does not build on linux powerpc

<http://bugs.webkit.org/show_bug.cgi?id=17019>

Reviewed by David Kilzer.

  • wtf/TCSpinLock.h: (TCMalloc_SpinLock::Unlock):
11:48 AM Changeset in webkit [31215] by ap@webkit.org
  • 2 edits in trunk/SunSpider

Reviewed by Geoff.

  • sunspider: Pause update daemon on Darwin to make results reliable again (workaround for <rdar://problem/5811127>).
11:21 AM Changeset in webkit [31214] by zecke@webkit.org
  • 7 edits in trunk

JavaScriptCore/ChangeLog:
2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

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

Add javascriptcore_cppflags to Programs_minidom_CPPFLAGS.

  • GNUmakefile.am:

WebCore/ChaneLog:
2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

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

Remove WebCore/ForwardingHeaders from cppflags as it is not needed,
and causes build problems with GTK+.

  • GNUmakefile.am:

WebKitTools/ChangeLog:
2008-03-21 Rodney Dawes <dobey@wayofthemonkey.com>

Reviewed by Holger.

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

Add webcore and javascriptcore cppflags to programs' _CPPFLAGS.

  • GNUmakefile.am:
10:17 AM Changeset in webkit [31213] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Adele Peterson.

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

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Fixed the logic for the very special case of an all-lines-clean block that ends with a float- clearing <br> by looking for the <br> at the end of the line rather than at its beginning.

LayoutTests:

Reviewed by Adele Peterson.

  • fast/block/float/br-with-clear.html: Added.
  • platform/mac/fast/block/float/br-with-clear-expected.checksum: Added.
  • platform/mac/fast/block/float/br-with-clear-expected.png: Added.
  • platform/mac/fast/block/float/br-with-clear-expected.txt: Added.
9:36 AM Changeset in webkit [31212] by adachan@apple.com
  • 2 edits in trunk/WebKit/win

<rdar://problem/5810324> visitCount not updated in History.plist
Call WebCore::HistoryItem::mergeAutoCompleteHints() in WebHistoryItem::mergeAutoCompleteHints().

Reviewed by Steve.

  • WebHistoryItem.cpp: (WebHistoryItem::mergeAutoCompleteHints): (WebHistoryItem::QueryInterface):
9:29 AM Changeset in webkit [31211] by Adam Roben
  • 3 edits in trunk/WebKitTools

Remove a non-working mirror from cygwin-downloader and add the ruby package

  • CygwinDownloader/cygwin-downloader.py:
  • CygwinDownloader/cygwin-downloader.zip: Updated.
9:27 AM Changeset in webkit [31210] by Adam Roben
  • 3 edits in trunk/WebCore

Don't allow any newly-scheduled plugin requests to be serviced when JS is paused

This is a followup to r31199.

Reviewed by Tim Hatcher.

  • plugins/PluginView.cpp: (WebCore::PluginView::requestTimerFired): Added an assertion that JS is not paused. (WebCore::PluginView::scheduleRequest): Don't start the request timer if JS is paused. This is the bug fix. (WebCore::PluginView::setJavaScriptPaused): Replaced the use of m_requestTimerWasActive with a check to see if we have any pending requests. m_requestTimerWasActive would not be accurate if a new request had been scheduled while JS was paused. (WebCore::PluginView::PluginView): Removed initialization of m_requestTimerWasActive.
  • plugins/PluginView.h: Removed m_requestTimerWasActive.
9:19 AM UpdatingCygwinDownloader created by Adam Roben
Initial version
9:14 AM WikiStart edited by Adam Roben
Add a link to a page to describe how to update cygwin-downloader (diff)
9:00 AM Changeset in webkit [31209] by timothy@apple.com
  • 6 edits in trunk/WebKit/mac

Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
http://bugs.webkit.org/show_bug.cgi?id=17980

Reviewed by Adam.

The new highlight drawing was not honoring the fade value, so it was
always drawing at full opacity. The animation code didn't match Windows
and the new highlight anyway, so it has been removed. The highlight
how just detaches when it is hidden.

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
(-[WebInspectorWindowController close]): Ditto.
(-[WebInspectorWindowController highlightNode:]): Call attach.
(-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.

  • WebInspector/WebNodeHighlight.h:
  • WebInspector/WebNodeHighlight.m:

(-[WebNodeHighlight initWithTargetView:inspectorController:]):
(-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
(-[WebNodeHighlight attach]): Renamed from attachHighlight.
(-[WebNodeHighlight detach]): Renamed from detachHighlight.
(-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.

  • WebInspector/WebNodeHighlightView.h:
  • WebInspector/WebNodeHighlightView.m:

(-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.

4:14 AM Changeset in webkit [31208] by ap@webkit.org
  • 10 edits in trunk/JavaScriptCore

Reviewed by Oliver Hunt.

Consolidate static identifier initializers within CommonIdentifiers.

No reliably measurable change on SunSpider; maybe a tiny improvement (within 0.2%).

  • kjs/CommonIdentifiers.h: Added static identifiers that were lazily initialized throughout the code.
  • kjs/date_object.cpp: (KJS::DateObjectImp::DateObjectImp):
  • kjs/function_object.cpp: (KJS::FunctionPrototype::FunctionPrototype):
  • kjs/object_object.cpp: (KJS::ObjectPrototype::ObjectPrototype):
  • kjs/regexp_object.cpp: (KJS::RegExpPrototype::RegExpPrototype): Use the values from CommonIdentifiers.
  • kjs/lookup.h: Caching the identifier in a static wasn't a win on SunSpider, removed it.
  • kjs/value.h: (KJS::jsNaN): We already have a shared NaN value, no need for a duplicate here.
  • wtf/MathExtras.h: (wtf_atan2): Having local variables for numeric_limits constants is good for readability, but there is no reason to keep them static.
12:07 AM Changeset in webkit [31207] by mitz@apple.com
  • 4 edits in trunk/LayoutTests
  • fast/css/computed-style-expected.txt:
  • fast/css/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:

Mar 20, 2008:

10:30 PM Changeset in webkit [31206] by mitz@apple.com
  • 4 edits
    2 adds in trunk

WebCore:

2008-03-20 Dan Bernstein <mitz@apple.com>

Reviewed by Anders Carlsson.

  • fix an assertion failure due to a line being marked dirty during computeVerticalPositionsForLine() due to temporary box destruction

Test: fast/inline/clean-after-removing-temp-boxes.html

  • rendering/RenderText.cpp: (WebCore::RenderText::setTextWithOffset): Added code to dirty lines when this method is called on an empty text node, which has no line boxes.
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeVerticalPositionsForLine): Mark the line clean in the end.

LayoutTests:

2008-03-20 Dan Bernstein <mitz@apple.com>

Reviewed by Anders Carlsson.

  • test for an assertion failure due to a line being marked dirty during computeVerticalPositionsForLine() due to temporary box destruction
  • fast/inline/clean-after-removing-temp-boxes-expected.txt: Added.
  • fast/inline/clean-after-removing-temp-boxes.html: Added.
10:00 PM Changeset in webkit [31205] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Fix for leak introduced by inline ScopeChainNode use

Reviewed by Maciej

To avoid any extra branches when managing an inline ScopeChainNode
in the ScopeChain the inline node gets inserted with a refcount of

  1. This meant than when the ScopeChain was destroyed the ScopeChainNodes

above the inline node would be leaked.

We resolve this by manually popping the inline node in the
FunctionExecState destructor.

6:32 PM Changeset in webkit [31204] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Make some member variables private.


  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::ResourceLoader):
  • loader/ResourceLoader.h:
6:18 PM Changeset in webkit [31203] by andersca@apple.com
  • 4 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Get rid of m_originalURL in ResourceLoader.

  • loader/ResourceLoader.cpp: (WebCore::ResourceLoader::load): Don't store m_originalURL.


  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::willSendRequest): Use the url of the current request instead of the original URL.
6:07 PM Changeset in webkit [31202] by andersca@apple.com
  • 3 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Reviewed by Maciej.

Small loader cleanups.


  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::willSendRequest): No need to call setRequest here, ResourceLoader::willSendRequest takes care of that. Also, there is no need to check that newRequest is null here, because we assert earlier that it is not.


  • loader/ResourceLoader.h: Get rid of setRequest, it is no longer needed.
6:00 PM Changeset in webkit [31201] by andersca@apple.com
  • 2 edits in trunk/WebCore

2008-03-20 Anders Carlsson <andersca@apple.com>

Get rid of a couple of unnecessary class declarations.


  • loader/SubresourceLoader.h:
5:30 PM Changeset in webkit [31200] by hyatt@apple.com
  • 20 edits in trunk/WebCore

2008-03-20 David Hyatt <hyatt@apple.com>

Add a new value to background-clip, "text", that allows backgrounds to be clipped to foreground text (and
associated text decorations like shadows and underlines).

Reviewed by Beth

  • css/CSSParser.cpp: (WebCore::CSSParser::parseBackgroundProperty):
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator EBackgroundBox):
  • platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::clipToImageBuffer):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::paint):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackgrounds): (WebCore::InlineFlowBox::paintBackground): (WebCore::InlineFlowBox::paintBoxDecorations):
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintColumns): (WebCore::RenderBlock::paintObject): (WebCore::RenderBlock::paintFloats):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::paintBackgrounds): (WebCore::RenderBox::paintBackground): (WebCore::RenderBox::paintBackgroundExtended):
  • rendering/RenderBox.h:
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBoxDecorations):
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines):
  • rendering/RenderObject.h: (WebCore::): (WebCore::RenderObject::paintBackgroundExtended):
  • rendering/RenderStyle.h: (WebCore::):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::paintBoxDecorations):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintBackgroundsBehindCell):
5:14 PM Changeset in webkit [31199] by Adam Roben
  • 3 edits in trunk/WebCore

Allow pausing/blocking of JS execution by plugins

Part of Bug 17133: Should support pausing JavaScript execution without
hanging the process

<http://bugs.webkit.org/show_bug.cgi?id=17133>
<rdar://problem/5719551>

This patch doesn't affect Mac, which doesn't use the shared PluginView
code.

Note that this patch doesn't prevent plugins from executing JS via an
NPObject they've already gotten hold of. It just blocks obtaining new
NPObjects and pauses any requests to evaluate javascript: URIs. This
is probably good enough for now because most plugins seem to always
obtain the Window object each time they want to execute JS.

Reviewed by Tim Hatcher.

  • plugins/PluginView.cpp: (WebCore::PluginView::getValue): Return an error if JS is paused. (WebCore::PluginView::setJavaScriptPaused): Stop the request timer if we're pausing, and resume it if we're unpausing. (WebCore::PluginView::PluginView): Initialize new members.
  • plugins/PluginView.h:
5:14 PM Changeset in webkit [31198] by Adam Roben
  • 3 edits in trunk/WebCore

Allow pausing of callOnMainThread callbacks

Part of Bug 17133: Should support pausing JavaScript execution without
hanging the process

<http://bugs.webkit.org/show_bug.cgi?id=17133>
<rdar://problem/5719551>

Reviewed by Tim Hatcher.

  • platform/MainThread.cpp: (WebCore::dispatchFunctionsFromMainThread): If callbacks are paused, don't dispatch the functions. (WebCore::setMainThreadCallbacksPaused): Added. If we're being unpaused, call scheduleDispatchFunctionsOnMainThread so that any queued callbacks will get dispatched in the near future.
  • platform/MainThread.h:
5:13 PM Changeset in webkit [31197] by Adam Roben
  • 5 edits in trunk/WebCore

Allow blocking of JS event handlers/javascript: URIs per-Frame

Part of Bug 17133: Should support pausing JavaScript execution without
hanging the process

<http://bugs.webkit.org/show_bug.cgi?id=17133>
<rdar://problem/5719551>

Two new methods are added to KJSProxy: setPaused and isPaused. When
setPaused(true) is called, JS event handlers are blocked and
javascript: URIs will not be evaluated.

Reviewed by Tim Hatcher.

  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent):
    • Removed some old KJS_DEBUGGER code
    • Don't run the handler if the KJSProxy is paused.
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::KJSProxy): Initialize new member.
  • bindings/js/kjs_proxy.h: Added new methods.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::executeScript): Don't execute the script if the KJSProxy is paused.
4:50 PM Changeset in webkit [31196] by jhoneycutt@apple.com
  • 3 edits in trunk/WebCore

2008-03-20 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Anders.

Fix Windows warning / leak: warning C4150: deletion of pointer to
incomplete type 'WebCore::PluginRequest'; no destructor called

  • plugins/PluginView.cpp: Move PluginRequest class to PluginView.h so Windows PluginView destructor can use WTF::deleteAllValues to clean up m_requests.
  • plugins/PluginView.h: (WebCore::PluginRequest::PluginRequest): (WebCore::PluginRequest::frameLoadRequest): (WebCore::PluginRequest::notifyData): (WebCore::PluginRequest::sendNotification): (WebCore::PluginRequest::shouldAllowPopups):
4:18 PM Changeset in webkit [31195] by mrowe@apple.com
  • 8 edits in trunk

Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
command-line.

Reviewed by Sam Weinig.

4:17 PM Changeset in webkit [31194] by Adam Roben
  • 1 edit in trunk/WebCore/ChangeLog

Add some more bug references to ChangeLog from r31079

4:16 PM Developer Tools Hitlist edited by Adam Roben
Removed another fixed bug (diff)
4:11 PM Developer Tools Hitlist edited by Adam Roben
Removed a fixed bug (diff)
4:00 PM Changeset in webkit [31193] by jhoneycutt@apple.com
  • 2 edits in trunk/WebCore

2008-03-20 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Anders.

<rdar://problem/5809600> REGRESSION:
http/tests/plugins/cross-frame-object-access.html hangs Windows Layout
Tests

r30897 changed the way we conditionalize this feature.

  • plugins/PluginView.cpp: (WebCore::PluginView::getValue): Test ENABLE(NETSCAPE_PLUGIN_API) instead of USE(NPOBJECT). (WebCore::PluginView::bindingInstance): Same.
3:59 PM Changeset in webkit [31192] by Adam Roben
  • 2 edits in trunk/WebCore

Highlight nodes when you hover over them in the Console

Part of Bug 16532: Inspector should highlight nodes in page when
hovering over nodes in Inspector's interface

<http://bugs.webkit.org/show_bug.cgi?id=16532>
<rdar://problem/5712896>

Reviewed by Tim Hatcher.

  • page/inspector/ConsolePanel.js: (WebInspector.ConsolePanel._formatnode): Add mouseover/mouseout event listeners to highlight the node and clear the highlight.
3:59 PM Changeset in webkit [31191] by Adam Roben
  • 2 edits in trunk/WebCore

Highlight nodes in the page when you hover over their DOM breadcrumbs

Part of Bug 16532: Inspector should highlight nodes in page when
hovering over nodes in Inspector's interface

<http://bugs.webkit.org/show_bug.cgi?id=16532>
<rdar://problem/5712896>

Reviewed by Tim Hatcher.

  • page/inspector/DocumentPanel.js: (WebInspector.DocumentPanel): Add an mouseout event listener to the breadcrumbs element to clear the highlighted node. (WebInspector.DocumentPanel.updateBreadcrumbs): Change the mouseover event listener to highlight the node represented by the hovered breadcrumb.
3:58 PM Changeset in webkit [31190] by Adam Roben
  • 2 edits in trunk/WebCore

Highlight nodes in the page when you hover over them in the DOM tree

Part of Bug 16532: Inspector should highlight nodes in page when
hovering over nodes in Inspector's interface

<http://bugs.webkit.org/show_bug.cgi?id=16532>
<rdar://problem/5712896>

The inspected node is no longer highlighted (unless, of course, you
hover over it).

Reviewed by Tim Hatcher.

  • page/inspector/DocumentPanel.js: (WebInspector.DocumentPanel):
    • Don't highlight the focused node when the DOM tree is shown
    • Added mousemove/mouseout event listeners to set/clear the highlighted node. These are added to the root of the DOM tree instead of to each individual list item to avoid flashing as the mouse moves between nodes.

(WebInspector.DocumentPanel.set focusedDOMNode): Don't highlight the
focused node.
(WebInspector.DocumentPanel._onmousemove): Highlight the node under
the mouse.

3:58 PM Changeset in webkit [31189] by Adam Roben
  • 2 edits in trunk/WebCore

Show nodes' content/padding/border/margin boxes in the node highlight

Part of Bug 17221: Node highlight should show node metrics

<http://bugs.webkit.org/show_bug.cgi?id=17221>
<rdar://problem/5732822>

Outstanding issues:

1) We don't show padding/border/margins for inlines
2) We don't show any numeric metrics, we just draw the boxes
3) We'll probably want to tweak the look of the highlight some, at

least to make the boxes better distinguishable

Reviewed by Tim Hatcher.

  • page/InspectorController.cpp: (WebCore::drawOutlinedRect): Added. Just draws a single rect. (WebCore::drawHighlightForBoxes): Added. Takes the rects we calculated for the node and draws the highlight. (WebCore::InspectorController::drawNodeHighlight): Calculates the content/padding/border/margin boxes for blocks and passes them off to drawHighlightForBoxes. The behavior for inlines is for now unchanged.
3:57 PM Changeset in webkit [31188] by Adam Roben
  • 3 edits in trunk/WebCore

Fix RenderContainer's override of addLineBoxRects to match RenderObject's

RenderContainer::addLineBoxRects was never getting called because its
parameters didn't match those of RenderObject::addLineBoxRects.

Reviewed by Mitz Pettel.

No test possible.

  • rendering/RenderContainer.cpp: Added an optional bool useSelectionHeight parameter to match RenderObject's method.
  • rendering/RenderContainer.h: Ditto.
3:38 PM Changeset in webkit [31187] by mrowe@apple.com
  • 3 edits in trunk/LayoutTests

Tweak NodeList tests to ensure that they force a GC outside of DRT.

Rubber-stamped by Sam Weinig.

  • fast/dom/NodeList/5725058-crash-scenario-1.html:
  • fast/dom/NodeList/5725058-crash-scenario-2.html:
3:37 PM Changeset in webkit [31186] by mitz@apple.com
  • 2 edits in trunk/WebKit/win

Reviewed by Adam Roben.

  • make makeTextLarger() and zoomPageIn() do what they are supposed to do
  • WebView.cpp: (WebView::makeTextLarger): Changed call to canZoomIn() to zoomIn(). (WebView::zoomPageIn): Ditto.
2:00 PM Changeset in webkit [31185] by alp@webkit.org
  • 2 edits in trunk/WebCore

2008-03-20 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17946
[GTK] Widgets are not clipped

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::paintMozWidget): pass the clipping rectangle to moz_gtk_widget_paint() instead of just the widget rectangle.
1:44 PM Changeset in webkit [31184] by alp@webkit.org
  • 9 edits
    2 deletes in trunk/WebKit/gtk

2008-03-20 Alp Toker <alp@atoker.com>

GTK+ build fix. Back out r31183. This patch also introduced API style
issues.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
  • webkit/headers.pri:
  • webkit/webkit-marshal.list:
  • webkit/webkitdefines.h:
  • webkit/webkitnavigationaction.cpp: Removed.
  • webkit/webkitnavigationaction.h: Removed.
  • webkit/webkitprivate.cpp:
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebview.h:
11:19 AM Changeset in webkit [31183] by andersca@apple.com
  • 10 edits
    2 adds in trunk

.:

2008-03-20 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Anders.

Resolves http://bugs.webkit.org/show_bug.cgi?id=16092
"[GTK] Middle-mouse click should allow opening a URL in a new tab"

Added WebKitNavigationAction object to GTK API

  • GNUmakefile.am:

WebKit/gtk:

2008-03-20 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed and tweaked by Anders.

Resolves http://bugs.webkit.org/show_bug.cgi?id=16092
"[GTK] Middle-mouse click should allow opening a URL in a new tab"

Created WebKitNavigationAction object exported through the API. The
navigation-requested signal provides this object as context for the
requested navigation, allowing the application to decide what to do
with the navigation based on which mouse button was used, which
modifier keys were held down, etc. This allows, for example, the
application to open links in a new tab when either middle-click or
control-click are used to initiate the navigation.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
  • webkit/headers.pri:
  • webkit/webkit-marshal.list:
  • webkit/webkitdefines.h:
  • webkit/webkitnavigationaction.cpp: Added. (webkit_navigation_action_finalize): (webkit_navigation_action_class_init): (webkit_navigation_action_init): (webkit_navigation_action_get_button): (webkit_navigation_action_get_modifier_flags): (webkit_navigation_action_get_navigation_type): (webkit_navigation_action_get_original_url):
  • webkit/webkitnavigationaction.h: Added.
  • webkit/webkitprivate.cpp: (WebKit::kit):
  • webkit/webkitprivate.h:
  • webkit/webkitwebview.cpp:
  • webkit/webkitwebview.h:
10:59 AM Changeset in webkit [31182] by hyatt@apple.com
  • 4 adds in trunk/LayoutTests

Added layout test for dynamic sibling selector patch.

10:59 AM Changeset in webkit [31181] by hyatt@apple.com
  • 2 edits in trunk/WebCore

2008-03-20 David Hyatt <hyatt@apple.com>

Fix for http://bugs.webkit.org/show_bug.cgi?id=9279

Make :hover work with the adjacent sibling selector. This fix makes all forms of dynamic changes
(class name changes, :hover, :focus, etc.) work properly when used with the + selector.

Reviewed by weinig

Added fast/css/dynamic-sibling-selector.html

  • dom/Element.cpp: (WebCore::Element::recalcStyle):
10:22 AM Changeset in webkit [31180] by hyatt@apple.com
  • 4 edits in trunk/WebKit/win

Add full page zoom API for Windows WebKit.

9:18 AM Changeset in webkit [31179] by sullivan@apple.com
  • 4 edits in trunk/WebKit

WebKit:

2008-03-20 John Sullivan <sullivan@apple.com>

  • StringsNotToBeLocalized.txt: Brought this file up to date

WebKit/win:

2008-03-20 John Sullivan <sullivan@apple.com>

  • English.lproj/Localizable.strings: Brought this file up to date
9:09 AM Changeset in webkit [31178] by ddkilzer@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

2008-03-20 Aaron Golden <aegolden@gmail.com>

Reviewed by Darin and David Kilzer.

Addresses <http://bugs.webkit.org/show_bug.cgi?id=15263>, which caused certain marquees to not display.

Test: fast/html/marquee-scroll.html

  • html/HTMLMarqueeElement.cpp: (WebCore::HTMLMarqueeElement::parseMappedAttribute):

LayoutTests:

2008-03-20 Aaron Golden <aegolden@gmail.com>

Reviewed by Darin and David Kilzer.

  • fast/html/marquee-scroll.html: Added.
  • platform/mac/fast/html/marquee-scroll-expected.checksum: Added.
  • platform/mac/fast/html/marquee-scroll-expected.png: Added.
  • platform/mac/fast/html/marquee-scroll-expected.txt: Added.
9:01 AM Changeset in webkit [31177] by Adam Roben
  • 9 edits in trunk

Make WebNodeHighlightView use InspectorController to do its painting

WebCore:

Export InspectorController::drawNodeHighlight

Reviewed by Tim Hatcher.

  • WebCore.base.exp: Also sorted this file.

WebKit:

Mark WebNodeHighlight.m and WebNodeHighlightView.m Obj-C++

Reviewed by Tim Hatcher.

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac:

Make WebNodeHighlightView use InspectorController to do its painting

Reviewed by Tim Hatcher.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController highlightNode:]): Pass the InspectorController to the WebNodeHighlight, and don't call setHighlightedNode: (which has been removed). (-[WebInspectorWindowController hideHighlight]): Removed call to setHighlightedNode:.
  • WebInspector/WebNodeHighlight.h:
    • Replaced _highlightNode with _inspectorController
    • Removed _highlightedNode accessors
    • Added -inspectorController method
  • WebInspector/WebNodeHighlight.m: (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now takes an InspectorController* and stores it in _inspectorController. (-[WebNodeHighlight dealloc]): Removed code dealing with _highlightedNode. (-[WebNodeHighlight inspectorController]): Added.
  • WebInspector/WebNodeHighlightView.m: Removed FileInternal category. (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all GraphicsContexts to be based on a flipped CGContext, so we have to specify that this view is flipped. (-[WebNodeHighlightView drawRect:]): Changed to create a GraphicsContext and pass it to InspectorController::drawNodeHighlight.
7:33 AM Changeset in webkit [31176] by ddkilzer@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-20 David Krause <david.krause@gmail.com>

Reviewed by David Kilzer.

Fix http://bugs.webkit.org/show_bug.cgi?id=17923
Bug 17923: ARM platform endian defines inaccurate

  • wtf/Platform.h: Replaced !defined(ARMEL) check with !defined(VFP_FP) for PLATFORM(MIDDLE_ENDIAN)
3:20 AM Changeset in webkit [31175] by mjs@apple.com
  • 1 edit
    1 add in trunk/JavaScriptGlue

2008-03-20 Maciej Stachowiak <mjs@apple.com>

  • fix build
  • ForwardingHeaders/wtf/ListRefPtr.h: Added.
3:20 AM Changeset in webkit [31174] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-20 Maciej Stachowiak <mjs@apple.com>

  • fix build
  • JavaScriptCore.xcodeproj/project.pbxproj: install Activation.h as private
2:34 AM Changeset in webkit [31173] by mjs@apple.com
  • 5 edits
    1 add in trunk/JavaScriptCore

2008-03-20 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver.


  • reduce function call overhead for 1.014x speedup on SunSpider

I moved some functions from ExecState.cpp to ExecStateInline.h and
from JSGlobalObject.cpp to JSGlobalObject.h, and declared them
inline; machine function call overhead for these was hurting JS
funcion call overhead.


  • kjs/ExecState.cpp:
  • kjs/ExecStateInlines.h: Added. (KJS::ExecState::ExecState): (KJS::ExecState::~ExecState): (KJS::FunctionExecState::FunctionExecState): (KJS::FunctionExecState::~FunctionExecState):
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::pushActivation): (KJS::JSGlobalObject::checkActivationCount): (KJS::JSGlobalObject::popActivation):
  • kjs/function.cpp:

Mar 19, 2008:

11:36 PM Changeset in webkit [31172] by oliver@apple.com
  • 4 edits in trunk/JavaScriptCore

Avoid heap allocating the root scope chain node for eval and closure free functions

Reviewed by Maciej

Maciej suggested using an inline ScopeChainNode for functions that don't use eval
or closures as they are unable to ever capture the scope chain. This gives us a 2.4%
win in sunspider, a 15% win in controlflow-recursive, and big (>5%) wins in a number
of other tests.

10:23 PM Changeset in webkit [31171] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-03-19 Stephanie Lewis <Stephanie Lewis>

Rubber-stamped by Anders.

Fix Windows Build

  • platform/cf/SharedBufferCF.cpp: (WebCore::SharedBuffer::createCFData):
9:51 PM Changeset in webkit [31170] by Stephanie Lewis
  • 2 edits in trunk/WebCore

2008-03-19 Stephanie Lewis <Stephanie Lewis>

Rubber-stamped by Anders.

Fix Windows Build

  • platform/SharedBuffer.h:
8:15 PM Changeset in webkit [31169] by justin.garcia@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.


<rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues


Elements with height: x%; overflow: visible; overlap what's below them when they are copied from
a document in quirksmode and pasted into to one in standards mode. This fix uses the computed
the value for a property if its value is a percentage.


  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use setProperty from appendStartMarkup. We already have a parsed property value, so we shouldn't use setProperty, since it takes in a String. If we did, we would have to call CSSValue::cssText() for a String only to re-parse it in setProperty. This wasn't extremely important now, but it will be as we compute more properties to fix the rest of the copy/paste fidelity bugs.
  • css/CSSMutableStyleDeclaration.h:
  • editing/markup.cpp: (WebCore::appendStartMarkup): Compute values for properties that have percentage values. We could perhaps narrow this special case to only include properties that are effected by quirksmode.

LayoutTests:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.


<rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues

  • editing/pasteboard/5780697-2-expected.txt: Added.
  • editing/pasteboard/5780697-2.html: Added.
6:14 PM Changeset in webkit [31168] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Sam Weinig.

Fix release build.

  • kjs/JSGlobalObject.cpp: Add missing #include.
6:00 PM Changeset in webkit [31167] by weinig@apple.com
  • 17 edits in trunk

JavaScriptCore:

2008-03-19 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for <rdar://problem/5785694>
Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file

Make the activeExecStates stack per JSGlobalObject instead of static to ensure
thread safety.

  • JavaScriptCore.exp:
  • kjs/ExecState.cpp: (KJS::InterpreterExecState::InterpreterExecState): (KJS::InterpreterExecState::~InterpreterExecState): (KJS::EvalExecState::EvalExecState): (KJS::EvalExecState::~EvalExecState): (KJS::FunctionExecState::FunctionExecState): (KJS::FunctionExecState::~FunctionExecState):
  • kjs/ExecState.h: (KJS::):
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::mark):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::activeExecStates):
  • kjs/collector.cpp: (KJS::Collector::collect): (KJS::Collector::reportOutOfMemoryToAllExecStates): Iterate all JSGlobalObjects and report the OutOfMemory condition to all the ExecStates in each.

WebCore:

2008-03-19 Sam Weinig <sam@webkit.org>

Reviewed by Anders Carlsson.

Fix for <rdar://problem/5785694>
Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file

Make the activeExecStates stack per JSGlobalObject instead of static to ensure
thread safety.

  • bindings/objc/WebScriptObject.mm: (+[WebScriptObject throwException:]): Change to throw an exception on the current GlobalObject instead of the top of the static activeExecStates stack. (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject instead of the top of the static activeExecStates stack.
  • bridge/c/c_instance.cpp:
  • bridge/c/c_instance.h:
  • bridge/jni/jni_instance.cpp: (JavaInstance::virtualBegin): (JavaInstance::virtualEnd):
  • bridge/jni/jni_instance.h:
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm: (ObjcInstance::~ObjcInstance): (ObjcInstance::virtualBegin): (ObjcInstance::virtualEnd):
  • bridge/runtime.cpp: (KJS::Bindings::Instance::setDidExecuteFunction): (KJS::Bindings::Instance::didExecuteFunction): (KJS::Bindings::Instance::setCurrentGlobalObject): Added. (KJS::Bindings::Instance::currentGlobalObject): Added. (KJS::Bindings::Instance::begin): (KJS::Bindings::Instance::end):
  • bridge/runtime.h: (KJS::Bindings::Instance::virtualBegin): Renamed from begin(). (KJS::Bindings::Instance::virtualEnd): Renamed from end(). We now store the currently active globalObject everytime we cross the runtime object boundary. To do this, we take advantage of the existing begin/end methods that are called when crossing this boundary, making begin set the current globalObject and then call the old begin, now called virtualBegin.
5:24 PM Changeset in webkit [31166] by beidson@apple.com
  • 6 edits
    1 add in trunk/WebCore

2008-03-19 Brady Eidson <beidson@apple.com>

Reviewed by Anders

Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms
(Mac and Windows instead of just Mac)

  • WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp
  • WebCore.xcodeproj/project.pbxproj: Ditto
  • platform/SharedBuffer.cpp:
  • platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks
  • platform/cf/SharedBufferCF.cpp: Added. (WebCore::SharedBuffer::SharedBuffer): (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData (WebCore::SharedBuffer::hasPlatformData): (WebCore::SharedBuffer::platformData): (WebCore::SharedBuffer::platformDataSize): (WebCore::SharedBuffer::maybeTransferPlatformData): (WebCore::SharedBuffer::clearPlatformData):
  • platform/mac/SharedBufferMac.mm: (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData
4:44 PM Changeset in webkit [31165] by mitz@apple.com
  • 2 edits in trunk/WebKit/win

2008-03-19 Dan Bernstein <mitz@apple.com>

  • build fix
  • Interfaces/WebKit.idl: Touched.
3:31 PM Changeset in webkit [31164] by Adam Roben
  • 4 edits in trunk/WebKit/win

Fix a couple of bugs where the node highlight would appear when it shouldn't

There were at least two ways you could get the highlight to appear
when it shouldn't:

1) Selecting a node in the Inspector while the inspected WebView was

in a background tab.

2) Selecting a node in the Inspector, switching to another tab,

closing the Inspector, then switching back to the inspected
WebView's tab.

This patch fixes the above two issues, and possibly others.

show() and hide() are now private methods of WebNodeHighlight. They
are replaced by a single public method,
setShowsWhileWebViewIsVisible(bool). WebInspectorClient uses this to
tell the highlight whether it should be showing when the inspected
WebView is visible.

Reviewed by John Sullivan.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::highlight): If the highlight is already showing, it just needs to update since the highlighted node has changed. If the highlight is not showing, call setShowsWhileWebViewIsVisible(true) so that the highlight will show when the WebView is shown. (WebInspectorClient::hideHighlight): Changed to call setShowsWhileWebViewIsVisible(false) instead of hide().
  • WebNodeHighlight.cpp: (WebNodeHighlight::WebNodeHighlight): Initialize new member, and initialize m_inspectedWebViewWindow to its final value here instead of in show(). (WebNodeHighlight::setShowsWhileWebViewIsVisible): Added. If we're not supposed to show ourselves when the WebView is visible, we hide ourselves and return. Otherwise, we make our visibility match the WebView's. (WebNodeHighlight::isWebViewVisible): Added. (WebNodeHighlight::show): Removed initialization of m_inspectedWebViewWindow (this is now done by our constructor). Added an assertion that we're supposed to show ourselves when the WebView is visible. (WebNodeHighlight::onWebViewShowWindow): If we shouldn't show ourselves when the WebView is visible, then we don't need to do anything at all when the WebView's visibility changes.
  • WebNodeHighlight.h:
3:31 PM Changeset in webkit [31163] by Adam Roben
  • 4 edits in trunk/WebKit/win

Small WebNodeHighlight cleanup

Renamed the following methods:

visible() -> isShowing()
updateWindow() -> update()

Removed the window() method.

Added a new method, placeBehindWindow(HWND), that moves the highlight
overlay in the window z-order to be just behind the passed-in window.
WebInspectorClient calls this instead of doing the move directly using
the old window() method.

Reviewed by John Sullivan.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::attachWindow): (WebInspectorClient::detachWindow): (WebInspectorClient::highlight): Call placeBehindWindow instead of calling SetWindowPos directly.
  • WebNodeHighlight.cpp: (WebNodeHighlight::show): (WebNodeHighlight::isShowing): (WebNodeHighlight::placeBehindWindow): Added. Code came from WebInspectorClient::highlight. (WebNodeHighlight::onWebViewWindowPosChanged): (WebNodeHighlight::onRootWindowPosChanged):
  • WebNodeHighlight.h:
3:28 PM Changeset in webkit [31162] by oliver@apple.com
  • 5 edits in trunk

Bug 17954: Canvas arc() with radius of 0 throws exception
http://bugs.webkit.org/show_bug.cgi?id=17954

Reviewed by Antti

Simple fix -- use >= instead of > when validating the radius.

2:57 PM Changeset in webkit [31161] by justin.garcia@apple.com
  • 5 edits
    2 adds in trunk

WebCore:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.

<rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)


The position inside an empty inline-block was a candidate, but upstream and downstream
would move across it without stopping. This confused canonicalPosition, since no more
than two candidates should have the same upstream/downstream (be visually equivalent).


Code was added intentionally in isCandidate to make VisiblePositions inside empty
inline-blocks, so we need to make upstream/downstream understand that.

  • dom/Position.cpp: (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only stop when entering or leaving a non-inline element (referred to as a "block"). We must also avoid entering or leaving an empty inline-block. This will allow a VisiblePosition there, to match up with what the code in isCandidate intended. (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this. (WebCore::Position::upstream): Added better comments, called the new functions. (WebCore::Position::downstream): Ditto.
  • dom/Position.h:

LayoutTests:

2008-03-19 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver.


<rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)

  • editing/pasteboard/4989774.html: Updated to wait for the images to load before trying to copy it.
  • editing/selection/5794920-1-expected.txt: Added.
  • editing/selection/5794920-1.html: Added.
2:51 PM Changeset in webkit [31160] by mitz@apple.com
  • 59 edits in trunk/WebCore

2008-03-19 Dan Bernstein <mitz@apple.com>

Rubber-stamped by John Sullivan.

  • change CSS property and value keyword constants from all-caps with underscores to intra-caps.
  • css/makeprop.pl:
  • css/makevalues.pl:
  • All files using the constants
1:39 PM Changeset in webkit [31159] by Adam Roben
  • 4 edits in trunk/WebCore

Make clicking anywhere in a row in the DOM tree select that row's node

We now have mousedown and dblclick event listeners on the root of the
tree that forward the event to the node on the row the mouse is over.

Reviewed by Tim Hatcher.

  • page/inspector/DocumentPanel.js: (WebInspector.DocumentPanel): Added a dblclick and mousedown event listeners to the root of the tree. (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the tree element for the row underneath the mouse. (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick event on to the tree element in the current row. (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree element in the current row.
  • page/inspector/treeoutline.js: (TreeOutline.treeElementFromPoint): Added. (TreeElement.treeElementSelected): Changed to call TreeElement.isEventWithinDisclosureTriangle, and added an early return. (TreeElement.treeElementToggled): Ditto. (TreeElement.isEventWithinDisclosureTriangle): Added.
  • page/inspector/utilities.js: (Node.enclosingNodeOrSelfWithNodeNameInArray): Added. (Node.enclosingNodeOrSelfWithNodeName): Now just calls enclosingNodeOrSelfWithNodeNameInArray. (Elemnt.get totalOffsetLeft): Added. (Elemnt.get totalOffsetTop): Added.
1:28 PM Changeset in webkit [31158] by mrowe@apple.com
  • 2 edits in trunk/WebKitLibraries

Fix http://bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is 2-architecture universal binary (not 4-architecture)).

Rubber-stamped by Sam Weinig.

  • libWebCoreSQLite3.a: Land a 4-way fat binary.
11:40 AM Changeset in webkit [31157] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Sam Weinig.

Test: fast/repaint/line-flow-with-floats-10.html

  • rendering/bidi.cpp: (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion. If the float's top margin has changed and it has not been repositioned yet, we do not have its new y position.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/repaint/line-flow-with-floats-10.html: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.checksum: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.png: Added.
  • platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt: Added.
11:24 AM Changeset in webkit [31156] by adachan@apple.com
  • 4 edits in trunk/WebKit/win

2008-03-19 Ada Chan <adachan@apple.com>

Added a method to paint WebView content specified by
the document rect into a device context.

Reviewed by Darin.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp: (WebView::paintDocumentRectToContext):
  • WebView.h:
10:58 AM Changeset in webkit [31155] by hyatt@apple.com
  • 38 edits in trunk/WebCore

2008-03-19 David Hyatt <hyatt@apple.com>

New implementation of full page zoom. Because of how much doesn't transform when zooming, and because
of the need to obey viewport constraints, I decided to take a completely different approach. Now CSS
lengths and intrinsic sizes are simply adjusted by the zoom factor. This approach works much better and
avoids pixel cracks more than the old approach. In addition widgets "just work", namely plugins zoom
and scrollbars do not.

This patch also implements the IE zoom CSS property. This property allows fine-grained control over
zooming at the element level. It takes values of normal | <number> | <percentage> to match WinIE. In
addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
extra value, reset. The reset keyword can be used to prevent a section of the page from scaling at all
when a zoom is applied.

Reviewed by olliej

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Support the new 'zoom' property for getComputedStyle.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Code that parses the 'zoom' property.
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::computeLengthInt): (WebCore::CSSPrimitiveValue::computeLengthIntForLength): (WebCore::CSSPrimitiveValue::computeLengthShort): (WebCore::CSSPrimitiveValue::computeLengthFloat): (WebCore::CSSPrimitiveValue::computeLengthDouble):
  • css/CSSPrimitiveValue.h: Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the zoom factor.
  • css/CSSPropertyNames.in: Add the new zoom property to the list of properties we understand.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyDeclarations): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapBackgroundSize): (WebCore::CSSStyleSelector::mapBackgroundXPosition): (WebCore::CSSStyleSelector::mapBackgroundYPosition): (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
  • css/CSSStyleSelector.h: (WebCore::CSSStyleSelector::setStyle): Pass in the zoom factor when computing all lengths in CSS.
  • css/CSSValueKeywords.in: Add support for the 'reset' keyword of the zoom property.
  • dom/Document.cpp: (WebCore::Document::recalcStyle): Set the 'zoom' CSS property on the RenderView. This is how we implement full page zoom.
  • html/CanvasRenderingContext2D.cpp: (WebCore::size): Make sure the back end canvas size ignores zooming when rendering images.
  • html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::width): (WebCore::HTMLImageElement::height): (WebCore::HTMLImageElement::naturalWidth): (WebCore::HTMLImageElement::naturalHeight): Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.
  • loader/CachedImage.cpp: (WebCore::CachedImage::ref): (WebCore::CachedImage::imageSize): (WebCore::CachedImage::imageRect):
  • loader/CachedImage.h: (WebCore::CachedImage::canRender): Force access to the CachedImage metrics to take a multiplier so that people have to think about the zoom factor. The "intrinsic size" of the image then takes that into account.
  • loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish): (WebCore::ImageDocument::scale): (WebCore::ImageDocument::resizeImageToFit): (WebCore::ImageDocument::imageChanged): (WebCore::ImageDocument::restoreImageSize): (WebCore::ImageDocument::imageFitsInWindow): Make sure image documents respect the zoom.
  • page/AnimationController.cpp: (WebCore::ImplicitAnimation::animate): Make the 'zoom' CSS property work with CSS transitions.
  • page/Frame.h: (WebCore::Frame::pageZoomFactor): (WebCore::Frame::textZoomFactor): Add accessors for obtaining the pageZoom vs. textZoom.
  • page/FrameView.cpp: (WebCore::FrameView::adjustViewSize): Remove the old zoom implementation that used transforms.
  • page/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityIsIgnored]): Pass in the zoom factor.
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackground): (WebCore::InlineFlowBox::paintBoxDecorations): Pass in the zoom factor when testing for size.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize): (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::paintBackgroundExtended): (WebCore::RenderBox::calcHeight):
  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layout):
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::canvasSizeChanged):
  • rendering/RenderHTMLCanvas.h: (WebCore::RenderHTMLCanvas::renderName): (WebCore::RenderHTMLCanvas::intrinsicSizeChanged):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::setImageSizeForAltText): (WebCore::RenderImage::imageChanged): (WebCore::RenderImage::calcReplacedWidth): (WebCore::RenderImage::calcReplacedHeight):
  • rendering/RenderImage.h: (WebCore::RenderImage::intrinsicSizeChanged):
  • rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::layout): (WebCore::RenderListMarker::imageChanged): (WebCore::RenderListMarker::getRelativeMarkerRect):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::paintBorder): Pass in the zoom factor when testing for size.
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): (WebCore::RenderReplaced::setStyle): (WebCore::RenderReplaced::intrinsicSizeChanged):
  • rendering/RenderReplaced.h: Added a new call when the zoom factor changes, intrinsicSizeChanged(). Replaced element subclasses respond to this via overrides.
  • rendering/RenderStyle.cpp: (WebCore::StyleVisualData::StyleVisualData): (WebCore::StyleInheritedData::StyleInheritedData): (WebCore::StyleInheritedData::operator==): (WebCore::RenderStyle::diff):
  • rendering/RenderStyle.h: (WebCore::StyleVisualData::operator==): (WebCore::RenderStyle::zoom): (WebCore::RenderStyle::zoomInEffect): (WebCore::RenderStyle::setZoom): (WebCore::RenderStyle::setZoomInEffect): (WebCore::RenderStyle::initialZoom): Support for 'zoom' in the RenderStyle. "zoomInEffect" represents the computed zoom taking into account all the zooms specified on ancestors.
  • rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::imageChanged):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::imageChanged):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::imageChanged):
  • rendering/RenderVideo.h: (WebCore::RenderVideo::intrinsicSizeChanged): Pass in the zoom factor.
  • rendering/RenderView.cpp: (WebCore::RenderView::calcHeight): (WebCore::RenderView::calcWidth): (WebCore::RenderView::layout): (WebCore::RenderView::viewHeight): (WebCore::RenderView::viewWidth):
  • rendering/RenderView.h: (WebCore::RenderView::zoomFactor): Back out the old implementation.
10:41 AM Google Summer of Code 2008 edited by Adam Roben
Made JS/CSS syntax highlighting a developer tools project (diff)
10:34 AM Google Summer of Code 2008 edited by Adam Roben
Added project ideas about syntax highlighting (diff)
9:29 AM Changeset in webkit [31154] by Adam Roben
  • 6 edits in trunk/WebCore

Rename firstParent* methods to enclosingNode*

Rubberstamped by John Sullivan.

  • page/inspector/ConsolePanel.js:
  • page/inspector/DocumentPanel.js:
  • page/inspector/NetworkPanel.js:
  • page/inspector/inspector.js:
  • page/inspector/utilities.js:
7:42 AM Changeset in webkit [31153] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by John Sullivan.

  • fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431

Test: fast/dynamic/subtree-parent-static-y.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling this method on the parent if the parent is the new layout subtree root, which would result in marking all the way to the top, when it should actually do nothing.

LayoutTests:

Reviewed by John Sullivan.

  • test for <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431
  • fast/dynamic/subtree-parent-static-y.html: Added.
  • platform/mac/fast/dynamic/subtree-parent-static-y-expected.checksum: Added.
  • platform/mac/fast/dynamic/subtree-parent-static-y-expected.png: Added.
  • platform/mac/fast/dynamic/subtree-parent-static-y-expected.txt: Added.
2:37 AM Changeset in webkit [31152] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Use WTF::Unicode abstraction rather than using ICU functions directly.

  • html/PreloadScanner.cpp: (WebCore::PreloadScanner::tokenize):
2:22 AM Changeset in webkit [31151] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Attempt to fix the Gtk build.

12:48 AM Changeset in webkit [31150] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2008-03-19 Jasper Bryant-Greene <jasper@unix.geek.nz>

Reviewed by Maciej Stachowiak.

Fix http://bugs.webkit.org/show_bug.cgi?id=17941
Bug 17941: C++-style comments in JavaScriptCore API

  • API/JSBase.h: Remove C++-style comments from public JavaScriptCore API, replacing with standard C90 block comments.
12:18 AM Changeset in webkit [31149] by mrowe@apple.com
  • 5 edits in trunk

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"

  • kjs/nodes2string.cpp: (KJS::ConstDeclNode::streamTo): Null-check the correct variable.

2008-03-19 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Test for http://bugs.webkit.org/show_bug.cgi?id=17939
Bug 17939: Crash decompiling "const a = 1, b;"

  • fast/js/function-toString-parentheses-expected.txt:
  • fast/js/resources/function-toString-parentheses.js:
Note: See TracTimeline for information about the timeline view.