Timeline


and

04/04/08:

23:34 Changeset [31656] by sfalken@apple.com

Only delete the backing store of background windows.

Reviewed by Ada Chan.

  • WebView.cpp: (WebView::WebView): (WebView::deleteBackingStore): (WebView::paint): Added active check. (WebView::deleteBackingStoreSoon): (WebView::cancelDeleteBackingStoreSoon): Added. (WebView::active): Added. (WebView::updateActiveState): Moved active check code from here to active().
  • WebView.h:
22:50 Changeset [31655] by sfalken@apple.com

Fix tooltip window leak.


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

Reviewed by Ada Chan.

  • WebView.cpp: (WebView::~WebView):
22:17 Changeset [31654] by kevino@webkit.org

Add GradientWx.cpp to the wx build process.

21:54 Changeset [31653] by mitz@apple.com

Reviewed by Sam Weinig.

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

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

Reviewed by Oliver.

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

  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored): (WebCore::AccessibilityObject::addChildren):
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::isDetached):
  • rendering/RenderImage.h: (WebCore::RenderImage::isRenderImage):
  • rendering/RenderObject.h: (WebCore::RenderObject::isRenderImage):
19:14 Changeset [31651] by sfalken@apple.com

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


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


Reviewed by Ada Chan.

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

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

Reviewed by Beth.

Some more clean-up of AccessibilityObject:

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

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

Reviewed by Adam Roben.

  • page/inspector/TextPrompt.js:

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

14:11 Changeset [31647] by weinig@apple.com

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

Reviewed by Oliver Hunt.

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

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

Reviewed by Adam Roben.

  • page/inspector/TextPrompt.js: Removed a trimTrailingWhitespace() call.
13:50 Changeset [31645] by timothy@apple.com

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

Reviewed by Adam Roben.

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

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

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js:

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

13:21 ApplicationsGtk edited by alp@atoker.com
Epiphany is now WebKit-only (diff)
13:17 Changeset [31643] by jhoneycutt@apple.com

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

Reviewed by Beth.

Some clean up of AccessibilityObject:

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

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

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js:

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

13:05 Changeset [31641] by timothy@apple.com

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

Reviewed by Adam Roben.

  • page/inspector/inspector.js:

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

12:18 Changeset [31640] by hyatt@apple.com

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

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

Reviewed by Beth

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize):
12:16 Changeset [31639] by timothy@apple.com

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

Reviewed by Adam Roben.

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

in-sync with inspector.css.

  • page/inspector/ElementsPanel.js:

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

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

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

12:02 Changeset [31638] by mitz@apple.com
  • try to fix the Tiger build
  • icu/unicode/uscript.h: Copied from WebKit/mac/icu/unicode/uscript.h.
11:17 Changeset [31637] by aroben@apple.com

Make WebKit use WebCore's copy of the ICU headers

WebCore:

Copy icu/ to PrivateHeaders for WebKit's benefit

Rubberstamped by Tim Hatcher.

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

WebKit/mac:

Use WebCore's ICU headers instead of our own copy

Rubberstamped by Tim Hatcher.

  • Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's PrivateHeaders.
10:47 Changeset [31636] by aroben@apple.com

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

WebCore:

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

Patch by Tim Hatcher, typed by me.

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

WebKit/mac:

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

Patch by Tim Hatcher, typed by me.

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

WebCore:

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

Reviewed by Dan.

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

WebKit:

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

Reviewed by Dan.

  • English.lproj/Localizable.strings:

WebKit/mac:

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

Reviewed by Dan.

  • WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory imageTitleForFilename:width:height:]):
08:57 Changeset [31634] by adachan@apple.com

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

Reviewed by Dan.

  • English.lproj/Localizable.strings: Updated.
  • WebCoreLocalizedStrings.cpp: (WebCore::imageTitle):
00:54 squirrelfish edited by ggaren@apple.com
(diff)
00:52 QtWebKitContrib edited by hausmann@webkit.org
(diff)
00:42 squirrelfish edited by ggaren@apple.com
(diff)

04/03/08:

23:38 Changeset [31633] by mjs@apple.com

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

Reviewed by Sam.


  • fix crash in codegen from new nodes
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitConstruct):
  • kjs/nodes.h:
23:38 Changeset [31632] by mjs@apple.com

File I forgot in my last commit.

23:34 Changeset [31631] by mjs@apple.com

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

Reviewed by Geoff.

  • kjs/nodes.cpp: (KJS::ReadModifyResolveNode::emitCode): (KJS::ReadModifyBracketNode::emitCode):
  • kjs/nodes.h:
22:28 Changeset [31630] by mitz@apple.com

Forgot to save after the last change...

22:20 Changeset [31629] by mitz@apple.com
  • Windows build fix
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::matchImprovingEnumProc):
22:08 Changeset [31628] by kevino@webkit.org

Fix PlatformGradient so that it's a pointer on all platforms.

21:47 Changeset [31627] by mitz@apple.com
  • 64-bit build fix
  • platform/mac/WebFontCache.mm: (+[WebFontCache internalFontWithFamily:traits:weight:size:]):
21:34 Changeset [31626] by kevino@webkit.org

wx build fix. Add stubs for gradient class platform functions.

21:32 Changeset [31625] by kevino@webkit.org

Reviewed by Dan Bernstein.

Refactor Gradient.h to have the same API on platforms without a gradient class.

21:13 Changeset [31624] by mitz@apple.com
  • Qt build fix
  • platform/graphics/qt/FontQt.cpp: (WebCore::Font::Font):
21:07 Changeset [31623] by mitz@apple.com
  • Tiger build fix
  • platform/mac/WebFontCache.mm:
  • rendering/RenderThemeMac.mm:
21:04 Changeset [31622] by mitz@apple.com
  • Gtk build fix
  • platform/graphics/gtk/FontPlatformData.h: (WebCore::FontPlatformData::size):
  • platform/graphics/gtk/FontPlatformDataGtk.cpp: (WebCore::FontPlatformData::FontPlatformData):
  • platform/graphics/gtk/FontPlatformDataPango.cpp: (WebCore::FontPlatformData::FontPlatformData):
20:51 Changeset [31621] by mitz@apple.com
  • project file updates in preparation for build fixes
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCoreSources.bkl:
20:46 Changeset [31620] by mitz@apple.com

WebCore:

2008-04-03 Nicholas Shanks <webkit@nickshanks.com>

Updated by Dan Bernstein. Reviewed by Dave Hyatt.

Tests to come: <http://bugs.webkit.org/show_bug.cgi?id=18306>

Build fixes for platforms other than Mac and Windows to come.

  • WebCore.vcproj/WebCore.vcproj: Added FontDescription.cpp.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Changed to return additional weight value keywords 100, 200, 300, 500, 600, 800 and 900.
  • css/CSSFontSelector.cpp: (WebCore::hashForFont): Changed the bold parameter into a weight parameter and added the weight to the string to be hashed. (WebCore::CSSFontSelector::addFontFaceRule): Changed to apply all CSS weight values to the font description. (WebCore::CSSFontSelector::getFontData): Updated the fallback logic to go through all weights equal or lighter from the desired weight. For SVG, to also consider heavier weights.
  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Cleaned up parsing of the font-weight property.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): Changed to apply all CSS weight values to the font description.
  • platform/graphics/Font.h: (WebCore::Font::weight): Updated for the change to FontDescription::weight().
  • platform/graphics/FontCache.cpp: (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): Replaced the bold component of the key with a weight component. (WebCore::FontPlatformDataCacheKey::operator==): Updated for the above. (WebCore::computeHash): Ditto. (WebCore::FontPlatformDataCacheKeyTraits::deletedValue): Removed unnecessary parameters. (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): Ditto. (WebCore::FontCache::getCachedFontPlatformData): Updated for the change in FontPlatformDataCacheKey.
  • platform/graphics/FontDescription.cpp: Added. (WebCore::FontDescription::lighterWeight): Added. Returns a lighter CSS font-weight value if there is one, or the lightest value. (WebCore::FontDescription::bolderWeight): Added. Returns a heavier CSS font-weight value if there is one, or the heaviest value.
  • platform/graphics/FontDescription.h: (WebCore::FontWeight): Added this enumeration. (WebCore::FontDescription::FontDescription): (WebCore::FontDescription::bold): Removed. (WebCore::FontDescription::weight): Changed to return a FontWeight. (WebCore::FontDescription::setBold): Removed. (WebCore::FontDescription::setWeight): Changed to take a FontWeight.
  • platform/graphics/mac/FontCacheMac.mm: (WebCore::toAppKitFontWeight): Added. Maps a FontWeight to the AppKit font weight scale of 0-15. (WebCore::isAppKitFontWeightBold): Added. (WebCore::FontCache::getFontDataForCharacters): Changed to use a weight instead of the bold trait for custom fonts, and to decide whether to synthesize bold based on the weights rather than the bold trait. (WebCore::FontCache::fontExists): Updated for the change in WebFontCache . (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to decide whether to synthesize bold based on the weights rather than on the bold trait.
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::toGDIFontWeight): Added. Maps a FontWeight to a GDI font weight constant. (WebCore::isGDIFontWeightBold): Added. (WebCore::adjustedGDIFontWeight): Added. (WebCore::MatchImprovingProcData::MatchImprovingProcData): Added this data structure for use by the following callback. (WebCore::matchImprovingEnumProc): Added. The logic of this method is a simplification of the betterChoice() predicate in WebFontCache.mm, which considers only the italic trait and the weight. (WebCore::createGDIFont): Added. Similarly to +[WebFontCache fontWithFamily:traits:weight:size:], this function finds the closest match in the family for the desired italic bit and weight. (WebCore::FontCache::fontExists): Changed to call createGDIFont(). (WebCore::FontCache::createFontPlatformData): Ditto. Also changed to compute the synthetic bold and synthetic italic flags based on weights and italic bits and pass them to the FontPlatformData constructor.
  • platform/graphics/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): Changed the bold and oblique parameters to mean whether these should be synthesized and removed the font enumeration code that used to decide that.
  • platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::smallCapsFontData): Changed to pass the synthetic bold and oblique flags from the full-size FontPlatformData to the FontPlatformData constructor for the small caps font.
  • platform/mac/WebCoreTextRenderer.h:
  • platform/mac/WebCoreTextRenderer.mm: (WebCoreFindFont): Added a weight parameter, which is passed to +[WebFontCache fontWithFamily:traits:weight:size:].
  • platform/mac/WebFontCache.h:
  • platform/mac/WebFontCache.mm: (acceptableChoice): (betterChoice): Changed to ignore the bold trait. Changed the logic for deciding based on weights to prefer the font whose weight is closer to the desired one, or, if both candidates' weights are the same distance from the desired weight, the one that is more "off-center". (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to check for weight when matching by full name. Changed to pass the actual desired weight instead of the constant 5 to acceptableChoice() and betterChoice(). Changed to use weights to decide whether to synthesize bold. (+[WebFontCache fontWithFamily:traits:weight:size:]): Added a weight parameter, which is passed to the internal method.
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::paint): Updated for the change to FontDescription.
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::updateFromElement): Ditto. (WebCore::RenderListBox::paintItemForeground): Ditto.
  • rendering/RenderThemeMac.mm: (WebCore::toFontWeight): Added. Maps the AppKit font weight range of 0-15 to the FontWeight range. (WebCore::RenderThemeMac::systemFont): Updated for the change to FontDescription.
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::systemFont): Ditto.

