Timeline


and

09/28/08:

21:17 Changeset [37053] by weinig@apple.com

Fix spelling

21:16 Changeset [37052] by weinig@apple.com

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

Reviewed by Anders Carlsson.

Remove spurious call to lower().

  • css/MediaQueryEvaluator.cpp: (WebCore::MediaQueryEvaluator):
20:41 Changeset [37051] by weinig@apple.com

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

Reviewed by Dan Bernstein.

Use a CaseFoldingHash instead of calling lower on family strings.

  • css/CSSFontSelector.cpp: (WebCore::CSSFontSelector::addFontFaceRule): (WebCore::CSSFontSelector::getFontData):
  • css/CSSFontSelector.h:
20:04 Changeset [37050] by cwzwarich@webkit.org

2008-09-28 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Reviewed by Maciej Stachowiak.

Bug 21200: Allow direct access to 'arguments' without using op_resolve
<https://bugs.webkit.org/show_bug.cgi?id=21200>

Allow fast access to the 'arguments' object by adding an extra slot to
the callframe to store it.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::registerFor):
  • VM/CodeGenerator.h: (JSC::CodeGenerator::registerFor):
  • VM/Machine.cpp: (JSC::Machine::initializeCallFrame): (JSC::Machine::dumpRegisters): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h:
  • VM/Opcode.h:
  • VM/RegisterFile.h: (JSC::RegisterFile::):
  • kjs/JSActivation.cpp: (JSC::JSActivation::mark): (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • kjs/NodeInfo.h:
  • kjs/Parser.cpp: (JSC::Parser::didFinishParsing):
  • kjs/Parser.h: (JSC::Parser::parse):
  • kjs/grammar.y:
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::create):
  • kjs/nodes.h: (JSC::ScopeNode::usesArguments):
19:45 Changeset [37049] by mrowe@apple.com

Add an ASCII fast-path to toLowerCase and toUpperCase.

The fast path speeds up the common case of an ASCII-only string by up to 60% while adding a less than 5% penalty
to the less common non-ASCII case.

This also removes stringProtoFuncToLocaleLowerCase and stringProtoFuncToLocaleUpperCase, which were identical
to the non-locale variants of the functions. toLocaleLowerCase and toLocaleUpperCase now use the non-locale
variants of the functions directly.

Reviewed by Sam Weinig.

  • kjs/StringPrototype.cpp:

(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):

19:00 Changeset [37048] by mrowe@apple.com

Speed up parseInt and parseFloat.

Repeatedly indexing into a UString is slow, so retrieve a pointer into the underlying buffer once up front
and use that instead. This is a 7% win on a parseInt/parseFloat micro-benchmark.

Reviewed by Cameron Zwarich.

16:57 Changeset [37047] by ddkilzer@apple.com

Bug 21185: resolve-ChangeLogs should be able to fix poorly merged ChangeLog entries after a git svn rebase

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

Reviewed by Adam.

Scripts/resolve-ChangeLogs: Added new -ffix-merge switch that

will attempt to reapply the last commit to a ChangeLog file such
that the ChangeLog entry appears at the top of the file.
(findChangeLog): Added prototype and moved method below the exit
statement.
(fixMergedChangeLog): Added. Method to fix incorrectly merged
ChangeLog entries.

16:31 Changeset [37046] by timothy@apple.com

Improves the Web Inspector node highlight so it does not scroll to reveal the node in the page.

WebCore:

2008-09-28 Timothy Hatcher <timothy@apple.com>

Remove the scrollIntoViewIfNeeded() call when drawing the
Inspector node highlight.

<rdar://problem/6115804> Don't scroll when highlighting (21000)
https://bugs.webkit.org/show_bug.cgi?id=21000

Reviewed by Dan Bernstein.

  • page/InspectorController.cpp: (WebCore::InspectorController::drawNodeHighlight):

WebKit/mac:

2008-09-28 Timothy Hatcher <timothy@apple.com>

Improves the Web Inspector node highlight so it does not scroll
to reveal the node in the page. This makes the highlight less
invasive and causes less things to change on screen. Also makes
the highlight redraw when the WebView draws, so it stays current
if the node changes on the page for any reason.

<rdar://problem/6115804> Don't scroll when highlighting (21000)
https://bugs.webkit.org/show_bug.cgi?id=21000

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebInspectorClient.mm: (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES if there is an existing highlight. (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current highlight node on the inspected WebView. (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current highlight node on the inspected WebView to nil.
  • WebInspector/WebNodeHighlight.m: (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates until flush for the inspected window. Invalidate the whole highlight view since we don't know the rect that needs updated since the highlight can be larger than the highlighted element due to the margins and other factors.
  • WebInspector/WebNodeHighlightView.m:
  • WebView/WebHTMLView.mm: (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the current highlight node.
  • WebView/WebView.mm: (-[WebViewPrivate dealloc]): Release the current highlight node. (-[WebView setCurrentNodeHighlight:]): Set the current highlight node. (-[WebView currentNodeHighlight]): Return the current highlight node.
  • WebView/WebViewInternal.h:
12:58 Changeset [37045] by hyatt@apple.com

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

Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
changed.

Reviewed by Dan Bernstein

  • platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
12:52 Changeset [37044] by timothy@apple.com

Clear the current search results in the Inspector when
the search query is less than 3 characters long. Incremental
searches only occur for 3 characters or longer, but deleting
under this limit would not clear the results unless the whole
query was deleted.

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

Reviewed by Dan Bernstein.

  • page/inspector/inspector.js: (WebInspector.performSearch): Check for short queries in the if statement that triggers the clear.
12:41 Changeset [37043] by mitz@apple.com

Fix typo noticed by Hyatt in review, which I forgot to fix before checking in.

12:38 Changeset [37042] by mitz@apple.com

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and overlayLength parameters. (WebCore::EOTStream::read): Added code to overlay the the m_overlayLength bytes starting at m_overlayDst with the same number of bytes from m_overlaySrc. (WebCore::createFontCustomPlatformData): Changed to get overlay parameters from getEOTHeader.
  • platform/graphics/win/GetEOTHeader.cpp: (WebCore::getEOTHeader): Added code to specify overlaying of the family name with the prefix of the full name if they differ, because that such a difference causes TTLoadEmbeddedFont to fail.
  • platform/graphics/win/GetEOTHeader.h:
12:17 QtWebKitTodo edited by hausmann@webkit.org
(diff)
11:57 Changeset [37041] by hausmann@webkit.org

2008-09-28 Simon Hausmann <hausmann@webkit.org>

Reviewed by David Hyatt.

Ensure the mainThreadIdentifier is set as well as other bits and pieces of
the threading machinery, by calling JSC::initializeThreading().

11:56 Changeset [37040] by hausmann@webkit.org

2008-09-28 Simon Hausmann <hausmann@webkit.org>

Reviewed by David Hyatt.

In Qt's initializeThreading re-use an existing thread identifier for the main
thread if it exists.

currentThread() implicitly creates new identifiers and it could be that
it is called before initializeThreading().

11:48 QtWebKitGitInstructions edited by hausmann@webkit.org
Update to the current branch situation (diff)
11:43 QtWebKitTodo edited by hausmann@webkit.org
Cleanups and start of 4.5 plan (diff)
11:22 Changeset [37039] by ddkilzer@apple.com

Fix build warning in WebDefaultUIDelegate.m

Reviewed by Dan Bernstein.

This fixes a warning noticed by the clang static analyzer:
.../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’:
.../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type

Note that this doesn't actually cause any change in behavior since
the gcc compiler ignores the semi-colon anyway.

  • DefaultDelegates/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon from method signature.
06:23 Changeset [37038] by ap@webkit.org

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=20366
Reproducible test failure for editing/undo/undo-iframe-location-change.html

This does not fix the problem, but makes the test more predictable by using iframe onload.
Also, makes the test runnable in browser. Turns out that the test reliably fails there too,
even without any special steps needed in DRT.

  • editing/undo/undo-iframe-location-change-expected.txt:
  • editing/undo/undo-iframe-location-change.html:
  • ChangeLog-2007-10-14: Added bug URLs for a patch that included this test.

WebCore:

  • ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
02:35 Changeset [37037] by darin@apple.com

2008-09-28 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig (except for a few comment and header tweaks).

Speeds up Dromaeo a bit less than 1%.

  • bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of Node.h now that some inlines are in there.
  • dom/Attr.h: Override both the virtual and non-virtual name functions.
  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
  • dom/ChildNodeList.h: Ditto.
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::nodeMatches): Ditto.
  • dom/ClassNodeList.h: Ditto.
  • dom/Document.h: Put the Node::isDocumentNode() function's inline definition here where it can see the Document class definition.
  • dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::length): Changed to pass an Element. (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto. (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto. (WebCore::DynamicNodeList::itemWithName): Ditto.
  • dom/DynamicNodeList.h: Ditto.
  • dom/Element.cpp: Removed virtualHasTagName.
  • dom/Element.h: Made localName, prefix, namespaceURI, and styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, virtualNamespaceURI, and removed virtualHasTagName. Put the Node::hasTagName, Node::hasAttributes, and Node::attributes functions' inline definitions here where they can see the Element class definition.
  • dom/NameNodeList.cpp: (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
  • dom/NameNodeList.h: Ditto.
  • dom/Node.cpp: (WebCore::Node::virtualPrefix): Renamed from prefix. (WebCore::Node::virtualLocalName): Renamed from localName. (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI. (WebCore::Node::styleForRenderer): Handle the Element case here.
  • dom/Node.h: Removed definition of hasTagName that calls virtual, since we now have a non-virtual version. Made hasAttributes, attributes, remove, localName, namespaceURI, prefix, isDocumentNode, and styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, and virtualNamespaceURI. Removed isMalformed and setMalformed, which are used only on HTMLFormElement objects.
  • dom/TagNodeList.cpp: (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
  • dom/TagNodeList.h: Ditto.
  • html/HTMLAnchorElement.cpp: Added a comment.
  • html/HTMLFormControlElement.cpp: Ditto.
  • html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex function. Marked tabIndex function virtual explicitly for clarity.
  • html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex function. Marked isFocusable function virtual explicitly for clarity.
  • html/HTMLElement.h: Marked tabIndex function virtual explicitly for clarity.
  • html/HTMLFormControlElement.h: Ditto.
  • html/HTMLFormElement.h: Made isMalformed non-virtual.
  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement pointer to call localName since that one does not need to call a virtual function.
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before calling isMalformed. We already did a tag name check so we know it's an HTMLFormELement.
  • xml/XPathUtil.cpp: (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls to nodeType(), since it's a virtual function.
02:33 Changeset [37036] by hyatt@apple.com

Fix wx bustage.

01:52 Changeset [37035] by hyatt@apple.com

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

Make frameRectsChanged() cross-platform on ScrollView.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::frameRectsChanged):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
01:36 Changeset [37034] by oliver@apple.com

Bug 21141: REGRESSION: Exception messages for user entered commands are poor
<https://bugs.webkit.org/show_bug.cgi?id=21141>

Reviewed by Maciej Stachowiak.

The bug repsonsible for this was the the JSInspectedObjectWrapper instances
were not initialising their StructureID's to indicate that the wrapper
overrides hasInstance, etc. The solution is simply to use the createStructureID
helper on JSQuarantinedObjectWrapper to create a correct StructureID.

01:30 Changeset [37033] by hyatt@apple.com

Fix GTK bustage.

01:29 Changeset [37032] by hyatt@apple.com

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

Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
terms of lines.

Reviewed by Oliver Hunt

  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchWheelEvent):
01:21 Changeset [37031] by hyatt@apple.com

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

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

Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
on ScrollView to be cross-platform.

Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
events are now pixel wheel events.

Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
(1) Page scrolling has been corrected to be properly detected (on Windows
page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
you could page scroll horizontally.
(2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
This caused the scroll amount for page scrolling to be way too large on layers.

Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.

Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).

Reviewed by Oliver Hunt

  • editing/EditorCommand.cpp: (WebCore::verticalScrollDistance):
  • page/EventHandler.cpp: (WebCore::scrollAndAcceptEvent): (WebCore::EventHandler::handleWheelEvent):
  • platform/PlatformWheelEvent.h: (WebCore::): (WebCore::PlatformWheelEvent::pos): (WebCore::PlatformWheelEvent::globalPos): (WebCore::PlatformWheelEvent::deltaX): (WebCore::PlatformWheelEvent::deltaY): (WebCore::PlatformWheelEvent::granularity): (WebCore::PlatformWheelEvent::x): (WebCore::PlatformWheelEvent::globalX): (WebCore::PlatformWheelEvent::ignore): (WebCore::PlatformWheelEvent::horizontalLineMultiplier): (WebCore::PlatformWheelEvent::verticalLineMultiplier):
  • platform/ScrollView.cpp: (WebCore::ScrollView::wheelEvent):
  • platform/Scrollbar.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/gtk/WheelEventGtk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/mac/ScrollViewMac.mm:
  • platform/mac/WheelEventMac.mm: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/qt/WheelEventQt.cpp:
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/win/WheelEventWin.cpp: (WebCore::PlatformWheelEvent::horizontalLineMultiplier): (WebCore::PlatformWheelEvent::verticalLineMultiplier): (WebCore::PlatformWheelEvent::PlatformWheelEvent):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): (WebCore::ScrollView::wheelEvent):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateScrollInfoAfterLayout):

09/27/08:

22:38 Changeset [37030] by eric.carlson@apple.com

2008-09-27 Eric Carlson <eric.carlson@apple.com>

Reviewed by Sam Weinig.

fix https://bugs.webkit.org/show_bug.cgi?id=20994
<rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned


HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
all unsigned media attributes from string with toUInt() instead of toInt().


  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::videoWidth): (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl. (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return unsigned value. (WebCore::HTMLVideoElement::height): Ditto. (WebCore::HTMLVideoElement::setWidth): take unsigned value. (WebCore::HTMLVideoElement::setHeight): Ditto.
  • html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
  • html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
21:59 Changeset [37029] by hyatt@apple.com

Fix indentation error from bug 17589 fix made in WheelEventMac.mm

21:57 Changeset [37028] by hyatt@apple.com

It's SENSITIVE. SENSITIVE. Not SENSIBLE.

21:40 Changeset [37027] by timothy@apple.com

Fixes an exception when typing a command in the Console.

Reviewed by Oliver Hunt.

  • page/inspector/Console.js: (WebInspector.Console.prototype.addMessage): Null check this.previosMessage.
21:40 Changeset [37026] by timothy@apple.com

Fixes a bug where the Profiles panel sidebar would be empty
after closing and reopening the Web Inspector.

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

Reviewed by Sam Weinig.

  • page/inspector/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.reset): Don't call populateInterface, it is called automatically. (WebInspector.ProfilesPanel.prototype._populateProfiles): Return early if the sidebar is already populated.
21:38 Changeset [37025] by hyatt@apple.com

Fix for line step being too small on Windows.

20:51 Changeset [37024] by hyatt@apple.com

2008-09-27 David Hyatt <hyatt@apple.com>

Make the scrollbarUnderMouse method cross-platform.

Reviewed by Sam Weinig

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollbarUnderMouse):
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
18:50 Changeset [37023] by zecke@webkit.org

Gtk+ build fix.

18:49 Changeset [37022] by zecke@webkit.org

/
2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20287
[Gtk] disable plugins for gtk/directfb target

Introduce WTF_PLATFORM_X11 for X11 builds.
Also use target-specific packages when building the port

  • configure.ac: Do not check for cairo-ft for directfb builds.

WebCore
2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=20287
[Gtk] disable plugins for gtk/directfb target

Introduce WTF_PLATFORM_X11 for X11 builds.
Also use target-specific packages when building the port

  • platform/gtk/PlatformScreenGtk.cpp:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::getValueStatic): (WebCore::PluginView::getValue): (WebCore::PluginView::init):
18:08 Changeset [37021] by hyatt@apple.com

Missed WebKit single line change.

18:07 Changeset [37020] by hyatt@apple.com

Oops. Checked in stale file.

18:07 Changeset [37019] by hyatt@apple.com

2008-09-27 David Hyatt <hyatt@apple.com>

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

Make scrollbar suppression and resizer avoidance cross-platform.

Reviewed by Anders

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::transitionToCommitted):
  • page/FrameView.cpp: (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::clear): (WebCore::FrameView::layout): (WebCore::FrameView::restoreScrollbar): (WebCore::FrameView::windowResizerRect):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::resizerOverlapsContent): (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): (WebCore::ScrollView::setParent): (WebCore::ScrollView::setScrollbarsSuppressed): (WebCore::ScrollView::platformSetScrollbarsSuppressed):
  • platform/ScrollView.h: (WebCore::ScrollView::scrollbarsSuppressed): (WebCore::ScrollView::windowResizerRect):
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setFrameRect): (WebCore::Scrollbar::setParent):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::platformSetScrollbarsSuppressed): (WebCore::ScrollView::setScrollPosition):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::frameRectsChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::paint):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16:58 Changeset [37018] by timothy@apple.com

