Timeline



Nov 10, 2007:

8:05 PM Changeset in webkit [27683] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-10 Mark Rowe <mrowe@apple.com>

Qt Linux build fix.

  • platform/UnicodeRange.h:
7:52 PM Changeset in webkit [27682] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-10 Mark Rowe <mrowe@apple.com>

Qt Windows build fix.

  • platform/UnicodeRange.h:
7:33 PM Changeset in webkit [27681] by Darin Adler
  • 2 edits in trunk/LayoutTests
6:12 PM Changeset in webkit [27680] by Nikolas Zimmermann
  • 24 edits in trunk

Reviewed by Eric.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=15937 (Add glyph-orientation-horizontal/vertical support)
Fixes: http://bugs.webkit.org/show_bug.cgi?id=13971 (text-anchor support on vertical text seems slightly off)

Add glyph-orientation-* support for text & textPath. (90/180/270 and 'auto')
Also fix all vertical text handling - for text & textPath! (especially latin1 characters auto orientation in vertical writing modes)

5:38 PM Changeset in webkit [27679] by Nikolas Zimmermann
  • 9 edits in trunk/LayoutTests

Rubberstamped by Eric.
Update some SVG pixel test results - which show changes lately -> repainting fixes.

5:07 PM Changeset in webkit [27678] by Darin Adler
  • 4 edits
    3 adds in trunk

JavaScriptCore:

Reviewed by Sam.

Test: fast/js/delete-then-put.html

  • kjs/property_map.cpp: (KJS::PropertyMap::put): Added a missing "- 1"; code to find an empty slot was not working. (KJS::PropertyMap::checkConsistency): Added a missing range check that would have caught this problem before.
  • roll out a last-minute change to my evaluateToBoolean patch that was incorrect.
  • kjs/nodes.h: (KJS::ExprStatementNode::ExprStatementNode): Take out call to optimizeForUnnecessaryResult, since the result is used in some cases.

LayoutTests:

Reviewed by Sam.

  • fast/js/delete-then-put-expected.txt: Added.
  • fast/js/delete-then-put.html: Added.
  • fast/js/resources/delete-then-put.js: Added.
4:49 PM Changeset in webkit [27677] by timothy@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • page/inspector/StylesSidebarPane.js: Fix the wording of a comment and switch over to use getUniqueProperties in another place.
4:30 PM Changeset in webkit [27676] by weinig@apple.com
  • 8 edits
    2 adds in trunk

WebKitTools:

Reviewed by Tim Hatcher.

Follow up to <rdar://problem/5394877> Safari should not log unsafe JavaScript
attempts when in private browsing mode (only an issue if Log JavaScript Exceptions
is turned on)

  • Add LayoutTestController.setPrivateBrowsingEnabled(bool) (stub out implementation for windows)

Added test: http/tests/security/cross-frame-access-private-browsing.html

  • DumpRenderTree/LayoutTestController.cpp: (setPrivateBrowsingEnabledCallback): (LayoutTestController::staticFunctions):
  • DumpRenderTree/LayoutTestController.h:
  • DumpRenderTree/mac/DumpRenderTree.mm: (runTest): Default to private browsing disabled.
  • DumpRenderTree/mac/LayoutTestControllerMac.mm: (LayoutTestController::setPrivateBrowsingEnabled):
  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::setPrivateBrowsingEnabled):

LayoutTests:

Reviewed by Tim Hatcher.

Follow up to <rdar://problem/5394877> Safari should not log unsafe JavaScript
attempts when in private browsing mode (only an issue if Log JavaScript Exceptions
is turned on)

Test using the new LayoutTestController.setPrivateBrowsingEnabled(bool)

  • http/tests/security/cross-frame-access-private-browsing-expected.txt: Added.
  • http/tests/security/cross-frame-access-private-browsing.html: Added.
  • platform/win/Skipped: Add new test to windows skip list until we have an implementation of LayoutTestController.setPrivateBrowsingEnabled(bool) for it.
3:38 PM Changeset in webkit [27675] by sullivan@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig

Rest of fix for 5394877

  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript): Don't log unsafe JavaScript attempts in the other version of isSafeScript() if in private browsing mode either.
3:16 PM Changeset in webkit [27674] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

Fix function name difference - header said 'unicodeRangeForCharacter', actually
implemented function is 'findCharUnicodeRange'. They are not compiled yet.

2:24 PM Changeset in webkit [27673] by hausmann
  • 2 edits in trunk/WebKit/qt

When populating the context menu with sub-menus don't add sub-menus if they're empty.

Signed-off-by: Nikolas

2:24 PM Changeset in webkit [27672] by hausmann
  • 3 edits in trunk/WebKit/qt

Added support for the Bold/Italic/Underline toggle actions.

Signed-off-by: Nikolas

2:24 PM Changeset in webkit [27671] by hausmann
  • 3 edits in trunk/WebKit/qt

Before adding an action to the context menu call checkOrEnableIfNeeded for each action
to update the enable/checked state correctly.

Signed-off-by: Nikolas

2:24 PM Changeset in webkit [27670] by hausmann
  • 2 edits in trunk/WebKit/qt

Mark the text direction actions as checkable actions.

Signed-off-by: Nikolas

2:18 PM Changeset in webkit [27669] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

Roll out some changes that were (seemingly accidentally) checked in
with r27664.

1:12 PM Changeset in webkit [27668] by mitz@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

  • fix <rdar://problem/5450655> Control-clicking text in a link can surprisingly select only part of the link, should select entire link

No test because context menu events cannot be tested in DumpRenderTree.

  • page/EventHandler.cpp: (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Added. If the click occurred in an active link, selects the entire link element. Otherwise selects the closest word. (WebCore::EventHandler::sendContextMenuEvent): Call selectClosestWordOrLinkFromMouseEvent().
  • page/EventHandler.h:
1:08 PM Changeset in webkit [27667] by sullivan@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Tim Hatcher

  • fixed <rdar://problem/5394877> Safari should not log unsafe JavaScript attempts when in private browsing mode (only an issue if Log JavaScript Exceptions is turned on)
  • bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript): Don't log unsafe JavaScript attempts to console or chromeClient if in private browsing mode
12:29 PM Changeset in webkit [27666] by ap@webkit.org
  • 8 edits
    8 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15922
Implement more of Mozilla Selection API

Tests: editing/selection/containsNode.html

editing/selection/deleteFromDocument.html
editing/selection/extend.html
editing/selection/selectAllChildren.html

  • editing/SelectionController.cpp: (WebCore::SelectionController::deleteFromDocument): (WebCore::SelectionController::containsNode): (WebCore::SelectionController::selectAllChildren): (WebCore::SelectionController::extend):
  • editing/SelectionController.h: Added deleteFromDocument(), containsNode(), and selectAllChildren(). Reimplemented extend(), which existed, but didn't match Firefox behavior and wasn't exposed via bindings. Removed a comment mentioning removeRange(), as this method makes no sense without multiple selection range support.
  • page/DOMSelection.cpp: (WebCore::DOMSelection::extend): (WebCore::DOMSelection::deleteFromDocument): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::selectAllChildren):
  • page/DOMSelection.h:
  • page/DOMSelection.idl: Exposed the new methods.
12:24 PM Changeset in webkit [27665] by ap@webkit.org
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15892
DOM Range operations are not implemented for ProcessingInstruction nodes

Test: fast/dom/Range/range-processing-instructions.html

  • dom/Range.cpp: (WebCore::Range::processContents): Implemented ProcessingInstruction cases. (WebCore::Range::checkNodeWOffset): Removed a FIXME - yes, I think that we are supposed to use ProcessingInstruction.data.
10:29 AM Changeset in webkit [27664] by Darin Adler
  • 7 edits
    3 adds in trunk/JavaScriptCore

Reviewed by Sam.

Gives 1.1% on SunSpider.

  • kjs/grammar.y: Create TrueNode and FalseNode instead of BooleanNode.
  • kjs/nodes.h: Changed to use Noncopyable. Moved optimizeForUnnecessaryResult down from Node to ExpressionNode. Changed some classes to not inherit from ExpressionNode where not necessary, and removed unnneeded evaluate functions as well as evaluate functions that need not be virtual. Call the optimizeForUnnecessaryResult function on the start of a for loop too.
  • kjs/nodes.cpp: (KJS::ExpressionNode::evaluateToBoolean): Added. (KJS::FalseNode::evaluate): Added. (KJS::TrueNode::evaluate): Added. (KJS::NumberNode::evaluateToBoolean): Added. (KJS::StringNode::evaluateToBoolean): Added. (KJS::LocalVarAccessNode::evaluateToBoolean): Added. (KJS::BracketAccessorNode::evaluateToBoolean): Added. (KJS::LogicalNotNode::evaluate): Changed to call evaluateToBoolean. (KJS::LogicalNotNode::evaluateToBoolean): Added. (KJS::lessThan): Changed to return bool. (KJS::lessThanEq): Ditto. (KJS::LessNode::evaluate): Changed since lessThan returns bool. (KJS::LessNode::evaluateToBoolean): Added. (KJS::GreaterNode::evaluate): Changed since lessThanEq returns bool. (KJS::GreaterNode::evaluateToBoolean): Added. (KJS::LessEqNode::evaluate): Changed since lessThanEq returns bool. (KJS::LessEqNode::evaluateToBoolean): Added. (KJS::GreaterEqNode::evaluate): Changed since lessThan returns bool. (KJS::GreaterEqNode::evaluateToBoolean): Added. (KJS::InstanceOfNode::evaluateToBoolean): Added. (KJS::InNode::evaluateToBoolean): Added. (KJS::EqualNode::evaluateToBoolean): Added. (KJS::NotEqualNode::evaluateToBoolean): Added. (KJS::StrictEqualNode::evaluateToBoolean): Added. (KJS::NotStrictEqualNode::evaluateToBoolean): Added. (KJS::ConditionalNode::evaluate): Changed to call evaluateToBoolean. (KJS::IfNode::execute): Ditto. (KJS::DoWhileNode::execute): Ditto. (KJS::WhileNode::execute): Ditto. (KJS::ForNode::execute): Ditto.
  • kjs/nodes2string.cpp: (KJS::FalseNode::streamTo): Added. (KJS::TrueNode::streamTo): Added.
5:01 AM Applications using WebKit edited by joe@funkeemonk.com
(diff)
12:02 AM Changeset in webkit [27663] by timothy@apple.com
  • 3 edits in trunk/WebCore

Reviewed by Mark Rowe.

Bug 12054: Ability to serialize an element subtree (into clipboard?) from the DOM inspector
http://bugs.webkit.org/show_bug.cgi?id=12054

  • Add support code for routing copy events to the focused element.
  • Implement copying the currently selected DOM node. The node and it's subtree is copied to the clipboard. If the node has no outerHTML, the nodeValue is copied (text nodes, etc.)
  • Implement copy for the resource sidebar. The URL is copied for the currently selected resource.
  • page/inspector/DocumentPanel.js:
  • page/inspector/inspector.js:

Nov 9, 2007:

11:50 PM Changeset in webkit [27662] by ap@webkit.org
  • 2 edits in trunk/SunSpider

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15925
SunSpider should check for Shark being installed

  • sunspider: Explicitly test that shark command line tool is installed.
6:28 PM Changeset in webkit [27661] by honeycutt
  • 2 edits in trunk/WebKit/win

2007-11-09 Jon Honeycutt <jhoneycutt@apple.com>

Reviewed by Sam.

<rdar://5585900>: Safari crashes when selected in context menu to open
audio format files (au, aif) with QT 7.3

The crash occurred on a machine where QT 7.3 was failing to initialize.
The fix is to avoid sending streams to full-page plugins that've failed
to load

  • WebFrame.cpp: (WebFrame::finishedLoading): Check plugin status before calling manual stream methods (WebFrame::setMainDocumentError): Same (WebFrame::committedLoad): Same
5:53 PM Changeset in webkit [27660] by antti
  • 1 edit
    2 adds in trunk/WebKitSite

Rubber stamped by bdash.


Add directory for blog resources (and one image).

  • blog-files: Added.
  • blog-files/touch-poster.png: Added.
4:59 PM Changeset in webkit [27659] by antti
  • 2 edits in trunk/WebCore

Reviewed by Adele.

Fix occasional blank video with poster attribute.

  • ChangeLog:
  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::load): (WebCore::HTMLMediaElement::didRestoreFromCache): Just calling updateFromElement() does the right thing for both poster image and video.
4:29 PM Changeset in webkit [27658] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2007-11-09 Xan Lopez <xan@gnome.org>

Reviewed by Alp.

Fix http://bugs.webkit.org/show_bug.cgi?id=15926
[GTK] WebKitPage map handler is redundant.

  • Api/webkitgtkpage.cpp: The map handler for WebKitPage is redundant, GtkContainer does the same (and more correctly).
3:51 PM Changeset in webkit [27657] by tristan
  • 1 edit
    1 move in trunk/LayoutTests

Reviewed by Sam Weinig.

  • fast/dom/Window/window-resize-nan.html: Removed.
  • fast/dom/Window/window-resize-nan.html-disabled: Copied from fast/dom/Window/window-resize-nan.html.


Disabled nan test until window resize issues can be resolved.

3:34 PM Changeset in webkit [27656] by weinig
  • 2 edits in trunk/WebKit/win

Rubber stamped by Oliver.

Make WebCore a dependency of Interfaces.

  • WebKit.vcproj/WebKit.sln:
3:04 PM Changeset in webkit [27655] by weinig
  • 8 edits
    11 adds in trunk

WebCore:

Reviewed by Adam Roben.

<rdar://problem/5435940>
The COM bindings for the DOM should be autogenerated like the other DOM bindings

Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
is being introduced in this patch and to insure that no conflicts arise, a temporary
prefix of "GEN_" has been used for all the new classes.

The build architecture for these bindings differs slightly from the other autogenerated
bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
is done for the Objective-C bindigs currently), the IDLs and generation scripts are
migrated to WebKit and built there. This is done with a series of scripts and Makefiles.

This commit includes:

  • Hand rolled root class/Interface GEN_DOMObject used to facilated object creation and ref-counting.
  • Generating all of the Core DOM and most of HTML and CSS
  • Generating Event, EventTarget, and EventListener
  • WebCore.vcproj/MigrateIDLAndScripts.make: Added.
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/migrate-idls.sh: Added.
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorCOM.pm: Added.
  • dom/EventListener.h: Make the isWindowEvent parameter default to false to allow autogeneration based on the IDL.