WebKit/mac:

2008-04-03 Nicholas Shanks <webkit@nickshanks.com>

Updated by Dan Bernstein. Reviewed by Dave Hyatt.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _styleFromFontAttributes:]): (-[WebHTMLView _originalFontB]): (-[WebHTMLView _addToStyle:fontA:fontB:]):

WebKit/win:

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

Reviewed by Dave Hyatt.

  • DOMCoreClasses.cpp: (DOMElement::font): Updated for the change to FontDescription.
  • WebCoreSupport/WebDragClient.cpp: (dragLabelFont): Ditto.
  • WebKitGraphics.cpp: (makeFont): Ditto.
  • WebKitGraphics.h: Added a FIXME.
20:10 Changeset [31619] by mitz@apple.com
  • another Gtk build fix attempt
  • platform/graphics/cairo/GradientCairo.cpp: (WebCore::Gradient::platformDestroy):
19:25 Changeset [31618] by mrowe@apple.com

Versioning.

19:18 Changeset [31617] by mrowe@apple.com

New tag.

19:17 Changeset [31616] by mrowe@apple.com

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

Reviewed by Sam.

<rdar://problem/5832603> REGRESSION: Adding an image to the header image well causes Journal page to incorrectly draw

  • dom/Document.cpp: (WebCore::Document::childrenChanged): Make sure to chain up to ContainerNode::childrenChanged.
19:05 Changeset [31615] by mitz@apple.com
  • attempted Gtk build fix
  • GNUmakefile.am:
18:02 Changeset [31614] by mitz@apple.com
  • attempted Qt build fix
  • platform/graphics/qt/GradientQt.cpp: (WebCore::Gradient::platformDestroy):
17:43 Changeset [31613] by mitz@apple.com
  • attempted Gtk build fix
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::stroke):
17:40 Changeset [31612] by mitz@apple.com
  • attempted Qt build fix
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::stroke):
16:13 Changeset [31611] by sfalken@apple.com

<rdar://problem/5835382> Calling window.open immediately after window.close can sometimes result in no window being created


Group name tracking needs to happen using code in WebCore::Page, since it is more involved than
just setting a string.


Reviewed by Adam Roben.

  • WebView.cpp: (WebView::close): Add null check (found via code inspection). (WebView::initWithFrame): Store the group name directly in Page. (WebView::setGroupName): Store the group name directly in Page. (WebView::groupName): Retrieve the group name directly from Page.
  • WebView.h: Removed m_groupName
16:08 Changeset [31610] by bdakin@apple.com

2008-04-03 Beth Dakin <bdakin@apple.com>

Reviewed by Alice.

Build fix for non-Macs.

  • page/AXObjectCache.h: (WebCore::AXObjectCache::isIDinUse):
15:48 Changeset [31609] by pewtermoose@webkit.org

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

Reviewed by Darin.

Correct build error due to incomplete merging of changes to project
files from Issue 17985. This small project file patch corrects
the build issue (see http://bugs.webkit.org/show_bug.cgi?id=18195).

  • WebCore.vcproj/WebCore.vcproj:
15:02 Changeset [31608] by bdakin@apple.com

2008-04-02 Beth Dakin <bdakin@apple.com>

Reviewed by Hyatt.

This patch eliminates AccessibilityObjectMac. All of the platform-
specific code is now in AccessibilityObjectWrapper.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Element.h: (WebCore::Element::isPasswordField):
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::isPasswordField):
  • page/AXObjectCache.h: (WebCore::AXObjectCache::isIDinUse):
  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::isPasswordField): (WebCore::AccessibilityObject::press): (WebCore::AccessibilityObject::widgetForAttachmentView): (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): (WebCore::AccessibilityObject::doAXTextMarkerForPosition):
  • page/AccessibilityObject.h: (WebCore::AccessibilityObject::areaElement): (WebCore::AccessibilityObject::setWrapper):
  • page/mac/AXObjectCacheMac.mm:
  • page/mac/AccessibilityObjectMac.mm: Removed.
  • page/mac/AccessibilityObjectWrapper.h:
  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper attachmentView]): (textMarkerForVisiblePosition): (visiblePositionForTextMarker): (visiblePositionForStartOfTextMarkerRange): (visiblePositionForEndOfTextMarkerRange): (textMarkerRangeFromMarkers): (AXAttributeStringSetFont): (CreateCGColorIfDifferent): (AXAttributeStringSetColor): (AXAttributeStringSetNumber): (AXAttributeStringSetStyle): (blockquoteLevel): (AXAttributeStringSetBlockquoteLevel): (AXAttributeStringSetSpelling): (AXAttributeStringSetHeadingLevel): (AXLinkElementForNode): (AXAttributeStringSetElement): (AXAttributedStringAppendText): (nsStringForReplacedNode): (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): (textMarkerRangeFromVisiblePositions): (-[AccessibilityObjectWrapper accessibilityActionNames]): (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): (-[AccessibilityObjectWrapper textMarkerRangeForSelection]): (-[AccessibilityObjectWrapper position]): (createAccessibilityRoleMap): (RoleEntry::): (roleValueToNSString): (-[AccessibilityObjectWrapper role]): (-[AccessibilityObjectWrapper subrole]): (-[AccessibilityObjectWrapper roleDescription]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityIsIgnored]): (-[AccessibilityObjectWrapper accessibilityPerformAction:]): (-[AccessibilityObjectWrapper doAXAttributedStringForRange:]): (-[AccessibilityObjectWrapper doAXRTFForRange:]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::viewRectToScreen): (WebCore::ScrollView::absolutePointToView):
14:57 Changeset [31607] by hyatt@apple.com

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

Create a new cross-platform Gradient abstraction and make CanvasGradient wrap it. This first
step just cleans up CanvasGradient. The code that calls it remains ifdef'd however.

Reviewed by olliej

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::toJS):
  • html/CanvasGradient.cpp: (WebCore::CanvasGradient::CanvasGradient):
  • html/CanvasGradient.h: (WebCore::CanvasGradient::gradient): (WebCore::CanvasGradient::addColorStop): (WebCore::CanvasGradient::getColor):
  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::fill): (WebCore::CanvasRenderingContext2D::stroke): (WebCore::CanvasRenderingContext2D::fillRect):
  • html/CanvasStyle.h: (WebCore::CanvasStyle::canvasGradient):
  • platform/graphics/Gradient.cpp: Added. (WebCore::Gradient::Gradient): (WebCore::Gradient::~Gradient): (WebCore::Gradient::addColorStop): (WebCore::compareStops): (WebCore::Gradient::getColor): (WebCore::Gradient::findStop):
  • platform/graphics/Gradient.h: Added. (WebCore::Gradient::ColorStop::ColorStop): (WebCore::Gradient::platformInit):
  • platform/graphics/cairo/GradientCairo.cpp: Added. (WebCore::Gradient::platformDestroy): (WebCore::Gradient::platformGradient):
  • platform/graphics/cg/GradientCG.cpp: Added. (WebCore::Gradient::platformDestroy): (WebCore::gradientCallback): (WebCore::Gradient::platformGradient):
  • platform/graphics/qt/GradientQt.cpp: Added. (WebCore::Gradient::platformDestroy): (WebCore::Gradient::platformGradient):
14:47 Changeset [31606] by hausmann@webkit.org

Roll out r31599 and r31605 again after discussion with Mark Rowe.

14:25 Changeset [31605] by hausmann@webkit.org

Attempted build fix

14:14 Changeset [31604] by hyatt@apple.com

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

Fix for bug 18194, resizable text fields get messed up when resizing in the presence of zoom.

Reviewed by adele

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::resize):
13:49 Changeset [31603] by mrowe@apple.com

Versioning.

13:48 Changeset [31602] by mrowe@apple.com

New tag.

13:47 Changeset [31601] by mrowe@apple.com

Merge r31320.

13:30 Changeset [31600] by oliver@apple.com

Rollout r31566 as there were a few issues i missed during review (thanks to antti for pointing them out)

13:17 Changeset [31599] by hausmann@webkit.org

2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Change IconDatabase::iconForPageURL to return more information. E.g. if an image has been found, or if the loading of an image has been scheduled.
  • Update FrameLoader to use another method to trigger reading from disk
  • Update the QWebFrame and QWebSettings
12:22 Changeset [31598] by hausmann@webkit.org

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

  • Safari is using the IconDatabase the following way (assumption). Before they call iconDatabase()->open they "retain" all URLs they are interested in, these could come from the history.
  • When opening the iconDatabase() a thread will be started that is going to import the URLs, all none manually retained URLs are scheduled for removal. The removal is going to happen when the next icon gets stored in the database.
  • We do not have any IconDatabase code, we can not retain the URLs before opening the database. To disable the automatic pruning of the icons we will ask the IconDatabase to delay this operation. This means our IconDatabase, when used, will grow, so we should try to have a IconDatabase class in 4.4.
  • The only way to counter the growth is a call to QWebSettings::clearIconDatabase
12:01 Changeset [31597] by hausmann@webkit.org

Oops, fixed previous commit/merge error that caused build failure in Qt.

12:00 Changeset [31596] by adachan@apple.com

Allow WebArchive to be created via COM.
Replaced IID_DOMNode with uuidof(DOMNode).

Reviewed by Adam and Steve.

  • DOMCoreClasses.cpp: (DOMNode::QueryInterface): (DOMNode::isSameNode):
  • DOMCoreClasses.h:
  • ForEachCoClass.h:
  • Interfaces/WebKit.idl:
  • WebArchive.cpp: (WebArchive::createInstance):
  • WebArchive.h:
  • WebKitClassFactory.cpp:
11:59 Changeset [31595] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Add a way to get the site icon for a url
static QPixmap iconForUrl(const QUrl &url);

11:46 Changeset [31594] by hausmann@webkit.org

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

  • Update the Copyright info in QWebSettings
11:46 Changeset [31593] by hausmann@webkit.org

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

  • The isEmpty check is not needed anymore with the earlier backport
10:49 squirrelfish edited by ggaren@apple.com
(diff)
09:50 Changeset [31592] by beidson@apple.com

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

Fix a tab into 4-spaces instead

  • webarchive/test-css-import-expected.txt:
09:20 Changeset [31591] by mitz@apple.com
  • Mac build fix
  • WebCore.base.exp:
06:21 Changeset [31590] by hausmann@webkit.org

Fix the build when building without icondatabase.

05:27 Changeset [31589] by hausmann@webkit.org

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

  • Remove the unused 'cache' parameter
05:04 Changeset [31588] by hausmann@webkit.org

2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Add WebCore/loader/icon to the DEPENDPATH as well
04:40 Changeset [31587] by hausmann@webkit.org

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

  • Add a Qt specific result for bad-scheme-subframe-expected.txt
  • To match the mac-port we would have to return IgnoreNavigationRequest for schemes/URLs not supported by the QNetworkAccessManager in QWebPage::navigationRequested but we can't do that because QNetworkAccessManager does not expose a list of supported schemes and operations. So in contrast to the mac we will try to load the frame and fail.