Update a layout test result to add console.trace.

16:46 Changeset [37017] by zecke@webkit.org

2008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>

Rubber-stamped by Anders Carlsson.

Compile fix.

  • plugins/PluginView.cpp: (WebCore::PluginView::load):
16:23 Changeset [37016] by mrowe@apple.com

Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html

Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.

Rubber-stamped by Sam Weinig.

  • loader/CachedResource.cpp:

(WebCore::CachedResource::~CachedResource):

15:56 Changeset [37015] by zecke@webkit.org

2008-09-27 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Holger Freyther.

http://bugs.webkit.org/show_bug.cgi?id=21174
[GTK][AUTOTOOLS] Enable large file support at configure time

  • configure.ac: Enable large file support with AC_SYS_LARGEFILE.
15:46 Changeset [37014] by zecke@webkit.org

[qt] Use QImageReader to figure out which image formats are supported

  • Qt can have many different plugins for different image formats. Instead of checking only for a few in WebCore use Qt to determine if this data can be treated as an image.
15:45 Changeset [37013] by zecke@webkit.org

[qt] Clean the pattern code

  • Use save/restore on the painter after manipulating the pen/brush
  • Make the context and object null checking consistent. CG is using the object unconditionally so the Qt webkit platform can do the same.
  • Move code below the early exit. Only use the m_ownerElement before the early exit as the CG code is doing it.
15:18 Changeset [37012] by timothy@apple.com

Added support for console.trace.

JavaScriptCore:

2008-09-27 Keishi Hattori <casey.hattori@gmail.com>

Added Machine::retrieveCaller to the export list.

Reviewed by Kevin McCullough and Tim Hatcher.

WebCore:

2008-09-27 Keishi Hattori <casey.hattori@gmail.com>

Added support for console.trace.

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

Reviewed by Kevin McCullough and Tim Hatcher.

  • bindings/js/JSConsoleCustom.cpp: (WebCore::JSConsole::trace):
  • page/Console.cpp: (WebCore::Console::trace): Calls Machine::retrieveCaller to get a stack trace.
  • page/Console.h: (WebCore::): Added TraceMessageLevel.
  • page/Console.idl: Added console.trace.
  • page/inspector/Console.js: (ConsoleMessage): Added case for TraceMessageLevel.
15:18 Changeset [37011] by hyatt@apple.com

2008-09-27 David Hyatt <hyatt@apple.com>

Fix for https://bugs.webkit.org/show_bug.cgi?id=21182

Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
to call setAllowsScrolling.

Reviewed by Mark Rowe

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createFrame):
15:15 Changeset [37010] by hyatt@apple.com

WebKit/qt:

2008-09-27 David Hyatt <hyatt@apple.com>

Forgot to land renaming changes in WebKit.

  • Api/qwebframe.cpp: (QWebFrame::render): (QWebFrame::pos): (QWebFrame::geometry):
  • Api/qwebpage.cpp: (QWebPage::viewportSize): (QWebPage::setViewportSize):

WebKit/win:

2008-09-27 David Hyatt <hyatt@apple.com>

Land the frameGeometry->frameRect changes that I forgot to land in WebKit.

  • Interfaces/IWebScrollBarPrivate.idl:
  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::setFrameRect): (EmbeddedWidget::frameRectsChanged):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::setRect): (WebScrollBar::frameRect):
  • WebScrollBar.h:
14:30 Changeset [37009] by mitz@apple.com

Rubber-stamped by Sam Weinig.

  • fix typo in test name
  • media/video-click-dblckick-standalone-expected.txt: Copied from media/video-click-dlbclick-standalone-expected.txt.
  • media/video-click-dblckick-standalone.html: Copied from media/video-click-dlbclick-standalone.html.
  • media/video-click-dlbclick-standalone-expected.txt: Removed.
  • media/video-click-dlbclick-standalone.html: Removed.
14:28 Changeset [37008] by andersca@apple.com

WebCore:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

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

Check if the plug-in is allowed to load the resource. This matches Firefox.

Test: http/tests/plugins/local-geturl-from-remote.html

  • plugins/PluginView.cpp: (WebCore::PluginView::load):

WebKit/mac:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

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

Check if the plug-in is allowed to load the resource. This matches Firefox.


  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):

WebKitTools:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.


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


Return the result value from getURL.


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (getURL):

LayoutTests:

2008-09-27 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

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


Add tests.


  • http/tests/plugins/local-geturl-from-remote-expected.txt: Added.
  • http/tests/plugins/local-geturl-from-remote.html: Added.
14:13 Changeset [37007] by andersca@apple.com

2008-09-27 Anders Carlsson <andersca@apple.com>

Fix build.

  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::setFrameRect): (EmbeddedWidget::frameRectsChanged):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::setRect): (WebScrollBar::frameGeometry):
14:06 Changeset [37006] by zecke@webkit.org

2008-09-22 Dirk Schulze <vbs85@gmx.de>

Reviewed by Eric Seidel.

Added SVG pattern support to Qt.

[Qt] SVG patterns are missing
https://bugs.webkit.org/show_bug.cgi?id=20973

  • svg/graphics/qt/SVGPaintServerPatternQt.cpp: (WebCore::SVGPaintServerPattern::setup):
13:18 Changeset [37005] by timothy@apple.com

Fixed a bug in the JS syntax highlighter with multiple line tokens.

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

Reviewed by Tim Hatcher.

  • page/inspector/SourceFrame.js: (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
13:18 Changeset [37004] by timothy@apple.com

Change searching in the Profiles panel to not match the
Self and Total columns when there are no units. The only
column that is matched for unitless number searches is
now the Calls column.

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

Reviewed by Sam Weinig.

  • page/inspector/ProfileView.js: (WebInspector.ProfileView.prototype.performSearch):
12:56 Changeset [37003] by hyatt@apple.com

2008-09-27 David Hyatt <hyatt@apple.com>

Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.

Reviewed by Sam Weinig

  • platform/ScrollView.h:
  • platform/Widget.h: (WebCore::Widget::boundsRect): (WebCore::Widget::invalidate): (WebCore::Widget::frameRectsChanged):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::frameRectsChanged): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::frameRectsChanged):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setFrameRect): (ScrollbarGtk::frameRectsChanged):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::frameRectsChanged): (WebCore::ScrollView::updateScrollbars):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::frameRectsChanged):
  • plugins/PluginView.cpp: (WebCore::PluginView::frameRectsChanged):
  • plugins/PluginView.h:
12:49 Changeset [37002] by hausmann@webkit.org

2008-09-27 Simon Hausmann <hausmann@webkit.org>

Refix the previous build fix to compile on non-Qt platforms, too.

12:15 Changeset [37001] by hausmann@webkit.org

2008-09-27 Simon Hausmann <hausmann@webkit.org>

Fix compilation with gcc 4.3 (probably > 4.0)

11:32 Changeset [37000] by hausmann@webkit.org