WebKit/win:

Reviewed by Adam Roben.

<rdar://problem/5435940>
The COM bindings for the DOM should be autogenerated like the other DOM bindings

Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
is being introduced in this patch and to insure that no conflicts arise, a temporary
prefix of "GEN_" has been used for all the new classes.

The build architecture for these bindings differs slightly from the other autogenerated
bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
is done for the Objective-C bindigs currently), the IDLs and generation scripts are
migrated to WebKit and built there. This is done with a series of scripts and Makefiles.

This commit includes:

  • Hand rolled root class/Interface GEN_DOMObject used to facilated object creation and ref-counting.
  • Generating all of the Core DOM and most of HTML and CSS
  • Generating Event, EventTarget, and EventListener
  • DOMCreateInstance.cpp: Added. (domWrapperCache): (getDOMWrapper): (setDOMWrapper): (removeDOMWrapper): (GEN_DOMNode::createInstance): (GEN_DOMImplementation::createInstance): (GEN_DOMCSSRule::createInstance): (GEN_DOMStyleSheet::createInstance): (GEN_DOMCSSValue::createInstance):
  • DOMCreateInstance.h: Added. Temporary location for createInstance/object caching methods. This will be broken up into seperate files in the near future.
  • GEN_DOMObject.cpp: Added. (GEN_DOMObject::GEN_DOMObject): (GEN_DOMObject::~GEN_DOMObject): (GEN_DOMObject::QueryInterface): (GEN_DOMObject::AddRef): (GEN_DOMObject::Release):
  • GEN_DOMObject.h: Added. Hand rolled base class.
  • Interfaces/IGEN_DOMObject.idl: Added. Hand rolled base interface.
  • WebKit.vcproj/DerivedSources.make: Added.
  • WebKit.vcproj/FixMIDLHeaders.pl: Added. This script is required because MIDL is producing un-buildable code due to circular dependencies.
  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:
  • WebKit.vcproj/build-generated-files.sh: Added.
2:54 PM Changeset in webkit [27654] by tristan
  • 5 edits in trunk

mac:

Reviewed by Timothy Hatcher.


This patch is for the WebKit side of <rdar://problem/5591115>.
We need a way to tell context menu navigations, such as "Open in New Window"
to override any sort of browser preference for tab based navigation.

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::createWindow): Pass up the new preferredType parameter as a string.

WebCore:

Reviewed by Timothy Hatcher.


This patch is for the WebKit side of <rdar://problem/5591115>.
We need a way to tell context menu navigations, such as "Open in New Window"
to override any sort of browser preference for tab based navigation.

  • bridge/WindowFeatures.h: (WebCore::WindowFeatures::WindowFeatures): Added a new struct member var, preferredType and an accompanying enum type PreferredType to send a window type recommendation up to the Chrome.


  • page/ContextMenuController.cpp: (WebCore::openNewWindow): Set the window features to recommend a new Window for "Open in New Window" context menu action.
2:25 PM Changeset in webkit [27653] by timothy@apple.com
  • 4 edits in trunk/WebKit/mac

Reviewed by John.

<rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used

Extend the linked on or after check to every application when a script passed to
stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
was limited to VitalSource Bookshelf, but other developers are running into this.

  • Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
  • WebView/WebDocumentLoaderMac.mm: (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
  • WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
1:43 PM SpecSupport edited by mjs@apple.com
(diff)
1:39 PM SpecSupport edited by mjs@apple.com
(diff)
1:36 PM SpecSupport edited by mjs@apple.com
(diff)
1:31 PM SpecSupport edited by mjs@apple.com
(diff)
1:31 PM SpecSupport edited by mjs@apple.com
(diff)
1:27 PM SpecSupport edited by mjs@apple.com
(diff)
1:23 PM SpecSupport edited by mjs@apple.com
(diff)
1:11 PM SpecSupport edited by mjs@apple.com
(diff)
12:04 PM Changeset in webkit [27652] by Adam Roben
  • 4 edits
    2 adds in trunk

Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick

LayoutTests:

Add a test for <rdar://5483519> Pressing Enter on selected buttons should fire onclick

Reviewed by Adele.

  • fast/forms/enter-clicks-buttons-expected.txt: Added.
  • fast/forms/enter-clicks-buttons.html: Added.

WebCore:

Fix <rdar://5483519> Pressing Enter on selected buttons should fire onclick

We now match the behavior of Firefox and IE, which is to always just
send a click event to the focused button when the Enter key is pressed
(previously we were submitting forms directly in some cases).

Reviewed by Adele.

Test: fast/forms/enter-clicks-buttons.html

  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::defaultEventHandler): Don't do anything fancy when Enter is pressed on a <button type=button> -- just send a click event like we do for other button types.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Treat type=button the same way we treat type=submit and type=reset: just send a click event when Enter is pressed.
12:03 PM Changeset in webkit [27651] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Antti Koivisto.

  • fix a bug in invisible layer culling: dynamically changing a descendant of an invisible layer to be visible did not work

Test: fast/layers/layer-content-visibility-change.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::setHasVisibleContent): If we got visible content, make sure that our stacking context rebuilds its z-order lists to include us.

LayoutTests:

Reviewed by Antti Koivisto.

  • test that dynamically changing a descendant of an invisible layer to be visible works
  • fast/layers/layer-content-visibility-change.html: Added.
  • platform/mac/fast/layers/layer-content-visibility-change-expected.checksum: Added.
  • platform/mac/fast/layers/layer-content-visibility-change-expected.png: Added.
  • platform/mac/fast/layers/layer-content-visibility-change-expected.txt: Added.
11:57 AM Changeset in webkit [27650] by hyatt
  • 3 edits in trunk/WebCore

Clean up matrix() parsing. Make sure the first four arguments can be lengths or numbers. The last two
args can be lengths or numbers or percents.

Reviewed by Beth

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSParser.cpp: (WebCore::TransformOperationInfo::TransformOperationInfo): (WebCore::CSSParser::parseTransform):
  • rendering/RenderStyle.h: (WebCore::MatrixTransformOperation::apply):
11:05 AM Changeset in webkit [27649] by Beth Dakin
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Oliver.

Fix for <rdar://problem/5586370> CSS Transform - incorrect matrix
math leads to crazy problems

Transform matrices accept the first four parameters as CSS lengths.
CSS lengths get mapped into WebCore::Lengths as percents by
WebCore::convertToLength(). Percent lengths cannot call value(). It
does not yield a correct result and it asserts on Debug builds.

  • rendering/RenderStyle.h: (WebCore::MatrixTransformOperation::apply): Instead of calling value() on the lengths, call calcValue. This fixes the assert and the bad rendering.

LayoutTests:

Reviewed by Oliver.

Test for <rdar://problem/5586370> CSS Transform - incorrect matrix
math leads to crazy problems

  • fast/transforms/identity-matrix.html: Added.
  • platform/mac/fast/transforms/identity-matrix-expected.checksum: Added.
  • platform/mac/fast/transforms/identity-matrix-expected.png: Added.
  • platform/mac/fast/transforms/identity-matrix-expected.txt: Added.
9:56 AM Changeset in webkit [27648] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

Reviewed by Darin.

  • kjs/value.h: (KJS::jsNumber): Add some explicit casts.
9:16 AM Changeset in webkit [27647] by sfalken
  • 2 edits in trunk/WebCore

Roll out r27641 since the same bug was already fixed by r27568.

7:35 AM SpecSupport edited by philippe.kalaf@collabora.co.uk
(diff)
7:26 AM SpecSupport edited by mrowe@apple.com
(diff)
6:44 AM WikiStart edited by philippe.kalaf@collabora.co.uk
(diff)
6:41 AM SpecSupport edited by philippe.kalaf@collabora.co.uk
(diff)
6:40 AM SpecSupport edited by philippe.kalaf@collabora.co.uk
(diff)
6:36 AM SpecSupport created by philippe.kalaf@collabora.co.uk
6:33 AM Changeset in webkit [27646] by hausmann
  • 2 edits in trunk/WebCore

userIdleTime() is stubbed in win/SystemTimeWin.cpp, so don't
define it twice for the Qt/Windows build.

5:09 AM Changeset in webkit [27645] by hausmann
  • 3 edits in trunk/WebKit/qt

Implemented the webcore actions for changing the text direction.

Signed-off-by: Holger

5:09 AM Changeset in webkit [27644] by hausmann
  • 9 edits in trunk

Fix ContextMenu allocation in the Qt port.

Store all items and submenus value based in ContextMenu and ContextMenuItem.
That fixes the crashes when the context menu was populated with sub-menus because
of the use of temporary ContextMenu objects like this:

ContextMenu subMenu(...);
subMenu.appendItem(...);
subMenu.appendItem(...);

subMenuItem.setSubMenu(&subMenu); temporary pointer, need to _copy_ contents

Signed-off-by: Holger

5:09 AM Changeset in webkit [27643] by hausmann
  • 3 edits in trunk/WebKit/qt

Renamed QWebPage::NumWebActions to QWebPage::WebActionCount (for consistency) and fixed its value.

Signed-off-by: Holger

4:51 AM Changeset in webkit [27642] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-09 Peter Kasting <zerodpx@gmail.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15909
Malformed GIFs should not result in memory corruption.

  • platform/image-decoders/gif/GIFImageDecoder.cpp: (WebCore::GIFImageDecoder::haveDecodedRow):
1:01 AM Changeset in webkit [27641] by sfalken
  • 2 edits in trunk/WebCore

Initialize WindowFeatures struct before using it.


Reviewed by Oliver.

  • page/ContextMenuController.cpp: (WebCore::openNewWindow):
12:29 AM Changeset in webkit [27640] by kmccullo
  • 5 edits in trunk/WebKit/win

Reviewed by Adam.

  • This patch does two main things. 1) It adds pragma warning guards around WebCore includes in WebKit files that were previously overlooked. 2) It implements almost the entireity of WebScriptDebugger. Only one function remains and that implementation is dependent on finishing the implementation of WebScriptScope.
  • WebScriptCallFrame.h:
  • WebScriptDebugServer.h:
  • WebScriptDebugger.cpp: (WebScriptDebugger::WebScriptDebugger): (WebScriptDebugger::sourceParsed): (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception): (WebScriptDebugger::enterFrame): (WebScriptDebugger::leaveFrame):
  • WebScriptDebugger.h:
12:26 AM Changeset in webkit [27639] by kmccullo
  • 4 edits
    5 adds in trunk/WebKitTools

Reviewed by Adam.

  • Changed the vcproj file to use Drosera's ForwardingHeaders and not WebCore's!
  • Drosera/ForwardingHeaders/wtf/Assertions.h: Added.
  • Drosera/ForwardingHeaders/wtf/HashTraits.h: Added.
  • Drosera/ForwardingHeaders/wtf/Noncopyable.h: Added.
  • Drosera/ForwardingHeaders/wtf/OwnPtr.h: Added.
  • Drosera/ForwardingHeaders/wtf/RetainPtr.h: Added.
  • Drosera/win/Drosera.cpp:
  • Drosera/win/Drosera.vcproj/Drosera.vcproj:

Nov 8, 2007:

11:06 PM Changeset in webkit [27638] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-08 Timothy Hatcher <timothy@apple.com>

Reviewed by Sam Weinig.

Some Web Inspector CSS editing changes.

  • Only delete the property if all the text is delete or the new user input correctly parses. This prevents deleting the existing property if the new text is invalid.
  • Intercept the Escape key and cancel editing, not saving any changes.
  • page/inspector/StylesSidebarPane.js:
9:57 PM Changeset in webkit [27637] by Darin Adler
  • 4 edits in trunk/JavaScriptCore
  • fix build
  • kjs/grammar.y:
  • kjs/nodes.h:
  • kjs/property_map.cpp:
9:56 PM Changeset in webkit [27636] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • roll out accidentally-checked in changes
  • kjs/nodes.cpp: Back to previous version.
  • kjs/nodes.h: Ditto.
  • kjs/grammar.y: Ditto.
9:55 PM Changeset in webkit [27635] by Darin Adler
  • 3 edits in trunk/JavaScriptCore
  • roll out accidentally-checked in changes
  • kjs/nodes.cpp: Back to previous version.
  • kjs/nodes.h: Ditto.
9:51 PM Changeset in webkit [27634] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • kjs/property_map.cpp: (KJS::PropertyMap::getEnumerablePropertyNames): Use insertion sort instead of qsort for small sets of property names. We can probably do some even-better speedups of for/in, but this nets 0.6% overall and 6.7% on fasta.
9:50 PM Changeset in webkit [27633] by Darin Adler
  • 3 edits in trunk/JavaScriptCore

Reviewed by Maciej.

This fixes one source of the slowness -- the conversion to an unused
Identifier as we call the get function from the slot -- but doesn't
fix others, such as the fact that we have to allocate a new UString::Rep
for every single character.

Speeds up string-base64 30%, and at least 0.5% overall.
But does slow down access-fannkuch quite a bit. Might be worth
revisiting in the future to see what we can do about that (although
I did look at a profile for a while).

  • kjs/property_slot.h: Add a new marker for "numeric" property slots; slots where we don't need to pass the identifier to the get function. (KJS::PropertySlot::getValue): Added code to call the numeric get function. (KJS::PropertySlot::setCustomNumeric): Added.
  • kjs/string_object.cpp: (KJS::StringInstance::indexGetter): Changed to use substr() instead of constructing a wholly new UString each time. (KJS::stringInstanceNumericPropertyGetter): Added. Like indexGetter, but takes advantage of setCustomNumeric to avoid creating an Identifier. (KJS::StringInstance::getOwnPropertySlot): Changed to use setCustomNumeric.
9:48 PM Changeset in webkit [27632] by Darin Adler
  • 6 edits in trunk/JavaScriptCore

Reviewed by Oliver.

1% improvement of SunSpider

  • kjs/JSImmediate.h: Eliminate the now-unneeded FPBitValues struct template. (KJS::JSImmediate::from): Overload for most numeric types; many types can do fewer branches and checks. (KJS::JSImmediate::getUInt32): Removed unneeded check for undefined. (KJS::JSImmediate::getTruncatedInt32): Ditto. (KJS::JSImmediate::getTruncatedUInt32): Ditto. There's no difference any more between getUInt32 and getTruncatedUInt32, so that's worth a rename and merge later.
  • kjs/grammar.y: Update since fromDouble is now just from.
  • kjs/nodes.h: Ditto.
  • kjs/value.h: (KJS::jsNumber): Overload for most numeric types.