04:40 Changeset [31586] by hausmann@webkit.org

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

  • Fix http/tests/loading/simple-subframe.html by adding a test result. The result is quite similar to the one of the mac port.
03:31 Changeset [31585] by hausmann@webkit.org

2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Enable running http tests for Qt again. Failing tests can be put into the skipped list.
  • Running these tests on windows and other platforms might need some work.
03:31 Changeset [31584] by hausmann@webkit.org

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

  • For the http tests we need the output of the FrameLoaderClient. The QtWebKit API is not exporting enough to create the output in DRT itself. Settle with the approach Lars has taken for the Editing support and add branches to our FrameLoaderClient code.
  • run-webkit-tests http/tests(/loading) can now be executed.
  • For tests in loading/ directories we are going to throw away the dirty QWebPage to start with something clean.
03:30 Changeset [31583] by hausmann@webkit.org

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

  • Treat http and https as special URLs as well. Change the main.cpp and DumpRenderTree.cpp to handle http and https URIs as input.
  • I'm not doing the clean up and merging of these two checks now.
03:30 Changeset [31582] by hausmann@webkit.org

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

  • Remove dumpFrameLoadCallbacks from simple-subframe.html because it is located in a directory with the name "loading". And this will autoamtically enable dumping.
  • Remove this method from the LayoutTestController as it is unused now and this avoids adding it to the DRT of the Qt port.

04/02/08:

23:21 Changeset [31581] by mjs@apple.com

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

Reviewed by Geoff.


  • take a shot at marking constant pools for global and eval code


Geoff says this won't really work in all cases but is an ok stopgap.

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::mark):
23:19 Changeset [31580] by mjs@apple.com

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

Reviewed by Geoff.


  • fix 2x perf regression in 3d-morph


  • VM/Machine.cpp: (KJS::Machine::privateExecute): If we subbed in null for the global object, don't toObject it, since that will throw an exception (very slowly).
23:12 Changeset [31579] by mjs@apple.com

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

Rubber stamped by Geoff


  • fix Release build
  • kjs/nodes.cpp: (KJS::getNonLocalSymbol):
22:56 Changeset [31578] by beidson@apple.com

WebCore:

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

Reviewed by Mitz Pettel

<rdar://problem/5838347> and http://bugs.webkit.org/show_bug.cgi?id=11839
Webarchive fails to save CSS files in @import statements

  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::addSubresourceURLStrings): Recursively add the URL each @import rule under the current style sheet.
  • css/CSSStyleSheet.h:
  • css/StyleSheet.h: (WebCore::StyleSheet::addSubresourceURLStrings):
  • html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::getSubresourceAttributeStrings): Add the linked URL as well as all @import rules rooted at the linked stylesheet.
  • html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::getSubresourceAttributeStrings): Walk all @import rules rooted at this stylesheet to add to the list.
  • html/HTMLStyleElement.h:

LayoutTests:

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

Written by David Kilzer, tweaked by Brady, Reviewed by Mitz Pettel

The idea is to <link> to a CSS file which @imports another CSS file,
and also @import a CSS file inside a <style> element, which also @imports another CSS file

Then make sure all 4 of the css files are in the resulting webarchive

  • webarchive/resources/test-css-import-recurse.css: Added.
  • webarchive/resources/test-css-import.css: Added.
  • webarchive/resources/test-css-link-recurse.css: Added.
  • webarchive/resources/test-css-link.css: Added.
  • webarchive/test-css-import-expected.txt: Added.
  • webarchive/test-css-import.html: Added.
22:11 Changeset [31577] by mrowe@apple.com

Ensure that debug symbols are generated for x86_64 and ppc64 builds.

Reviewed by Oliver Hunt.

21:37 Changeset [31576] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Removed the last vestiges of LocalStorage from JSVariableObject and
JSGlobalObject.

  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::saveLocalStorage): Save and restore from/to registers. Use stub isReadOnly and isDontEnum methods for now, until we really implement attributes in the symbol table. (KJS::JSGlobalObject::restoreLocalStorage): (KJS::JSGlobalObject::reset):
  • kjs/JSVariableObject.cpp: (KJS::JSVariableObject::getPropertyNames): Use stub isDontEnum method for now, as above. (KJS::JSVariableObject::getPropertyAttributes): ditto
  • kjs/JSVariableObject.h: Removed LocalStorage from JSVariableObjectData. Removed mark method, because subclasses implement different strategies for marking registers. (KJS::JSVariableObject::isReadOnly): Stub method (KJS::JSVariableObject::isDontEnum): ditto

Changed the code below to ASSERT_NOT_REACHED() and return 0, since it
can no longer retrieve LocalStorage from the ExecState. (Eventually,
we'll just remove this code and all its friends, but that's a task for
later.)


  • kjs/ExecState.cpp: (KJS::ExecState::ExecState):
  • kjs/function.cpp: (KJS::ActivationImp::markChildren):
  • kjs/function.h:
  • kjs/nodes.cpp: (KJS::getNonLocalSymbol): (KJS::ScopeNode::optimizeVariableAccess): (KJS::ProgramNode::processDeclarations):
17:24 Changeset [31575] by christian@webkit.org

Build fix for GCC 4.3.

16:30 Applications using WebKit edited by alp@atoker.com
Link to ApplicationsGtk (diff)
15:49 Changeset [31574] by alp@webkit.org

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

Reviewed by Alp Toker.

GTK+/Pango font backend build fix.

  • platform/graphics/gtk/FontCustomPlatformDataPango.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
14:48 Changeset [31573] by zimmermann@webkit.org

Not reviewed. Speculative fix for hanging tests on buildbot (Tiger). Click events may have wrong origins.

11:41 Changeset [31572] by eric@webkit.org

No review, build fix only.

Speculative build fix for no-svg build.
Use #if ENABLE(SVG) instead of #if ENABLE_SVG

  • css/CSSMutableStyleDeclaration.cpp: (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
11:12 Changeset [31571] by aroben@apple.com

Rename instances of ExecState from "state" to "exec" in JavaScriptDebugServer

Rename requested by Darin Adler.

  • page/JavaScriptDebugServer.cpp:
10:59 Changeset [31570] by aroben@apple.com

Make it possible for JavaScriptDebugListeners to listen to specific Pages

JavaScriptDebugServer now has overloads of its
addListener/removeListener methods that take a Page* to indicate for
which Page the JavaScriptDebugListener wishes to receive messages.

Reviewed by Darin.

  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): Delete all ListenerSets being held in m_pageListenersMap. (WebCore::JavaScriptDebugServer::addListener): Changed to call hasListeners(). (WebCore::JavaScriptDebugServer::removeListener): Ditto. (WebCore::JavaScriptDebugServer::addListener): Added. This overload takes a Page* and puts the listener in the appropriate ListenerSet within m_pageListenersMap. The ListenerSet is allocated and added to m_pageListenersMap when its first listener is added. (WebCore::JavaScriptDebugServer::removeListener): Added. This overload takes a Page* and removes the listener from the appropriate ListenerSet in m_pageListenersMap. The ListenerSet is deleted and removed from m_pageListenersMap when its last listener is removed. (WebCore::toPage): Added. Retrieves the parent Page from an ExecState. (WebCore::JavaScriptDebugServer::sourceParsed): Changed to call dispatchDidParseSource/dispatchDidFailToParseSource for both the global listeners and the Page listeners. (WebCore::dispatchFunctionToListeners): Added. This code was extracted from the JavaScriptDebugServer method of the same name. (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Call dispatchFunctionToListeners for both the global listeners and the Page listeners.
  • page/JavaScriptDebugServer.h:
    • Added declarations for new methods.
    • Made JavaScriptExecutionCallback typedef public so that it could be used by a helper method.
    • Added new m_pageListenersMap member.
06:50 Changeset [31569] by hausmann@webkit.org

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

  • Export the PageCache and Cache capacity call one to one. This is only there to allow the QtLauncher to play with caching.
  • TODO: make API decisions and consider following the windows Api to set a WebCacheModel and determine certain values automatically.
06:50 Changeset [31568] by hausmann@webkit.org

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

Prepapre everything for enabling the PageCache for the Qt Platform:

  • Claim that we can cache pages
  • Create the FrameView FrameLoaderClientQt::transitionToCommittedForNewPage using the initial size of the viewport and stop creating it in the QWebFramePrivate::init

Differences to the Windows port:

  • attachToWindow/detachFromWindow is not called and is not (yet) part of Widget/ScrollView of the Qt platform. We might need that for plugin support in the future.
  • We store the margin's and scrolling flag inside QWebFrame and use it when creating the FrameView.

What is missing:

  • API to call pageCache()->setCapacity(XYZ);
06:49 Changeset [31567] by hausmann@webkit.org

Fix compilation on case-sensitive file systems.

05:55 Changeset [31566] by zimmermann@webkit.org

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=17779 (SVG 1.1 Errata demands "SVG JavaScript Liveness" support)

SVG Errata states: "All SVG DOM objects that directly correspond to an
attribute, e.g. the SVGAnimatedLength 'ry' in an SVGRectElement, are live. This
means that any changes made to the attribute are immediately reflected in the
corresponding SVG DOM object." (see linked URL on bug report)

Until now only XML -> SVG DOM changes took affect, aka. changing the 'rx' attribute of a <rect>
element resuted in changes when accessing 'rx' through SVG DOM (rx.baseVal.value).

Add a new synchronization layer to handle SVG DOM -> XML changes.

Added Test: svg/custom/svg-xml-dom-sync.html

05:00 Changeset [31565] by hausmann@webkit.org

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

  • For the PageCache support we do not want to create a FrameView in the constructor of QWebFrame. In QWegPage::viewportSize() we currently call mainFrame() and that will create a QWebFrame if no mainFrame is present and this gets called when we try to create a FrameView...
  • Keep a copy of the initial viewportSize around and use it if we do not have a Frame or FrameView.
05:00 Changeset [31564] by hausmann@webkit.org

2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Always return true in FrameLoaderClientQt::shouldGoToHistoryItem, like the windows port
05:00 Changeset [31563] by hausmann@webkit.org

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

  • Attempt to make the m_webFrame null pointer checking consistent. Always check for m_webFrame. It should get set by the QWebFrame with the FramerLoaderClientQt::setFrame call and should stay valid until the destruction of the QWebFrame.
  • Currently the same checking is not needed for m_frame as it will only set to 0 in FrameLoaderClientQt::frameLoaderDestroyed and should be not 0 because of the setFrame initialisation.
04:54 Changeset [31562] by darin@apple.com

2008-04-02 Darin Adler <darin@apple.com>

Reviewed by Alexey.

  • fix storage leak seen on buildbot
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::utiFromMIMEType): Put the result of createCFString() into a RetainPtr. Changed result to be a RetainPtr. (WebCore::ImageBuffer::toDataURL): Tweak a little bit, removing one local variable and some unneeded explicit conversions.

04/01/08:

23:50 Changeset [31561] by ap@webkit.org