2008-09-27 Simon Hausmann <hausmann@webkit.org>

Qt build fix - use frameRect instead of frameGeometry, adapt
to renamed scrollbar frameview methods.

10:41 Changeset [36999] by andersca@apple.com

2008-09-27 Anders Carlsson <andersca@apple.com>

Fix build.

  • VM/CTI.cpp: (JSC::):
10:20 Changeset [36998] by ggaren@apple.com

Added bug #

10:19 Changeset [36997] by ggaren@apple.com

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

Reviewed by Cameron Zwarich.


Store the callee CodeBlock, not the caller CodeBlock, in the call frame
header. Nix the "codeBlock" local variable, and access the callee
CodeBlock through the call frame header instead.


Profit: call + return are simpler, because they don't have to update the
"codeBlock" local variable.


Because CTI keeps "r" in a register, reading the callee CodeBlock relative
to "r" can be very fast, in any cases we care to optimize. Presently,
no such cases seem important.


Also, stop writing "dst" to the call frame header. CTI doesn't use it.


21.6% speedup on empty function call benchmark.
3.8% speedup on SunSpider --v8.
2.1% speedup on v8 benchmark.
0.7% speedup on SunSpider (6% speedup on controlflow-recursive).


Small regression in bytecode, because currently every op_ret reads the
callee CodeBlock to check needsFullScopeChain, and bytecode does not
keep "r" in a register. On-balance, this is probably OK, since CTI is
our high-performance execution model. Also, this should go away once
we make needsFullScopeChain statically determinable at parse time.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): The speedup! (JSC::CTI::privateCompileSlowCases): ditto
  • VM/CTI.h: (JSC::): Fixed up magic trampoline constants to account for the nixed "codeBlock" argument. (JSC::CTI::execute): Changed trampoline function not to take a "codeBlock" argument, since codeBlock is now stored in the call frame header.


  • VM/Machine.cpp: Read the callee CodeBlock from the register file. Use a NULL CallerRegisters in the call frame header to signal a built-in caller, since CodeBlock is now never NULL.
  • VM/Machine.h: Made some stand-alone functions Machine member functions so they could call the private codeBlock() accessor in the Register class, of which Machine is a friend. Renamed "CallerCodeBlock" to "CodeBlock", since it's no longer the caller's CodeBlock.
  • VM/RegisterFile.h: Marked some methods const to accommodate a const RegisterFile* being passed around in Machine.cpp.
01:23 Changeset [36996] by jmalonzo@webkit.org

2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Qt build fix - rename frameGeometry to frameRect per r36995.

  • Api/qwebframe.cpp: (QWebFrame::render): (QWebFrame::pos): (QWebFrame::geometry):
01:01 Changeset [36995] by hyatt@apple.com

2008-09-27 David Hyatt <hyatt@apple.com>

Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.

Reviewed by Dan Bernstein

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::updateControlTints):
  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::paint): (WebCore::Scrollbar::setFrameRect):
  • platform/Scrollbar.h:
  • platform/ScrollbarThemeComposite.cpp: (WebCore::ScrollbarThemeComposite::paint):
  • platform/Widget.h: (WebCore::Widget::x): (WebCore::Widget::y): (WebCore::Widget::width): (WebCore::Widget::height): (WebCore::Widget::size): (WebCore::Widget::pos): (WebCore::Widget::resize): (WebCore::Widget::move):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollViewScrollbar::geometryChanged): (WebCore::ScrollView::update): (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/gtk/ScrollbarGtk.cpp: (ScrollbarGtk::setFrameRect): (ScrollbarGtk::geometryChanged):
  • platform/gtk/ScrollbarGtk.h:
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::trackRect): (WebCore::ScrollbarThemeMac::paint):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/qt/ScrollbarThemeQt.cpp: (WebCore::styleOptionSlider):
  • platform/qt/WidgetQt.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::invalidateItem): (WebCore::PopupMenu::valueChanged): (WebCore::PopupWndProc):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::setFrameRect): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint):
  • platform/win/ScrollbarThemeSafari.cpp: (WebCore::ScrollbarThemeSafari::trackRect):
  • platform/win/WidgetWin.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • platform/wx/WidgetWx.cpp: (WebCore::Widget::frameRect): (WebCore::Widget::setFrameRect):
  • plugins/PluginView.cpp: (WebCore::PluginView::setFrameRect):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paint): (WebCore::PluginView::init):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::init):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::updatePluginWidget): (WebCore::PluginView::paintMissingPluginIcon): (WebCore::PluginView::paint): (WebCore::PluginView::init):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::positionOverflowControls):
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintScrollbar):
  • rendering/RenderPart.cpp: (WebCore::RenderPart::updateWidgetPosition):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): (WebCore::RenderWidget::updateWidgetPosition):
00:51 Changeset [36994] by hyatt@apple.com

Fix wx bustage.

00:43 Changeset [36993] by hyatt@apple.com
00:43 Changeset [36992] by hyatt@apple.com

2008-09-27 David Hyatt <hyatt@apple.com>

<rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF

This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
access an actual member variable.

Reviewed by Dan Bernstein

  • page/FocusController.cpp: (WebCore::FocusController::setFocusedFrame):
00:38 Changeset [36991] by jmalonzo@webkit.org

2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>

Attempt to fix QT Build. Not reviewed.

  • WebCore.pro: add -n WebCore parameter to create_hash_table

09/26/08:

23:48 Changeset [36990] by jmalonzo@webkit.org

2008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>

Reviewed by Eric Seidel.

http://bugs.webkit.org/show_bug.cgi?id=18905
[GTK] Fix build with older pango (1.14.8)

  • platform/graphics/gtk/FontGtk.cpp:
  • platform/gtk/Language.cpp: (_pango_get_lc_ctype): (pango_language_get_default):
23:36 Changeset [36989] by jmalonzo@webkit.org

2008-09-26 Jan Michael Alonzo <jmalonzo@webkit.org>

Gtk build fix. Not reviewed.

Narrow-down the target of the JavaScriptCore .lut.h generator so
it won't try to create the WebCore .lut.hs.

  • GNUmakefile.am:
23:23 Changeset [36988] by hyatt@apple.com

2008-09-26 David Hyatt <hyatt@apple.com>

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

Make contentsToWindow/windowToContents cross-platform.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::windowToContents): (WebCore::ScrollView::contentsToWindow):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
23:15 Changeset [36987] by weinig@apple.com

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

GTK build fix.

  • GNUmakefile.am:
22:47 Changeset [36986] by pewtermoose@webkit.org

JavaScriptCore:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Configurations/JavaScriptCore.xcconfig:

WebKit/mac:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Configurations/WebKit.xcconfig:

WebKitTools:

2008-09-26 Matt Lilek <webkit@mattlilek.com>

Reviewed by Tim Hatcher.

Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.

  • Scripts/build-webkit:
22:26 Changeset [36985] by hyatt@apple.com

2008-09-26 David Hyatt <hyatt@apple.com>

Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.

Reviewed by Oliver Hunt

  • page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle):
  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::updateContents): (WebCore::ScrollView::isOffscreen):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::isOffscreen):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::isOffscreen):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::willRenderImage):
22:24 Changeset [36984] by hyatt@apple.com

Fix WIndows bustage.

21:44 Changeset [36983] by hyatt@apple.com

Land new result.

21:43 Changeset [36982] by hyatt@apple.com

WebCore:

2008-09-26 David Hyatt <hyatt@apple.com>

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

Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::setAllowsScrolling):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setAllowsScrolling):
  • platform/ScrollView.h: (WebCore::ScrollView::allowsScrolling):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::wheelEvent):

WebKit/mac:

2008-09-26 David Hyatt <hyatt@apple.com>

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

Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createFrame):
  • WebView/WebDynamicScrollBarsView.h:
  • WebView/WebDynamicScrollBarsView.m:
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFrameView.mm: (-[WebFrameView setAllowsScrolling:]): (-[WebFrameView allowsScrolling]):
20:23 Changeset [36981] by cwzwarich@webkit.org

2008-09-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>

Rubber-stamped by Anders Carlson.

Change the name 'sc' to 'scopeChainNode' in a few places.

  • kjs/nodes.cpp: (JSC::EvalNode::generateCode): (JSC::FunctionBodyNode::generateCode): (JSC::ProgramNode::generateCode):
20:22 Changeset [36980] by kevino@webkit.org

wx build fixes after Widget/ScrollView changes.

19:44 Changeset [36979] by timothy@apple.com

Add screenshots of searching in the Web Inspector.

Not reviewed.

  • blog-files/inspector-searching-elements.png: Added.
  • blog-files/inspector-searching-profiles.png: Added.
19:44 Changeset [36978] by timothy@apple.com

Allow searching for paths by always performing the
three search methods in the Elements panel and not
assume a search with a "/" is a XPath query.

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

Reviewed by Geoff Garen.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.performSearch):
19:36 Changeset [36977] by weinig@apple.com

JavaScriptCore:

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

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
Speedup static property get/put

Convert getting/setting static property values to use static functions
instead of storing an integer and switching in getValueProperty/putValueProperty.

  • kjs/JSObject.cpp: (JSC::JSObject::deleteProperty): (JSC::JSObject::getPropertyAttributes):
  • kjs/MathObject.cpp: (JSC::MathObject::getOwnPropertySlot):
  • kjs/NumberConstructor.cpp: (JSC::numberConstructorNaNValue): (JSC::numberConstructorNegInfinity): (JSC::numberConstructorPosInfinity): (JSC::numberConstructorMaxValue): (JSC::numberConstructorMinValue):
  • kjs/PropertySlot.h: (JSC::PropertySlot::):
  • kjs/RegExpConstructor.cpp: (JSC::regExpConstructorDollar1): (JSC::regExpConstructorDollar2): (JSC::regExpConstructorDollar3): (JSC::regExpConstructorDollar4): (JSC::regExpConstructorDollar5): (JSC::regExpConstructorDollar6): (JSC::regExpConstructorDollar7): (JSC::regExpConstructorDollar8): (JSC::regExpConstructorDollar9): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::RegExpConstructor::setInput): (JSC::RegExpConstructor::setMultiline): (JSC::RegExpConstructor::multiline):
  • kjs/RegExpConstructor.h:
  • kjs/RegExpObject.cpp: (JSC::regExpObjectGlobal): (JSC::regExpObjectIgnoreCase): (JSC::regExpObjectMultiline): (JSC::regExpObjectSource): (JSC::regExpObjectLastIndex): (JSC::setRegExpObjectLastIndex):
  • kjs/RegExpObject.h: (JSC::RegExpObject::setLastIndex): (JSC::RegExpObject::lastIndex): (JSC::RegExpObject::RegExpObjectData::RegExpObjectData):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames):
  • kjs/create_hash_table:
  • kjs/lexer.cpp: (JSC::Lexer::lex):
  • kjs/lookup.cpp: (JSC::HashTable::createTable): (JSC::HashTable::deleteTable): (JSC::setUpStaticFunctionSlot):
  • kjs/lookup.h: (JSC::HashEntry::initialize): (JSC::HashEntry::setKey): (JSC::HashEntry::key): (JSC::HashEntry::attributes): (JSC::HashEntry::function): (JSC::HashEntry::functionLength): (JSC::HashEntry::propertyGetter): (JSC::HashEntry::propertyPutter): (JSC::HashEntry::lexerValue): (JSC::HashEntry::): (JSC::HashTable::entry): (JSC::getStaticPropertySlot): (JSC::getStaticValueSlot): (JSC::lookupPut):

WebCore:

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