9:38 PM Changeset in webkit [27631] by kevino@webkit.org
  • 3 edits
    37 adds in trunk

Adding Bakefiles for JSCore, WebCore, and WebKit, and adding wxWebKit implementation.

Reviewed by Mark Rowe

8:32 PM Changeset in webkit [27630] by oliver
  • 3 edits
    2 adds in trunk

Fix regression caused by earlier bitwise and optimisation. 1 & undefined != 1.

Reviewed by Maciej.

The implementation of JSImmediate::areBothImmediateNumbers relies on
(JSImmediate::getTag(immediate1) & JSImmediate::getTag(immediate2)) having
a unique result when both immediate values are numbers.

The regression was due to UndefinedType & NumberType returning NumberType (3 & 1).
By swapping the value of NumberType and UndefinedType this ceases to be a problem.

7:13 PM Changeset in webkit [27629] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2007-11-08 Justin Haygood <jhaygood@reaktix.com>

Reviewed by Mark Rowe.

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

Fix builds with HTML 5 Storage support disabled.
ENABLE(DATABASE) needs to be added in a few places.

  • page/InspectorController.cpp:
  • storage/Database.h:
6:03 PM Changeset in webkit [27628] by sfalken
  • 3 edits in trunk/WebKit/win

Bump versions for submit

5:48 PM Changeset in webkit [27627] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

5:39 PM Changeset in webkit [27626] by sfalken
  • 1 edit in trunk/WebKit/win/ChangeLog

Fix typo in ChangeLog.

5:32 PM Changeset in webkit [27625] by sfalken
  • 2 edits in trunk/WebKit/win

<rdar://problem/5491463> Wrong dates shown in History menu.


Fix off-by-one error in Windows epoch.


For the Windows DATE type, 1/1/1900 should be 2.0, not 1.0.
DATE is the number of dates since 12/30/1899.


Reviewed by Ada.

  • MarshallingHelpers.cpp: (MarshallingHelpers::windowsEpochAbsoluteTime):
5:13 PM Changeset in webkit [27624] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

2007-11-08 Alp Toker <alp@atoker.com>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=15653
[GTK] Text editor does not handle common keystrokes

Handle more keystrokes in EditorClientGtk. Note that this is a
temporary measure pending a proper solution using GtkBindingSet (see
http://bugs.webkit.org/show_bug.cgi?id=15911).

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::handleKeypress):
5:04 PM Changeset in webkit [27623] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • fix build
  • kjs/nodes.h: Add missing parameter name.
4:43 PM Changeset in webkit [27622] by eseidel
  • 4 edits in trunk/JavaScriptCore

2007-11-08 Eric Seidel <eric@webkit.org>

Reviewed by darin.

Add ExpressionNode subclass of Node, use it.

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::ForInNode::ForInNode):
  • kjs/nodes.h: (KJS::ExpressionNode::): (KJS::NullNode::): (KJS::NullNode::precedence): (KJS::BooleanNode::): (KJS::BooleanNode::precedence): (KJS::RegExpNode::): (KJS::RegExpNode::precedence): (KJS::ThisNode::): (KJS::ThisNode::precedence): (KJS::ResolveNode::): (KJS::ElementNode::): (KJS::ArrayNode::): (KJS::PropertyNode::): (KJS::PropertyNode::precedence): (KJS::PropertyNode::name): (KJS::PropertyListNode::): (KJS::ObjectLiteralNode::): (KJS::ObjectLiteralNode::precedence): (KJS::BracketAccessorNode::): (KJS::DotAccessorNode::): (KJS::DotAccessorNode::precedence): (KJS::ArgumentListNode::): (KJS::ArgumentsNode::): (KJS::NewExprNode::): (KJS::NewExprNode::precedence): (KJS::FunctionCallValueNode::): (KJS::FunctionCallValueNode::precedence): (KJS::FunctionCallResolveNode::): (KJS::FunctionCallBracketNode::): (KJS::FunctionCallBracketNode::precedence): (KJS::FunctionCallDotNode::): (KJS::FunctionCallDotNode::precedence): (KJS::PrePostResolveNode::): (KJS::PostfixBracketNode::): (KJS::PostfixBracketNode::precedence): (KJS::PostIncBracketNode::): (KJS::PostIncBracketNode::isIncrement): (KJS::PostDecBracketNode::): (KJS::PostDecBracketNode::isIncrement): (KJS::PostfixDotNode::): (KJS::PostfixDotNode::precedence): (KJS::PostIncDotNode::): (KJS::PostIncDotNode::isIncrement): (KJS::PostDecDotNode::): (KJS::PostDecDotNode::isIncrement): (KJS::PostfixErrorNode::): (KJS::PostfixErrorNode::precedence): (KJS::DeleteResolveNode::): (KJS::DeleteBracketNode::): (KJS::DeleteBracketNode::precedence): (KJS::DeleteDotNode::): (KJS::DeleteDotNode::precedence): (KJS::DeleteValueNode::): (KJS::DeleteValueNode::precedence): (KJS::VoidNode::): (KJS::VoidNode::precedence): (KJS::TypeOfResolveNode::): (KJS::TypeOfValueNode::): (KJS::PrefixBracketNode::): (KJS::PrefixBracketNode::precedence): (KJS::PreIncBracketNode::): (KJS::PreIncBracketNode::isIncrement): (KJS::PreDecBracketNode::): (KJS::PreDecBracketNode::isIncrement): (KJS::PrefixDotNode::): (KJS::PrefixDotNode::precedence): (KJS::PreIncDotNode::): (KJS::PreIncDotNode::isIncrement): (KJS::PreDecDotNode::): (KJS::PreDecDotNode::isIncrement): (KJS::PrefixErrorNode::): (KJS::PrefixErrorNode::precedence): (KJS::UnaryPlusNode::): (KJS::UnaryPlusNode::precedence): (KJS::NegateNode::): (KJS::NegateNode::precedence): (KJS::BitwiseNotNode::): (KJS::BitwiseNotNode::precedence): (KJS::LogicalNotNode::): (KJS::LogicalNotNode::precedence): (KJS::AddNode::): (KJS::AddNode::precedence): (KJS::LeftShiftNode::): (KJS::LeftShiftNode::precedence): (KJS::RightShiftNode::): (KJS::RightShiftNode::precedence): (KJS::UnsignedRightShiftNode::): (KJS::UnsignedRightShiftNode::precedence): (KJS::LessNode::): (KJS::LessNode::precedence): (KJS::GreaterNode::): (KJS::GreaterNode::precedence): (KJS::LessEqNode::): (KJS::LessEqNode::precedence): (KJS::GreaterEqNode::): (KJS::GreaterEqNode::precedence): (KJS::InstanceOfNode::): (KJS::InstanceOfNode::precedence): (KJS::InNode::): (KJS::InNode::precedence): (KJS::EqualNode::): (KJS::EqualNode::precedence): (KJS::NotEqualNode::): (KJS::NotEqualNode::precedence): (KJS::StrictEqualNode::): (KJS::StrictEqualNode::precedence): (KJS::NotStrictEqualNode::): (KJS::NotStrictEqualNode::precedence): (KJS::BitAndNode::): (KJS::BitAndNode::precedence): (KJS::BitOrNode::): (KJS::BitOrNode::precedence): (KJS::BitXOrNode::): (KJS::BitXOrNode::precedence): (KJS::LogicalAndNode::): (KJS::LogicalAndNode::precedence): (KJS::LogicalOrNode::): (KJS::LogicalOrNode::precedence): (KJS::ConditionalNode::): (KJS::ConditionalNode::precedence): (KJS::ReadModifyResolveNode::): (KJS::ReadModifyResolveNode::precedence): (KJS::AssignResolveNode::): (KJS::AssignResolveNode::precedence): (KJS::ReadModifyBracketNode::): (KJS::ReadModifyBracketNode::precedence): (KJS::AssignBracketNode::): (KJS::AssignBracketNode::precedence): (KJS::AssignDotNode::): (KJS::AssignDotNode::precedence): (KJS::ReadModifyDotNode::): (KJS::ReadModifyDotNode::precedence): (KJS::AssignErrorNode::): (KJS::AssignErrorNode::precedence): (KJS::CommaNode::): (KJS::CommaNode::precedence): (KJS::AssignExprNode::): (KJS::AssignExprNode::precedence): (KJS::ExprStatementNode::): (KJS::IfNode::): (KJS::DoWhileNode::): (KJS::WhileNode::): (KJS::ReturnNode::): (KJS::WithNode::): (KJS::ThrowNode::): (KJS::ParameterNode::): (KJS::CaseClauseNode::): (KJS::CaseClauseNode::precedence): (KJS::ClauseListNode::): (KJS::SwitchNode::):
4:09 PM Changeset in webkit [27621] by weinig@apple.com
  • 2 edits in trunk

Correct ChangeLogs to reflect that the speedup was 1% not .5%. Turns out you are not supposed to test in Debug builds.

3:51 PM Changeset in webkit [27620] by ggaren@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fixed bug title in old check-in.

3:49 PM Changeset in webkit [27619] by sfalken
  • 2 edits in trunk/WebCore

<rdar://problem/5524082> Allow images to be dragged out directly into other apps


We weren't including CF_HDROP in our image drops. This broke drag of
images out of the browser window directly into other apps (examples
include notepad, mspaint, msword).


Reviewed by Oliver, Ada.

  • platform/win/ClipboardWin.cpp: (WebCore::createGlobalImageFileContent): Removed unused variable. (WebCore::createGlobalHDropContent): Added (WebCore::writeFileToDataObject): Write HDROP data if available. (WebCore::writeImageToDataObject): Write HDROP for dragged images. (WebCore::ClipboardWin::writeURL): Don't write HDROP for dragged URLs.
3:31 PM Changeset in webkit [27618] by alp@webkit.org
  • 3 edits in trunk/WebCore

2007-11-08 Xan Lopez <xan@gnome.org>

Reviewed by Alp.

http://bugs.webkit.org/show_bug.cgi?id=15908
Use g_object_ref_sink when available

  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::setGtkAdjustments):
2:59 PM Changeset in webkit [27617] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Beth Dakin.

  • fix <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely

Test: fast/dom/length-attribute-mapping.html

  • dom/StyledElement.cpp: (WebCore::StyledElement::addCSSLength): Changed the garbage-stripping logic to stop after the first "%" or "*" in the string. This allows for "100%25" to be mapped to "100%" like it is in Firefox and WinIE.

LayoutTests:

Reviewed by Beth Dakin.

  • test for <rdar://problem/5491922> REGRESSION (Safari 2-3): Flash-based "Cash Optimizer" on etrade.com does not draw completely
  • fast/dom/length-attribute-mapping-expected.txt: Added.
  • fast/dom/length-attribute-mapping.html: Added.
2:26 PM Changeset in webkit [27616] by kmccullo
  • 4 edits in trunk

WebCore:

  • Build fix.
  • loader/FrameLoaderClient.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):

WebKit/mac:

Build Fix.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::windowObjectCleared):
2:23 PM Changeset in webkit [27615] by oliver
  • 4 edits in trunk/JavaScriptCore

Add a fast path for bitwise-and of two immediate numbers for a 0.7% improvement in SunSpider (4% bitop improvement).

Reviewed by Sam.

This only improves bitwise-and performance, as the additional logic required
for similar code paths on or, xor, and shifting requires additional operations
and branches that negate (and in certain cases, regress) any advantage we might
otherwise receive.

This improves performance on all bitop tests, the cryptography tests, as well as
the string-base64 and string-unpack-code tests. No significant degradation on
any other tests.

1:49 PM Changeset in webkit [27614] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Stop using KJS inside of MathExtras.h

Reviewed by Darin.

  • wtf/MathExtras.h: Removed an unused header, and a now-unused forward-declaration. (wtf_atan2): Use std::numeric_limits intead of KJS.
1:45 PM Changeset in webkit [27613] by kmccullo
  • 3 edits in trunk/WebKitTools

Reviewed by Sam.

  • Use the new IWebFrame [local] function signature and get the shared server correctly.
  • Drosera/win/DebuggerClient.cpp: (DebuggerClient::didFinishLoadForFrame):
  • Drosera/win/ServerConnection.cpp: (ServerConnection::attemptToCreateServerConnection):
1:43 PM Changeset in webkit [27612] by kmccullo
  • 24 edits
    2 adds in trunk

WebCore:

Reviewed by Sam.

  • windowObjectCleared() is no longer const. It needs to setup the script debugger and cannot be const to do so.
  • loader/FrameLoaderClient.h:
  • platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyFrameLoaderClient::windowObjectCleared):

WebKit/gtk:

Reviewed by Sam.

  • windowObjectCleared() is no longer const. It needs to setup the script debugger and cannot be const to do so.
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::windowObjectCleared):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/qt:

Reviewed by Sam.

  • windowObjectCleared() is no longer const. It needs to setup the script debugger and cannot be const to do so.
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::windowObjectCleared):
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