Rubber-stamped by Darin.

Turn off using 64-bit arithmetic on 32-bit hardware, as dtoa own code is faster than
compiler-provided emulation.

1% speedup on Acid3 test 26.

  • kjs/dtoa.cpp:
23:38 Changeset [31560] by ap@webkit.org

Reviewed by Darin.

Make MathExtras.h thread safe.

  • kjs/math_object.cpp: (KJS::mathProtoFuncRandom): If threading is enabled, rely on initializeThreading to call wtf_random_init().
  • wtf/Threading.h:
  • wtf/ThreadingGtk.cpp: (WTF::initializeThreading):
  • wtf/ThreadingNone.cpp: (WTF::initializeThreading):
  • wtf/ThreadingPthreads.cpp: (WTF::initializeThreading):
  • wtf/ThreadingWin.cpp: (WTF::initializeThreading): Call wtf_random_init(); made the function non-inline to avoid having to include too many headers in Threading.h.
21:56 Changeset [31559] by mjs@apple.com

reverse order of last two ChangeLog entries (oops)

21:49 Changeset [31558] by ggaren@apple.com

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

Reviewed by Geoff.


  • mark the constant pool (at least for function code blocks)
  • VM/CodeBlock.cpp: (KJS::CodeBlock::mark):
  • VM/CodeBlock.h:
  • kjs/function.cpp: (KJS::FunctionImp::mark):
  • kjs/nodes.cpp: (KJS::ScopeNode::mark):
  • kjs/nodes.h: (KJS::FuncExprNode::body): (KJS::FuncDeclNode::body):
21:47 squirrelfish edited by ggaren@apple.com
(diff)
21:47 Changeset [31557] by mjs@apple.com

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

Reviewed by Geoff.


  • mark the constant pool (at least for function code blocks)
  • VM/CodeBlock.cpp: (KJS::CodeBlock::mark):
  • VM/CodeBlock.h:
  • kjs/function.cpp: (KJS::FunctionImp::mark):
  • kjs/nodes.cpp: (KJS::ScopeNode::mark):
  • kjs/nodes.h: (KJS::FuncExprNode::body): (KJS::FuncDeclNode::body):
21:41 squirrelfish edited by ggaren@apple.com
(diff)
21:08 Changeset [31556] by ggaren@apple.com

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

Reviewed by Beth Dakin.


Cleaned up a few loose ends.

  • JavaScriptCore.exp: Export dumpRegisters, so it's visible to gdb even if we don't explicitly call it in the source text.
  • VM/Machine.cpp: (KJS::Machine::privateExecute): No need to call dumpRegisters anymore, since that was just a hack for gdb's sake.
  • kjs/JSActivation.h: Removed obsolete comment.
  • VM/CodeGenerator.cpp: Added ASSERTs to verify that the localCount we're given matches the number of locals actually allocated.
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator): Changed "localCount" to include the parameter count, since we're using the word "local" to mean parameter, var, function, or "this". Renamed "m_nextLocal" to "m_nextVar", since "m_nextLocal" doesn't contrast well with "m_nextParameter".


Also moved tracking of implicit "this" parameter from here...

  • kjs/nodes.cpp: (KJS::FunctionBodyNode::generateCode): ... to here (KJS::ProgramNode::generateCode): ... and here
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump): Added missing "\n".
19:57 Changeset [31555] by oliver@apple.com

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

Reviewed by Oliver.

Bug 18274: ResolveNode::emitCode() doesn't make a new temporary when dst

is 0, leading to incorrect codegen

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

19:05 Changeset [31554] by mjs@apple.com

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

Reviewed by Oliver.


  • fix bug in for..in codegen (gotta use ident, not m_ident)
  • kjs/nodes.cpp: (KJS::ForInNode::emitCode):
18:52 Changeset [31553] by mjs@apple.com

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

Reviewed by Oliver.


  • Add suport for regexp literals
  • VM/CodeBlock.cpp: (KJS::regexpToSourceString): (KJS::regexpName): (KJS::CodeBlock::dump):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addRegExp): (KJS::CodeGenerator::emitNewRegExp):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::RegExpNode::emitCode):
  • kjs/nodes.h:
18:00 Changeset [31552] by oliver@apple.com

Add support for for..in nodes

Reviewed by Geoff

Added two new opcodes to get_pnames and next_pname to handle iterating
over the set of properties on an object. This iterator is explicitly
invalidated and the property name array is released on standard exit
from the loop, otherwise we rely on GC to do the clean up for us.

17:40 Changeset [31551] by mjs@apple.com

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

Reviewed by Maciej.

Change CodeGenerator::emitCall() so it increments the reference count of
registers passed to it, and change its callers so they don't needlessly
increment the reference count of the registers they are passing.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitCall):
  • kjs/nodes.cpp: (KJS::FunctionCallResolveNode::emitCode): (KJS::FunctionCallDotNode::emitCode):
17:39 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
17:30 Changeset [31550] by darin@apple.com

2008-04-01 Darin Adler <darin@apple.com>

  • WebCore.vcproj/WebCore.vcproj: Added RangeBoundaryPoint.h -- not required, but convenient.
17:28 Changeset [31549] by darin@apple.com

2008-04-01 Darin Adler <darin@apple.com>

Reviewed by Sam and Antti.

  • fix <rdar://problem/5829565> paste performance slowed down with the Range Acid3 changes

Added a new class, RangeBoundaryPoint, to use for range boundary points. The "truth" of
the offset is now stored as a node pointer, and the offset is computed as and when needed.
This allows us to efficiently update when the DOM tree is changed -- computation of the
node offsets is deferred until the Range is used later.

  • WebCore.base.exp: Export nodeIndex().
  • WebCore.xcodeproj/project.pbxproj: Added RangeBoundaryPoint.h, removed NodeWithIndexBefore.h and NodeWIthIndexAfter.h. Also let Xcode tweak the file formatting.
  • dom/ContainerNode.cpp: (WebCore::ContainerNode::childrenChanged): Pass fewer arguments to Document.
  • dom/Document.cpp: (WebCore::Document::nodeChildrenChanged): Pass fewer arguments to Range. (WebCore::Document::nodeWillBeRemoved): Pass node to range as a raw node pointer; no need for the index.
  • dom/Document.h: Take fewer arguments.
  • dom/NodeWithIndexAfter.h: Removed.
  • dom/NodeWithIndexBefore.h: Removed.
  • dom/Range.cpp: (WebCore::Range::Range): Changed to use the new RangeBoundaryPoint constructor. (WebCore::Range::create): Updated to use RangeBoundaryPoint instead of Position. (WebCore::Range::~Range): Ditto. (WebCore::Range::startContainer): Ditto. (WebCore::Range::startOffset): Ditto. (WebCore::Range::endContainer): Ditto. (WebCore::Range::endOffset): Ditto. (WebCore::Range::commonAncestorContainer): Ditto. (WebCore::Range::collapsed): Ditto. (WebCore::Range::setStart): Ditto. (WebCore::Range::setEnd): Ditto. (WebCore::Range::collapse): Ditto. (WebCore::Range::isPointInRange): Ditto. (WebCore::Range::comparePoint): Ditto. (WebCore::Range::compareNode): Ditto. (WebCore::Range::compareBoundaryPoints): Ditto. (WebCore::Range::boundaryPointsValid): Ditto. (WebCore::Range::intersectsNode): Ditto. (WebCore::Range::processContents): Ditto. (WebCore::Range::cloneContents): Ditto. (WebCore::Range::insertNode): Updated to use RangeBoundaryPoint. Also simplified the code at the end that updates the range -- not all of it is needed now since most of the fixup is done automatically by the range document mutation machinery. The one bit that remains is arguably a bug, but we need to keep it to keep passing Acid3 until we get clarification that it is indeed a bug (and then Acid3 will probably have to change). (WebCore::Range::toString): Update to use RangeBoundaryPoint instead of Position. (WebCore::Range::text): Ditto. (WebCore::Range::createContextualFragment): Ditto. (WebCore::Range::detach): Ditto. (WebCore::Range::checkNodeWOffset): Changed case where the offset is a node offset to be more efficient by using childNode instead of childNodeCount, and also return the node before which is needed to set the value of a RangeBoundaryPoint. (WebCore::Range::cloneRange): Ditto. (WebCore::Range::setStartAfter): Ditto. (WebCore::Range::setEndBefore): Ditto. (WebCore::Range::setEndAfter): Ditto. (WebCore::Range::selectNode): Ditto. (WebCore::Range::selectNodeContents): Ditto. (WebCore::Range::surroundContents): Ditto. (WebCore::Range::setStartBefore): Ditto. (WebCore::Range::checkDeleteExtract): Ditto. (WebCore::Range::containedByReadOnly): Ditto. (WebCore::Range::firstNode): Ditto. (WebCore::Range::editingStartPosition): Ditto. (WebCore::Range::pastLastNode): Ditto. (WebCore::Range::addLineBoxRects): Ditto. (WebCore::Range::formatForDebugger): Ditto. (WebCore::Range::maxStartOffset): Ditto. (WebCore::Range::maxEndOffset): Ditto. (WebCore::boundaryNodeChildrenChanged): Updated to use RangeBoundaryPoint instead of Position. Also changed name and changed to just call invalidateOffset. (WebCore::Range::nodeChildrenChanged): Changed to take just a container node. (WebCore::boundaryNodeWillBeRemoved): Updated to use RangeBoundaryPoint instead of Position. Also changed name and changed to update childBefore. (WebCore::Range::nodeWillBeRemoved): Changed to just take a Node*. (WebCore::boundaryTextInserted): Updated to use RangeBoundaryPoint instead of Position. Also changed name. (WebCore::Range::textInserted): Ditto. (WebCore::boundaryTextRemoved): Ditto. (WebCore::Range::textRemoved): Ditto. (WebCore::boundaryTextNodesMerged): Ditto. (WebCore::Range::textNodesMerged): Ditto. (WebCore::boundaryTextNodesSplit): Ditto. (WebCore::Range::textNodeSplit): Ditto.
  • dom/Range.h: Updated to use RangeBoundaryPoint instead of Position.
  • dom/RangeBoundaryPoint.h: Added.
17:23 Changeset [31548] by mjs@apple.com

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

Reviewed by Oliver.


  • generate call for PostIncDotNode
  • kjs/nodes.cpp: (KJS::PostIncDotNode::emitCode):
  • kjs/nodes.h:
17:22 Changeset [31547] by andersca@apple.com

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

Reviewed by Sam.

Get rid of old "bindings" forwarding headers.

  • ForwardingHeaders/bindings: Removed.
  • ForwardingHeaders/bindings/NP_jsobject.h: Removed.
  • ForwardingHeaders/bindings/npruntime.h: Removed.
  • ForwardingHeaders/bindings/npruntime_impl.h: Removed.
  • ForwardingHeaders/bindings/npruntime_internal.h: Removed.
  • ForwardingHeaders/bindings/runtime.h: Removed.
  • ForwardingHeaders/bindings/runtime_object.h: Removed.
  • ForwardingHeaders/bindings/runtime_root.h: Removed.
17:18 Changeset [31546] by mjs@apple.com

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