Reviewed by Darin Adler.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
Speedup static property get/put

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::getDOMConstructor): (WebCore::jsDOMWindowBaseCrypto): (WebCore::jsDOMWindowBaseEvent): (WebCore::jsDOMWindowBaseImage): (WebCore::jsDOMWindowBaseMessageChannel): (WebCore::jsDOMWindowBaseOption): (WebCore::jsDOMWindowBaseXMLHttpRequest): (WebCore::jsDOMWindowBaseAudio): (WebCore::jsDOMWindowBaseXSLTProcessor): (WebCore::jsDOMWindowBaseOnabort): (WebCore::jsDOMWindowBaseOnblur): (WebCore::jsDOMWindowBaseOnchange): (WebCore::jsDOMWindowBaseOnclick): (WebCore::jsDOMWindowBaseOndblclick): (WebCore::jsDOMWindowBaseOnerror): (WebCore::jsDOMWindowBaseOnfocus): (WebCore::jsDOMWindowBaseOnkeydown): (WebCore::jsDOMWindowBaseOnkeypress): (WebCore::jsDOMWindowBaseOnkeyup): (WebCore::jsDOMWindowBaseOnload): (WebCore::jsDOMWindowBaseOnmousedown): (WebCore::jsDOMWindowBaseOnmousemove): (WebCore::jsDOMWindowBaseOnmouseout): (WebCore::jsDOMWindowBaseOnmouseover): (WebCore::jsDOMWindowBaseOnmouseup): (WebCore::jsDOMWindowBaseOnMouseWheel): (WebCore::jsDOMWindowBaseOnreset): (WebCore::jsDOMWindowBaseOnresize): (WebCore::jsDOMWindowBaseOnscroll): (WebCore::jsDOMWindowBaseOnsearch): (WebCore::jsDOMWindowBaseOnselect): (WebCore::jsDOMWindowBaseOnsubmit): (WebCore::jsDOMWindowBaseOnbeforeunload): (WebCore::jsDOMWindowBaseOnunload): (WebCore::jsDOMWindowBaseOnWebKitAnimationStart): (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration): (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd): (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd): (WebCore::JSDOMWindowBase::getOwnPropertySlot): (WebCore::JSDOMWindowBase::put): (WebCore::setJSDOMWindowBaseOnabort): (WebCore::setJSDOMWindowBaseOnblur): (WebCore::setJSDOMWindowBaseOnchange): (WebCore::setJSDOMWindowBaseOnclick): (WebCore::setJSDOMWindowBaseOndblclick): (WebCore::setJSDOMWindowBaseOnerror): (WebCore::setJSDOMWindowBaseOnfocus): (WebCore::setJSDOMWindowBaseOnkeydown): (WebCore::setJSDOMWindowBaseOnkeypress): (WebCore::setJSDOMWindowBaseOnkeyup): (WebCore::setJSDOMWindowBaseOnload): (WebCore::setJSDOMWindowBaseOnmousedown): (WebCore::setJSDOMWindowBaseOnmousemove): (WebCore::setJSDOMWindowBaseOnmouseout): (WebCore::setJSDOMWindowBaseOnmouseover): (WebCore::setJSDOMWindowBaseOnmouseup): (WebCore::setJSDOMWindowBaseOnMouseWheel): (WebCore::setJSDOMWindowBaseOnreset): (WebCore::setJSDOMWindowBaseOnresize): (WebCore::setJSDOMWindowBaseOnscroll): (WebCore::setJSDOMWindowBaseOnsearch): (WebCore::setJSDOMWindowBaseOnselect): (WebCore::setJSDOMWindowBaseOnsubmit): (WebCore::setJSDOMWindowBaseOnbeforeunload): (WebCore::setJSDOMWindowBaseOnunload): (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart): (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration): (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd): (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd): (WebCore::setJSDOMWindowBaseEvent): (WebCore::setJSDOMWindowBaseAudio): (WebCore::setJSDOMWindowBaseImage): (WebCore::setJSDOMWindowBaseMessageChannel): (WebCore::setJSDOMWindowBaseOption): (WebCore::setJSDOMWindowBaseXMLHttpRequest): (WebCore::setJSDOMWindowBaseXSLTProcessor):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::nonCachingStaticCloseFunctionGetter): (WebCore::nonCachingStaticBlurFunctionGetter): (WebCore::nonCachingStaticFocusFunctionGetter): (WebCore::nonCachingStaticPostMessageFunctionGetter):
  • bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  • bindings/js/JSEventTargetBase.cpp:
  • bindings/js/JSEventTargetBase.h: (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): (WebCore::JSEventTargetBasePrototype::classInfo):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::): (WebCore::JSEventTargetNode::getOwnPropertySlot): (WebCore::JSEventTargetNode::put):
  • bindings/js/JSEventTargetNode.h: (WebCore::JSEventTargetNode::classInfo): (WebCore::JSEventTargetNode::prototypeClassName):
  • bindings/js/JSEventTargetSVGElementInstance.cpp: (WebCore::): (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot): (WebCore::JSEventTargetSVGElementInstance::put):
  • bindings/js/JSEventTargetSVGElementInstance.h: (WebCore::JSEventTargetSVGElementInstance::classInfo): (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
  • bindings/js/JSHTMLInputElementCustom.cpp: (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
  • bindings/js/JSHistoryCustom.cpp: (WebCore::nonCachingStaticBackFunctionGetter): (WebCore::nonCachingStaticForwardFunctionGetter): (WebCore::nonCachingStaticGoFunctionGetter): (WebCore::JSHistory::customGetOwnPropertySlot):
  • bindings/js/JSLocationCustom.cpp: (WebCore::nonCachingStaticReplaceFunctionGetter): (WebCore::nonCachingStaticReloadFunctionGetter): (WebCore::nonCachingStaticAssignFunctionGetter): (WebCore::JSLocation::customGetOwnPropertySlot): (WebCore::JSLocation::customPut):
  • bindings/scripts/CodeGeneratorJS.pm:
18:44 Changeset [36976] by barraclough@apple.com

2008-09-26 Gavin Barraclough <barraclough@apple.com>

Reviewed by Maciej Stachowiak & Oliver Hunt.

Add support for reusing temporary JSNumberCells. This change is based on the observation
that if the result of certain operations is a JSNumberCell and is consumed by a subsequent
operation that would produce a JSNumberCell, we can reuse the object rather than allocating
a fresh one. E.g. given the expression ((a * b) * c), we can statically determine that
(a * b) will have a numeric result (or else it will have thrown an exception), so the result
will either be a JSNumberCell or a JSImmediate.

This patch changes three areas of JSC:

  • The AST now tracks type information about the result of each node.
  • This information is consumed in bytecode compilation, and certain bytecode operations now carry the statically determined type information about their operands.
  • CTI uses the information in a number of fashions:
    • Where an operand to certain arithmetic operations is reusable, it will plant code to try to perform the operation in JIT code & reuse the cell, where appropriate.
    • Where it can be statically determined that an operand can only be numeric (typically the result of another arithmetic operation) the code will not redundantly check that the JSCell is a JSNumberCell.
    • Where either of the operands to an add are non-numeric do not plant an optimized arithmetic code path, just call straight out to the C function.

+6% Sunspider (10% progression on 3D, 16% progression on math, 60% progression on access-nbody),
+1% v8-tests (improvements in raytrace & crypto)

  • VM/CTI.cpp: Add optimized code generation with reuse of temporary JSNumberCells.
  • VM/CTI.h:
  • kjs/JSNumberCell.h:
  • masm/X86Assembler.h:
  • VM/CodeBlock.cpp: Add type information to specific bytecodes.
  • VM/CodeGenerator.cpp:
  • VM/CodeGenerator.h:
  • VM/Machine.cpp:
  • kjs/nodes.cpp: Track static type information for nodes.
  • kjs/nodes.h:
  • kjs/ResultDescriptor.h: (Added)
  • JavaScriptCore.xcodeproj/project.pbxproj:
16:01 Changeset [36975] by alice.liu@apple.com

2008-09-26 Alice Liu <alice.liu@apple.com>

Remove usage of atlstr.h and CString for VCExpress compatibility

Reviewed by Stephanie Lewis.

  • record-memory-win/main.cpp: (ProcessArgs): (UseImage): (QueryContinuously): (OneQuery): (OneQueryMP):
15:45 Changeset [36974] by staikos@webkit.org

2008-09-26 Yichao Yin <yichao.yin@torchmobile.com.cn>

Reviewed by George Staikos, Maciej Stachowiak.

Add utility functions needed for upcoming WML code.

  • wtf/ASCIICType.h: (WTF::isASCIIPrintable):
15:43 Changeset [36973] by ggaren@apple.com

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

Reviewed by Darin Adler.


Reverted the part of r36614 that used static data because static data
is not thread-safe.

15:40 Changeset [36972] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Removed dynamic check for whether the callee needs an activation object.
Replaced with callee code to create the activation object.

0.5% speedup on SunSpider.
No change on v8 benchmark. (Might be a speedup, but it's in range of the
variance.)

0.7% speedup on v8 benchmark in bytecode.
1.3% speedup on empty call benchmark in bytecode.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): Added support for op_init_activation, the new opcode that specifies that the callee's initialization should create an activation object. (JSC::CTI::privateCompile): Removed previous code that did a similar thing in an ad-hoc way.
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump): Added a case for dumping op_init_activation.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): Added fixup code to change op_init to op_init_activation if necessary. (With a better parser, we would know which to use from the beginning.)
  • VM/Instruction.h: (JSC::Instruction::Instruction): (WTF::): Faster traits for the instruction vector. An earlier version of this patch relied on inserting at the beginning of the vector, and depended on this change for speed.
  • VM/Machine.cpp: (JSC::Machine::execute): Removed clients of setScopeChain, the old abstraction for dynamically checking for whether an activation object needed to be created. (JSC::Machine::privateExecute): ditto

(JSC::Machine::cti_op_push_activation): Renamed this function from
cti_vm_updateScopeChain, and made it faster by removing the call to
setScopeChain.

  • VM/Machine.h:
  • VM/Opcode.h: Declared op_init_activation.
14:57 Changeset [36971] by hyatt@apple.com

fix Win bustage.

14:53 Changeset [36970] by hyatt@apple.com

fix Win bustage.

14:45 Changeset [36969] by hyatt@apple.com

Fix Win bustage.

14:35 Changeset [36968] by hyatt@apple.com

Fix Qt bustage.

14:35 Changeset [36967] by kevino@webkit.org

wx build fix. Update the version of libpng.

14:22 Changeset [36966] by hyatt@apple.com

Fix Qt bustage.

14:19 Changeset [36965] by mrowe@apple.com

Versioning.

14:00 Changeset [36964] by hyatt@apple.com

Fix gtk bustage.

13:54 Changeset [36963] by hyatt@apple.com

Fix gtk bustage.

13:49 Changeset [36962] by hyatt@apple.com

WebCore:

2008-09-26 David Hyatt <hyatt@apple.com>

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

Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
Eliminate the unused isScrollable() method.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::initScrollbars): (WebCore::FrameView::layout):
  • page/FrameView.h:
  • page/mac/WebCoreFrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::setScrollbarModes): (WebCore::ScrollView::scrollbarModes): (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):
  • platform/ScrollView.h: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::isScrollViewScrollbar): (WebCore::ScrollView::setHorizontalScrollbarMode): (WebCore::ScrollView::setVerticalScrollbarMode): (WebCore::ScrollView::horizontalScrollbarMode): (WebCore::ScrollView::verticalScrollbarMode): (WebCore::ScrollView::convertSelfToChild):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::isScrollViewScrollbar): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::invalidateScrollbars): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling): (WebCore::ScrollView::suppressScrollbars): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollbarUnderMouse): (WebCore::ScrollView::paint): (WebCore::ScrollView::scroll):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetScrollbarModes): (WebCore::ScrollView::platformScrollbarModes):

WebKit/mac:

2008-09-26 David Hyatt <hyatt@apple.com>

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

More refactoring to make scrollbar modes cross-platform. Reduce the protocol that
WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.