Reviewed by Sam.

  • With this change Drosera can now get the source of a website and the listings of the sources it gets. This also lays the foundation for letting Drosera show the scope chain of the JavaScript stack.
  • Interfaces/IWebFrame.idl: Changed the signature of the local function, globalContext(), because COM was unable to marshal this object with the other signature.
  • Interfaces/IWebScriptDebugServer.idl: Of course adding and removing a listener cannot be done in a const function.
  • WebChromeClient.h: Added accessor to the WebView for the new added kit() function in WebFrame. (WebChromeClient::webView):
  • WebFrame.cpp: Added a script debugger object and the necessary functions to attach and communicate with it. Also needed to change the local function, globalContext(), because of a COM issue. (kit): (WebFrame::WebFrame): (WebFrame::globalContext): (WebFrame::loadData): (WebFrame::attachScriptDebugger): (WebFrame::detachScriptDebugger): (WebFrame::dispatchDidLoadMainResource): (WebFrame::windowObjectCleared):
  • WebFrame.h: Ditto.
  • WebHTMLRepresentation.cpp: Implemented documentSource so Drosera has some source code to display. (WebHTMLRepresentation::WebHTMLRepresentation): (WebHTMLRepresentation::documentSource):
  • WebKit.vcproj/WebKit.vcproj: Added the new WebScriptDebugger class.
  • WebScriptCallFrame.cpp: Implemented much of this class' functionality. (EnumScopes::EnumScopes): Made an EnumScopes class to create an IEnumVARIANT to wrap a ScopeChain for Drosera. (EnumScopes::QueryInterface): (EnumScopes::AddRef): (EnumScopes::Release): (EnumScopes::Next): (EnumScopes::Skip): (EnumScopes::Reset): (EnumScopes::Clone): (WebScriptCallFrame::caller): (WebScriptCallFrame::scopeChain): (WebScriptCallFrame::functionName): (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
  • WebScriptCallFrame.h: Added member data needed for the above functions
  • WebScriptDebugServer.cpp: Began implementing. (WebScriptDebugServer::listenerCount): (EnumViews::QueryInterface): (EnumViews::AddRef): (EnumViews::Release): (EnumViews::Next): (EnumViews::Skip): (EnumViews::Reset): (EnumViews::Clone): (WebScriptDebugServer::WebScriptDebugServer): (WebScriptDebugServer::createInstance): (WebScriptDebugServer::sharedWebScriptDebugServer): (WebScriptDebugServer::AddRef): (WebScriptDebugServer::Release): (WebScriptDebugServer::addListener): (WebScriptDebugServer::removeListener): (WebScriptDebugServer::step): (WebScriptDebugServer::pause): (WebScriptDebugServer::resume): (WebScriptDebugServer::isPaused): (WebScriptDebugServer::suspendProcessIfPaused): (WebScriptDebugServer::didLoadMainResourceForDataSource): (WebScriptDebugServer::didParseSource): (WebScriptDebugServer::failedToParseSource): (WebScriptDebugServer::didEnterCallFrame): (WebScriptDebugServer::willExecuteStatement): (WebScriptDebugServer::willLeaveCallFrame): (WebScriptDebugServer::exceptionWasRaised):
  • WebScriptDebugServer.h: Began implementing.
  • WebScriptDebugger.cpp: Added. (WebScriptDebugger::WebScriptDebugger): (WebScriptDebugger::sourceParsed):
  • WebScriptDebugger.h: Added.
  • WebScriptScope.cpp: Make this class use createInstance which is more in line with our guidelines. (WebScriptScope::WebScriptScope): (WebScriptScope::createInstance):
  • WebScriptScope.h:
1:27 PM Changeset in webkit [27611] by Adam Roben
  • 2 edits in trunk/WebCore

Hopeful Windows build fix

  • rendering/RenderObject.cpp: Touch this file to make it recompile.
1:26 PM Changeset in webkit [27610] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

Windows build fix.

  • kjs/date_object.cpp: (KJS::DateProtoFuncToLocaleString::callAsFunction): Fix unused arg warning. (KJS::DateProtoFuncToLocaleDateString::callAsFunction): ditto (KJS::DateProtoFuncToLocaleTimeString::callAsFunction): ditto
1:03 PM Changeset in webkit [27609] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/lookup.h: Add missing include.
12:31 PM Changeset in webkit [27608] by weinig@apple.com
  • 29 edits in trunk

JavaScriptCore:

Reviewed by Darin.

Convert JavaScript internal function objects to use one class per
function. This avoids a switch statement inside what used to be
the shared function classes and will allow Shark to better analyze
the code.

To make this switch, the value property of the HashEntry was changed
to a union of an intptr_t (which is used to continue handle valueGetters)
and function pointer which points to a static constructor for the
individual new function objects.

SunSpider claims this is a 0.5% speedup.

  • kjs/array_object.cpp: (KJS::ArrayPrototype::getOwnPropertySlot): (KJS::getProperty): (KJS::ArrayProtoFuncToString::callAsFunction): (KJS::ArrayProtoFuncToLocaleString::callAsFunction): (KJS::ArrayProtoFuncJoin::callAsFunction): (KJS::ArrayProtoFuncConcat::callAsFunction): (KJS::ArrayProtoFuncPop::callAsFunction): (KJS::ArrayProtoFuncPush::callAsFunction): (KJS::ArrayProtoFuncReverse::callAsFunction): (KJS::ArrayProtoFuncShift::callAsFunction): (KJS::ArrayProtoFuncSlice::callAsFunction): (KJS::ArrayProtoFuncSort::callAsFunction): (KJS::ArrayProtoFuncSplice::callAsFunction): (KJS::ArrayProtoFuncUnShift::callAsFunction): (KJS::ArrayProtoFuncFilter::callAsFunction): (KJS::ArrayProtoFuncMap::callAsFunction): (KJS::ArrayProtoFuncEvery::callAsFunction): (KJS::ArrayProtoFuncForEach::callAsFunction): (KJS::ArrayProtoFuncSome::callAsFunction): (KJS::ArrayProtoFuncIndexOf::callAsFunction): (KJS::ArrayProtoFuncLastIndexOf::callAsFunction):
  • kjs/array_object.h: (KJS::ArrayPrototype::classInfo):
  • kjs/create_hash_table:
  • kjs/date_object.cpp: (KJS::DatePrototype::getOwnPropertySlot): (KJS::DateProtoFuncToString::callAsFunction): (KJS::DateProtoFuncToUTCString::callAsFunction): (KJS::DateProtoFuncToDateString::callAsFunction): (KJS::DateProtoFuncToTimeString::callAsFunction): (KJS::DateProtoFuncToLocaleString::callAsFunction): (KJS::DateProtoFuncToLocaleDateString::callAsFunction): (KJS::DateProtoFuncToLocaleTimeString::callAsFunction): (KJS::DateProtoFuncValueOf::callAsFunction): (KJS::DateProtoFuncGetTime::callAsFunction): (KJS::DateProtoFuncGetFullYear::callAsFunction): (KJS::DateProtoFuncGetUTCFullYear::callAsFunction): (KJS::DateProtoFuncToGMTString::callAsFunction): (KJS::DateProtoFuncGetMonth::callAsFunction): (KJS::DateProtoFuncGetUTCMonth::callAsFunction): (KJS::DateProtoFuncGetDate::callAsFunction): (KJS::DateProtoFuncGetUTCDate::callAsFunction): (KJS::DateProtoFuncGetDay::callAsFunction): (KJS::DateProtoFuncGetUTCDay::callAsFunction): (KJS::DateProtoFuncGetHours::callAsFunction): (KJS::DateProtoFuncGetUTCHours::callAsFunction): (KJS::DateProtoFuncGetMinutes::callAsFunction): (KJS::DateProtoFuncGetUTCMinutes::callAsFunction): (KJS::DateProtoFuncGetSeconds::callAsFunction): (KJS::DateProtoFuncGetUTCSeconds::callAsFunction): (KJS::DateProtoFuncGetMilliSeconds::callAsFunction): (KJS::DateProtoFuncGetUTCMilliseconds::callAsFunction): (KJS::DateProtoFuncGetTimezoneOffset::callAsFunction): (KJS::DateProtoFuncSetTime::callAsFunction): (KJS::DateProtoFuncSetMilliSeconds::callAsFunction): (KJS::DateProtoFuncSetUTCMilliseconds::callAsFunction): (KJS::DateProtoFuncSetSeconds::callAsFunction): (KJS::DateProtoFuncSetUTCSeconds::callAsFunction): (KJS::DateProtoFuncSetMinutes::callAsFunction): (KJS::DateProtoFuncSetUTCMinutes::callAsFunction): (KJS::DateProtoFuncSetHours::callAsFunction): (KJS::DateProtoFuncSetUTCHours::callAsFunction): (KJS::DateProtoFuncSetDate::callAsFunction): (KJS::DateProtoFuncSetUTCDate::callAsFunction): (KJS::DateProtoFuncSetMonth::callAsFunction): (KJS::DateProtoFuncSetUTCMonth::callAsFunction): (KJS::DateProtoFuncSetFullYear::callAsFunction): (KJS::DateProtoFuncSetUTCFullYear::callAsFunction): (KJS::DateProtoFuncSetYear::callAsFunction): (KJS::DateProtoFuncGetYear::callAsFunction):
  • kjs/date_object.h:
  • kjs/lookup.cpp: (KJS::Lookup::find):
  • kjs/lookup.h: (KJS::HashEntry::): (KJS::staticFunctionGetter): (KJS::staticValueGetter): (KJS::getStaticPropertySlot): (KJS::getStaticFunctionSlot): (KJS::lookupPut):
  • kjs/math_object.cpp: (KJS::MathObjectImp::getOwnPropertySlot): (KJS::MathProtoFuncAbs::callAsFunction): (KJS::MathProtoFuncACos::callAsFunction): (KJS::MathProtoFuncASin::callAsFunction): (KJS::MathProtoFuncATan::callAsFunction): (KJS::MathProtoFuncATan2::callAsFunction): (KJS::MathProtoFuncCeil::callAsFunction): (KJS::MathProtoFuncCos::callAsFunction): (KJS::MathProtoFuncExp::callAsFunction): (KJS::MathProtoFuncFloor::callAsFunction): (KJS::MathProtoFuncLog::callAsFunction): (KJS::MathProtoFuncMax::callAsFunction): (KJS::MathProtoFuncMin::callAsFunction): (KJS::MathProtoFuncPow::callAsFunction): (KJS::MathProtoFuncRandom::callAsFunction): (KJS::MathProtoFuncRound::callAsFunction): (KJS::MathProtoFuncSin::callAsFunction): (KJS::MathProtoFuncSqrt::callAsFunction): (KJS::MathProtoFuncTan::callAsFunction):
  • kjs/math_object.h: (KJS::MathObjectImp::classInfo): (KJS::MathObjectImp::):
  • kjs/string_object.cpp: (KJS::StringPrototype::getOwnPropertySlot): (KJS::StringProtoFuncToString::callAsFunction): (KJS::StringProtoFuncValueOf::callAsFunction): (KJS::StringProtoFuncCharAt::callAsFunction): (KJS::StringProtoFuncCharCodeAt::callAsFunction): (KJS::StringProtoFuncConcat::callAsFunction): (KJS::StringProtoFuncIndexOf::callAsFunction): (KJS::StringProtoFuncLastIndexOf::callAsFunction): (KJS::StringProtoFuncMatch::callAsFunction): (KJS::StringProtoFuncSearch::callAsFunction): (KJS::StringProtoFuncReplace::callAsFunction): (KJS::StringProtoFuncSlice::callAsFunction): (KJS::StringProtoFuncSplit::callAsFunction): (KJS::StringProtoFuncSubstr::callAsFunction): (KJS::StringProtoFuncSubstring::callAsFunction): (KJS::StringProtoFuncToLowerCase::callAsFunction): (KJS::StringProtoFuncToUpperCase::callAsFunction): (KJS::StringProtoFuncToLocaleLowerCase::callAsFunction): (KJS::StringProtoFuncToLocaleUpperCase::callAsFunction): (KJS::StringProtoFuncLocaleCompare::callAsFunction): (KJS::StringProtoFuncBig::callAsFunction): (KJS::StringProtoFuncSmall::callAsFunction): (KJS::StringProtoFuncBlink::callAsFunction): (KJS::StringProtoFuncBold::callAsFunction): (KJS::StringProtoFuncFixed::callAsFunction): (KJS::StringProtoFuncItalics::callAsFunction): (KJS::StringProtoFuncStrike::callAsFunction): (KJS::StringProtoFuncSub::callAsFunction): (KJS::StringProtoFuncSup::callAsFunction): (KJS::StringProtoFuncFontcolor::callAsFunction): (KJS::StringProtoFuncFontsize::callAsFunction): (KJS::StringProtoFuncAnchor::callAsFunction): (KJS::StringProtoFuncLink::callAsFunction):
  • kjs/string_object.h:

WebCore:

Reviewed by Darin.

Convert JavaScript internal function objects to use one class per
function. This avoids a switch statement inside what used to be
the shared function classes and will allow Shark to better analyze
the code.

To make this switch, the value property of the HashEntry was changed
to a union of an intptr_t (which is used to continue handle valueGetters)
and function pointer which points to a static constructor for the
individual new function objects.

SunSpider claims this is a 0.5% speedup.

  • On the WebCore side, I updated CodeGeneratorJS.pm to generate the new classes and hand updated the remain non-generated (groan) classes.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetOwnPropertySlot):
  • bindings/js/JSEventTargetNode.cpp: (WebCore::JSEventTargetNodePrototypeFunctionAddEventListener::callAsFunction): (WebCore::JSEventTargetNodePrototypeFunctionRemoveEventListener::callAsFunction): (WebCore::JSEventTargetNodePrototypeFunctionDispatchEvent::callAsFunction):
  • bindings/js/JSEventTargetNode.h:
  • bindings/js/JSHTMLInputElementBase.cpp: (WebCore::JSHTMLInputElementBaseFunctionSetSelectionRange::callAsFunction): (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
  • bindings/js/JSHTMLInputElementBase.h: (WebCore::JSHTMLInputElementBase::):
  • bindings/js/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequestPrototypeFunctionAbort::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionGetAllResponseHeaders::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionGetResponseHeader::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionOpen::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionSend::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionSetRequestHeader::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionOverrideMIMEType::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionAddEventListener::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionRemoveEventListener::callAsFunction): (KJS::JSXMLHttpRequestPrototypeFunctionDispatchEvent::callAsFunction):
  • bindings/js/JSXMLHttpRequest.h: (KJS::JSXMLHttpRequest::impl):
  • bindings/js/JSXSLTProcessor.cpp: (KJS::JSXSLTProcessorPrototypeFunctionImportStylesheet::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionTransformToDocument::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionSetParameter::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionGetParameter::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionRemoveParameter::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionClearParameters::callAsFunction): (KJS::JSXSLTProcessorPrototypeFunctionReset::callAsFunction):
  • bindings/js/JSXSLTProcessor.h:
  • bindings/js/kjs_events.cpp: (WebCore::JSClipboardPrototypeFunctionClearData::callAsFunction): (WebCore::JSClipboardPrototypeFunctionGetData::callAsFunction): (WebCore::JSClipboardPrototypeFunctionSetData::callAsFunction): (WebCore::JSClipboardPrototypeFunctionSetDragImage::callAsFunction):
  • bindings/js/kjs_events.h:
  • bindings/js/kjs_navigator.cpp: (KJS::Plugins::): (KJS::Navigator::getOwnPropertySlot): (KJS::Plugins::getOwnPropertySlot): (KJS::PluginsFunctionRefresh::callAsFunction): (KJS::NavigatorProtoFuncJavaEnabled::callAsFunction):
  • bindings/js/kjs_navigator.h: (KJS::Navigator::):
  • bindings/js/kjs_window.cpp: (KJS::Window::getOwnPropertySlot): (KJS::Window::put): (KJS::WindowProtoFuncAToB::callAsFunction): (KJS::WindowProtoFuncBToA::callAsFunction): (KJS::WindowProtoFuncOpen::callAsFunction): (KJS::WindowProtoFuncScrollBy::callAsFunction): (KJS::WindowProtoFuncScrollTo::callAsFunction): (KJS::WindowProtoFuncMoveBy::callAsFunction): (KJS::WindowProtoFuncMoveTo::callAsFunction): (KJS::WindowProtoFuncResizeBy::callAsFunction): (KJS::WindowProtoFuncResizeTo::callAsFunction): (KJS::WindowProtoFuncSetTimeout::callAsFunction): (KJS::WindowProtoFuncClearTimeout::callAsFunction): (KJS::WindowProtoFuncSetInterval::callAsFunction): (KJS::WindowProtoFuncAddEventListener::callAsFunction): (KJS::WindowProtoFuncRemoveEventListener::callAsFunction): (KJS::WindowProtoFuncShowModalDialog::callAsFunction): (KJS::WindowProtoFuncNotImplemented::callAsFunction): (KJS::Location::getOwnPropertySlot): (KJS::Location::put): (KJS::LocationProtoFuncReplace::callAsFunction): (KJS::LocationProtoFuncReload::callAsFunction): (KJS::LocationProtoFuncAssign::callAsFunction): (KJS::LocationProtoFuncToString::callAsFunction):
  • bindings/js/kjs_window.h: (KJS::Window::):
  • bindings/scripts/CodeGeneratorJS.pm:
12:22 PM Changeset in webkit [27607] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Windows build fix

Reviewed by Sam and Ada.

  • wtf/MathExtras.h: Get rid of a circular #include dependency to fix the build.
11:58 AM Changeset in webkit [27606] by Adam Roben
  • 2 edits in trunk/JavaScriptCore

Fix a precedence warning on Windows

  • kjs/JSImmediate.h: (KJS::JSImmediate::toBoolean):
11:49 AM Changeset in webkit [27605] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Build fix for JavaScriptGlue.

  • wtf/MathExtras.h: Include stdlib.h for srand and RAND_MAX.
11:45 AM Changeset in webkit [27604] by mrowe@apple.com
  • 1 edit
    1 add in trunk/JavaScriptGlue

2007-11-08 Mark Rowe <mrowe@apple.com>

Build fix.

  • ForwardingHeaders/wtf/MathExtras.h: Copied from WebCore/ForwardingHeaders/wtf/MathExtras.h.
11:38 AM Changeset in webkit [27603] by Darin Adler
  • 2 edits in trunk/JavaScriptCore
  • Windows build fix
  • kjs/JSImmediate.h: Include MathExtras.h rather than math.h since this file uses "signbit".
10:27 AM Changeset in webkit [27602] by oliver
  • 3 edits in trunk/JavaScriptCore

Replace the use of floats for immediate values with the use of integers for a 4.5% improvement in SunSpider.

Reviewed by Darin.

Unfortunately this change results in NaN, +Inf, -Inf, and -0 being heap allocated now, but
we should now have faster array access, faster immediate to double conversion, and the
potential to further improve bitwise operators in future.

This also removes the need for unions to avoid strict aliasing problems when extracting
a value from immediates.

  • kjs/JSImmediate.h:

(KJS::):
(KJS::JSImmediate::trueImmediate):
(KJS::JSImmediate::falseImmediate):
(KJS::JSImmediate::undefinedImmediate):
(KJS::JSImmediate::nullImmediate):
(KJS::JSImmediate::toBoolean):

  • kjs/value.h:

(KJS::jsNaN):

9:18 AM Changeset in webkit [27601] by mrowe@apple.com
  • 4 edits in trunk/WebCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Fix the Gtk, Qt and Wx builds.

  • platform/gtk/TemporaryLinkStubs.cpp:
  • platform/qt/TemporaryLinkStubs.cpp:
  • platform/wx/TemporaryLinkStubs.cpp:
8:50 AM Changeset in webkit [27600] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Not reviewed. Fix two instances of includes using the wrong case in the filename.

  • platform/graphics/mac/MoviePrivateQTKit.mm:
  • platform/wx/MimeTypeRegistryWx.cpp:
7:42 AM Changeset in webkit [27599] by Darin Adler
  • 5 edits in trunk

WebCore:

Reviewed by Adam.

  • fix <rdar://problem/5552943> accesskey does not focus <button> elements

Test: fast/forms/access-key.html

  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::accessKeyAction): Added a call to focus.

LayoutTests:

Reviewed by Adam.

  • test changes for <rdar://problem/5552943> accesskey does not focus <button> elements
  • fast/forms/access-key.html: Check for both focus and click events on all elements, but resisted the urge to switch to the American spelling for "focused".
  • fast/forms/access-key-expected.txt: Updated to reflect the bug fix ("1 button focussed"), the fact that <input type=button>, <input type=checkbox>, <input type=submit>, and <input type=reset> are all both focused and clicked ("2 input type button clicked", "3 input type checkbox clicked", "5 input type submit focussed", and "6 input type reset focussed"). Unfortunately this now also demonstrates that we don't send a click to <input type=text> and Gecko does. And there are still quite a few types that are not covered.
7:40 AM Changeset in webkit [27598] by Darin Adler
  • 31 edits
    3 deletes in trunk

WebCore:

Reviewed by Steve.

  • cut down on notImplemented() functions on Windows
  • bridge/AXObjectCache.h: Put #if around the accessibility global.
  • bridge/win/FrameWin.cpp: (WebCore::Frame::setNeedsReapplyStyles): Moved here from TemporaryLinkStubs.
  • dom/Document.cpp: (WebCore::Document::lastModified): Re-implemented using the ResourceResponse that's now available from the DocumentLoader.
  • editing/JSEditor.cpp: (execTranspose): Changed to call transpose() on the Editor instead of the obsolete one on the Frame.
  • loader/DocumentLoader.h: Removed getResponseModifiedHeader.
  • loader/FrameLoader.h: Removed overrideMediaType.
  • loader/gtk/DocumentLoaderGtk.cpp: Removed.
  • loader/mac/DocumentLoaderMac.mm: Removed.
  • loader/qt/DocumentLoaderQt.cpp: Removed.
  • page/Frame.cpp: Removed transpose.
  • page/Frame.h: Ditto.
  • page/FrameView.h: Removed updateBorder.
  • page/gtk/FrameGtk.cpp: Removed issueTransposeCommand.
  • page/mac/FrameMac.mm: Ditto.
  • page/mac/WebCoreFrameBridge.h: Removed issueTransposeCommand and overrideMediaType.
  • page/qt/FrameQt.cpp: Removed issueTransposeCommand.
  • platform/gtk/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled.
  • platform/qt/TemporaryLinkStubs.cpp: Ditto.
  • platform/win/TemporaryLinkStubs.cpp: Removed or moved all but 3 of the stubs.
  • platform/wx/TemporaryLinkStubs.cpp: Removed gAccessibilityEnabled, issueTransposeCommand, and overrideMediaType.
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::loadsBlocked): Moved here from TemporaryLinkStubs. (WebCore::ResourceHandle::willLoadFromCache): Ditto.
  • platform/win/GraphicsContextWin.cpp: (WebCore::GraphicsContextPlatformPrivate::clip): Ditto.
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::inWindow): Ditto.
  • platform/win/SystemTimeWin.cpp: (WebCore::userIdleTime): Ditto.
  • platform/win/WidgetWin.cpp: (WebCore::Widget::setIsSelected): Ditto.
  • WebCore.pro: Updated for removed files.
  • WebCore.xcodeproj/project.pbxproj: Updated for removed file.

WebKit/mac:

Reviewed by Steve.

  • removed some unused WebCore bridge methods
  • WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of using the bridge object.

WebKit/win:

Reviewed by Steve.

  • Interfaces/IWebUIDelegate.idl: Added the functions needed below.
  • WebChromeClient.cpp: (WebChromeClient::setMenubarVisible): Eliminated the notImplemented() here by calling through the UI delegate. (WebChromeClient::menubarVisible): Ditto. (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
7:12 AM Changeset in webkit [27597] by mrowe@apple.com
  • 3 edits in trunk/WebCore

2007-11-08 Mark Rowe <mrowe@apple.com>

Build fix for case-sensitive file systems. Fix case of file names
in #include's.

  • html/HTMLMediaElement.cpp:
  • platform/graphics/Movie.cpp:
6:18 AM Changeset in webkit [27596] by hausmann
  • 2 edits in trunk/WebKit/qt

Build fix for Qt 4.3.

12:20 AM Changeset in webkit [27595] by hausmann
  • 2 edits in trunk/WebCore

Remove some warnings about not implemented methods.

  • ResourceHandle::loadsBlocked and ResourceHandle::supportsBufferedData are specific to the NS API and won't be implemented on Qt.
  • ResourceHandle::bufferedData can not be reached as we return false in ResourceHandle::supportsBufferedData.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27594] by hausmann
  • 4 edits in trunk

Cleanup checking for the request method.

  • Check the request method only in QWebNetworkManager::add.
  • Currently HEAD, GET, POST are allowed and for everything else QWebNetworkManager::add returns false.
  • Returning false is compatible with ResourceHandle::start and it can be used in ResourceHandle::loadResourceSynchronously to generate a ResourceError

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27593] by hausmann
  • 2 edits in trunk/WebCore

Implement WebCore::callOnMainThread

Implemented using a global QObject, that is moved to the main thread
and then sending a custom event to it.
Picked a number below QEvent::User but above any other documented value.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27592] by hausmann
  • 3 edits in trunk/WebKit/qt

Fix bug in the implementation of synchronous network jobs.

  • George (pmax) reviewed the networking patches and found the following bug (thanks for reviewing)
  • if (jobMode == AsynchronousJob) {

+ if (jobMode == SynchronousJob) {

add job to synchronous list/hash

  • Just applying the above change will lead to crashes because we can finish jobs before we started them.
  • Avoid these issues by saving all work (starting a job, sending data and finishing it) inside one list. JobWork will contain any of the above three work types and doWork will just work on this list (m_pendingWork). As foreach takes a copy of the list calling started, data and finished will not add new work and we gurantee that if we have JobStarted it will be in the list before JobData and JobFinished.
  • Observation: We might just kill the code to handle sync jobs.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:20 AM Changeset in webkit [27591] by hausmann
  • 2 edits in trunk/WebCore

Avoid problems with calling QPainter::begin() on an already active paintdevice

  • Partial pick from 6200e04c3e0a77873c3b3f3969b65bc701020326 to avoid getting crashes on Qt/Mac 4.4 with QPainter::begin to fail because we already draw.
  • If we are in a layout or need one do not paint. This can happen for the PlatformScrollBar used by the ScrollView on a layout triggered by QWebPage::paintEvent.

Signed-off-by: Lars Knoll <lars@trolltech.com>

12:03 AM Changeset in webkit [27590] by eric@webkit.org
  • 2 edits in trunk/WebCore

2007-11-08 Eric Seidel <eric@webkit.org>

No review.

  • ksvg2/svg/SVGPathElement.h: remove old comment

Nov 7, 2007:

11:58 PM Changeset in webkit [27589] by eric@webkit.org
  • 5 edits in trunk/JavaScriptCore

2007-11-07 Eric Seidel <eric@webkit.org>

Reviewed by Darin and Oliver.


Add evaluateToNumber parallel evaluation tree to speed up number operations.
Make ImmediateNumberNode a subclass of NumberNode.
Share evaluate logic between evaluate and evaluateToNumber using inline functions
There is still a lot of improvement to be made here.


SunSpider claims this is a 1.0% speedup overall (nbody 7.9%), base64 slowing 2.0%
Given the huge win that this prepares us for with simple type inferencing I see the small
regression in base64 being worth the substantial overall improvement.

  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::Node::evaluateToNumber): (KJS::NumberNode::evaluate): (KJS::NumberNode::evaluateToNumber): (KJS::StringNode::evaluateToNumber): (KJS::LocalVarAccessNode::inlineEvaluate): (KJS::LocalVarAccessNode::evaluate): (KJS::LocalVarAccessNode::evaluateToNumber): (KJS::BracketAccessorNode::inlineEvaluate): (KJS::BracketAccessorNode::evaluate): (KJS::BracketAccessorNode::evaluateToNumber): (KJS::NegateNode::evaluate): (KJS::NegateNode::evaluateToNumber): (KJS::MultNode::inlineEvaluateToNumber): (KJS::MultNode::evaluate): (KJS::MultNode::evaluateToNumber): (KJS::DivNode::inlineEvaluateToNumber): (KJS::DivNode::evaluate): (KJS::DivNode::evaluateToNumber): (KJS::ModNode::inlineEvaluateToNumber): (KJS::ModNode::evaluate): (KJS::ModNode::evaluateToNumber): (KJS::throwOutOfMemoryErrorToNumber): (KJS::addSlowCaseToNumber): (KJS::add): (KJS::addToNumber): (KJS::AddNode::evaluateToNumber): (KJS::SubNode::inlineEvaluateToNumber): (KJS::SubNode::evaluate): (KJS::SubNode::evaluateToNumber): (KJS::valueForReadModifyAssignment): (KJS::ReadModifyLocalVarNode::evaluate): (KJS::ReadModifyResolveNode::evaluate): (KJS::ReadModifyDotNode::evaluate): (KJS::ReadModifyBracketNode::evaluate):
  • kjs/nodes.h: (KJS::Node::): (KJS::NumberNode::): (KJS::ImmediateNumberNode::): (KJS::AddNode::precedence):
  • kjs/nodes2string.cpp: (KJS::NumberNode::streamTo):
11:40 PM Changeset in webkit [27588] by sfalken
  • 3 edits in trunk/WebKit/win

Added IWebDocumentText available via QI from WebFrame.


Reviewed by Sam.

  • WebFrame.cpp: (WebFrame::QueryInterface): Added IID_IWebDocumentText. (WebFrame::supportsTextEncoding): Stubbed out. (WebFrame::selectedString): Implemented. (WebFrame::selectAll): Stubbed out. (WebFrame::deselectAll): Stubbed out.
  • WebFrame.h:
10:13 PM Changeset in webkit [27587] by antti
  • 2 edits in trunk/WebCore

Reviewed by Ollie.

Ensure video renderer has correct size if video has already been loaded
when it is constructed.

  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::RenderVideo):