Build fix.


  • fix build (not sure how this ever worked?)
  • kjs/nodes.cpp: (KJS::FunctionCallBracketNode::emitCode):
16:45 Changeset [31545] by mjs@apple.com

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

Reviewed by Geoff.


  • generate code for FunctionCallBracketNode
  • kjs/nodes.cpp: (KJS::FunctionCallBracketNode::emitCode):
  • kjs/nodes.h:
16:11 Changeset [31544] by beidson@apple.com

WebKit/win:

Reviewed by Jon Honeycutt and Cake

Hookup WebArchive API enough to be able to save the archive of a DOMNode


  • DOMCoreClasses.h: Add a GUID for DOMNode
  • Interfaces/IWebArchive.idl: Add initWithNode()
  • WebArchive.cpp: (WebArchive::initWithNode): (WebArchive::data): Actually return LegacyWebArchive-style data
  • WebArchive.h:
15:44 Changeset [31543] by timothy@apple.com

2008-04-01 Timothy Hatcher <timothy@apple.com>

Rename DatabasePanel.js to DatabasesPanel.js to facilitate the up-coming UI refresh changes.

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

Rubber-stamped by Brady Eidson.

  • WebCore.vcproj/WebCore.vcproj: Reference DatabasesPanel.js.
  • page/inspector/DatabasePanel.js: Removed.
  • page/inspector/DatabasesPanel.js: Copied from page/inspector/DatabasePanel.js.
  • page/inspector/WebKit.qrc: Reference DatabasesPanel.js.
  • page/inspector/inspector.html: Reference DatabasesPanel.js.
15:37 Changeset [31542] by mrowe@apple.com

Versioning.

15:31 Changeset [31541] by beidson@apple.com

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

Touch a file to get Windows to rebuild WebCore

  • platform/ContextMenu.cpp: Alphabetize headers
15:30 Changeset [31540] by mrowe@apple.com

New tag.

15:15 Changeset [31539] by mrowe@apple.com

Fix up ChangeLog merge header.

14:28 Changeset [31538] by mjs@apple.com

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

Reviewed by Geoff.


  • Fix two crashing SunSpider tests
  • VM/Machine.cpp: (KJS::Machine::privateExecute): set up 'this' properly for native calls.
  • kjs/list.h: (KJS::List::List): Fix intialization of buffer and size from vector, the initialization order was wrong.
13:44 Applications using WebKit edited by catfish.man@gmail.com
Fix Adium naming/credits (diff)
13:38 Changeset [31537] by ggaren@apple.com

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

Build fix: marked ASSERT-only variables as UNUSED_PARAMs.

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableInitializeVariable):
13:30 Changeset [31536] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Next step toward global code: Moved get, put, and initializeVariable
functionality up into JSVariableObject, and changed JSActivation to
rely on it.

  • kjs/JSActivation.cpp: (KJS::JSActivation::JSActivation): (KJS::JSActivation::getOwnPropertySlot): (KJS::JSActivation::put): (KJS::JSActivation::initializeVariable):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::valueAt): (KJS::JSVariableObject::isReadOnly): (KJS::JSVariableObject::symbolTableGet): (KJS::JSVariableObject::symbolTablePut): (KJS::JSVariableObject::symbolTableInitializeVariable):
13:26 Changeset [31535] by beidson@apple.com

WebCore:

Reviewed by Adam Roben

Export loader/archive and loader/archive/cf headers for WebKitWin to use

  • WebCore.vcproj/WebCore.vcproj:

WebKit/win:

Reviewed by Adam Roben

Add empty implementations of WebArchive for future work


  • WebArchive.cpp: Added. (WebArchive::createInstance): (WebArchive::WebArchive): (WebArchive::~WebArchive): (WebArchive::QueryInterface): (WebArchive::AddRef): (WebArchive::Release): (WebArchive::initWithMainResource): (WebArchive::initWithData): (WebArchive::mainResource): (WebArchive::subResources): (WebArchive::subframeArchives): (WebArchive::data):
  • WebArchive.h: Added.


  • WebKit.vcproj/WebKit.vcproj:


13:22 Changeset [31534] by sfalken@apple.com

Merge r31015 to Safari-3-1-branch.

12:45 Changeset [31533] by beidson@apple.com

WebCore:

Reviewed by Darin

WebArchives need to load on Windows the same way as on Mac, and this change in the
finished-loading code path was a big part of that

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::finishedLoadingDocument): Only call the client's finishedLoading() for non-archive loads
10:47 Changeset [31532] by mitz@apple.com
  • Mac build fix
  • WebCore.xcodeproj/project.pbxproj: Made FontRenderingMode.h private.
09:41 Changeset [31531] by mitz@apple.com

Reviewed by Darin Adler.

  • move the FontRenderingMode enumeration into its own header file
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/CachedFont.h:
  • platform/graphics/FontDescription.h:
  • platform/graphics/FontRenderingMode.h: Added. (WebCore::):
  • platform/graphics/gtk/FontCustomPlatformData.h:
  • platform/graphics/mac/FontCustomPlatformData.h:
  • platform/graphics/qt/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformData.h:
09:36 Changeset [31530] by darin@apple.com

2008-04-01 Darin Adler <darin@apple.com>

Reviewed by Mitz.

  • fix <rdar://problem/5833351> REGRESSION: Leak in JSCustomXPathNSResolver::create
  • fix <rdar://problem/5833216> REGRESSION: Leak in CSSStyleSelector::addViewportDependentMediaQueryResult
  • bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): Added a missing adoptRef.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::~CSSStyleSelector): Added a missing call to deleteAllValues.
09:30 Changeset [31529] by mjs@apple.com

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

Reviewed by Sam.


  • fix HashTable assertion on some SunSpider tests


Don't use -1 as the deleted value for JSValue*-keyed hashtables,
since it is a valid value (it's the immediate for -1).

  • VM/CodeGenerator.h: (KJS::CodeGenerator::JSValueHashTraits::emptyValue): (KJS::CodeGenerator::JSValueHashTraits::deletedValue):
  • kjs/JSImmediate.h: (KJS::JSImmediate::impossibleValue):
09:19 Changeset [31528] by darin@apple.com

Clear stray executable bit.

09:04 Changeset [31527] by alice.liu@apple.com

tiger build fix

08:44 Changeset [31526] by darin@apple.com

2008-04-01 Darin Adler <darin@apple.com>

Reviewed by Sam.

  • speed up hasChildNodes, which does not need to be virtual
  • dom/ContainerNode.cpp: Removed hasChildNodes.
  • dom/ContainerNode.h: Added non-virtual inline hasChildNodes.
  • dom/Node.cpp: Removed hasChildNodes.
  • dom/Node.h: Added non-vritual inline hasChildNodes.
08:43 Changeset [31525] by weinig@apple.com

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

Reviewed by Maciej Stachowiak.

Add support for calling Native constructors like new Array().

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitConstruct):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::NewExprNode::emitCode):
  • kjs/nodes.h:
08:42 Changeset [31524] by mjs@apple.com

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

Reviewed by Sam.


  • add some missing toOpbject calls to avoid crashing when calling methods on primitives
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
08:08 Changeset [31523] by hausmann@webkit.org

Fix Qt DRT run by also printing EOF on stderr, as expected by
run-webkit-tests.

07:22 squirrelfish edited by weinig@apple.com
(diff)
03:27 Changeset [31522] by hausmann@webkit.org

Fix the non-mac build.

01:47 Changeset [31521] by hausmann@webkit.org

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

  • Get the RefCounting of WebCore::Frame right and make sure that both QWebFrame and WebCore::Frame get destroyed if we leave site with subframes and on the end of the application.
  • Use adoptRef in FrameLoaderClientQt::createFrame to get the refs right for subframes. We do not want to add an extra reference. Without this we are leaking subframes.
  • Assume that the lifetime of a Frame and FrameLoader are the same, when the Frame is gone we want to destroy the QWebFrame (e.g. on a page with subframes). Add delete m_webFrame in the frameLoaderDestroyed method to do that.
  • If we happen to delete the QWebFrame before the FrameLoaderClientQt we set m_webFrame to zero in the FrameLoaderClientQt to avoid bad things.
01:46 Changeset [31520] by hausmann@webkit.org

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Do not save a RefPtr to the frame. The FrameLoaderClient, Frame and QWebFrame should have the same lifetime everything else is a leak or issue.
01:46 Changeset [31519] by hausmann@webkit.org

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Do not store the QWebFrame associated with a ScrollView/FrameView in the WebCore::Widget.
  • Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core and QWebFramePrivate::kit function to convert from and to QWebFrame.
01:44 Changeset [31518] by hausmann@webkit.org

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

  • Do not store the FrameView in the QWebFrame and cope with the situation when a WebCore::Frame has no WebCore::FrameView.
01:40 Changeset [31517] by alice.liu@apple.com

WebCore:

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

Patch by Beth Dakin <bdakin@apple.com> and Alice Liu

Reviewed by Darin.