Reviewed by Sam Weinig

  • WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]): (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
  • WebView/WebDynamicScrollBarsViewInternal.h:
  • WebView/WebFrameView.mm: (-[WebFrameView setAllowsScrolling:]):
  • WebView/WebView.mm: (-[WebView setAlwaysShowVerticalScroller:]): (-[WebView setAlwaysShowHorizontalScroller:]):
13:47 Changeset [36961] by ddkilzer@apple.com

Fix Mac build with XPATH and XSLT disabled

WebCore:

Fix Mac build with XPATH and XSLT disabled

Reviewed by Alexey.

  • bindings/objc/DOMUtility.mm: (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to prevent an unused code warning.

WebKit/mac:

Fix Mac build with XSLT disabled

Reviewed by Alexey.

  • Misc/WebCache.mm: (+[WebCache statistics]): Populate xslStyleSheet statistics with zeros if XSLT is disabled.

WebKit/win:

Speculative Windows build fix with XSLT disabled

Reviewed by Alexey.

  • WebCache.cpp: (WebCache::statistics): Populate xslStyleSheet statistics with zeros if XSLT is disabled.
10:57 Changeset [36960] by kmccullough@apple.com

2008-09-26 Kevin McCullough <kmccullough@apple.com>

Rubber stamped by Tim Hatcher.

Bug 21098: Crashing under Console::log

  • Speculative ASSERT to help find the problem.
  • page/InspectorController.cpp: (WebCore::ConsoleMessage::isEqual):
10:56 Changeset [36959] by zecke@webkit.org

[gtk+] Build fix for the latest ScrollView changes

10:27 Changeset [36958] by timothy@apple.com

Fixes a bug where the console message repeat count would be wrong
when typing commands in between repeated messages.

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

Reviewed by Kevin McCullough.

  • page/InspectorController.cpp: (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel. (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
  • page/inspector/Console.js: (WebInspector.Console.prototype.addMessage): Remember the original repeat count for each message as totalRepeatCount, since we now modify repeatCount to mean repeats since previous console command. If repeatCountBeforeCommand is a number, subtract that value from the repeatCount. (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand and commandSincePreviousMessage properties.
10:26 Changeset [36957] by eric.carlson@apple.com

2008-09-26 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti

https://bugs.webkit.org/show_bug.cgi?id=21116
<rdar://problem/5726325> Audio from <video> can still be heard after navigating
back to page with <video>, then closing tab

Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
deletion.

  • dom/Document.cpp: (WebCore::Document::documentWillBecomeInactive): (WebCore::Document::documentDidBecomeActive): (WebCore::Document::registerForDocumentActivationCallbacks): (WebCore::Document::unregisterForDocumentActivationCallbacks):
  • dom/Document.h:
  • dom/Element.h: (WebCore::Element::documentWillBecomeInactive): (WebCore::Element::documentDidBecomeActive):
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage):
  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::~HTMLFormElement): (WebCore::HTMLFormElement::parseMappedAttribute): (WebCore::HTMLFormElement::documentDidBecomeActive): (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
  • html/HTMLFormElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::~HTMLInputElement): (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::needsActivationCallback): (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded): (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded): (WebCore::HTMLInputElement::documentDidBecomeActive): (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): (WebCore::HTMLMediaElement::~HTMLMediaElement): (WebCore::HTMLMediaElement::documentWillBecomeInactive): (WebCore::HTMLMediaElement::documentDidBecomeActive):
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::inActiveDocument):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::opened):
  • page/Page.cpp: (WebCore::Page::~Page):
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControls):
  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::updatePlayer):
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::SVGSVGElement): (WebCore::SVGSVGElement::~SVGSVGElement): (WebCore::SVGSVGElement::documentWillBecomeInactive): (WebCore::SVGSVGElement::documentDidBecomeActive):
  • svg/SVGSVGElement.h:
09:30 Changeset [36956] by hausmann@webkit.org

2008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>

Reviewed by Simon

Fix the build inside Qt, don't create faulty prl files for now.

06:17 Changeset [36955] by hausmann@webkit.org

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Fix compilation on Qt/Windows

  • Add WebCore/ to the include path so that config.h is found that enables JSC
  • Link against winmm for the multimedia timer functions
  • Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/ subdirectory
  • In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port but set m_window directly as setPlatformWidget takes a QWidget*.
04:53 Changeset [36954] by oliver@apple.com

Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
<https://bugs.webkit.org/show_bug.cgi?id=21054>

Reviewed by Maciej Stachowiak

This performance regression is actually just a symptom of a correctness
bug. The constructor objects for a number of properties that have security
checks on access were returning new objects each time. The most obvious
symptom of this bug is that window.Image != window.Image, etc.

The solution to this is to make sure we cache these constructors
in the same way as all the other DOM constructors. To achieve this
without causing any refcount cycles it is necessary to replace the
refcounted document pointer in the Image, MessageChannel, Option,
XMLHttpRequest, and Audio constructor objects with a reference to
the document's JS wrapper.

Tests: fast/dom/constructors-cached-navigate.html

fast/dom/constructors-cached.html

03:55 Changeset [36953] by hausmann@webkit.org

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Unreviewed one-liner build fix for the Qt/Windows build.

The build requires NPAPI support to be enabled, fix the condition in
the .pro file for that.

03:51 Changeset [36952] by hausmann@webkit.org

2008-09-26 Trenton Schulz <twschulz@trolltech.com>

Reviewed by Simon.

Fix compilation with the Qt/Cocoa port.

02:37 Changeset [36951] by hausmann@webkit.org

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix compilation with VC9SP1, work around bug in TR1 library by
disabling it.

02:37 Changeset [36950] by hausmann@webkit.org

2008-09-26 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Fix an lupdate() warning.

Don't use tr() in a class that is not a QObject, use
QCoreApplication::translate() directly.

02:36 Changeset [36949] by hausmann@webkit.org

2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>

Reviewed by Simon.

Fixed potential crash when deleting QWebView instance.

When deleting the view, sets the page's view to NULL.
The reason is that the page is smart and its destructor might lead to a call
that operates on a view (which is in the process of being deleted).

02:36 Changeset [36948] by hausmann@webkit.org

2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>

Reviewed by Simon.

Fixed using modifiers to type special symbols (e.g '@','$') does not work on Mac OS X.

02:36 Changeset [36947] by hausmann@webkit.org

2008-09-26 Håvard Wall <hwall@trolltech.com>

Reviewed by Simon.

Fix compilation with QT_NO_MESSAGEBOX

00:19 Changeset [36946] by hyatt@apple.com

Fix Gtk bustage.

00:15 Changeset [36945] by hyatt@apple.com

Fix wx bustage.

00:15 Changeset [36944] by hyatt@apple.com

Fix Win, Gtk, Qt bustage.

00:07 Changeset [36943] by hyatt@apple.com

Fix Qt bustage.

00:03 Changeset [36942] by hyatt@apple.com

Fix Win bustage.

09/25/08:

23:50 Changeset [36941] by hyatt@apple.com

Put back a hide() call on Qt that I accidentally removed.

23:47 Changeset [36940] by hyatt@apple.com

Fix Win, Qt, Gtk bustage.

23:45 Changeset [36939] by hyatt@apple.com

Fix Gtk bustage.

23:44 Changeset [36938] by hyatt@apple.com

Fix Qt bustage.

23:33 Changeset [36937] by hyatt@apple.com

Fix Win bustage.

23:32 Changeset [36936] by hyatt@apple.com

Fix Gtk bustage.

23:30 Changeset [36935] by hyatt@apple.com

Fix Win, Gtk, Qt bustage.

23:21 Changeset [36934] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

Remove the scrollTo() method from FrameView, since it is not used by anyone.

Reviewed by Oliver Hunt

  • page/FrameView.cpp:
  • page/FrameView.h:
23:17 Changeset [36933] by hyatt@apple.com

Add some comments to the ScrollView.h header.

23:15 Changeset [36932] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

Make scrollRectIntoViewRecursively cross-platform.

Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollRectIntoViewRecursively):
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp:
23:07 Changeset [36931] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

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


Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
cross-platform.

Reviewed by Oliver Hunt

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin):
  • page/FrameView.cpp: (WebCore::FrameView::adjustViewSize):
  • platform/ScrollView.cpp: (WebCore::ScrollView::setContentsSize):
  • platform/ScrollView.h: (WebCore::ScrollView::updateScrollbars):
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformSetContentsSize):
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformSetContentsSize):
23:03 Changeset [36930] by hyatt@apple.com

Fix Windows bustage when scrolling.

22:40 Changeset [36929] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

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

Clean up the methods that actually do the scrolling in ScrollView.

Reviewed by Oliver Hunt

  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::setScrollLeft): (WebCore::HTMLBodyElement::setScrollTop):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::restoreScrollPositionAndViewState):
  • loader/ImageDocument.cpp: (WebCore::ImageDocument::imageClicked):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::scrollBy): (WebCore::DOMWindow::scrollTo):
  • page/FrameView.cpp: (WebCore::FrameView::scrollTo): (WebCore::FrameView::setScrollPosition):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::maximumScrollPosition):
  • platform/ScrollView.h: (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight): (WebCore::ScrollView::scrollBy):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::setScrollPosition):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::setScrollPosition):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::setScrollPosition): (WebCore::ScrollView::scrollRectIntoViewRecursively):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::setScrollPosition): (WebCore::ScrollView::scrollRectIntoViewRecursively):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::setScrollPosition):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollByRecursively): (WebCore::RenderLayer::scrollRectToVisible):
22:25 Changeset [36928] by mitz@apple.com

Attempted Windows build fix

22:03 Changeset [36927] by hyatt@apple.com

Fix Gtk bustage.

21:35 Changeset [36926] by timothy@apple.com

Revert the padding changes done in r36905 to prevent the
scrollbar from overlapping the URLs in the Console.

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

  • page/inspector/inspector.css:
21:28 Changeset [36925] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

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

Refactor contents size and scroll offset to be cross-platform. Reduce further the number
of platform-specific methods required of ScrollView implementations.

Reviewed by Tim Hatcher

  • dom/MouseRelatedEvent.cpp: (WebCore::contentsX): (WebCore::contentsY):
  • html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::scrollLeft): (WebCore::HTMLBodyElement::setScrollLeft): (WebCore::HTMLBodyElement::scrollTop): (WebCore::HTMLBodyElement::setScrollTop):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::scrollX): (WebCore::DOMWindow::scrollY):
  • page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
  • page/FrameView.cpp: (WebCore::FrameView::scrollTo): (WebCore::FrameView::windowClipRect):
  • platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::contentsSize): (WebCore::ScrollView::platformContentsSize):
  • platform/ScrollView.h: (WebCore::ScrollView::scrollPosition): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::scrollX): (WebCore::ScrollView::scrollY): (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): (WebCore::ScrollView::setGtkAdjustments): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::contentsWidth): (WebCore::ScrollView::contentsHeight): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::suppressScrollbars): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::updateScrollbars):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformContentsSize): (WebCore::ScrollView::scrollBy):
  • platform/mac/WidgetMac.mm: (WebCore::Widget::convertFromContainingWindow): (WebCore::Widget::convertToContainingWindow):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::updateScrollbars):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::valueChanged): (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): (WebCore::ScrollView::resizeContents): (WebCore::ScrollView::setFrameGeometry): (WebCore::ScrollView::scrollOffset): (WebCore::ScrollView::maximumScroll): (WebCore::ScrollView::scrollBy): (WebCore::ScrollView::setHScrollbarMode): (WebCore::ScrollView::setVScrollbarMode): (WebCore::ScrollView::setScrollbarsMode): (WebCore::ScrollView::updateScrollbars):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformVisibleContentRect): (WebCore::ScrollView::platformContentsSize):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): (WebCore::RenderLayer::calculateClipRects): (WebCore::RenderLayer::calculateRects):
  • rendering/RenderView.cpp: (WebCore::RenderView::absolutePosition): (WebCore::RenderView::computeAbsoluteRepaintRect):
21:05 Changeset [36924] by dsmith@webkit.org

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Dave Hyatt.

Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.

  • dom/Element.cpp: (WebCore::Element::rareData):
  • dom/Element.h:
  • dom/Node.cpp: (WebCore::Node::rareData):
  • dom/Node.h:
19:36 Changeset [36923] by dsmith@webkit.org

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Darin Adler.