8:24 PM Changeset in webkit [27586] by antti
  • 2 edits in trunk/WebCore

Reviewed by Ollie.

Ensure video is visible when it should be.

  • rendering/RenderVideo.cpp: (WebCore::RenderVideo::updateMovie):
5:54 PM Changeset in webkit [27585] by mitz@apple.com
  • 4 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

  • fix <rdar://problem/5523503> Safari crashes clicking scroll bar in FaceBook 'Trips'

Layers and listboxes are two kinds of ScrollBarClient that can be
removed while the scrollbar is tracking the mouse. The scrollbar is not
destroyed until later, and meanwhile it can try to call the client,
which results in a crash.

  • manual-tests/stale-scrollbar-client-crash.html: Added.
  • platform/ScrollBar.h: (WebCore::Scrollbar::setClient): Added.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::destroyScrollbar): Call Scrollbar::setClient().
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::~RenderListBox): Ditto.
5:45 PM Changeset in webkit [27584] by mitz@apple.com
  • 3 edits in trunk/WebKitTools

Reviewed by Darin Adler.

  • add an option to run-webkit-tests to ignore pixel test failures where all pixels differ by no more than a specified threshold
  • DumpRenderTree/mac/ImageDiff.m: (main): (compareImages): (computePercentageDifferent):
  • Scripts/run-webkit-tests:
3:45 PM Changeset in webkit [27583] by aroben
  • 4 edits in trunk

Fix <rdar://5569268> Crash when opening any FTP site in second tab/window

WebCore:

Fix <rdar://5569268> Crash when opening any FTP site in second tab/window

Reviewed by Sam.

No test possible.

  • platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): Bail if we get an empty path, because _wfopen_s will crash if we pass it a null pointer.

WebKit/win:

Fix <rdar://5569268> Crash when opening any FTP site in second tab/window

Reviewed by Sam.

  • WebView.cpp: (WebView::initWithFrame): Set the ftpDirectoryTemplatePath for every Page, not just the first one.
3:09 PM Changeset in webkit [27582] by mrowe@apple.com
  • 1 edit
    1 add in trunk/WebKit

2007-11-07 Mark Rowe <mrowe@apple.com>

Reviewed by Kevin Decker.

Fix 64-bit Mac build.

  • WebKit.xcodeproj/project.pbxproj: Change paths specified relative to SRCROOT to be relative to PROJECT_DIR. PROJECT_DIR takes into account the projectDirPath setting of the project, which in this instance includes the necessary "mac" subdirectory.
1:54 PM Changeset in webkit [27581] by ddkilzer
  • 3 edits
    7 adds in trunk

WebCore:

WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
<http://bugs.webkit.org/show_bug.cgi?id=14893>
<rdar://problem/5380295>

Reviewed by Darin.

Tests: fast/css/device-aspect-ratio.html

fast/css/max-device-aspect-ratio.html
fast/css/min-device-aspect-ratio.html

  • css/MediaQueryEvaluator.cpp: (WebCore::parseAspectRatio): Renamed method parameters from a/b to h/v. (WebCore::device_aspect_ratioMediaFeatureEval): Renamed local variables from a/b to h/v. Switched first two arguments of the call to cmpvalue() to fix the bug.

LayoutTests:

WebKit confuses width/height for Media Queries device-aspect-ratio evaluation
<http://bugs.webkit.org/show_bug.cgi?id=14893>
<rdar://problem/5380295>

Reviewed by Darin.

Each of the following tests creates a <link> element and dynamically sets its
media query based on the aspect ratio (width/height) of the current screen.
When the <link> element is attached to the <head> node, the test expects the
stylesheet to be loaded for the test to pass.

  • fast/css/device-aspect-ratio-expected.txt: Added.
  • fast/css/device-aspect-ratio.html: Added.

This test sets the device-aspect-ratio to the current size of the screen.
NOTE: This test passed before the fix.

  • fast/css/max-device-aspect-ratio-expected.txt: Added.
  • fast/css/max-device-aspect-ratio.html: Added.

This test sets the max-device-aspect ratio to 100/1 for landscape monitors or
1/1 for portrait (or square) monitors.
NOTE: This test failed before the fix.

  • fast/css/min-device-aspect-ratio-expected.txt: Added.
  • fast/css/min-device-aspect-ratio.html: Added.

This test sets the min-device-aspect ratio to 1/1 for landscape monitors or
1/100 for portrait (or square) monitors.
NOTE: This test failed before the fix.

  • fast/css/resources/device-aspect-ratio.css: Added.
1:44 PM Changeset in webkit [27580] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Roll out r27578 as it is not necessary.

12:59 PM Changeset in webkit [27579] by mitz@apple.com
  • 3 edits
    2 adds in trunk

WebCore:

Reviewed by Dave Hyatt.

Test: fast/css/display-none-inline-style-change-crash.html

  • dom/Element.cpp: (WebCore::Element::recalcStyle): Fixed the crash by null-checking the current style and removed other checks that are not strictly necessary.

LayoutTests:

Reviewed by Dave Hyatt.

  • fast/css/display-none-inline-style-change-crash-expected.txt: Added.
  • fast/css/display-none-inline-style-change-crash.html: Added.
12:11 PM Changeset in webkit [27578] by tristan
  • 2 edits in trunk/WebCore

Reviewed by Kevin Decker.

Build fix for Leopard. Cast a size() as int to unsigned for proper
comparison.

  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::writeHelper): Casted an int to unsigned for an unsigned to unsigned comparison.
11:31 AM Changeset in webkit [27577] by beidson@apple.com
  • 2 edits in trunk/WebCore

Rubberstamped by Sam

Remove FrameLoaderClient methods from SVG that were pruned awhile ago

  • platform/graphics/svg/SVGImageEmptyClients.h:
10:52 AM Changeset in webkit [27576] by mitz@apple.com
  • 5 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.

  • fix a bug where CSS rules with :hover in the ancestor chain stopped working after changing the inline style declaration of the ancestor

Test: fast/css/affected-by-hover-after-style-change.html

  • dom/Element.cpp: (WebCore::Element::recalcStyle): If we are not forcing style recalculation for all descendants, preserve any "affected by {hover|active|drag} bits that we may have acquired from them. Also renamed _style to currentStyle.

WebKitSite:

Reviewed by Darin Adler.

  • removed a workaround for the bug fixed in the WebCore part of this patch
  • misc/DatabaseExample.html:

LayoutTests:

Reviewed by Darin Adler.

  • test that CSS rules with :hover in the ancestor chain continue to work after changing the inline style declaration of the ancestor
  • fast/css/affected-by-hover-after-style-change.html: Added.
  • platform/mac/fast/css/affected-by-hover-after-style-change-expected.checksum: Added.
  • platform/mac/fast/css/affected-by-hover-after-style-change-expected.png: Added.
  • platform/mac/fast/css/affected-by-hover-after-style-change-expected.txt: Added.
9:56 AM Changeset in webkit [27575] by timothy@apple.com
  • 10 edits in trunk/WebCore

Reviewed by Adam.

Bug 11920: Web Inspector should have Firebug-like CSS editing
http://bugs.webkit.org/show_bug.cgi?id=11920

  • css/CSSComputedStyleDeclaration.h: (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit): Return false. I'm not sure why this was true, but computed style has no concept of implicit. So false makes more sense and makes the code simpler in the inspector. This function was added for the inspector, so this isn't a compatibility change.
  • page/inspector/PropertiesSection.js: Add a getter/setter to reset populated status.
  • page/inspector/StylesSidebarPane.js: Some refactoring along with the main support for style editing.
  • page/inspector/inspector.css: Style changes for propery editing and focus correctness.
  • page/inspector/inspector.js: Look for a handleKeyEvent function of the focus element before trying to call a function based on the element's id. Call focused and blurred on the focused element when currentFocusElement is changed. Use the new listItemElement getter instead of the private property.
  • page/inspector/treeoutline.js: No longer expand on double click if ondblclick is implemented. Shrink the toggle zone to 10px to better match the size of the arrow. Add an onattach call to allow generation of the title using the DOM element. Add listItemElement and childrenListElement getters.
  • page/inspector/utilities.js: Add new helper prototype methods on CSSStyleDeclaration.
  • page/inspector/DocumentPanel.js: Use the new listItemElement getter instead of the private property. Also expand the DOM node on double click now that the TreeOutline dosen't do it.
  • page/inspector/Resource.js: Use the new listItemElement and childrenListElement getters instead of the private properties.
9:54 AM Changeset in webkit [27574] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-07 Mark Rowe <mrowe@apple.com>

Reviewed by Eric.

Fix up initialization after being mangled in r27572, and remove the
ternary expression as extraCost will always be zero for the numeric
heap.

  • kjs/collector.cpp: (KJS::Collector::heapAllocate):
9:54 AM Changeset in webkit [27573] by mrowe@apple.com
  • 2 edits in trunk/JavaScriptCore

2007-11-07 Mark Rowe <mrowe@apple.com>

Gtk build fix.

  • kjs/regexp_object.cpp:
9:52 AM JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
9:32 AM Changeset in webkit [27572] by ggaren@apple.com
  • 2 edits in trunk/JavaScriptCore

Reviewed by Beth Dakin.


Eliminated a bogus (though compiled-out) branch in the collector.

  • kjs/collector.cpp: (KJS::Collector::heapAllocate):
9:18 AM Changeset in webkit [27571] by ggaren@apple.com
  • 9 edits in trunk

JavaScriptCore:

Reviewed by Darin Adler.


Fixed part of http://bugs.webkit.org/show_bug.cgi?id=15861
15% of string-validate-input.js is spent compiling the same regular expression.

Put RegExpImp properties into a static hashtable to avoid a slew of
PropertyMap churn when creating a RegExpImp.


Factored important bits of regular expression implementation out of
RegExpImp (the JS object) and into RegExp (the PCRE wrapper class),
making RegExp a ref-counted class. (This will help later.)

Removed PCRE_POSIX support because I didn't quite know how to test it
and keep it working with these changes.


1.1% SunSpider speedup. 5.8% speedup on string-validate-input.js.

  • kjs/regexp.h: A few interface changes:
  1. Renamed "subpatterns()" => "numSubpatterns()"
  2. Made flag enumeration private and replaced it with public getters for specific flags.
  3. Made RegExp ref-counted so RegExps can be shared by RegExpImps.
  4. Made RegExp take a string of flags instead of an int, eliminating duplicated flag parsing code elsewhere.
  • kjs/regexp_object.cpp: (KJS::RegExpProtoFunc::callAsFunction): For RegExp.compile:
  • Fixed a bug where compile(undefined) would throw an exception.
  • Removed some now-redundant code.
  • Used RegExp sharing to eliminate an allocation and a bunch of PropertyMap thrash. (Not a big win since compile is a deprecated function. I mainly did this to test the plubming.)

LayoutTests:

Reviewed by Darin Adler.


Beefed up the RegExp.compile testcase to cover a mistake in the
original check-in and a mistake I made while developing my new patch.

  • fast/js/resources/regexp-compile.js:
8:36 AM Changeset in webkit [27570] by hausmann
  • 2 edits in trunk/JavaScriptCore

JavaScriptCore.pri expects OBJECTS_DIR to be set, so set it in
testkjs.pro, too, where it's included from.

8:14 AM Changeset in webkit [27569] by hausmann
  • 2 edits in trunk/WebCore

Coding style fix.

7:52 AM Changeset in webkit [27568] by hausmann
  • 2 edits in trunk/WebCore

For safety provide a default constructor for WindowFeatures().
ContextMenuController.cpp: createNewWindow as well as QWebPage need to
create a default initialized WindowFeatures object on the fly.

7:35 AM Changeset in webkit [27567] by hausmann
  • 2 edits in trunk/WebKit/qt

Fix the Qt build.

6:45 AM Changeset in webkit [27566] by hausmann
  • 5 edits in trunk

Fix "nmake clean" for the Qt/Windows build by replacing tmp/ with a variable that ends with the correct type of slash/backslash depending on the choice of compiler/make tool.

6:32 AM Changeset in webkit [27565] by hausmann
  • 7 edits in trunk

Make the setting of letting Javascript access the clipboard configurable through QWebSettings, turn it off by default and turn it on in DumpRenderTree.

6:32 AM Changeset in webkit [27564] by hausmann
  • 3 edits in trunk/WebKit/qt

Changed QWebPageHistory::goToItem to take a value instead of a pointer.

6:32 AM Changeset in webkit [27563] by hausmann
  • 2 edits in trunk/WebKit/qt

Removed unimplemented QWebHistoryItem::children() function

6:32 AM Changeset in webkit [27562] by hausmann
  • 2 edits in trunk/WebKit/qt

Changed the getter functions in QWebSettings to transparently resolve against the default settings.

6:31 AM Changeset in webkit [27561] by hausmann
  • 3 edits in trunk/WebKit/qt

Added explicit functions for resetting the font sizes and font families.

6:31 AM Changeset in webkit [27560] by hausmann
  • 3 edits in trunk/WebKit/qt

Combined the font sizes accessors/setters under one setter/getter with an enum.

6:31 AM Changeset in webkit [27559] by hausmann
  • 4 edits in trunk/WebKit/qt

Renamed QWebPage::userAgentStringForUrl(url) to QWebPage::userAgentFor(url);

6:31 AM Changeset in webkit [27558] by hausmann
  • 3 edits in trunk/WebKit/qt

Renamed QWebPage::webActionTriggered to QWebPage::triggerAction

6:31 AM Changeset in webkit [27557] by hausmann
  • 4 edits in trunk/WebKit/qt

Changed the virtual QWebPage::setWindowGeometry to be a geometryChangeRequest signal instead.

6:31 AM Changeset in webkit [27556] by hausmann
  • 4 edits in trunk/WebKit/qt

Renamed QWebPage::webAction() to QWebPage::action()

6:31 AM Changeset in webkit [27555] by hausmann
  • 3 edits in trunk/WebKit/qt

Removed a bunch of slots/functions that are now available through the new actions API.

6:31 AM Changeset in webkit [27554] by hausmann
  • 2 edits in trunk/WebKit/qt

Added some more comments to the API after another round of API review with Lars.

6:31 AM Changeset in webkit [27553] by hausmann
  • 5 edits in trunk/WebKit/qt

Moved QWebFrame::selectedText() to QWebPage::selectedText().

The currently selected text is a property of the page as a whole.