Refactored WebCore Accessibility code. Prior to this patch, WebCore
accessibility was implemented in an ObjC class named WebCoreAXObject,
with much of the "guts" in C++. This patch the next natural step of
factoring out the C++ code into a class named AccessibilityObject, and
in order to maintain the required ObjC object ties, also implements an
ObjC class named AccessibilityObjectWrapper as a thin wrapper around the
C++ object. Internally within WebCore we operate on the C++ object as
much as possible, and the ObjC object gets used mostly when we need to
return something to AppKit or call something implemented on NSObject.
The AXObjectCache still keeps one HashMap, now of RenderObjects to
AccessibilityObjects instead of WebCoreAXObjects, and the
AccessibilityObject keeps track of its ObjC wrapper.

  • WebCore.xcodeproj/project.pbxproj:
  • page/AXObjectCache.h: (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::removeAXID):
  • page/AccessibilityObject.cpp: Added. (WebCore::AccessibilityObject::AccessibilityObject): (WebCore::AccessibilityObject::~AccessibilityObject): (WebCore::AccessibilityObject::create): (WebCore::AccessibilityObject::detach): (WebCore::AccessibilityObject::firstChild): (WebCore::AccessibilityObject::lastChild): (WebCore::AccessibilityObject::previousSibling): (WebCore::AccessibilityObject::nextSibling): (WebCore::AccessibilityObject::parentObject): (WebCore::AccessibilityObject::parentObjectUnignored): (WebCore::AccessibilityObject::isWebArea): (WebCore::AccessibilityObject::isImageButton): (WebCore::AccessibilityObject::isAnchor): (WebCore::AccessibilityObject::isTextControl): (WebCore::AccessibilityObject::isImage): (WebCore::AccessibilityObject::isAttachment): (WebCore::isPasswordFieldElement): (WebCore::AccessibilityObject::isPasswordField): (WebCore::AccessibilityObject::headingLevel): (WebCore::AccessibilityObject::isHeading): (WebCore::AccessibilityObject::anchorElement): (WebCore::isCheckboxOrRadio): (WebCore::AccessibilityObject::actionElement): (WebCore::AccessibilityObject::mouseButtonListener): (WebCore::AccessibilityObject::helpText): (WebCore::AccessibilityObject::textUnderElement): (WebCore::AccessibilityObject::hasIntValue): (WebCore::AccessibilityObject::intValue): (WebCore::AccessibilityObject::stringValue): (WebCore::labelForElement): (WebCore::AccessibilityObject::title): (WebCore::AccessibilityObject::accessibilityDescription): (WebCore::AccessibilityObject::boundingBoxRect): (WebCore::AccessibilityObject::size): (WebCore::AccessibilityObject::linkedUIElement): (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): (WebCore::AccessibilityObject::accessibilityIsIgnored): (WebCore::AccessibilityObject::loaded): (WebCore::AccessibilityObject::layoutCount): (WebCore::AccessibilityObject::textLength): (WebCore::AccessibilityObject::selectedText): (WebCore::AccessibilityObject::selection): (WebCore::AccessibilityObject::selectedTextRange): (WebCore::AccessibilityObject::setSelectedText): (WebCore::AccessibilityObject::setSelectedTextRange): (WebCore::AccessibilityObject::makeRangeVisible): (WebCore::AccessibilityObject::url): (WebCore::AccessibilityObject::isVisited): (WebCore::AccessibilityObject::isFocused): (WebCore::AccessibilityObject::setFocused): (WebCore::AccessibilityObject::setValue): (WebCore::AccessibilityObject::isEnabled): (WebCore::AccessibilityObject::press): (WebCore::AccessibilityObject::topRenderer): (WebCore::AccessibilityObject::textControl): (WebCore::AccessibilityObject::widget): (WebCore::AccessibilityObject::axObjectCache): (WebCore::AccessibilityObject::documentLinks): (WebCore::AccessibilityObject::documentFrameView): (WebCore::AccessibilityObject::frameViewIfRenderView): (WebCore::AccessibilityObject::visiblePositionRange): (WebCore::AccessibilityObject::doAXTextMarkerRangeForLine): (WebCore::AccessibilityObject::doAXTextMarkerRangeForUnorderedTextMarkers): (WebCore::AccessibilityObject::doAXLeftWordTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXRightWordTextMarkerRangeForTextMarker): (WebCore::updateAXLineStartForVisiblePosition): (WebCore::AccessibilityObject::doAXLeftLineTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXRightLineTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXSentenceTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::doAXParagraphTextMarkerRangeForTextMarker): (WebCore::startOfStyleRange): (WebCore::endOfStyleRange): (WebCore::AccessibilityObject::doAXStyleTextMarkerRangeForTextMarker): (WebCore::AccessibilityObject::textMarkerRangeForRange): (WebCore::AccessibilityObject::stringForReplacedNode): (WebCore::AccessibilityObject::doAXStringForTextMarkerRange): (WebCore::AccessibilityObject::doAXBoundsForTextMarkerRange): (WebCore::AccessibilityObject::doAXLengthForTextMarkerRange): (WebCore::AccessibilityObject::doSetAXSelectedTextMarkerRange): (WebCore::AccessibilityObject::doAXTextMarkerForPosition): (WebCore::AccessibilityObject::doAXNextTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextWordEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousWordStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextLineEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousLineStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextSentenceEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousSentenceStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXNextParagraphEndTextMarkerForTextMarker): (WebCore::AccessibilityObject::doAXPreviousParagraphStartTextMarkerForTextMarker): (WebCore::AccessibilityObject::textMarkerForIndex): (WebCore::AccessibilityObject::doAXUIElementForTextMarker): (WebCore::AccessibilityObject::doAXLineForTextMarker): (WebCore::AccessibilityObject::rangeForTextMarkerRange): (WebCore::AccessibilityObject::indexForTextMarker): (WebCore::AccessibilityObject::doAXRangeForLine): (WebCore::AccessibilityObject::doAXRangeForPosition): (WebCore::AccessibilityObject::doAXRangeForIndex): (WebCore::AccessibilityObject::doAXStyleRangeForIndex): (WebCore::AccessibilityObject::doAXStringForRange): (WebCore::AccessibilityObject::doAXBoundsForRange): (WebCore::AccessibilityObject::doAXLineForIndex): (WebCore::AccessibilityObject::doAccessibilityHitTest): (WebCore::AccessibilityObject::focusedUIElement): (WebCore::AccessibilityObject::observableObject): (WebCore::AccessibilityObject::roleValue): (WebCore::AccessibilityObject::canSetFocusAttribute): (WebCore::AccessibilityObject::canSetValueAttribute): (WebCore::AccessibilityObject::canSetTextRangeAttributes): (WebCore::AccessibilityObject::childrenChanged): (WebCore::AccessibilityObject::clearChildren): (WebCore::AccessibilityObject::hasChildren): (WebCore::AccessibilityObject::addChildren): (WebCore::AccessibilityObject::axObjectID): (WebCore::AccessibilityObject::setAXObjectID): (WebCore::AccessibilityObject::removeAXObjectID):
  • page/AccessibilityObject.h: Added. (WebCore::): (WebCore::VisiblePositionRange::VisiblePositionRange): (WebCore::VisiblePositionRange::isNull): (WebCore::AccessibilityObject::detached): (WebCore::AccessibilityObject::PlainTextRange::PlainTextRange): (WebCore::AccessibilityObject::PlainTextRange::isNull): (WebCore::AccessibilityObject::renderer): (WebCore::AccessibilityObject::children): (WebCore::AccessibilityObject::wrapper): (WebCore::AccessibilityObject::setWrapper):
  • page/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::~AXObjectCache): (WebCore::AXObjectCache::get): (WebCore::AXObjectCache::remove): (WebCore::AXObjectCache::getAXID): (WebCore::AXObjectCache::removeAXID): (WebCore::AXObjectCache::textMarkerForVisiblePosition): (WebCore::AXObjectCache::childrenChanged): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postNotificationToElement):
  • page/mac/AccessibilityObjectMac.mm: Added. (createAccessibilityRoleMap): (RoleEntry::): (roleValueToNSString): (AccessibilityObject::attachmentView): (AccessibilityObject::performPressActionForAttachment): (AccessibilityObject::textMarkerRange): (AccessibilityObject::textMarkerForVisiblePosition): (AccessibilityObject::startTextMarker): (AccessibilityObject::visiblePositionForTextMarker): (AccessibilityObject::visiblePositionForStartOfTextMarkerRange): (AccessibilityObject::visiblePositionForEndOfTextMarkerRange): (AccessibilityObject::textMarkerRangeFromVisiblePositions): (AccessibilityObject::textMarkerRangeForSelection): (AccessibilityObject::textMarkerRangeFromMarkers): (AccessibilityObject::convertViewRectToScreenCoords): (AccessibilityObject::convertAbsolutePointToViewCoords): (AccessibilityObject::convertWidgetChildrenToNSArray): (AccessibilityObject::position): (AccessibilityObject::role): (AccessibilityObject::subrole): (AccessibilityObject::roleDescription): (blockquoteLevel): (AccessibilityObject::AXAttributeStringSetElement): (AXAttributeStringSetBlockquoteLevel): (CreateCGColorIfDifferent): (AXAttributeStringSetColor): (AXAttributeStringSetNumber): (AXAttributeStringSetFont): (AXAttributeStringSetStyle): (AccessibilityObject::AXAttributeStringSetHeadingLevel): (AccessibilityObject::AXLinkElementForNode): (AXAttributeStringSetSpelling): (AccessibilityObject::AXAttributedStringAppendText): (nsStringForReplacedNode): (AccessibilityObject::doAXAttributedStringForTextMarkerRange): (AccessibilityObject::doAXAttributedStringForRange): (AccessibilityObject::doAXRTFForRange):
  • page/mac/AccessibilityObjectWrapper.h: Added.
  • page/mac/AccessibilityObjectWrapper.mm: Added. (-[AccessibilityObjectWrapper initWithAccessibilityObject:]): (-[AccessibilityObjectWrapper unregisterUniqueIdForUIElement]): (-[AccessibilityObjectWrapper detach]): (-[AccessibilityObjectWrapper accessibilityObject]): (-[AccessibilityObjectWrapper accessibilityActionNames]): (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]): (-[AccessibilityObjectWrapper renderWidgetChildren]): (convertToNSArray): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): (-[AccessibilityObjectWrapper accessibilityHitTest:]): (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): (-[AccessibilityObjectWrapper accessibilityIsIgnored]): (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): (-[AccessibilityObjectWrapper accessibilityPerformAction:]): (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): (rendererForView): (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]): (-[AccessibilityObjectWrapper accessibilityActionDescription:]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): (-[AccessibilityObjectWrapper accessibilityShouldUseUniqueId]):
  • page/mac/WebCoreAXObject.h: Removed.
  • page/mac/WebCoreAXObject.mm: Removed.
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::selectElement):
  • rendering/RenderMenuList.h:

WebKit/mac:

2008-03-31 Alice Liu <alice.liu@apple.com>

Reviewed by Darin.

  • WebView/WebFrame.mm: (-[WebFrame _accessibilityTree]): The syntax for fetching an object from the AXObjectCache changed slightly
01:24 Changeset [31516] by hausmann@webkit.org

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Change the order of the methods to match with the FrameLoaderClient.h to ease removing methods in the future.
01:24 Changeset [31515] by hausmann@webkit.org

2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>

Reviewed by Simon.

  • Remove virtuals in the FrameLoaderClientQt that don't exist in the base class.
00:32 Changeset [31514] by ggaren@apple.com

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

Reviewed by Oliver Hunt.


Changed Machine::dumpRegisters to take a pointer instead of a reference,
so gdb understands how to call it.

  • VM/Machine.cpp: (KJS::Machine::dumpRegisters): (KJS::Machine::privateExecute):
  • VM/Machine.h:

03/31/08:

23:54 Changeset [31513] by mitz@apple.com
  • fix previous attempted fixes
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories):
23:40 Changeset [31512] by mitz@apple.com
  • fix Qt link stubs
  • platform/qt/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
23:31 Changeset [31511] by mitz@apple.com
  • try to fix the Wx build
  • platform/wx/TemporaryLinkStubs.cpp: (PluginDatabase::getPluginPathsInDirectories): (PluginDatabase::isPreferredPluginDirectory):
23:26 Changeset [31510] by mitz@apple.com
  • Gtk and Qt build fixes
  • platform/graphics/gtk/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/gtk/FontCustomPlatformData.h:
  • platform/graphics/qt/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/qt/FontCustomPlatformData.h:
23:04 Changeset [31509] by mitz@apple.com
  • Mac build fix
  • platform/graphics/mac/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::fontPlatformData):
  • platform/graphics/mac/FontCustomPlatformData.h:
23:03 Changeset [31508] by mjs@apple.com

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

Reviewed by Maciej.

Fix CodeGenerator::addConstant() so it uses the functionExpressions
counter for function expressions, not the functions counter.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant):
22:49 Changeset [31507] by mitz@apple.com

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