https://bugs.webkit.org/show_bug.cgi?id=20980
Split off uncommonly used data from Node similar to ElementRareData


Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
  • dom/ContainerNode.cpp: Set isContainer to true (WebCore::ContainerNode::ContainerNode):
  • dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container (WebCore::Node::containerChildNode): ditto (WebCore::Node::containerFirstChild): ditto (WebCore::Node::containerLastChild): ditto
  • dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h (WebCore::Element::Element): (WebCore::Element::~Element): (WebCore::Element::rareData): (WebCore::Element::ensureRareData): Renamed from createRareData (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type (WebCore::Element::attach): Check hasRareData rather than null-checking rareData() (WebCore::Element::detach): ditto (WebCore::Element::recalcStyle): ditto (WebCore::Element::focus): (WebCore::Element::minimumSizeForResizing): ditto (WebCore::Element::setMinimumSizeForResizing): ditto (WebCore::Element::computedStyle): (WebCore::Element::cancelFocusAppearanceUpdate): ditto
  • dom/Element.h:
  • dom/ElementRareData.h: Added; everything copied from Element.cpp (WebCore::defaultMinimumSizeForResizing): (WebCore::ElementRareData::ElementRareData): (WebCore::ElementRareData::resetComputedStyle):
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
  • dom/EventTargetNode.h:
  • dom/Node.cpp: (WebCore::Node::Node): (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData (WebCore::Node::rareData): (WebCore::Node::ensureRareData): (WebCore::Node::createRareData): (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData (WebCore::Node::setTabIndexExplicitly): (WebCore::Node::childNodes): NodeLists are now in rareData (WebCore::Node::setFocus): (WebCore::Node::rareDataFocused): (WebCore::Node::isFocusable): (WebCore::Node::isKeyboardFocusable): (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData (WebCore::Node::unregisterDynamicNodeList): ditto (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto (WebCore::Node::getElementsByName): ditto (WebCore::Node::getElementsByClassName): ditto
  • dom/Node.h: (WebCore::Node::firstChild): Use isContainerNode() to devirtualize (WebCore::Node::lastChild): ditto (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container (WebCore::Node::focused): focus is in rareData if set (WebCore::Node::childTypeAllowed): (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize (WebCore::Node::childNode): ditto (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
  • dom/NodeRareData.h: Added. Most of this is just properties moved from Node (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :( (WebCore::NodeRareData::NodeRareData): (WebCore::NodeRareData::rareDataMap): (WebCore::NodeRareData::rareDataFromMap): (WebCore::NodeRareData::clearNodeLists): (WebCore::NodeRareData::setNodeLists): (WebCore::NodeRareData::nodeLists): (WebCore::NodeRareData::tabIndex): (WebCore::NodeRareData::setTabIndex): (WebCore::NodeRareData::tabIndexSetExplicitly):
  • dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
  • xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
18:54 Changeset [36922] by zecke@webkit.org

[qt] ImageBuffer::toDataURL implementation

18:47 Changeset [36921] by zecke@webkit.org

[qt] Implement SharedBuffer for Qt

18:26 Changeset [36920] by mjs@apple.com

2008-09-25 Maciej Stachowiak <mjs@apple.com>

Not reviewed.


  • add some screenshots.
  • blog-files/acid3-screenshot.png: Added.
  • blog-files/acid3-timing-screenshot.png: Added.
18:22 Changeset [36919] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

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

Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.

Reviewed by Tim Hatcher

  • WebView/WebHTMLView.mm: (-[WebHTMLView _updateFocusedAndActiveState]):
17:53 Changeset [36918] by ddkilzer@apple.com

WebCore:

Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
<rdar://problem/6243032>

Reviewed by Dave Hyatt.

Test: fast/dom/attribute-downcast-right.html

Add isMappedAttribute function to Attribute for checking if an object
is an instance of MappedAttribute. Removed attributeItem,
getAttributeItem functions from NamedMappedAttrMap, and callers
expecting MappedAttribute have to check isMappedAttribute before
downcasting the return value to MappedAttribute.

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForElement):
  • dom/Attribute.h: (WebCore::Attribute::isMappedAttribute):
  • dom/MappedAttribute.h: (WebCore::MappedAttribute::isMappedAttribute):
  • dom/NamedMappedAttrMap.cpp: (WebCore::NamedMappedAttrMap::declCount): (WebCore::NamedMappedAttrMap::mapsEquivalent):
  • dom/NamedMappedAttrMap.h:
  • dom/StyledElement.cpp: (WebCore::StyledElement::attributeChanged):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setInputType):
  • svg/SVGForeignObjectElement.cpp: (WebCore::addCSSPropertyAndNotifyAttributeMap):
  • svg/SVGStyledElement.cpp: (WebCore::SVGStyledElement::getPresentationAttribute):

LayoutTests:

Test for: https://bugs.webkit.org/show_bug.cgi?id=21032
<rdar://problem/6243032>

Reviewed by Dave Hyatt.

The test crashes webkit if using Windows heap allocator.

  • fast/dom/attribute-downcast-right-expected.txt: Added.
  • fast/dom/attribute-downcast-right.html: Added.
17:26 Changeset [36917] by hyatt@apple.com

Fix Gtk bustage.

16:13 Changeset [36916] by hyatt@apple.com

Fix Win bustage.

16:03 Changeset [36915] by hyatt@apple.com

Fix Win bustage.

15:52 Changeset [36914] by hyatt@apple.com

Fix Qt, Win, Gtk bustage.

15:47 Changeset [36913] by hyatt@apple.com

Fix Qt bustage.

15:34 Changeset [36912] by hyatt@apple.com

Fix Win, Gtk, Qt bustage.

15:30 Changeset [36911] by hyatt@apple.com

Fix Qt bustage.

15:28 Changeset [36910] by hyatt@apple.com

Fix Qt bustage.

15:25 Changeset [36909] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

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

Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
didn't want to mix that change in with this patch).

Reviewed by Sam Weinig

  • page/Frame.cpp: (WebCore::Frame::markAllMatchesForText):
  • page/FrameView.cpp: (WebCore::FrameView::repaintContentRectangle): (WebCore::FrameView::windowClipRect): (WebCore::FrameView::updateControlTints):
  • platform/ScrollView.cpp: (WebCore::ScrollView::visibleContentRect): (WebCore::ScrollView::platformVisibleContentRect):
  • platform/ScrollView.h: (WebCore::ScrollView::visibleWidth): (WebCore::ScrollView::visibleHeight):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar): (WebCore::ScrollView::platformVisibleContentRect):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformVisibleContentRect): (WebCore::ScrollView::horizontalScrollbar): (WebCore::ScrollView::verticalScrollbar):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollRectToVisible): (WebCore::frameVisibleRect):
  • rendering/RenderView.cpp: (WebCore::RenderView::viewRect):
14:21 Changeset [36908] by mrowe@apple.com

Versioning.

13:55 Changeset [36907] by dsmith@webkit.org

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Timothy Hatcher

https://bugs.webkit.org/show_bug.cgi?id=21052
Generalize id selector special case for querySelectorAll


By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
Changes results on http://native.khan.mozilla.org
from

#title: 2ms
h1#title: 55ms
div #title: 55ms

to:

#title: 1ms
h1#title: 2ms
div #title: 5ms


  • dom/Node.cpp: (WebCore::Node::querySelector):
  • dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList):
13:49 Changeset [36906] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

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

Make the concept of whether you can blit on scroll cross-platform on ScrollView.

Reviewed by Sam Weinig

  • page/FrameView.cpp: (WebCore::FrameView::clear): (WebCore::FrameView::layout): (WebCore::FrameView::setUseSlowRepaints): (WebCore::FrameView::addSlowRepaintObject): (WebCore::FrameView::removeSlowRepaintObject):
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::addChild): (WebCore::ScrollView::removeChild): (WebCore::ScrollView::setCanBlitOnScroll):
  • platform/ScrollView.h: (WebCore::ScrollView::canBlitOnScroll):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollView):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild): (WebCore::ScrollView::platformSetCanBlitOnScroll):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollView):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): (WebCore::ScrollView::ScrollView):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::scrollBy):
13:29 Changeset [36905] by kmccullough@apple.com

2008-09-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim Hatcher.

Bug 21109: Console should right-align urls

  • page/inspector/Console.js: Re-order the message elements so that when it overflows it doesn't get mixed in with the next message.
  • page/inspector/inspector.css:
13:15 Changeset [36904] by hyatt@apple.com

2008-09-25 David Hyatt <hyatt@apple.com>

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

Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.

Reviewed by Darin Adler

  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent):
  • css/CSSRule.cpp: (WebCore::CSSRule::parentStyleSheet): (WebCore::CSSRule::parentRule):
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet):
  • css/CSSStyleSheet.h:
13:02 Changeset [36903] by darin@apple.com

2008-09-25 Darin Adler <darin@apple.com>

Reviewed by Adele Peterson.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Use files() instead of value() to get the path, since value() now returns just the basename.
11:37 Changeset [36902] by beidson@apple.com

WebCore:

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

Rubberstamped by Mark Rowe

Roll out 36771 as it caused <rdar://problem/6246554>
"nytimes.com doesn't display after returning to it with back/forward"

  • css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent):
  • css/CSSRule.cpp: (WebCore::CSSRule::parentStyleSheet): (WebCore::CSSRule::parentRule):
  • css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::CSSStyleSheet): (WebCore::CSSStyleSheet::docLoader):
  • css/CSSStyleSheet.h: (WebCore::CSSStyleSheet::doc):

LayoutTests:

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

Rubberstamped by Mark Rowe

Roll out 36771 as it caused <rdar://problem/6246554>
"nytimes.com doesn't display after returning to it with back/forward"

  • fast/css/nested-rule-parent-sheet-expected.txt: Removed.
  • fast/css/nested-rule-parent-sheet.html: Removed.
10:47 Changeset [36901] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
10:27 Changeset [36900] by mitz@apple.com
  • Windows build fix
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
10:24 Changeset [36899] by darin@apple.com

2008-09-25 Darin Adler <darin@apple.com>

  • contact.html: Take a cut at making the role of webkitsdk-dev clearer, specifying that it's Mac OS X specific and hosted at Apple, not WebKit.
10:07 Changeset [36898] by timothy@apple.com

Fixes a leak of ConsoleMessage seen when repeated console
messages occur.

Reviewed by Mark Rowe.

  • page/InspectorController.cpp: (WebCore::InspectorController::addConsoleMessage): Delete the repeat since we don't add it to m_consoleMessages.
09:59 Changeset [36897] by mrowe@apple.com

Versioning.

09:55 Changeset [36896] by mrowe@apple.com

New tag.

09:48 Changeset [36895] by kmccullough@apple.com

2008-09-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Dan Bernstein.

Bug 21105: XHRs logged in the console may show the wrong URL for the
source

  • Get the url at the time of the send() and pass it on to the XHR.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didFinishLoading):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setLastSendURL):
09:04 Changeset [36894] by kmccullough@apple.com

2008-09-25 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff and Tim.

Bug 20322: XHRs logged in the console do not have line numbers

  • Get the line number at the time of the send and pass it on to the XHR.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::didFinishLoading):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setLastSendLineNumber):
08:33 Changeset [36893] by eric.carlson@apple.com

2008-09-25 Eric Carlson <eric.carlson@apple.com>

Reviewed by Eric Seidel.


<rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
https://bugs.webkit.org/show_bug.cgi?id=21003

  • dom/EventNames.h: remove "begin" event
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"

2008-09-25 Eric Carlson <eric.carlson@apple.com>

Reviewed by Eric Seidel.


<rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
https://bugs.webkit.org/show_bug.cgi?id=21003