6:31 AM Changeset in webkit [27552] by hausmann
  • 3 edits in trunk/WebKit/qt

Implemented support for settings propagation.

If an individual setting is not set in a page's QWebSettings then it is inherited from the default settings.

6:31 AM Changeset in webkit [27551] by hausmann
  • 9 edits in trunk

Reworked the QWebSettings API.
QWebPage now returns a pointer to its mutable QWebSettings object and the settings of newly created QWebPageObjects are initialized from QWebSettings::defaultSettings().

6:30 AM Changeset in webkit [27550] by hausmann
  • 5 edits in trunk

Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.

6:30 AM Changeset in webkit [27549] by hausmann
  • 4 edits in trunk

Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.

6:30 AM Changeset in webkit [27548] by hausmann
  • 3 edits in trunk/WebKit/qt

Changed the icondatabase accessor to be a static function because it doesn't change the QWebSettings object.

6:30 AM Changeset in webkit [27547] by hausmann
  • 2 edits in trunk/WebKit/qt

Changed the webAction() accessor to not be a slot but just a public function.

6:30 AM Changeset in webkit [27546] by hausmann
  • 2 edits in trunk/WebKit/qt

Implemented createWindow() in QtLauncher.

6:30 AM Changeset in webkit [27545] by hausmann
  • 2 edits in trunk/WebKit/qt

Implemented opening links in new windows

6:30 AM Changeset in webkit [27544] by hausmann
  • 3 edits in trunk/WebKit/qt

Added and implemented the "OpenLink" action.

6:30 AM Changeset in webkit [27543] by hausmann
  • 2 edits in trunk/WebKit/qt

Adjust the state of the reload action correctly.

6:30 AM Changeset in webkit [27542] by hausmann
  • 3 edits in trunk/WebKit/qt

Initialize the undo/redo actions from QUndoStack. That automatically takes care of enabling/disabling them as well as the activation/trigger.

6:30 AM Changeset in webkit [27541] by hausmann
  • 2 edits in trunk/WebKit/qt

Added undo/redo toolbar buttons, moved the location line edit into a separate toolbar.

6:30 AM Changeset in webkit [27540] by hausmann
  • 4 edits in trunk/WebKit/qt

Update the editor actions when the selection changes.

6:29 AM Changeset in webkit [27539] by hausmann
  • 2 edits in trunk/WebKit/qt

Added cut/copy/paste actions to the toolbar of QtLauncher

6:29 AM Changeset in webkit [27538] by hausmann
  • 4 edits in trunk/WebKit/qt

Started working on keeping the state of the navigation actions up-to-date.

6:29 AM Changeset in webkit [27537] by hausmann
  • 2 edits in trunk/WebKit/qt

Use the navigational web actions in the toolbar

6:29 AM Changeset in webkit [27536] by hausmann
  • 4 edits in trunk/WebKit/qt

Store a bunch of QActions in QWebPagePrivate, corresponding to QWebPage::WebAction.
Added QWebPageContext to hold context sensitive information (for example used by the context menu).

6:29 AM Changeset in webkit [27535] by hausmann
  • 3 edits in trunk/WebKit/qt

Moved the editing actions implemented in keyPressEvent into webActionTriggered.

6:29 AM Changeset in webkit [27534] by hausmann
  • 3 edits in trunk/WebKit/qt

Introduced a central virtual void webActionTriggered(WebAction action) method that is called from various
convenience methods such as cut()/copy()/paste().

6:29 AM Changeset in webkit [27533] by hausmann
  • 9 edits in trunk

Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
in ContextMenu::populate().
For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
out of it. That menu is currently not functional anymore though.

6:29 AM Changeset in webkit [27532] by hausmann
  • 5 edits in trunk

Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
on it.

6:29 AM Changeset in webkit [27531] by hausmann
  • 6 edits in trunk

Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.

6:28 AM Changeset in webkit [27530] by hausmann
  • 4 edits in trunk/WebKit/qt

Turned onLoadProgressChanged into a real private slot.

6:28 AM Changeset in webkit [27529] by hausmann
  • 8 edits in trunk

Make QWebHistory an explicitly shared object, returned as a pointer by QWebPage::history().

6:23 AM Changeset in webkit [27528] by hausmann
  • 2 edits in trunk/WebKit/qt

comments on API changes that we'd like to do.

6:21 AM Changeset in webkit [27527] by hausmann
  • 7 edits in trunk

Add a QWebPage::frameCreated() signal and fix DRT

The removal of createFrame in QWebPage broke the re-implementation
in DumpRenderTree. Instead emit a frameCreated() signal and
connect to it in DumpRenderTree.

Signed-off-by: Lars Knoll <lars@trolltech.com>

6:19 AM Changeset in webkit [27526] by hausmann
  • 4 edits in trunk/WebKit/qt

Remove QWebPage::createFrame()

now that QWebFrame doesn't have virtual methods anymore, there
is no need for a createFrame() factory method in QWebpage.

6:17 AM Changeset in webkit [27525] by hausmann
  • 8 edits in trunk

Moved all the event handlers from QWebFrame into QWebPage.

This cleans up the public API and allows us to remove the
HackWebFrame hack in DumpRenderTree.

Signed-off-by: Lars Knoll <lars@trolltech.com>

6:01 AM Changeset in webkit [27524] by hausmann
  • 5 edits
    1 add in trunk

don't put nbsp's into the plan text paste

Fix both ClipboardQt and PasteboardQt to replace
nbsp's with spaces before putting the text onto the
native clipboard. This is consistent with Mac and Win
and fixes at least editing/pasteboard/4076267-3.html

6:01 AM Changeset in webkit [27523] by hausmann
  • 1 edit
    110 adds in trunk/LayoutTests/platform/qt

Add now passing tests

The fix of umemcasecmp in UnicodeQt4.h fixed quite a lot
of test falures. Add these to our regression tests.

6:01 AM Changeset in webkit [27522] by hausmann
  • 32 edits in trunk/LayoutTests

update test results after the last commit.

6:01 AM Changeset in webkit [27521] by hausmann
  • 2 edits in trunk/JavaScriptCore

fix umemcasecmp

Pretty embarrassing bug. Has the potential to fix quite a few test failures.

6:00 AM Changeset in webkit [27520] by hausmann
  • 2 edits in trunk/LayoutTests

Update the list of skipped tests.

Three more tests are passing.

5:45 AM Changeset in webkit [27519] by hausmann
  • 2 edits in trunk/WebCore

Implement Pasteboard::writeImage()

  • Pasteboard is now fully implemented. Copying of Images into the Clipboard is now supported.
  • As with URLs we only copy into the Clipboard (and not additionally to the Selection)

Signed-off-by: Lars Knoll <lars@trolltech.com>

5:45 AM Changeset in webkit [27518] by hausmann
  • 2 edits in trunk/WebCore

Apple CodingStyle fixes

Signed-off-by: Lars Knoll <lars@trolltech.com>

5:45 AM Changeset in webkit [27517] by hausmann
  • 2 edits in trunk/WebCore

Implement Pasteboard::writeURL()

  • The URL currently gets written as text/plain and text/uri-list. The win and mac port have some more types which we currently do not support. When supporting them we can use the 'titleString' as well.
  • As with writeSelection we only copy into the Clipboard. We could consider copying into the Selection as well.

Signed-off-by: Lars Knoll <lars@trolltech.com>

5:45 AM Changeset in webkit [27516] by hausmann
  • 2 edits in trunk/WebCore

Kill whitespace

Signed-off-by: Lars Knoll <lars@trolltech.com>

5:45 AM Changeset in webkit [27515] by hausmann
  • 2 edits in trunk/WebKit/qt

Use correct UserAgent string.

  • Only have one User Agent String and this place is QWebPage
  • QWebPage::open -> QWebNetworkRequest -> QWebPage::open -> ResourceRequest -> FrameLoader::load -> QWebNetworkRequest
  • ResourceRequest is != 0 when getting called from WebCore, we will only do requests when coming from WebCore and then we can use the User-Agent set with the help of the FrameLoaderClient
  • We might want to change QWebNetworkRequest a bit

Signed-off-by: Lars Knoll <lars@trolltech.com>

5:18 AM Changeset in webkit [27514] by hausmann
  • 2 edits in trunk/WebKitTools

Implemented the two Javascript prompt callbacks in qt/DumpRenderTree
to prevent the default implementation from popping up messageboxes.

4:47 AM Changeset in webkit [27513] by hausmann
  • 2 edits
    131 adds in trunk/LayoutTests

add more passing test cases.

4:47 AM Changeset in webkit [27512] by hausmann
  • 3 edits in trunk/WebCore

Use the correct function calls to convert a selection to
HTML or plain text.

4:47 AM Changeset in webkit [27511] by hausmann
  • 2 edits in trunk/WebKit/qt

remove two notImplemented() warnings, as I believe we don't
have to implement these methods. Add some (commented out)
debug code in one place.

4:44 AM Changeset in webkit [27510] by hausmann
  • 2 edits in trunk

Add WebKit/qt/Api to the dependency path when building QtLauncher and DumpRenderTree.
That means that changes to the public API of the Qt port also trigger a rebuild of the tools.

4:33 AM Changeset in webkit [27509] by hausmann
  • 2 edits in trunk/WebCore

Some more clipboard fixes.

We have to set things immediately on the QClipBoard if the
Clipboard object is not for dragging.

This is due to the fact that the Clipboard object might be
rather long lived if accessed through javascript (it'll only
get deleted by JS garbage collection). We have to transfer
the data over to the QClipboard before that to make things work.

Fixes editing/execCommand/copy-without-selection.html

2:32 AM Changeset in webkit [27508] by hausmann
  • 2 edits in trunk/WebCore

Fix compilation on Windows with non-cygwin perl.

2:14 AM Changeset in webkit [27507] by mrowe@apple.com
  • 1 edit in trunk/WebKit/mac/ChangeLog

Remove conflict marker.

1:53 AM Changeset in webkit [27506] by ap@webkit.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Corrected ChangeLog grammar.

1:52 AM Changeset in webkit [27505] by ap@webkit.org
  • 1 edit
    1 move
    1 add in trunk/LayoutTests

Finished moving editing/pasteboard/5583362.html to platform/mac (this test was crashing in ObjC test plugin,
because it couldn't find its resources.

  • editing/resources/plaintext-pasteboard-data.dat: Removed.
  • platform/mac/editing/resources: Added.
  • platform/mac/editing/resources/plaintext-pasteboard-data.dat: Copied from editing/resources/plaintext-pasteboard-data.dat.
12:11 AM Changeset in webkit [27504] by mitz@apple.com
  • 3 edits
    4 adds in trunk

WebCore:

Reviewed by Brady Eidson.

Test: fast/block/float/overhanging-after-height-decrease-offsets.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock):

LayoutTests:

Reviewed by Brady Eidson.

  • fast/block/float/overhanging-after-height-decrease-offsets.html: Added.
  • platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-offsets-expected.checksum: Added.
  • platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-offsets-expected.png: Added.
  • platform/mac/fast/block/float/overhanging-after-height-decrease-offsets-expected.txt: Added.

Nov 6, 2007:

11:23 PM Changeset in webkit [27503] by mjs
  • 2 edits in trunk/JavaScriptCore

Reviewed by Eric.


  • only collect when the heap is full, unless we have lots of extra cost garbage


1.1% SunSpider speedup.


This shouldn't hit memory use much since the extra space in those
blocks hangs around either way.

  • kjs/collector.cpp: (KJS::Collector::heapAllocate): (KJS::Collector::collect): Fix logic error that reversed the sense of collect's return value.
11:00 PM Changeset in webkit [27502] by aroben
  • 1 edit
    1 move in trunk/LayoutTests

Move a Mac-specific test to platform/mac

  • editing/pasteboard/5583362.html: Removed.
  • platform/mac/editing/pasteboard/5583362.html: Added.
10:03 PM Changeset in webkit [27501] by oliver
  • 3 edits in trunk/JavaScriptCore

Avoid unnecessarily boxing the result from post inc/decrement for 0.3% gain in sunspider

Reviewed by Maciej

We now convert the common 'for (...; ...; <var>++) ...' to the semantically identical
'for (...; ...; ++<var>) ...'.

9:44 PM JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
9:41 PM Changeset in webkit [27500] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2007-11-06 Eric Seidel <eric@webkit.org>

  • Scripts/build-testkjs: build fix... too many $$
9:31 PM Changeset in webkit [27499] by bdakin
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Sam.

<rdar://problem/5575812> REGRESSION:When using absolute positioning
with overflow:auto div, WebKit seems to add an additional 15px

  • rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockWidthForPositioned): We need to subtract off the vertical scrollbar width too.

LayoutTests:

Reviewed by Sam.

New test for <rdar://problem/5575812> REGRESSION:When using
absolute positioning with overflow:auto div, WebKit seems to add an
additional 15px

  • fast/overflow/overflow-auto-position-absolute.html: Added.
  • platform/mac/fast/overflow/overflow-auto-position-absolute-expected.checksum: Added.
  • platform/mac/fast/overflow/overflow-auto-position-absolute-expected.png: Added.
  • platform/mac/fast/overflow/overflow-auto-position-absolute-expected.txt: Added.


Test with changed results. The measurements in the rtl example now
more closely mirror the ltr example.

  • platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
9:29 PM Changeset in webkit [27498] by aroben
  • 5 edits in trunk/WebKit/win

Change WebLocalizableStrings to take UTF-8 C strings

This matches the way things work on the Mac, and will allow source
files containing localizable strings to be shared between Mac and
Windows. The old functions have not been removed for compatibility
reasons, but are now just wrappers around the new UTF-8 functions.

Reviewed by Ada.

  • WebKit.vcproj/WebKit.def: Added new functions.
  • WebKit.vcproj/WebKit_debug.def: Ditto.
  • WebLocalizableStrings.cpp: (copyLocalizedStringFromBundle): Changed to take a WebCore::String representing the key. (localizedString): Refactored from WebLocalizedString. Takes a WebCore::String representing the key. (localizedLPCTSTR): Ditto for WebLocalizedLPCTSTR. (WebLocalizedStringUTF8): Added. Takes a UTF-8 C string as the key. (WebLocalizedLPCTSTRUTF8): Ditto. (WebLocalizedString): Changed to call localizedString. (WebLocalizedLPCTSTR): Changed to call localizedLPCTSTR.
  • WebLocalizableStrings.h: Changed macros to use the new UTF-8 functions.