Reviewed by Darin Adler.

  • fix <rdar://problem/5792638> @font-face with downloadable fonts doesn't work with GDI text
  • WebCore.vcproj/WebCore.vcproj: Added GetEOTHeader.{h,cpp}
  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::getFontData): Changed to pass the rendering mode to CachedFont::platformDataFromCustomData().
  • loader/CachedFont.cpp: (WebCore::CachedFont::platformDataFromCustomData): Added a rendering mode parameter which is passed down to FontCustomPlatformData::fontPlatformData().
  • loader/CachedFont.h:
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::FontCache::fontExists): Changed the number 5 to the named constant CLEARTYPE_QUALITY.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added code to delete the embedded font reference. (WebCore::FontCustomPlatformData::fontPlatformData): Added code to create an HFONT from the embedded font reference and pass it along with the CGFontRef to the FontPlatformData constructor. Added a rendering mode parameter which is passed down to the FontPlatformData constructor. (WebCore::EOTStream::EOTStream): Added this helper class used to feed data to TTLoadEmbeddedFont(). (WebCore::EOTStream::read): Added. (WebCore::readEmbedProc): Added this TTLoadEmbeddedFont() callback. (WebCore::createUniqueFontName): Added. Creates a unique GUID-derived font name. (WebCore::createFontCustomPlatformData): Added code to make the font accessible to GDI by creating an Embedded OpenType stream and activating it in the process under a globally-unique name.
  • platform/graphics/win/FontCustomPlatformData.h: Added a font reference data member which holds the embedded font. (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a rendering mode parameter.
  • platform/graphics/win/FontPlatformData.h: (WebCore::FontPlatformData::FontPlatformData): Made this class always own the CGFontRef and the HFONT by turning these data members into a RetainPtr and a RefPtr around a RefCountedHFONT. Added an HFONT parameter to the CGFontRef-based constructor. Made platformDataInit() private. (WebCore::FontPlatformData::hfont): (WebCore::FontPlatformData::cgFont): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): Added. (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): (WebCore::FontPlatformData::RefCountedHFONT::hfont): (WebCore::FontPlatformData::RefCountedHFONT::hash):
  • platform/graphics/win/FontPlatformDataCGWin.cpp: (WebCore::FontPlatformData::platformDataInit): Changed to take ownership of the CGFontRef created here. (WebCore::FontPlatformData::FontPlatformData): Added an HFONT parameter and a useGDI flag.
  • platform/graphics/win/FontPlatformDataWin.cpp: (WebCore::FontPlatformData::FontPlatformData): Changed to take ownership of the HFONT.
  • platform/graphics/win/GetEOTHeader.cpp: Added. (WebCore::BigEndianUShort::operator unsigned short): (WebCore::BigEndianULong::operator unsigned): (WebCore::appendBigEndianStringToEOTHeader): (WebCore::getEOTHeader): Added. Creates an Embedded OpenType (.eot) header for the given font data, making it suitable as input for TTLoadEmbeddedFont.
  • platform/graphics/win/GetEOTHeader.h: Added.
  • platform/graphics/win/SimpleFontDataCGWin.cpp: (WebCore::SimpleFontData::platformDestroy): Removed code to delete parts of the FontPlatformData, since they are now always owned and managed by the FontPlatformData.
22:48 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
22:44 Changeset [31506] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Add emitCode support for TypeOfResolveNode and TypeOfValueNode.
Added new opcode op_type_of to handle them.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNot): (KJS::CodeGenerator::emitInstanceOf): (KJS::CodeGenerator::emitTypeOf):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::jsTypeStringForValue): (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::TypeOfResolveNode::emitCode): (KJS::TypeOfValueNode::emitCode):
  • kjs/nodes.h:
22:39 Changeset [31505] by weinig@apple.com

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

Reviewed by Oliver Hunt.

Fix non-computed goto version of isOpcode. op_end is a valid opcode.

  • VM/Machine.cpp: (KJS::Machine::isOpcode):
22:38 Changeset [31504] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Added op_post_dec.

22:29 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
22:04 Changeset [31503] by mrowe@apple.com

Versioning.

22:04 Changeset [31502] by mrowe@apple.com

New tag.

21:53 Changeset [31501] by ggaren@apple.com

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

Reviewed by Geoffrey Garen.

Add support for FunctionCallDotNode.

  • kjs/nodes.cpp: (KJS::FunctionCallDotNode::emitCode):
  • kjs/nodes.h:
21:22 Changeset [31500] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.

Next step toward global code: Removed more obsolete API, moved
saveLocalStorage and restoreLocalStorage to JSGlobalObject subclass,
since it's only intended for use there.


  • ChangeLog:
  • JavaScriptCore.exp:
  • kjs/Activation.h:
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::saveLocalStorage): (KJS::JSGlobalObject::restoreLocalStorage):
  • kjs/JSGlobalObject.h:
  • kjs/JSVariableObject.cpp:
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
  • kjs/function.cpp: (KJS::ActivationImp::ActivationImp):
20:55 Changeset [31499] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.

Next step toward global code: subclass JSActivation + JSActivationData
from JSVariableObject + JSVariableObjectData.


JSActivation now relies on JSVariableObject for access to registers and
symbol table, and for some delete functionality, but not for anything
else yet.

(KJS::JSActivation::mark): Cleaned up the style here a little bit.

20:25 Changeset [31498] by darin@apple.com

2008-03-31 Darin Adler <darin@apple.com>

Reviewed by Anders.

  • fix crash seen on buildbot (regression from a recent speedup)
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::createElement): Check validity before calling isLower, since that takes care of the null string case.
20:22 squirrelfish edited by cwzwarich@uwaterloo.ca
(diff)
20:19 Changeset [31497] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Beth Dakin.


Next step toward global code: store "rOffset" in JSVariableObjectData.

  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData):
20:01 Changeset [31496] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


Next steps toward global code:


  • Moved access to the register file into JSVariableObject.


  • Added more ASSERTs to indicate obsolete APIs there are just hanging around to stave off build failures.
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData):
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::registers): (KJS::JSVariableObject::JSVariableObjectData::JSVariableObjectData): (KJS::JSVariableObject::JSVariableObject):
19:57 Changeset [31495] by mjs@apple.com

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

Reviewed by Oliver. Tweaked somewhat by Maciej.


  • implement codegen for ReadModifyResolveNode
  • kjs/nodes.cpp: (KJS::emitReadModifyAssignment): (KJS::ReadModifyResolveNode::emitCode):
  • kjs/nodes.h:
19:08 Changeset [31494] by mjs@apple.com

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

Reviewed by Geoff.

Fix the build -- r31492 removed activation tear-off, but r31493 used it.

  • kjs/nodes.cpp: (KJS::FuncExprNode::makeFunction):
19:00 Changeset [31493] by mjs@apple.com

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

Reviewed by Maciej.

Add support for FuncExprNode to SquirrelFish.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addConstant): (KJS::CodeGenerator::emitNewFunctionExpression):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::FuncExprNode::emitCode): (KJS::FuncExprNode::makeFunction):
  • kjs/nodes.h:
18:55 Changeset [31492] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Maciej Stachowiak.


First step toward global code: removed some obsolete JSGlobalObject
APIs, changing clients to ASSERT_NOT_REACHED.


Activation tear-off and scope chain pushing is obsolete because we
statically detect whether an activation + scope node is required.


The variableObject() and activationObject() accessors are obsolete
because they haven't been maintained, and they're mostly used by
node evaluation code, anyway.


The localStorage() accessor is obsolete because everything is in
registers now, and it's mostly used by node evaluation code, anyway.

18:51 Changeset [31491] by mitz@apple.com

Reviewed by John Sullivan.

  • fix <rdar://problem/5741075> Google Maps: cursor and placemarks don't match up
  • platform/win/CursorWin.cpp: (WebCore::Cursor::Cursor): Set the 1-bit mask for full-alpha cursors to fully opaque. The mask is ignored and the alpha values from the 32-bit image are used except in the case of a fully-transparent image, in which the fully-opaque 1-bit mask is required to get transparency.
18:31 Changeset [31490] by mjs@apple.com

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

Reviewed by Darin.


  • implement codegen for bracket accessor and bracket assign
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitGetPropVal): (KJS::CodeGenerator::emitPutPropVal):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::BracketAccessorNode::emitCode): (KJS::AssignBracketNode::emitCode):
  • kjs/nodes.h:
18:16 Changeset [31489] by beidson@apple.com

Make more WebArchive checks cross platform

15:58 Changeset [31488] by beidson@apple.com

Turn on WebArchive loading on Windows

15:43 Changeset [31487] by mrowe@apple.com

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

Add some images that were missed in the WordPress 2.5 upgrade.

  • blog/:
15:32 Changeset [31486] by mrowe@apple.com

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

Upgrade to WordPress 2.5

  • blog/:
15:29 Changeset [31485] by mitz@apple.com

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

Reviewed by Dave Hyatt.

  • page/AnimationController.cpp: Changed the BLEND_MAYBE_INVALID_COLOR macro to not blend two invalid colors.
  • rendering/RenderStyle.cpp: (WebCore::StyleBackgroundData::StyleBackgroundData): Added missing copying of the m_color data member.
15:28 Changeset [31484] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Not reviewed.


Removed FIXME that I just fixed.


Added ASSERT to cover an error previously only covered by a FIXME.

  • kjs/JSActivation.cpp: (KJS::JSActivation::getOwnPropertySlot):
14:58 Changeset [31483] by jchaffraix@webkit.org

2008-03-31 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Darin.

Bug 18177: m_encoding is used twice in XMLHttpRequest
http://bugs.webkit.org/show_bug.cgi?id=18177

  • Change XMLHttpRequest variable m_encoding to m_responseEncoding.
  • Change send local variable m_encoding to encoding.

No test case (no functionnal change).

  • platform/network/ResourceResponseBase.h: Removed unused variable.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Changed local m_encoding to encoding. (WebCore::XMLHttpRequest::didReceiveResponse): m_encoding -> m_responseEncoding. (WebCore::XMLHttpRequest::didReceiveData): Ditto.
  • xml/XMLHttpRequest.h: Change m_encoding to m_responseEncoding to disambiguate the name as it is only used for response.
14:45 Changeset [31482] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Not reviewed.

Fixed indentation inside op_call. (I had left this code badly indented
to make the behavior-changing diff clearer.)

  • VM/Machine.cpp: (KJS::Machine::privateExecute):
14:43 Changeset [31481] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Fixed up logging of jump instructions to follow the following style:


jump offset(->absoluteTarget)

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
14:41 Changeset [31480] by jchaffraix@webkit.org

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

Reviewed by Darin.

Resolves http://bugs.webkit.org/show_bug.cgi?id=18010
"WebKitNetworkRequestPrivate is defined in two places unnecessarily"

Removed unnecessary definition of WebKitNetworkRequestPrivate in
webkitprivate.h

  • webkit/webkitprivate.h:
14:35 Changeset [31479] by aroben@apple.com

Pass the right ExecStates to toJS when creating JS wrappers for objects from the inspected page

We now use an ExecState from the inspected page to create the JS
wrappers for objects from the inspected page, rather than use an
ExecState from the Inspector.

Reviewed by Tim Hatcher.

  • page/InspectorController.cpp: (WebCore::getResourceDocumentNode): (WebCore::InspectorController::focusNode): (WebCore::InspectorController::addDatabaseScriptResource):