Update media layout test results for progress event name change from "begin" to "loadstart"

  • media/audio-constructor-expected.txt:
  • media/audio-constructor-src-expected.txt:
  • media/audio-constructor-src.html:
  • media/audio-constructor.html:
  • media/progress-event-expected.txt:
  • media/progress-event-total-expected.txt:
  • media/progress-event-total.html:
  • media/progress-event.html:
  • media/video-error-abort-expected.txt:
  • media/video-error-abort.html:
  • media/video-load-networkState-expected.txt:
  • media/video-load-networkState.html:
  • media/video-load-readyState-expected.txt:
  • media/video-load-readyState.html:
  • media/video-pause-empty-events-expected.txt:
  • media/video-pause-empty-events.html:
  • media/video-play-empty-events-expected.txt:
  • media/video-play-empty-events.html:
  • media/video-source-expected.txt:
  • media/video-source-media-expected.txt:
  • media/video-source-media.html:
  • media/video-source-type-expected.txt:
  • media/video-source-type-params-expected.txt:
  • media/video-source-type-params.html:
  • media/video-source-type.html:
  • media/video-source.html:
  • media/video-src-change-expected.txt:
  • media/video-src-change.html:
  • media/video-src-expected.txt:
  • media/video-src-remove-expected.txt:
  • media/video-src-remove.html:
  • media/video-src-set-expected.txt:
  • media/video-src-set.html:
  • media/video-src-source-expected.txt:
  • media/video-src-source.html:
  • media/video-src.html:
04:30 Changeset [36892] by ap@webkit.org

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=21097
Calling a MessageChannel constructor from a destroyed document results in a crash

Test: fast/events/message-port-constructor-for-deleted-document.html

  • bindings/js/JSMessageChannelConstructor.cpp: (WebCore::JSMessageChannelConstructor::construct):
  • bindings/js/JSMessageChannelConstructor.h: Made m_document a RefPtr.
03:15 Changeset [36891] by ap@webkit.org

Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.

https://bugs.webkit.org/show_bug.cgi?id=20879
Implement HTML5 channel messaging

Tests: fast/events/message-channel-gc.html

fast/events/message-port-deleted-document.html
fast/events/message-port-deleted-frame.html
fast/events/message-port-inactive-document.html
fast/events/message-port.html
http/tests/security/MessagePort/event-listener-context.html

  • Configurations/WebCore.xcconfig: Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
  • DerivedSources.make: Added MessageChannel and MessagePort.
  • WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be turmed off anyway. Added new files.
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added new files.
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty): Added suport for window.MessageChannel constructor.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage):
  • page/DOMWindow.h:
  • page/DOMWindow.idl: Added support for three-argument postMessage (that posts a MessagePort).
  • dom/EventTarget.cpp: (WebCore::EventTarget::toMessagePort):
  • dom/EventTarget.h:
  • bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another EventTarget variant.
  • bindings/js/JSMessageChannelConstructor.h:
  • bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could take a browsing context (document) parameter.
  • bindings/js/JSMessageChannelCustom.cpp: Added. (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark port1 and port2 that it owns.
  • bindings/js/JSMessagePortCustom.cpp: Added. (WebCore::JSMessagePort::startConversation): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::dispatchEvent): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::onmessage): (WebCore::JSMessagePort::setOnclose): (WebCore::JSMessagePort::onclose): (WebCore::JSMessagePort::mark):
  • dom/MessagePort.cpp: Added.
  • dom/MessagePort.h: Added.
  • dom/MessagePort.idl: Added. Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works with Documents as contexts, but in the future, it will be used for communication with worker threads.
  • bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not really have Obj-C bindings, as they are far from being final, but a MessagePort stub is needed for MessageEvent.
  • bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
  • dom/Document.cpp: (WebCore::MessagePortTimer::MessagePortTimer): (WebCore::MessagePortTimer::fired): (WebCore::Document::processMessagePortMessagesSoon): (WebCore::Document::~Document): (WebCore::Document::dispatchMessagePortEvents): (WebCore::Document::createdMessagePort): (WebCore::Document::destroyedMessagePort):
  • dom/Document.h: Document keeps track of all MessagePort objects that were created when it was fully active in its context.
  • dom/EventNames.h: Added closeEvent.
  • dom/MessageChannel.cpp: Added. (WebCore::MessageChannel::MessageChannel): (WebCore::MessageChannel::~MessageChannel):
  • dom/MessageChannel.h: Added. (WebCore::MessageChannel::create): (WebCore::MessageChannel::port1): (WebCore::MessageChannel::port2):
  • dom/MessageChannel.idl: Added. Addded JSMessageChannel implementation.
  • dom/MessageEvent.cpp: (WebCore::MessageEvent::MessageEvent): (WebCore::MessageEvent::initMessageEvent):
  • dom/MessageEvent.h: (WebCore::MessageEvent::create): (WebCore::MessageEvent::messagePort):
  • dom/MessageEvent.idl: MessageEvent has a MessagePort member now, making it possible to pass ports across documents.
01:57 Changeset [36890] by dsmith@webkit.org

WebCore:

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Eric Seidel


fix https://bugs.webkit.org/show_bug.cgi?id=21091
Regression: querySelector matches tag names case sensitively


Tests: fast/dom/SelectorAPI/caseTag.html

fast/dom/SelectorAPI/caseTagX.xhtml

  • css/CSSParser.cpp: (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
  • css/CSSParser.h:
  • dom/Node.cpp: (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll):

LayoutTests:

2008-09-25 David Smith <catfish.man@gmail.com>

Reviewed by Eric Seidel


Tests for https://bugs.webkit.org/show_bug.cgi?id=21091
Regression: querySelector matches tag names case sensitively

  • ChangeLog:
  • fast/dom/SelectorAPI/caseTag-expected.txt: Added.
  • fast/dom/SelectorAPI/caseTag.html: Added.
  • fast/dom/SelectorAPI/caseTagX-expected.txt: Added.
  • fast/dom/SelectorAPI/caseTagX.xhtml: Added.
01:23 Changeset [36889] by hyatt@apple.com

Fix Qt bustage.

01:09 Changeset [36888] by hyatt@apple.com

Fix Qt bustage.

00:57 Changeset [36887] by hyatt@apple.com

Fix Qt bustage.

00:38 Changeset [36886] by hyatt@apple.com

2008-09-24 David Hyatt <hyatt@apple.com>

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

Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
functionality. Add platform stubs for connecting/disconnecting the platform widgets.

Reviewed by Sam Weinig

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/ScrollView.h: (WebCore::ScrollView::children):
  • platform/Widget.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget): (WebCore::ScrollView::geometryChanged):
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::geometryChanged): (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::geometryChanged): (WebCore::ScrollView::setParentVisible): (WebCore::ScrollView::show): (WebCore::ScrollView::hide):
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::addChildPlatformWidget): (WebCore::ScrollView::removeChildPlatformWidget):
00:16 Changeset [36885] by mitz@apple.com

Reviewed by Dave Hyatt.

  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with this method, which sets both the location and the size. (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget with a call to the new method setWidgetGeometry. Positioning the widget correctly ensures that the scroll bars invalidate correctly when they are created and resized.
  • rendering/RenderWidget.h:

09/24/08:

20:32 Changeset [36884] by mrowe@apple.com

Merge r35897.

20:32 Changeset [36883] by mrowe@apple.com

Merge r35896.

19:46 Changeset [36882] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.


Move most of the return code back into the callee, now that the callee
doesn't have to calculate anything dynamically.


11.5% speedup on empty function call benchmark.


SunSpider says 0.3% faster. SunSpider --v8 says no change.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
18:10 Changeset [36881] by pewtermoose@webkit.org

2008-09-24 Matt Lilek <webkit@mattlilek.com>

Reviewed by Darin Adler.

Bug 20999: Inspector hover to select does not work properly on Windows
https://bugs.webkit.org/show_bug.cgi?id=20999
<rdar://problem/6236524>

  • WebNodeHighlight.cpp: (WebNodeHighlight::show):
18:08 Changeset [36880] by darin@apple.com

2008-09-24 Darin Adler <darin@apple.com>

Reviewed by Dan Bernstein.

  • DefaultDelegates/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give a different answer for the main frame and subframes.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::canHandleRequest): Ditto.
  • WebView/WebView.mm: (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look for scheme-specific representations for the main frame, not subframes. (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the method above with YES for main frame.
  • WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
17:53 Changeset [36879] by darin@apple.com

..:

2008-09-24 Darin Adler <darin@apple.com>

  • StringsNotToBeLocalized.txt: Updated for recent changes.

../win:

2008-09-24 Darin Adler <darin@apple.com>

  • English.lproj/Localizable.strings: Updated for recent changes.
17:50 Changeset [36878] by mitz@apple.com

Rubber-stamped by Sam Weinig.

  • create a "style" subfolder under "rendering" and move style files to that folder
  • WebCore.vcproj/WebCore.vcproj:
17:39 Changeset [36877] by weinig@apple.com

JavaScriptCore:

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

Reviewed by Maciej Stachowiak.

Remove staticFunctionGetter. There is only one remaining user of
staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.

WebCore:

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

Reviewed by Maciej Stachowiak.

Remove staticFunctionGetter. There is only one remaining user of
staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot):
17:26 Changeset [36876] by mjs@apple.com

2008-09-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • inline JIT fast case of op_neq
  • remove extra level of function call indirection from slow cases of eq and neq


1% speedup on Richards

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_neq):
  • kjs/operations.cpp: (JSC::equal): (JSC::equalSlowCase):
  • kjs/operations.h: (JSC::equalSlowCaseInline):
17:07 Changeset [36875] by weinig@apple.com

JavaScriptCore:

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

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21080
<rdar://problem/6243534>
Crash below Function.apply when using a runtime array as the argument list

Test: plugins/bindings-array-apply-crash.html

  • kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncApply): Revert to the slow case if the object inherits from JSArray (via ClassInfo) but is not a JSArray.

WebKitTools:

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

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21080
<rdar://problem/6243534>
Crash below Function.apply when using a runtime array as the argument list

Add method to ObjCController to return a runtime array.

  • DumpRenderTree/mac/ObjCController.m: (+[ObjCController isSelectorExcludedFromWebScript:]): (+[ObjCController webScriptNameForSelector:]): (-[ObjCController testArray]):

LayoutTests:

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

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=21080
<rdar://problem/6243534>
Crash below Function.apply when using a runtime array as the argument list

  • platform/mac/plugins/bindings-array-apply-crash-expected.txt: Added.
  • platform/mac/plugins/bindings-array-apply-crash.html: Added.
16:40 Changeset [36874] by mitz@apple.com

WebCore:

2008-09-24 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dan Bernstein.

Test: editing/spelling/inline_spelling_markers.html


Measure spelling markers with selectionRectForText() to fix RTL.

This patch also fixes hit-testing for spelling marker tool tips,
which used to work only on the first line.

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):

LayoutTests:

2008-09-24 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dan Bernstein.


  • editing/spelling/inline_spelling_markers.html: Added.
  • platform/mac/editing/spelling/inline_spelling_markers-expected.checksum: Added.
  • platform/mac/editing/spelling/inline_spelling_markers-expected.png: Added.
  • platform/mac/editing/spelling/inline_spelling_markers-expected.txt: Added.
15:26 Changeset [36873] by darin@apple.com

Removed a stray line from a recent ChangeLog entry.

15:24 Changeset [36872] by kmccullough@apple.com

2008-09-24 Kevin McCullough <kmccullough@apple.com>

Style change.

  • kjs/nodes.cpp: (JSC::statementListEmitCode):
15:19 Changeset [36871] by kmccullough@apple.com

2008-09-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Geoff.

Bug 21031: Breakpoints in the condition of loops only breaks the first
time

  • Now when setting breakpoints in the condition of a loop (for, while, for in, and do while) will successfully break each time throught the loop.
  • For 'for' loops we need a little more complicated behavior that cannot be accomplished without some more significant changes: https://bugs.webkit.org/show_bug.cgi?id=21073
  • kjs/nodes.cpp: (JSC::statementListEmitCode): We don't want to blindly emit a debug hook at the first line of loops, instead let the loop emit the debug hooks. (JSC::DoWhileNode::emitCode): (JSC::WhileNode::emitCode): (JSC::ForNode::emitCode): (JSC::ForInNode::emitCode):
  • kjs/nodes.h: (JSC::StatementNode::): (JSC::DoWhileNode::): (JSC::WhileNode::): (JSC::ForInNode::):