9:24 PM Changeset in webkit [27497] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2007-11-06 Eric Seidel <eric@webkit.org>

Reviewed by Mark Rowe.

  • Scripts/build-testkjs: return xcodebuild's exit status, instead of grep's
9:00 PM JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
7:01 PM Changeset in webkit [27496] by mrowe@apple.com
  • 2 edits
    24 moves
    1 add in trunk/WebKit

Move Mac files from WebKit into WebKit/mac.

5:13 PM Changeset in webkit [27495] by justing
  • 3 edits
    5 adds in trunk

WebCore:

Reviewed by Dan Bernstein.


<rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
<rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail

  • editing/markup.cpp: (WebCore::createFragmentFromText): Put paragraphs of text into clones of the block that encloses the input context, unless that block is the body, which shouldn't be cloned. In that case, use regular divs, as we did before r27369.

LayoutTests:

Reviewed by Dan Bernstein.

<rdar://problem/5583387> ASSERTION FAILED: !refChild->hasTagName(bodyTag) when pasting newline in plain text into rich text Mail
<rdar://problem/5583362> REGRESSION (5523.10.3-TOT): Newlines stripped when pasting plain text in Mail

  • editing/pasteboard/5583362.html: Added.
  • editing/resources/plaintext-pasteboard-data.dat: Added.
  • platform/mac/editing/pasteboard/5583362-expected.checksum: Added.
  • platform/mac/editing/pasteboard/5583362-expected.png: Added.
  • platform/mac/editing/pasteboard/5583362-expected.txt: Added.
5:03 PM Changeset in webkit [27494] by eseidel
  • 2 edits in trunk/JavaScriptCore

2007-11-06 Eric Seidel <eric@webkit.org>

Reviewed by darin.

This fixes a regressed layout test for string + object


SunSpider claims this was an overall 0.3% speedup, although some individual tests were slower.

  • kjs/nodes.cpp: (KJS::add): remove erroneous "fast path" for string + *
4:17 PM JavaScript performance improvement ideas edited by Darin Adler
(diff)
4:12 PM JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
4:11 PM JavaScript performance improvement ideas edited by eric@webkit.org
(diff)
4:06 PM Changeset in webkit [27493] by ggaren@apple.com
  • 3 edits in trunk/JavaScriptCore

Reviewed by Eric Seidel.


Added toJSNumber, a fast path for converting a JSValue to a JS number,
and deployed it in postfix expressions. In the fast case this
eliminates a call to jsNumber.


0.4% speedup on SunSpider.

  • ChangeLog:
  • kjs/nodes.cpp: (KJS::PostIncResolveNode::evaluate): (KJS::PostIncLocalVarNode::evaluate): (KJS::PostDecResolveNode::evaluate): (KJS::PostDecLocalVarNode::evaluate): (KJS::PostIncBracketNode::evaluate): (KJS::PostDecBracketNode::evaluate): (KJS::PostIncDotNode::evaluate): (KJS::PostDecDotNode::evaluate): (KJS::UnaryPlusNode::evaluate):
  • kjs/value.h: (KJS::JSValue::toJSNumber):
4:04 PM Changeset in webkit [27492] by mrowe@apple.com
  • 2 edits in trunk/WebCore

2007-11-06 Christian Dywan <christian@twotoasts.de>

Reviewed by Darin.

Fix http://bugs.webkit.org/show_bug.cgi?id=15828
Bug 15828: WebKit GTK include and lib directory is installed in qt4-named directory

  • WebCore.pro: Use sane default install paths for the gtk port.
4:02 PM Changeset in webkit [27491] by mrowe@apple.com
  • 2 edits in trunk/WebKit/gtk

2007-11-06 Rodney Dawes <dobey@wayofthemonkey.com>

Fix http://bugs.webkit.org/attachment.cgi?id=17043&action=view
Bug 15766: [GTK] WebKit sometimes spews binary data as text/plain into iframes

FrameLoaderClient::objectContentType needs to check with the MIMETypeRegistry
to determine whether the given MIME type is displayable as an image or non-image.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (FrameLoaderClient::objectContentType): Change logic to match that in the Windows and Mac ports.
3:19 PM Changeset in webkit [27490] by antti
  • 2 edits in trunk/LayoutTests

Correct test results.

  • platform/mac/fast/layers/layer-visibility-expected.txt:
3:00 PM Changeset in webkit [27489] by antti
  • 5 edits in trunk/LayoutTests

Reviewed by Hyatt.


Update test to cover
<rdar://problem/5521068>
Visibility not propagated correctly for children of a layer with z-index


The fix for this was (accidentally) already checked in with r27277,
with retroactive r=hyatt.

  • fast/layers/layer-visibility.html:
  • platform/mac/fast/layers/layer-visibility-expected.checksum:
  • platform/mac/fast/layers/layer-visibility-expected.png:
  • platform/mac/fast/layers/layer-visibility-expected.txt:
2:28 PM Changeset in webkit [27488] by justing
  • 4 edits
    4 adds in trunk

WebCore:

Reviewed by Darin Adler.


<rdar://problem/5576619>
REGRESSION: Caret disappears after deleting the last character in inline hole (15714)

  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteSelection): Like the other TypingCommands, including both of the other deletion commands, call typingAddedToOpenCommand(), which takes the command's endingSelection and sets it as selection.

LayoutTests:

Reviewed by Darin Adler.


<rdar://problem/5576619> REGRESSION: Caret disappears after deleting the last character in inline hole (15714)

  • platform/mac/editing/input/5576619-expected.checksum: Added.
  • platform/mac/editing/input/5576619-expected.png: Added.
  • platform/mac/editing/input/5576619-expected.txt: Added.
  • platform/mac/editing/input/5576619.html: Added.
  • platform/mac/editing/input/text-input-controller-expected.txt:
1:37 PM Changeset in webkit [27487] by Darin Adler
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

There was a mistake in the algorithm used to find an empty slot in the property
map entries vector; when we were putting in a new property value and not overwriting
an existing deleted sentinel, we would enlarge the entries vector, but would not
overwrite the stale data that's in the new part. It was easy to pin this down by
turning on property map consistency checks -- I never would have landed with this
bug if I had run the regression tests once with consistency checks on!

  • kjs/property_map.cpp: (KJS::PropertyMap::put): Changed logic for the case where foundDeletedElement is false to always use the item at the end of the entries vector. Also allowed me to merge with the logic for the "no deleted sentinels at all" case.
1:03 PM Changeset in webkit [27486] by mitz@apple.com
  • 4 edits
    6 adds in trunk

WebCore:

Reviewed by Antti Koivisto and Dave Hyatt.

  • fix <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height

Test: fast/block/float/overhanging-after-height-decrease.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): If after calculating the height it turns out that there are overhanging floats that were not overhanging before, rescan children with overhanging floats and add them. (WebCore::RenderBlock::layoutBlockChildren): Added a parameter that returns the lowest float bottom of any of the children. (WebCore::RenderBlock::addOverhangingFloats): Changed to return the lowest float bottom.
  • rendering/RenderBlock.h:

LayoutTests:

Reviewed by Antti Koivisto and Dave Hyatt.

  • test for <rdar://problem/5582961> Incorrect layout and floating object list corruption when CSS decreases a block's height
  • fast/block/float/overhanging-after-height-decrease.html: Added.
  • platform/mac-leopard/fast/block: Added.
  • platform/mac-leopard/fast/block/float: Added.
  • platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-expected.checksum: Added.
  • platform/mac-leopard/fast/block/float/overhanging-after-height-decrease-expected.png: Added.
  • platform/mac/fast/block/float/overhanging-after-height-decrease-expected.txt: Added.
11:53 AM Changeset in webkit [27485] by adele
  • 8 edits
    4 adds in trunk

WebCore:

Reviewed by Darin.

Switched all uses of HTMLImageLoader to use OwnPtrs.

  • html/HTMLInputElement.h:
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): (WebCore::HTMLInputElement::~HTMLInputElement): (WebCore::HTMLInputElement::setInputType): (WebCore::HTMLInputElement::parseMappedAttribute): (WebCore::HTMLInputElement::attach):
  • html/HTMLObjectElement.h:
  • html/HTMLObjectElement.cpp: (WebCore::HTMLObjectElement::HTMLObjectElement): (WebCore::HTMLObjectElement::~HTMLObjectElement): (WebCore::HTMLObjectElement::parseMappedAttribute): (WebCore::HTMLObjectElement::attach):
  • html/HTMLVideoElement.h:
  • html/HTMLVideoElement.cpp: (WebCore::HTMLVideoElement::HTMLVideoElement): (WebCore::HTMLVideoElement::attach): (WebCore::HTMLVideoElement::detach): (WebCore::HTMLVideoElement::parseMappedAttribute):

LayoutTests:

Reviewed by Darin.

Added test for poster attribute.

  • media/content/abe.png: Added.
  • media/content/greenbox.png: Added.
  • media/video-poster-expected.txt: Added.
  • media/video-poster.html: Added.
11:49 AM Changeset in webkit [27484] by oliver
  • 2 edits in trunk/JavaScriptCore

Fix previous patch to use a 3 bit shift, a 16 bit shift causes a regression in sunspider.

RS=Darin

11:34 AM Changeset in webkit [27483] by oliver
  • 2 edits in trunk/JavaScriptCore

Replace boolean comparisons in AddNode with mask comparisons for a 0.2% improvement in sunspider.

Reviewed by Darin

10:56 AM Changeset in webkit [27482] by eseidel
  • 2 edits in trunk/JavaScriptCore

2007-11-06 Eric Seidel <eric@webkit.org>

Reviewed by darin.


SunSpider claims this is a 1.1% speedup.

  • kjs/nodes.cpp: (KJS::throwOutOfMemoryError): Added, non inline. (KJS::addSlowCase): renamed from add(), non inline. (KJS::add): add fast path for String + String, Number + Number and String + *
10:43 AM Changeset in webkit [27481] by Darin Adler
  • 4 edits in trunk/WebKit/win

Reviewed by Adam and Steve.

  • added hooks needed to implement showModalDialog on Windows
  • Interfaces/IWebUIDelegate.idl: Added canRunModal, createModalDialog, and runModal functions to the end of IWebUIDelegate3.
  • WebChromeClient.h: Added uiDelegate and uiDelegate2 helper functions, so it's easier to write client functions.
  • WebChromeClient.cpp: (WebChromeClient::createWindow): Implemented dialog case. Calls IWebUIDelegate3. (WebChromeClient::canRunModal): Implemented. Calls IWebUIDelegate3. (WebChromeClient::runModal): Ditto. (WebChromeClient::uiDelegate): Added. (WebChromeClient::uiDelegate2): Added. (WebChromeClient::uiDelegate3): Added.
10:11 AM Changeset in webkit [27480] by antti
  • 5 edits
    6 adds in trunk

WebCore:

Reviewed by Darin.


Trigger media load on on src attribute changes as specified in new HTML5 draft.

Tests: media/video-src-change.html

media/video-src-remove.html
media/video-src-set.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attributeChanged):
  • html/HTMLMediaElement.h:

LayoutTests:

Reviewed by Darin.


Tests for media src attribute changes.

  • media/video-src-change-expected.txt: Added.
  • media/video-src-change.html: Added.
  • media/video-src-remove-expected.txt: Added.
  • media/video-src-remove.html: Added.
  • media/video-src-set-expected.txt: Added.
  • media/video-src-set.html: Added.
  • media/video-test.js:
10:10 AM Changeset in webkit [27479] by ap
  • 2 edits in trunk/WebKit/win

Rubber-stamped by Adam Roben.

Windows build fix.

  • WebFrame.cpp: (WebFrame::string): plainText() returns a String now.
9:48 AM Changeset in webkit [27478] by mitz@apple.com
  • 3 edits
    5 adds in trunk

WebCore:

Reviewed by Darin Adler.

Test: fast/repaint/make-children-non-inline.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline): Repaint the block. This is needed because the inline children may be repositioned as they move into new anonymous blocks, but those blocks have no knowledge of where their children used to be, so they cannot invalidate those areas.

LayoutTests:

Reviewed by Darin Adler.

  • fast/repaint/make-children-non-inline.html: Added.
  • platform/mac/fast/repaint/make-children-non-inline-expected.txt: Added.
  • platform/mac-leopard/fast/repaint: Added.
  • platform/mac-leopard/fast/repaint/make-children-non-inline-expected.checksum: Added.
  • platform/mac-leopard/fast/repaint/make-children-non-inline-expected.png: Added.
8:07 AM Changeset in webkit [27477] by ap
  • 10 edits in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=15847
Some editing cleanup

No change in functionality.

WebCore:

  • editing/TextIterator.cpp: (WebCore::plainText):
  • editing/TextIterator.h: Made WebCore::plainText() return String instead of DeprecatedString.
  • bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject textUnderElement]): (-[WebCoreAXObject value]): (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]): (-[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]): (-[WebCoreAXObject doAXPreviousSentenceStartTextMarkerForTextMarker:]): Updated for the above change. There is no need to explicitly convert to NSString now.
  • editing/EditCommand.cpp: (WebCore::EditCommand::EditCommand): m_startingSelection and m_endingSelection are actually initialized in constructor body, so the work done in initializer list was wasted.

(WebCore::EditCommand::apply): Moved some stars.
(WebCore::EditCommand::unapply): Ditto.
(WebCore::EditCommand::reapply): Ditto.
(WebCore::EditCommand::setStartingSelection): The loop exit condition was evaluated twice,
removed one of the checks.

  • editing/SelectionController.cpp: (WebCore::SelectionController::toString): plainText() result type now matches what we need here.
  • page/mac/WebCoreFrameBridge.h:
  • page/mac/WebCoreFrameBridge.mm: Removed unused -[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:] and -[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:].

WebKit:

  • WebView/WebHTMLView.mm: (-[WebHTMLView deleteToEndOfLine:]): (-[WebHTMLView deleteToEndOfParagraph:]): WebCore had a duplicate of the same logic already. We are passing a boundary value to a function that expects granularity, this may need to be straightened out in the future.
1:08 AM Changeset in webkit [27476] by eseidel
  • 2 edits in trunk/JavaScriptCore

2007-11-06 Eric Seidel <eric@webkit.org>

Reviewed by mjs.


Avoid more UString creation.


SunSpider claims this is a 0.4% speedup.

  • kjs/regexp_object.cpp: (KJS::RegExpObjectImp::construct): use UString::find(UChar)
Note: See TracTimeline for information about the timeline view.