14:30 Changeset [31478] by mrowe@apple.com

Merge r31388.

14:30 Changeset [31477] by mrowe@apple.com

Merge r31438.

14:30 Changeset [31476] by mrowe@apple.com

Merge r31434.

14:27 Changeset [31475] by ggaren@apple.com

2008-03-31 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.


Changed the SymbolTable API to use int instead of size_t. It has been
using int internally for a while now (since squirrelfish symbols can
have negative indices).

14:23 Developer Tools Hitlist edited by aroben@apple.com
(diff)
14:22 Developer Tools Hitlist edited by aroben@apple.com
(diff)
14:10 Changeset [31474] by mrowe@apple.com

Merge r30722.

14:10 Changeset [31473] by mrowe@apple.com

Merge r31153.

14:03 Changeset [31472] by aroben@apple.com

Stop relying on functions added to prototypes in the Inspector being callable on objects from the inspected window

Reviewed by Tim Hatcher.

  • page/inspector/Console.js: (WebInspector.ConsolePanel._formatnode): Use nodeTitleInfo.call(node) instead of node.titleInfo().
  • page/inspector/StylesSidebarPane.js: Changed uses of getShorthandValue, getShorthandPriority, getLonghandProperties, and getUniqueStyleProperties to call them as functions instead of as methods on the CSSStyleDeclaration objects.
  • page/inspector/utilities.js: Removed Node.prototype.titleInfo, and changed our CSSStyleDeclaration methods to just be standalone functions.
13:59 Changeset [31471] by mrowe@apple.com

Roll out r31407.

13:28 Changeset [31470] by aroben@apple.com

Fix an exception while adding a message to the console

Reviewed by Mark Rowe.

  • page/inspector/ConsolePanel.js: Don't call addMessageToSource if the panel has no such method. This can happen if we get a message for, e.g., a Database.
13:14 Changeset [31469] by jchaffraix@webkit.org

2008-03-31 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Darin.

Bug 17665: determineSourceDir() dies if $sourceDir has a trailing backslash

Remove trailing '/' in $sourceDir in determineSourceDir().

Fix suggested by Dmitriy Kazachkov.

  • Scripts/webkitdirs.pm:
10:59 Changeset [31468] by beidson@apple.com

WebCore:

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

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • page/EditorClient.h:
  • svg/graphics/SVGImageEmptyClients.h:
  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::writeSelection): Make the archive and get the data directly

WebKit/mac:

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

Reviewed by Darin and Mitz's rubber stamp

Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore

  • WebCoreSupport/WebEditorClient.mm:
  • WebCoreSupport/WebEditorClient.h:
10:06 Changeset [31467] by beidson@apple.com

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

Reviewed by Mitz Pettel

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

Despite the bug reporter's instructions, I have still not been able to actually reproduce this crash and
therefore don't know how to make a layout test for it.

  • loader/archive/ArchiveResource.cpp: (WebCore::ArchiveResource::response): Fix potential null dereference
09:56 Changeset [31466] by aroben@apple.com

Fix Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing on Windows

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

We now keep track of all the plugin paths found each time refresh() is
called. We'll only instantiate PluginPackages if there are new paths
or paths with changed timestamps since the last time refresh() was
called.

Reviewed by Darin Adler and Anders Carlsson.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
    • Only instantiate PluginPackages if there is a new path or a path with a changed timestamp since we last ran refresh().
    • Cache the set of plugin paths found and their timestamps for the next call to refresh().
    • Only re-register MIME types if our set of plugins changed.
  • plugins/PluginDatabase.h: Added a new member to cache plugin paths and their timestamps.
09:55 Changeset [31465] by aroben@apple.com

Separate filesystem crawling from PluginPackage instantiation

Part of Bug 18208: Acid3 test 65 takes >33ms due to plugin refreshing
on Windows
<http://bugs.webkit.org/show_bug.cgi?id=18208>

refresh() is now the only place where PluginPackages are instantiated.
refresh() now asks for a set of plugins that no longer exist on disk,
and the set of all plugin files in our plugin directories. Using these
two sets we can update our instantiated plugins without copying any
HashSets. The code in refresh() and in the platform-specific methods
to crawl the filesystem is now quite a bit simpler.

PluginDatabase now stores both a PluginSet and a HashMap that maps
plugin paths to PluginPackages. This allows us to quickly determine
whether we already have a PluginPackage instantiated for a particular
path. The new add/remove methods handle the modification of these two
collections.

A nice side effect of all this is that refresh() no longer copies any
HashSets.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh): Unload any plugins that have been deleted from disk, and add any plugins that either weren't installed last time, or have changed since last time. (WebCore::PluginDatabase::getDeletedPlugins): Added. (WebCore::PluginDatabase::add): Added. Returns whether or not the PluginPackage was actually added to the database (duplicates won't be added). (WebCore::PluginDatabase::remove): Added.
  • plugins/PluginDatabase.h:
  • plugins/PluginPackage.h: (WebCore::PluginPackage::path): Added. (WebCore::PluginPackage::lastModified): Added.
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginPathsInDirectories): Renamed from getPluginsInDirectories. Now fills a HashSet of Strings instead of instantiated PluginPackages.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginPathsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginPathsInDirectories): Ditto.
09:55 Changeset [31464] by aroben@apple.com

Change getPluginsInDirectories to use an out parameter

This avoids copying a HashSet.

Reviewed by Mitz Pettel.

  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
09:54 Changeset [31463] by aroben@apple.com

Make some PluginPackage methods return const String&

Reviewed by Mitz Pettel.

  • plugins/PluginPackage.h:
09:54 Changeset [31462] by aroben@apple.com

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

WebCore:

Rename PluginDatabase's "PluginPaths" to "PluginDirectories"

The code expects these paths to all be directories, so it seems good
to refer to them as such.

This patch just changes "Paths" to "Directories" and "Path" to
"Directory".

Reviewed by Mitz Pettel.

  • platform/qt/TemporaryLinkStubs.cpp:
  • platform/wx/TemporaryLinkStubs.cpp:
  • plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::installedPlugins): (WebCore::PluginDatabase::refresh):
  • plugins/PluginDatabase.h: (WebCore::PluginDatabase::setPluginDirectories):
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInDirectories):
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::PluginDatabase::getPluginsInDirectories): (WebCore::safariPluginsDirectory): (WebCore::PluginDatabase::defaultPluginDirectories): (WebCore::PluginDatabase::isPreferredPluginDirectory):
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::compare):

WebKit/win:

Rename IWebViewPrivate::addAdditionalPluginPath to
addAdditionalPluginDirectory

Reviewed by Mitz Pettel.

  • Interfaces/IWebViewPrivate.idl:
  • Interfaces/WebKit.idl: Touched to make sure the Interfaces project rebuilds.
  • WebView.cpp: (WebView::addAdditionalPluginDirectory):
  • WebView.h:

WebKitTools:

Update for rename of an IWebViewPrivate method

Reviewed by Mitz Pettel.

  • DumpRenderTree/win/DumpRenderTree.cpp: (createWebViewAndOffscreenWindow):
09:53 Changeset [31461] by aroben@apple.com

Remove PlatformFileTime

This typedef is time_t on all platforms, so we can just get rid of the
typedef.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h:
  • plugins/PluginPackage.cpp:
  • plugins/PluginPackage.h:
09:53 Changeset [31460] by aroben@apple.com

Change PlatformFileTime on Windows to be time_t

This matches other platforms and our existing functions in
FileSystem.h. It will also let us get rid of PlatformFileTime
altogether.

Reviewed by Mitz Pettel.

  • platform/FileSystem.h: Change PlatformFileTime to time_t on Windows.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Use getFileModificationTime to get the modification time to pass to PluginPackage::create. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Updated to use m_lastModified as a time_t. (WebCore::PluginPackage::equal): Ditto.
09:52 Changeset [31459] by aroben@apple.com

Make PluginPackage work like our other RefCounted classes

PluginPackage now starts with a ref count of 1, and its createPackage
method now returns a PassRefPtr instead of a raw pointer.

Reviewed by Darin Adler.

  • plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): Removed explicit call to the RefCounted constructor so that we'll start with a ref count of 1. (WebCore::PluginPackage::createPackage): Changed to return a PassRefPtr.
  • plugins/PluginPackage.h:
  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginsInPaths): Changed to store the newly-created PluginPackage in a RefPtr.
  • plugins/win/PluginDatabaseWin.cpp: (WebCore::addPluginsFromRegistry): Ditto. (WebCore::PluginDatabase::getPluginsInPaths): Ditto.
09:52 Changeset [31458] by aroben@apple.com

Fix Bug 18214: WebKit will sometimes load duplicate plugins

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

We now compare 3 things to determine if two PluginPackages are equal:

1) Name
2) Description
3) Supported MIME types

This matches Gecko's equality logic for plugins (implemented in
nsPluginTag::Equals).

Reviewed by Darin Adler.

  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::hash): Use the above-mentioned 3 criteria to calculate the hash. (WebCore::PluginPackage::equal): Use the above-mentioned 3 criteria to determine equality.
01:56 squirrelfish edited by mjs@apple.com
(diff)
01:55 squirrelfish edited by mjs@apple.com
(diff)
01:54 squirrelfish edited by mjs@apple.com
(diff)
01:50 Changeset [31457] by hausmann@webkit.org

Fix the Qt build.

ResourceHandleInternal.h references ResourceHandle::fireFailure, so include
ResourceHandle.h.

01:46 Changeset [31456] by mjs@apple.com

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

Reviewed by Maciej.

Add support for FunctionCallValueNode.

  • kjs/nodes.cpp: (KJS::FunctionCallValueNode::emitCode):
  • kjs/nodes.h:
01:04 Changeset [31455] by mjs@apple.com

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

Reviewed by Oliver.


1) Implemented array literals


2) Renamed op_object_get and op_object_put to op_get_prop_id and
op_put_prop_id in preparation for new variants.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitNewArray): (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitPutPropIndex):
  • VM/CodeGenerator.h: (KJS::CodeGenerator::CodeGenerator): (KJS::CodeGenerator::propertyNames):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::ArrayNode::emitCode): (KJS::PropertyListNode::emitCode): (KJS::DotAccessorNode::emitCode): (KJS::PostIncResolveNode::emitCode): (KJS::PreIncResolveNode::emitCode): (KJS::AssignResolveNode::emitCode): (KJS::AssignDotNode::emitCode):
  • kjs/nodes.h:
01:01 Changeset [31454] by eric@webkit.org

Reviewed by darin.

Make matching of regexps using much faster
http://bugs.webkit.org/show_bug.cgi?id=18086

  • pcre/pcre_compile.cpp: (compileBranch): (branchNeedsLineStart):
  • pcre/pcre_exec.cpp: (match): (jsRegExpExecute):
  • pcre/pcre_internal.h:
00:21 squirrelfish edited by ggaren@apple.com
(diff)
00:16 squirrelfish edited by ggaren@apple.com
(diff)
00:15 squirrelfish edited by ggaren@apple.com
(diff)
00:11 squirrelfish edited by ggaren@apple.com
(diff)
Note: See TracTimeline for information about the timeline view.