14:48 Changeset [36870] by bdakin@apple.com

2008-09-24 Beth Dakin <bdakin@apple.com>

Reviewed by Sam Weinig.

Speculative build fix.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: (AccessibilityUIElement::supportsPressAction):
14:45 Changeset [36869] by hyatt@apple.com

2008-09-24 David Hyatt <hyatt@apple.com>

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

Make sure the viewless scrollbar knows how to paint properly when transformed.

Reviewed by Sam Weinig

  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): (WebCore::ScrollbarThemeMac::paint):
14:28 Changeset [36868] by hyatt@apple.com

2008-09-24 David Hyatt <hyatt@apple.com>

Make sure the viewless scrollbar knows how to paint properly when transformed.

Reviewed by Sam Weinig

  • platform/mac/ScrollbarThemeMac.mm: (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): (WebCore::ScrollbarThemeMac::paint):
14:18 Changeset [36867] by timothy@apple.com

Add new screenshots of the Web Inspector's Scope Variables pane.

Not reviewed.

  • blog-files/inspector-closure-scope.png: Added.
  • blog-files/inspector-event-scope.png: Added.
  • blog-files/inspector-with-scope.png: Added.
14:17 Changeset [36866] by zimmermann@webkit.org

Not reviewed. Try to fix win build.
Add missing ChangeLog entry from last commit.

14:13 Changeset [36865] by darin@apple.com

Remove stray characters Maciej pointed out in log.

14:08 Changeset [36864] by simon.fraser@apple.com

2008-09-24 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Wrap up dirtying the z-order list of the stacking context
RenderLayer into a method.
https://bugs.webkit.org/show_bug.cgi?id=21072

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setHasVisibleContent): (WebCore::RenderLayer::addChild): (WebCore::RenderLayer::removeChild): (WebCore::RenderLayer::dirtyStackingContextZOrderLists): (WebCore::RenderLayer::styleChanged):
  • rendering/RenderLayer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::setStyle):
13:38 Changeset [36863] by ggaren@apple.com

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

Reviewed by Darin Adler.


Fixed <rdar://problem/5605532> Need a SPI for telling JS the size of
the objects it retains

  • API/JSBase.h: Filled in some missing function names.
  • API/tests/testapi.c: Test the new SPI a little.
  • API/JSSPI.cpp: Add the new SPI.
  • API/JSSPI.h: Add the new SPI.
  • JavaScriptCore.exp: Add the new SPI.
  • JavaScriptCore.xcodeproj/project.pbxproj: Add the new SPI.
13:37 Changeset [36862] by timothy@apple.com

Add another screenshot of the Web Inspector.

Not reviewed.

  • blog-files/inspector-disabling-properties.png: Added.
13:22 Changeset [36861] by kmccullough@apple.com

2008-09-24 Kevin McCullough <kmccullough@apple.com>

Reviewed by Tim.

Bug 21070: REGRESSION Repeated messages with arguments are not repeated
or displayed multiple times

  • The Insepctor Controller was comparing JSValue pointers so thought the message was not a repeat, but the JS of the inspector compared the strings and so knew it was the same message and so overwrote the old message.
  • page/InspectorController.cpp: (WebCore::ConsoleMessage::isEqual): (WebCore::InspectorController::addMessageToConsole): (WebCore::InspectorController::addConsoleMessage): (WebCore::InspectorController::startGroup): (WebCore::InspectorController::endGroup):
  • page/InspectorController.h:
13:19 Changeset [36860] by hyatt@apple.com

2008-09-24 David Hyatt <hyatt@apple.com>

Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
arrow placement preference and the thumb jump preference).

Reviewed by Adam Roben

  • platform/Scrollbar.cpp: (WebCore::Scrollbar::Scrollbar): (WebCore::Scrollbar::~Scrollbar):
  • platform/ScrollbarTheme.h: (WebCore::ScrollbarTheme::registerScrollbar): (WebCore::ScrollbarTheme::unregisterScrollbar):
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm: (+[ScrollbarPrefsObserver appearancePrefsChanged:]): (+[ScrollbarPrefsObserver behaviorPrefsChanged:]): (+[ScrollbarPrefsObserver registerAsObserver]): (WebCore::ScrollbarThemeMac::registerScrollbar): (WebCore::ScrollbarThemeMac::unregisterScrollbar): (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): (WebCore::ScrollbarThemeMac::preferencesChanged):
13:13 Changeset [36859] by ggaren@apple.com

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

Reviewed by Darin Adler.

  • API/JSBase.h: Filled in some missing function names.
13:06 Changeset [36858] by zimmermann@webkit.org

Reviewed by Oliver.

Add ContainerNodeAlgorithms.h, as central place to share algorithms
operating on TreeShared-derived classes with a Node-style interface.

This allows SVGElementInstance & ContainerNode to share code.

12:50 Changeset [36857] by timothy@apple.com

Add new screenshots of the Web Inspector.

Not reviewed.

  • blog-files/inspector-console-autocomplete.png: Added.
  • blog-files/inspector-databases-panel-query-view.png: Added.
  • blog-files/inspector-databases-panel.png: Added.
  • blog-files/inspector-elements-panel.png: Added.
  • blog-files/inspector-numeric-style-stepping.gif: Added.
  • blog-files/inspector-profiles-panel.png: Added.
  • blog-files/inspector-resources-panel.png: Added.
  • blog-files/inspector-scripts-panel.png: Added.
  • blog-files/inspector-status-bar-with-errors.png: Added.
  • blog-files/inspector-toolbar.png: Added.
12:23 Changeset [36856] by rwlbuis@webkit.org

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=20557
getScreenCTM() returns wrong values

Use the absolute position of the svg root when
determining the screen ctm.

Test: svg/custom/getscreenctm-in-mixed-content2.xhtml

11:26 Changeset [36855] by hyatt@apple.com

2008-09-24 David Hyatt <hyatt@apple.com>

Turn off support for CSS variables.

  • ChangeLog:
  • css/CSSParser.cpp: (WebCore::CSSParser::createVariablesRule): (WebCore::CSSParser::addVariable): (WebCore::CSSParser::addVariableDeclarationBlock):
11:15 Changeset [36854] by hyatt@apple.com

2008-09-24 David Hyatt <hyatt@apple.com>

Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).

  • css/CSSGrammar.y:
  • css/CSSParserValues.cpp: (WebCore::CSSParserValue::isVariable):
  • css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cleanup): (WebCore::CSSPrimitiveValue::getStringValue): (WebCore::CSSPrimitiveValue::cssText): (WebCore::CSSPrimitiveValue::parserValue):
  • css/CSSPrimitiveValue.h: (WebCore::CSSPrimitiveValue::): (WebCore::CSSPrimitiveValue::isVariable):
10:54 Changeset [36853] by ggaren@apple.com

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

Reviewed by Cameron Zwarich.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21057
Crash in RegisterID::deref() running fast/canvas/canvas-putImageData.html

  • VM/CodeGenerator.h: Changed declaration order to ensure the m_lastConstant, which is a RefPtr that points into m_calleeRegisters, has its destructor called before the destructor for m_calleeRegisters.
10:40 Changeset [36852] by timothy@apple.com
  • demos/drosera/demo.js: Add some console.profile() calls.
10:02 Changeset [36851] by darin@apple.com

2008-09-24 Darin Adler <darin@apple.com>

Reviewed by Sam Weinig.

About 1% on v8-raytrace.

  • kjs/JSActivation.cpp: Moved copyRegisters to the header to make it inline.
  • kjs/JSActivation.h: (JSC::JSActivation::copyRegisters): Moved here. Also removed the registerArraySize argument to setRegisters, since the object doesn't need to store the number of registers.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): Removed unnecessary clearing left over from when we used this on objects that weren't brand new. These days, this function is really just part of the constructor.
  • kjs/JSGlobalObject.h: Added registerArraySize to JSGlobalObjectData, since JSVariableObjectData no longer needs it. Added a setRegisters override here that handles storing the size.
  • kjs/JSStaticScopeObject.h: Removed code to set registerArraySize, since it no longer exists.
  • kjs/JSVariableObject.cpp: Moved copyRegisterArray and setRegisters to the header to make them inline.
  • kjs/JSVariableObject.h: Removed registerArraySize from JSVariableObjectData, since it was only used for the global object. (JSC::JSVariableObject::copyRegisterArray): Moved here ot make it inline. (JSC::JSVariableObject::setRegisters): Moved here to make it inline. Also removed the code to set registerArraySize and changed an if statement into an assert to save an unnnecessary branch.
09:39 Changeset [36850] by mitz@apple.com

Added bug URLs for r36001

09:23 Changeset [36849] by timothy@apple.com

Fixes a regression where the "incorrect MIME-type" warning would not
show up correctly in the Console or the resources sidebar.

Reviewed by Kevin McCullough.

  • page/inspector/Resource.js: (WebInspector.Resource.prototype._addTip): Add the repeat count argument to the WebInspector.ConsoleMessage constructor call. (WebInspector.Resource.prototype._checkWarning): Ditto.
06:47 Changeset [36848] by vestbo@webkit.org

2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Remove deprecated JS Qt bindings object call/construct code and fix autotests

01:11 Changeset [36847] by mjs@apple.com

2008-09-24 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.


  • inline PropertyMap::getOffset to speed up polymorphic lookups


~1.5% speedup on v8 benchmark
no effect on SunSpider

  • JavaScriptCore.exp:
  • kjs/PropertyMap.cpp:
  • kjs/PropertyMap.h: (JSC::PropertyMap::getOffset):
00:43 Changeset [36846] by jmalonzo@webkit.org

2008-09-24 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=20992
Build fails on GTK+ Mac OS

  • wtf/ThreadingGtk.cpp: Remove platform ifdef as suggested by Richard Hult. (WTF::initializeThreading):
00:42 Changeset [36845] by jmalonzo@webkit.org

2008-09-23 Richard Hult <richard@imendio.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

http://bugs.webkit.org/show_bug.cgi?id=20582
[Gtk] Link error on Mac OS X

  • GNUmakefile.am: Only use the -version-script flag for the gnu linker.
  • configure.ac: Check for GNU OSes.
00:42 Changeset [36844] by jmalonzo@webkit.org

2008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

Bug 20883: [CURL] Add deferred loading
https://bugs.webkit.org/show_bug.cgi?id=20883

Implement deferred loading for the libcURL backend using curl_easy_pause.
As the method was introduced in version 7.18.0, all the code checks for libcURL
version.

  • platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::setDefersLoading):
  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::writeCallback): Add an assertion that deferred loading is not activated. (WebCore::headerCallback): Ditto. (WebCore::readCallback): Ditto. (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force defersLoading to be false in order to avoid triggering an assertion. (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is activated, pause the easy handle.
00:32 Changeset [36843] by oliver@apple.com

Bug 19968: Slow Script at www.huffingtonpost.com
<https://bugs.webkit.org/show_bug.cgi?id=19968>

Reviewed by Maciej Stachowiak

Finally found the cause of this accursed issue. It is triggered
by synchronous creation of a new global object from JS. The new
global object resets the timer state in this execution group's
Machine, taking timerCheckCount to 0. Then when JS returns the
timerCheckCount is decremented making it non-zero. The next time
we execute JS we will start the timeout counter, however the non-zero
timeoutCheckCount means we don't reset the timer information. This
means that the timeout check is now checking the cumulative time
since the creation of the global object rather than the time since
JS was last entered. At this point the slow script dialog is guaranteed
to eventually be displayed incorrectly unless a page is loaded
asynchronously (which will reset everything into a sane state).

The fix for this is rather trivial -- the JSGlobalObject constructor
should not be resetting the machine timer state.

Note: See TracTimeline for information about the timeline view.