Timeline
Apr 23, 2007:
- 11:37 PM Changeset in webkit [21063] by
-
- 1 edit1 move in trunk/LayoutTests
Rubber Stamped by Mark Rowe.
Disabling this test because it hangs all the time.
(http://bugs.webkit.org/show_bug.cgi?id=13370)
- http/tests/plugins/npapi-response-headers.html: Removed.
- 11:13 PM Changeset in webkit [21062] by
-
- 3 edits4 adds in trunk
WebCore:
Reviewed by Adam.
Fix for <rdar://problem/5155507> REGRESSION: Crash in
RenderLayer::setHasVisibleContent()
- rendering/RenderContainer.cpp: (WebCore::RenderContainer::appendChildNode): Must null-check enclosingLayer() (WebCore::RenderContainer::insertChildNode): Same.
LayoutTests:
Reviewed by Adam.
Test for <rdar://problem/5155507> REGRESSION: Crash in
RenderLayer::setHasVisibleContent()
- fast/css-generated-content/visibleContentHiddenParent-expected.checksum: Added.
- fast/css-generated-content/visibleContentHiddenParent-expected.png: Added.
- fast/css-generated-content/visibleContentHiddenParent-expected.txt: Added.
- fast/css-generated-content/visibleContentHiddenParent.html: Added.
- 9:55 PM Changeset in webkit [21061] by
-
- 7 edits in trunk/WebCore
Fix for bug 13337, deep tag nesting is slow. This patch fixes a number of O(n2) issues as well as making
a few performance optimizations based off profiling. Details next to each change below.
Note that calcMinMaxWidth being slow is a critical separate piece of this puzzle. Until bug 13430 is fixed,
render tree construction will be O(n2) (because of the minmaxrecalc bit setting being stupid enough to
always crawl to the root of the tree) and calcMinMaxWidth will waste tons of unnecessary time.
When these fixes are combined with the calcMinMaxWidth fix in 13430, the penguin page specified in 13337
loads in < 2 seconds (down from an infinite hang before).
Reviewed by aroben, ollie
- css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::locateCousinList): (WebCore::CSSStyleSelector::locateSharedStyle):
- css/csstyleselector.h Cap the depth of cousin searching on the shared style optimization. We will be willing to (at most) crawl up the tree the same distance that we were willing to crawl backwards through sibling lists. Leaving it uncapped resulted in pathological style resolution for the case of an infinitely nested chain of singletons.
- html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): (WebCore::HTMLParser::popBlock): Cap the number of residual style tags that we are willing to reopen. We will reopen at most 200 residual style tags, since the assumption is that once that many tags are on the stack, you're probably already every kind of bold, italic, and color of the rainbow.
- rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect): absoluteClippedOverflowRect can just return the empty rect when the inline flow has no line boxes instead of doing a bunch of work (and calling containingBlock()) for no reason.
- rendering/RenderInline.cpp: (WebCore::RenderInline::addChildToFlow): Remove the useless containingBlock() check from addChildToFlow. Obviously every inline's containing block is a block flow.
- rendering/bidi.cpp: (WebCore::inlineWidth): (WebCore::RenderBlock::createLineBoxes): Cap the depth of individual line trees to 200. Again the assumption is that once that many open inlines exist all on one line that there's no way this would be intentional.
- 7:47 PM Changeset in webkit [21060] by
-
- 2 edits in trunk/WebKitTools
Reviewed by Mark Rowe and David Kilzer.
- Scripts/build-webkit: Print the path to the run-safari script when finished building so that users can copy-and-paste the command to execute it.
- 6:27 PM Changeset in webkit [21059] by
-
- 2 edits in trunk/WebCore
Fix for bug 13430, cap inline splitting for continuations to a maximum depth of 200.
Reviewed by olliej, antti
- rendering/RenderInline.cpp: (WebCore::RenderInline::splitInlines):
- 5:59 PM Changeset in webkit [21058] by
-
- 2 edits in trunk/WebCore
2007-04-23 Alp Toker <alp@atoker.com>
Gdk build fix. Track EventHandler change made in r21042.
- page/gdk/EventHandlerGdk.cpp: (WebCore::EventHandler::passWheelEventToWidget): (WebCore::EventHandler::passMousePressEventToScrollbar):
- 5:37 PM Changeset in webkit [21057] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin.
<rdar://problem/5024945> -[DOMRange lineBoxRects] doesn't include start and end nodes that have offsets
- rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects): Use min(box->len(), end) instead of special-casing UINT_MAX.
- 5:31 PM Changeset in webkit [21056] by
-
- 2 edits in trunk/WebCore
Fix by Darin, reviewed by me.
Fix for REGRESSION: Can't upload attachments to bugzilla since the file upload control is reset immediately
http://bugs.webkit.org/show_bug.cgi?id=13461
- rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::updateFromElement): Only clear the FileChooser if the value is empty *and* (not or) the filename is empty.
- 4:48 PM Changeset in webkit [21055] by
-
- 2 edits in trunk/WebCore
Reviewed by Adam.
Updated fix for <rdar://problem/4887426> Set a reasonable maximum number of recent searches for search menu
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Use a const int maxSavedResults instead of magic number 256.
- 4:45 PM Changeset in webkit [21054] by
-
- 1 edit in trunk/WebCore/ChangeLog
Fix the bug number for my last commit.
- 4:42 PM Changeset in webkit [21053] by
-
- 2 edits in trunk/WebCore
Reviewed by Hyatt.
<rdar://problem/5084400> [DOMRange lineBoxRects] returns an empty array when the DOM nodes have just been created
Don't call selectionRect with a -1 end position, instead use the text length.
- rendering/RenderText.cpp: (WebCore::RenderText::addLineBoxRects):
- 4:27 PM Changeset in webkit [21052] by
-
- 4 edits in trunk
WebCore:
Fixed and reviewed by Darin, Adele, and Oliver.
WebCore part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
http://bugs.webkit.org/show_bug.cgi?id=13263
- dom/KeyboardEvent.h: (WebCore::KeypressCommand::isEmpty): Added helper method.
WebKit:
Fixed and reviewed by Darin, Adele, and Oliver.
WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
http://bugs.webkit.org/show_bug.cgi?id=13263
- WebView/WebHTMLView.mm: (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): If we have no command after calling interpretKeyEvents, we assume the input method handled the key. (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
- 3:56 PM Changeset in webkit [23331] by
-
- 2 edits in branches/WindowsMerge/WebCore
Build fix.
- page/win/EventHandlerWin.cpp: Removed passWheelEventToSubframe.
- 3:51 PM Changeset in webkit [21051] by
-
- 2 edits in trunk/WebCore
<rdar://problem/4938364> Attachment button has different string length between attributeStringForRange and stringForRange
<rdar://problem/4939536> AXLengthForTextMarkerRange returns zero length for the range of an attachment
Reviewed by Darin.
- bridge/mac/WebCoreAXObject.mm: (nsStringForReplacedNode): Added helper routine to check if the replaced node should be exposed as an attachment character in string representation. Added an additional check to make sure that text node is not considered a replaced node. Removed helper routine AXAttributedStringAppendReplaced since half of the functions are now taken care by nsStringForReplacedNode. The other half is directly used in the doAXAttributedStringForTextMarkerRange method. (-[WebCoreAXObject doAXStringForTextMarkerRange:]): (-[WebCoreAXObject doAXAttributedStringForTextMarkerRange:]): Both string and AttrbributedString methods will now utilize the helper routine nsStringForReplacedNode to return replacement characters for range occupied by attachment.
- 3:14 PM Changeset in webkit [21050] by
-
- 2 edits in trunk/JavaScriptCore
Build fix, not reviewed.
- kjs/collector.h: Fix struct/class mismatch.
- 3:10 PM Changeset in webkit [21049] by
-
- 2 edits in trunk/WebCore
Reviewed by Oliver.
Fix for <rdar://problem/4887426> Set a reasonable maximum number of recent searches for search menu
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Enforce a maximum of 256 saved results for the search field.
- 3:08 PM Changeset in webkit [21048] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Darin.
- raise ALLOCATIONS_PER_COLLECTION to 4000, for 3.7% iBench speed improvement
Now that the cell size is smaller and the block size is bigger, we can fit 4000 objects in
the two spare cells the collector is willing to keep around, so collect a bit less often.
- kjs/collector.cpp:
- 2:54 PM Changeset in webkit [21047] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed by Darin and Geoff.
- move mark and collectOnMainThreadOnly bits into separate bitmaps
This saves 4 bytes per cell, allowing shrink of cell size to 32,
which leads to a .8% speed improvement on iBench.
This is only feasible because of all the previous changes on the branch.
- kjs/collector.cpp: (KJS::allocateBlock): Adjust for some renames of constants. (KJS::Collector::markStackObjectsConservatively): Now that cells are 32 bytes (64 bytes on 64-bit) the cell alignment check can be made much more strict, and also obsoletes the need for a % sizeof(CollectorCell) check. Also, we can mask off the low bits of the pointer to have a potential block pointer to look for. (KJS::Collector::collectOnMainThreadOnly): Use bitmap. (KJS::Collector::markMainThreadOnlyObjects): Use bitmap. (KJS::Collector::collect): When sweeping, use bitmaps directly to find mark bits.
- kjs/collector.h: (KJS::): Move needed constants and type declarations here. (KJS::CollectorBitmap::get): Bit twiddling to get a bitmap value. (KJS::CollectorBitmap::set): Bit twiddling to set a bitmap bit to true. (KJS::CollectorBitmap::clear): Bit twiddling to set a bitmap bit to false. (KJS::CollectorBitmap::clearAll): Clear whole bitmap at one go. (KJS::Collector::cellBlock): New operation, compute the block pointer for a cell by masking off low bits. (KJS::Collector::cellOffset): New operation, compute the cell offset for a cell by masking off high bits and dividing (actually a shift). (KJS::Collector::isCellMarked): Check mark bit in bitmap (KJS::Collector::markCell): Set mark bit in bitmap.
- kjs/value.h: (KJS::JSCell::JSCell): No more bits. (KJS::JSCell::marked): Let collector handle it. (KJS::JSCell::mark): Let collector handle it.
- 2:24 PM Changeset in webkit [21046] by
-
- 3 edits in trunk/LayoutTests
Reviewed by Adam.
Updating test from last checkin to include test case for select with and without a form element.
- fast/events/onchange-select-popup-expected.txt:
- fast/events/onchange-select-popup.html:
- 2:15 PM Changeset in webkit [21045] by
-
- 11 edits2 adds in trunk
LayoutTests:
Reviewed by Hyatt & Adam.
Tests for <rdar://problem/4807799> REGRESSION: calling select() in onSearch handler doesn't work if you hit enter to trigger the event
- fast/events/onchange-passwordfield-expected.txt:
- fast/events/onchange-passwordfield.html:
- fast/events/onchange-searchfield-expected.txt:
- fast/events/onchange-searchfield.html:
- fast/events/onchange-select-popup-expected.txt: Added.
- fast/events/onchange-select-popup.html: Added.
- fast/events/onchange-textfield-expected.txt:
- fast/events/onchange-textfield.html:
- fast/forms/onchange-enter-submit-expected.txt:
WebCore:
Reviewed by Hyatt & Adam.
Fix for <rdar://problem/4807799> REGRESSION: calling select() in onSearch handler doesn't work if you hit enter to trigger the event
Fix for <rdar://problem/5153970> onChange doesn't fire when focusing a popup, using type-ahead to select, and leaving
This previous behavior to blur controls when hitting enter was added to achieve the result of firing the change event. Firefox does not
fire blur- just the change event, so this fix will match Firefox behavior.
This also fixes a bug where we didn't fire the change event when using type-ahead selection with the popup menu.
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Fire change event instead of blur event when hitting enter.
- html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::dispatchFocusEvent): Now that we have type-ahead selection for popups that can be opened with the arrow keys, we should always save the last selection when a popup gets focus, so it can be compared to the current selection when it loses focus. (WebCore::HTMLSelectElement::dispatchBlurEvent): For the same reasons as above, we should fire onChange for all popups on blur.
(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Fire change event instead of blur event when hitting enter. Removed an unnecessary
check for form() before calling menuListOnChange(). Removed an unnecessary check for renderer() and usesMenuList().
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Remove call to blur. Since list boxes fire the change event immediately after an
action is taken, we don't need to fire anything after hitting enter.
(WebCore::HTMLSelectElement::menuListOnChange): Reset m_lastOnChangeIndex after firing the change event.
- 2:07 PM Changeset in webkit [21044] by
-
- 2 edits in trunk/WebKit
Reviewed by Darin.
<rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
it will be thrown away by the WebView anyway.
- WebView/WebHTMLView.mm: (-[WebHTMLView close]): Return earily if _priviate is nil. (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
- 12:19 PM Changeset in webkit [21043] by
-
- 2 edits in S60/trunk/WebKit
yadavall, reviewed by <zbujtas@gmail.com>
DESC: Fix ROM image iby file
http://bugs.webkit.org/show_bug.cgi?id=13419
- rom/webkit.iby:
- 10:07 AM Changeset in webkit [21042] by
-
- 4 edits in trunk/WebCore
Reviewed by Ada.
<rdar://problem/5061022>
REGRESSION: Acrobat 8 plug-in fails to scroll with trackpad two-finger scroll or mouse wheel (12995)
Pass wheel events to all widgets.
- page/EventHandler.cpp: (WebCore::EventHandler::handleWheelEvent):
- page/EventHandler.h:
- page/mac/EventHandlerMac.mm: (WebCore::EventHandler::passWheelEventToWidget):
- 8:32 AM Changeset in webkit [21041] by
-
- 2 edits in trunk/WebCore
2007-04-23 Alp Toker <alp@atoker.com>
Reviewed by Mark.
Save and restore the context state when beginning and ending a transparency layer.
- platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::beginTransparencyLayer): (WebCore::GraphicsContext::endTransparencyLayer):
- 8:01 AM Changeset in webkit [21040] by
-
- 2 edits in trunk/WebKit
Reviewed by Mark Rowe.
Remove the "No Selection" message after leaving search mode.
This was a regression caused by the inspector refresh.
- WebInspector/webInspector/inspector.js:
- 7:45 AM Changeset in webkit [21039] by
-
- 1 copy in tags/Safari-4522.6.2/JavaScriptGlue
New tag (part 2).
- 7:45 AM Changeset in webkit [21038] by
-
- 1 add in tags/Safari-4522.6.2
New tag (part 1).
- 7:43 AM Changeset in webkit [21037] by
-
- 1 edit in branches/Safari-522/JavaScriptGlue/Configurations/Version.xcconfig
Versioning.
- 7:42 AM Changeset in webkit [21036] by
-
- 2 edits in branches/Safari-522/JavaScriptGlue
Merge r20462.
- 7:16 AM Changeset in webkit [21035] by
-
- 2 edits in trunk/WebCore
2007-04-23 Alp Toker <alp@atoker.com>
Reviewed by Mark.
Further implementation and checks. The opacity layer code is not so beautiful
but gets the job done with fewer complications than maintaining our own stack.
- platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::translate): (WebCore::GraphicsContext::setPlatformStrokeThickness): (WebCore::GraphicsContext::beginTransparencyLayer): (WebCore::GraphicsContext::endTransparencyLayer): (WebCore::GraphicsContext::setCompositeOperation): (WebCore::GraphicsContext::rotate): (WebCore::GraphicsContext::scale):
- 7:14 AM Changeset in webkit [21034] by
-
- 2 edits in trunk/JavaScriptCore
Build fix.
- kjs/regexp_object.h: RegExpObjectImpPrivate is a struct, not a class.
- 6:33 AM Changeset in webkit [21033] by
-
- 12 edits in S60/trunk/WebKit
winship, reviewed by Yongjun
DESC: move DialogMimeFileSelectLC from DialogProvider API to MWidgetCallBack
http://bugs.webkit.org/show_bug.cgi?id=13406
- BrowserControl/inc/BrCtl.h:
- BrowserControl/inc/BrCtlDefs.h: (TBrCtlDefs::):
- BrowserControl/inc/BrCtlDialogsProvider.h: (TBrCtlSelectOptionData::TBrCtlSelectOptionData): (TBrCtlImageCarrier::TBrCtlImageCarrier):
- BrowserControl/inc/BrCtlInterface.h:
- BrowserControl/src/BrCtl.cpp: (CBrCtl::~CBrCtl): (CBrCtl::HandleCommandL): (CBrCtl::CreateWidgetExtensionL):
- BrowserCore/Formcontrols/inc/FControlFileInputSkin.h:
- BrowserCore/Formcontrols/src/FControlFileInputSkin.cpp: (TFileDialogWrapper::DialogMimeFileSelectLC): (CFormFileInputSkin::SetAcceptedMimeType): (CFormFileInputSkin::ActivateL):
- BrowserView/inc/WidgetExtension.h:
- group/BWINSCW/WebKit_30U.def:
- group/EABI/browserengineU.def:
- group/formcontrols.mmpi:
- 3:28 AM Changeset in webkit [21032] by
-
- 7 edits in trunk/JavaScriptCore
Reviewed by Darin.
- shrink FunctionImp / DeclaredFunctionImp by 4 bytes, by moving parameter list to function body
I reconciled this with a similar change in KDE kjs by Maks Orlovich <maksim@kde.org>.
- kjs/function.cpp: (KJS::FunctionImp::callAsFunction): (KJS::FunctionImp::passInParameters): (KJS::FunctionImp::lengthGetter): (KJS::FunctionImp::getParameterName):
- kjs/function.h:
- kjs/function_object.cpp: (FunctionProtoFunc::callAsFunction): (FunctionObjectImp::construct):
- kjs/nodes.cpp: (FunctionBodyNode::addParam): (FunctionBodyNode::paramString): (FuncDeclNode::addParams): (FuncDeclNode::processFuncDecl): (FuncExprNode::addParams): (FuncExprNode::evaluate):
- kjs/nodes.h: (KJS::Parameter::Parameter): (KJS::FunctionBodyNode::numParams): (KJS::FunctionBodyNode::paramName): (KJS::FunctionBodyNode::parameters): (KJS::FuncExprNode::FuncExprNode): (KJS::FuncDeclNode::FuncDeclNode):
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Disable 64-bit warnings because they handle size_t badly.
- 2:45 AM Changeset in webkit [21031] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Darin.
- shrink RegexpObjectImp by 4 bytes
Somewhat inexplicably, this seems to be a .33% speedup on JS iBench.
- kjs/regexp_object.cpp: (KJS::RegExpObjectImpPrivate::RegExpObjectImpPrivate): (RegExpObjectImp::RegExpObjectImp): (RegExpObjectImp::performMatch): (RegExpObjectImp::arrayOfMatches): (RegExpObjectImp::getBackref): (RegExpObjectImp::getLastMatch): (RegExpObjectImp::getLastParen): (RegExpObjectImp::getLeftContext): (RegExpObjectImp::getRightContext): (RegExpObjectImp::getValueProperty): (RegExpObjectImp::putValueProperty):
- kjs/regexp_object.h:
- 2:27 AM Changeset in webkit [21030] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Oliver.
- change to 1-bit bitfields instead of 8-bit, this turns out to lead to a .51% speedup on JS iBench
The 1-bit bitfields are actually faster than just plain bools, at least on Intel (go figure).
- kjs/property_map.h:
- 1:53 AM Changeset in webkit [21029] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Darin.
- shrink ArrayInstance objects by 4 bytes http://bugs.webkit.org/show_bug.cgi?id=13386
I did this by storing the capacity before the beginning of the storage array. It turns out
it is rarely needed and is by definition 0 when the storage array is null.
- kjs/array_instance.h: (KJS::ArrayInstance::capacity): Get it from the secret stash
- kjs/array_object.cpp: (allocateStorage): New function to encapsulate allocating the storage with extra space ahead for the capacity. (reallocateStorage): ditto for realloc (ArrayInstance::ArrayInstance): (ArrayInstance::~ArrayInstance): (ArrayInstance::resizeStorage):
- 1:47 AM Changeset in webkit [21028] by
-
- 5 edits in trunk/WebKit
Reviewed by Darin.
Bug 6658: World leak when closing inspected window
http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
- WebInspector/WebInspector.m: (+sharedWebInspector): Return the global sharedWebInspector variable. (-window): Release the window after calling setWindow:. (-windowWillClose:): Set the JavaScript Inspector variable to null and expire the current highlight. Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector. (-showWindow:): Set the JavaScript Inspector variable back to self.
- WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
- WebView/WebView.mm: (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
- 1:38 AM Changeset in webkit [21027] by
-
- 9 edits3 adds in trunk
Reviewed by Maciej.
- fix <rdar://problem/4840688> REGRESSION (r10588, r10621): JavaScript won't parse modifications of non-references (breaks 300themovie.warnerbros.com, fedex.com)
Despite the ECMAScript specification's claim that you can treat these as syntax
errors, doing so creates some website incompatibilities. So this patch turns them back
into evaluation errors instead.
Test: fast/js/modify-non-references.html
- kjs/grammar.y: Change makeAssignNode, makePrefixNode, and makePostfixNode so that they never fail to parse. Update rules that use them. Fix a little bit of indenting. Use new PostfixErrorNode, PrefixErrorNode, and AssignErrorNode classes.
- kjs/nodes.h: Added an overload of throwError that takes a char* argument. Replaced setExceptionDetailsIfNeeded and debugExceptionIfNeeded with handleException, which does both. Added PostfixErrorNode, PrefixErrorNode, and AssignErrorNode classes.
- kjs/nodes.cpp: Changed exception macros to use handleException; simpler and smaller code size than the two functions that we used before. (Node::throwError): Added the overload mentioned above. (Node::handleException): Added. Contains the code from both setExceptionDetailsIfNeeded and debugExceptionIfNeeded. (PostfixErrorNode::evaluate): Added. Throws an exception. (PrefixErrorNode::evaluate): Ditto. (AssignErrorNode::evaluate): Ditto. (ThrowNode::execute): Call handleException instead of debugExceptionIfNeeded; this effectively adds a call to setExceptionDetailsIfNeeded, which may help with getting the correct file and line number for these exceptions.
- kjs/nodes2string.cpp: (PostfixErrorNode::streamTo): Added. (PrefixErrorNode::streamTo): Added. (AssignErrorNode::streamTo): Added.
LayoutTests:
Reviewed by Maciej.
- test for <rdar://problem/4840688> REGRESSION (r10588, r10621): JavaScript won't parse modifications of non-references (breaks 300themovie.warnerbros.com, fedex.com)
- fast/js/modify-non-references-expected.txt: Added.
- fast/js/modify-non-references.html: Added.
- fast/js/resources/modify-non-references.js: Added.
- fast/js/assign-expected.txt: Updated for different exception text.
- fast/js/postfix-syntax-expected.txt: Ditto.
- fast/js/prefix-syntax-expected.txt: Ditto.
- 1:27 AM Changeset in webkit [21026] by
-
- 22 edits in trunk
LayoutTests:
Reviewed by Hyatt.
- test changes for rename of box-sizing to -webkit-box-sizing
- fast/borders/border-fit.html: Rename.
- fast/box-sizing/box-sizing.html: Ditto.
- fast/box-sizing/panels-one.html: Added -webkit-box-sizing.
- fast/box-sizing/panels-two.html: Ditto.
- fast/box-sizing/percentage-height.html: Renamed -khtml-box-sizing to -webkit-box-sizing.
- fast/css/computed-style-expected.txt: Updated for different name and place in sorting order.
- tables/mozilla/core/box_sizing.html: Rename.
WebCore:
Reviewed by Hyatt.
- rename box-sizing to -webkit-box-sizing because of <rdar://problem/4667227> REGRESSION: Shifted table on page at https://us.etrade.com/e/t/home (due to box-sizing)
- css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Rename.
- css/CSSPropertyNames.in: Ditto.
- css/cssparser.cpp: (WebCore::CSSParser::parseValue): Rename and take out comment explaining why we aren't prefacing with -webkit.
- css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): Rename.
- css/html4.css: Rename.
- css/quirks.css: Rename.
WebKit:
Reviewed by Hyatt.
- rename box-sizing to -webkit-box-sizing
- WebInspector/webInspector/inspector.css: Here.
- WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
WebKitTools:
Reviewed by Hyatt.
- rename box-sizing to -webkit-box-sizing
- Drosera/console.css: Here.
- Drosera/debugger.css: And here.
- Drosera/viewer.css: And here.
- 12:54 AM Changeset in webkit [21025] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Darin.
- fix test failures / crashes on PPC
- kjs/property_map.h: Make the bool fields explicitly 8-bit bitfields, since bool is a full word there otherwise :-(
- 12:44 AM Changeset in webkit [21024] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Darin.
- fix more test case failures
- bindings/runtime_array.cpp: (RuntimeArray::RuntimeArray): inherit from JSObject instead of ArrayInstance; it turns out that this class only needs the prototype and classInfo from ArrayInstance, not the actual class itself, and it was too big otherwise. (RuntimeArray::getOwnPropertySlot):
- bindings/runtime_array.h:
- 12:15 AM Changeset in webkit [21023] by
-
- 3 edits in trunk/JavaScriptCore
Reviewed by Darin.
- fix some test failures
- bindings/runtime_method.cpp: (RuntimeMethod::RuntimeMethod): inherit from InternalFunctionImp instead of FunctionImpl, otherwise this is too big (RuntimeMethod::getOwnPropertySlot):
- bindings/runtime_method.h:
- 12:13 AM Changeset in webkit [21022] by
-
- 4 edits in trunk/WebCore
2007-04-23 Alp Toker <alp@atoker.com>
Reviewed by Hyatt.
- platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawConvexPolygon): Fix stroking and filling of ellipses and polygons.
- platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw): Make use of a new GraphicsContext function to simplify the code. (WebCore::Image::drawPattern): Now implemented. This makes content with tiled patterns (eg. CSS repeat) render correctly.
- platform/graphics/gdk/ImageGdk.cpp: (WebCore::Image::drawPattern): Remove old stub.
Apr 22, 2007:
- 11:46 PM Changeset in webkit [21021] by
-
- 3 edits in trunk/WebCore
2007-04-22 Lars Naesbye Christensen <lars@naesbye.dk>
Reviewed by Tim Hatcher.
Prettier, more modern 'cell' cursor
http://bugs.webkit.org/show_bug.cgi?id=13441
Also updates past ChangeLog entries to new email address
- ChangeLog:
- ChangeLog-2006-12-31:
- Resources/cellCursor.png:
- 11:17 PM Changeset in webkit [21020] by
-
- 2 edits in trunk/WebCore
2007-04-23 Mark Rowe <mrowe@apple.com>
Rubber-stamped by Hyatt.
Rename cMaxPenderingSourceLengthInLowBandwidthDisplay to cMaxPendingSourceLengthInLowBandwidthDisplay.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
- 9:16 PM Changeset in webkit [21019] by
-
- 6 edits in trunk/JavaScriptCore
Reviewed by Darin.
- discard the arguments List for an ActivationImp when the corresponding Context is destroyed (1.7% speedup) http://bugs.webkit.org/show_bug.cgi?id=13385
Based an idea by Christopher E. Hyde <C.Hyde@parableuk.force9.co.uk>. His patch to do
this also had many other List changes and I found this much simpler subset of the changes
was actually a hair faster.
This optimization is valid because the arguments list is only kept around to
lazily make the arguments object. If it's not made by the time the function
exits, it never will be, since any function that captures the continuation will
have its own local arguments variable in scope.
Besides the 1.7% speed improvement, it shrinks List by 4 bytes
(which in turn shrinks ActivationImp by 4 bytes).
- kjs/Context.cpp: (KJS::Context::~Context): Clear the activation's arguments list.
- kjs/function.cpp: (KJS::ActivationImp::ActivationImp): Adjusted for list changes. (KJS::ActivationImp::mark): No need to mark, lists are always protected (this doesn't cause a ref-cycle for reasons stated above). (KJS::ActivationImp::createArgumentsObject): Clear arguments list.
- kjs/function.h:
- kjs/list.cpp: (KJS::List::List): No more needsMarking boolean (KJS::List::operator=): ditto
- kjs/list.h: (KJS::List::List): ditto (KJS::List::reset): ditto (KJS::List::deref): ditto
- 9:10 PM Changeset in webkit [21018] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed by Darin.
- shrink PropertyMap by 8 bytes and therefore shrink CELL_SIZE to 40 (for 32-bit; similar shrinkage for 64-bit) http://bugs.webkit.org/show_bug.cgi?id=13384
Inspired by similar changes by Christopher E. Hyde <C.Hyde@parableuk.force9.co.uk>
done in the kjs-tweaks branch of KDE's kjs. However, this version is somewhat
cleaner style-wise and avoids some of the negative speed impact (at least on gcc/x86)
of his version.
This is nearly a wash performance-wise, maybe a slight slowdown, but worth doing
to eventually reach cell size 32.
- kjs/collector.cpp: (KJS::):
- kjs/property_map.cpp: (KJS::PropertyMap::~PropertyMap): (KJS::PropertyMap::clear): (KJS::PropertyMap::get): (KJS::PropertyMap::getLocation): (KJS::PropertyMap::put): (KJS::PropertyMap::insert): (KJS::PropertyMap::expand): (KJS::PropertyMap::rehash): (KJS::PropertyMap::remove): (KJS::PropertyMap::mark): (KJS::PropertyMap::containsGettersOrSetters): (KJS::PropertyMap::getEnumerablePropertyNames): (KJS::PropertyMap::getSparseArrayPropertyNames): (KJS::PropertyMap::save): (KJS::PropertyMap::checkConsistency):
- kjs/property_map.h: (KJS::PropertyMap::hasGetterSetterProperties): (KJS::PropertyMap::setHasGetterSetterProperties): (KJS::PropertyMap::): (KJS::PropertyMap::PropertyMap):
- 9:01 PM Changeset in webkit [21017] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Darin.
- change blocks to 64k in size, and use various platform-specific calls to allocate at 64k-aligned addresses http://bugs.webkit.org/show_bug.cgi?id=13383
- kjs/collector.cpp: (KJS::allocateBlock): New function to allocate 64k of 64k-aligned memory (KJS::freeBlock): Corresponding free (KJS::Collector::allocate): (KJS::Collector::collect):
- 8:29 PM Changeset in webkit [21016] by
-
- 1 edit in trunk/WebCore/ChangeLog
Added bugzilla URL to earlier commit.
- 8:28 PM Changeset in webkit [21015] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Darin and Geoff.
- remove the concept of oversize objects, now that there aren't any (for now only enforced with an assert). http://bugs.webkit.org/show_bug.cgi?id=13382
This change is a .66% speedup on JS iBench for 32-bit platforms, probably much more
for 64-bit since it finally gives a reasonable cell size, but I did not test that.
- kjs/collector.cpp: (KJS::): Use different cell size for 32-bit and 64-bit, now that there is no oversize allocation. (KJS::Collector::allocate): Remove oversize allocator. (KJS::Collector::markStackObjectsConservatively): Don't check oversize objects. (KJS::Collector::markMainThreadOnlyObjects): Ditto. (KJS::Collector::collect): Ditto.
- 8:09 PM Changeset in webkit [21014] by
-
- 4 edits in trunk/WebCore
Reviewed by Darin and Geoff.
- move most of Window's data members into a separate private object, to avoid needing to use the oversize allocator for it
It was the only remaining JSObject subclass to use the oversize
allocator on 32-bit platforms, and having oversize objects around
makes garbage collection slower so this would hurt performance
with many tabs/windows open.
No significant effect on JS iBench.
- bindings/js/kjs_events.cpp: (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): (KJS::JSEventListener::JSEventListener): (KJS::JSEventListener::~JSEventListener): (KJS::JSLazyEventListener::parseCode):
- bindings/js/kjs_window.cpp: (KJS::WindowPrivate::WindowPrivate): (KJS::Window::Window): (KJS::Window::~Window): (KJS::Window::location): (KJS::Window::selection): (KJS::Window::locationbar): (KJS::Window::menubar): (KJS::Window::personalbar): (KJS::Window::statusbar): (KJS::Window::toolbar): (KJS::Window::scrollbars): (KJS::Window::mark): (KJS::Window::getValueProperty): (KJS::Window::findJSEventListener): (KJS::Window::findJSUnprotectedEventListener): (KJS::Window::clearHelperObjectProperties): (KJS::Window::clear): (KJS::Window::setCurrentEvent): (KJS::Window::setReturnValueSlot): (KJS::Window::clearAllTimeouts): (KJS::Window::installTimeout): (KJS::Window::pauseTimeouts): (KJS::Window::resumeTimeouts): (KJS::Window::clearTimeout): (KJS::Window::timerFired): (KJS::Window::disconnectFrame): (KJS::Window::jsEventListeners): (KJS::Window::jsHTMLEventListeners): (KJS::Window::jsUnprotectedEventListeners): (KJS::Window::jsUnprotectedHTMLEventListeners):
- bindings/js/kjs_window.h:
- 8:08 PM Changeset in webkit [21013] by
-
- 2 edits in trunk/WebCore
Fix 1% regression on the PLT. Make sure roundToDevicePixels does no
work when no scale is in effect.
Reviewed by mjs
- 5:44 PM Changeset in webkit [21012] by
-
- 3 edits in trunk/WebCore
Reviewed by Oliver.
- fix small things noticed while looking into a font subsitution bug
- platform/Font.h: (WebCore::Font::operator==): Corrected a misleading comment.
- platform/Font.cpp: (WebCore::Font::Font): Initialize m_pageZero to 0 in the empty constructor instead of leaving it uninitialized. Initialize m_fontList for tighter code. Remove unneeded initialization of RefPtr members to 0. Changed the copy constructor to use initialization for tighter code. (WebCore::Font::operator=): Sorted to match the order from the header and the copy constructor, and removed the uneeded self-assignment check.
- 5:38 PM Changeset in webkit [21011] by
-
- 2 edits in trunk/WebKit
Reviewed by Darin.
The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
was #ifdefed out in Production builds.
- WebView/WebView.mm: (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
- 4:14 PM Changeset in webkit [21010] by
-
- 5 edits1 add in trunk/WebCore
Reviewed by Maciej.
- fix http://bugs.webkit.org/show_bug.cgi?id=5196 <rdar://problem/4537384> input type=file fields with style=display:none do not post their values (5196)
- fix http://bugs.webkit.org/show_bug.cgi?id=8248 Can not clear file input field
- manual-tests/clear-input-file.html: Added.
- html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Remove check that prevents submission of form data when there is no renderer or the renderer is invisible. While well-intentioned, the rule does not match the behavior of other web browsers. (WebCore::HTMLInputElement::setValue): Instead of disallowing all value changes for file type, allow changes to the empty string. (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Made file type return true for this. 1) The file type does store its value separate from the value attribute. 2) The code in setInputType() should do the right thing given this new value, according to my inspection of the code. 3) The code in both reset() and setValue() will work properly if this is true, which was the motivation for changing it.
- platform/FileChooser.h: Added a clear function.
- platform/FileChooser.cpp: (WebCore::FileChooser::clear): Clear the filename and the icon.
- rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::valueChanged): Used a local variable to make the code a little bit more readable (and match the change below). (WebCore::RenderFileUploadControl::updateFromElement): Used local variables a bit more in the old code. Added code that will call clear on the FileChooser and repaint if the DOM element has an empty value and the FileChooser does not.
- 4:12 PM Changeset in webkit [21009] by
-
- 9 edits in trunk/WebCore
Reviewed by Hyatt.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=12279
Implemented two pass loading. Enabled by WTF_USE_LOW_BANDWIDTH_DISPLAY flag.
- dom/Document.cpp: (WebCore::Document::Document): initialize member variable m_inLowBandwidthDisplay
- dom/Document.h: (WebCore::Document::haveStylesheetsLoaded): while in low bandwidth display mode, ignore pending style sheets (WebCore::Document::setDocLoader): (WebCore::Document::inLowBandwidthDisplay): (WebCore::Document::setLowBandwidthDisplay):
- html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptHandler): while in low bandwidth display mode, don't execute JavaScript
- loader/Cache.cpp: (WebCore::Cache::requestResource): while in low bandwidth display mode, don't let style sheet and JavaScript block
- loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::checkNotify): add notifyFinished() as client may need "this" pointer
- loader/DocLoader.h: (WebCore::DocLoader::replaceDocument):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::FrameLoader): (WebCore::FrameLoader::requestFrame): while in low bandwidth display mode, don't load sub-frame (WebCore::FrameLoader::stopLoading): (WebCore::FrameLoader::begin): set to low bandwidth display mode if the top frame is HTML document (WebCore::FrameLoader::write): (WebCore::FrameLoader::endIfNotLoading): (WebCore::FrameLoader::checkCompleted): while in low bandwidth display mode, don't set complete (WebCore::FrameLoader::requestObject): while in low bandwidth display mode, don't care Object (WebCore::FrameLoader::addLowBandwidthDisplayRequest): (WebCore::FrameLoader::removeAllLowbandwidthDisplayRequests): (WebCore::FrameLoader::notifyFinished): (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
- loader/FrameLoader.h: (WebCore::FrameLoader::FrameLoader::needToSwitchOutLowBandwidthDisplay): (WebCore::FrameLoader::FrameLoader::setUseLowBandwidthDisplay): (WebCore::FrameLoader::FrameLoader::useLowBandwidthDisplay):
- 3:57 PM Changeset in webkit [21008] by
-
- 6 edits2 adds in trunk
LayoutTests:
Reviewed by Tim Hatcher.
- test for http://bugs.webkit.org/show_bug.cgi?id=13439 4 problems found in dashboard-region parser and serializer
- fast/css/dashboard-region-parser.html: Added.
- fast/css/dashboard-region-parser-expected.txt: Added.
- fast/css/dashboard-regions-attr-crash.html: Updated bug URL to point to bugs.webkit.org instead of bugzilla.opendarwin.org. At some point we should do this for the roughly 100 other tests that have the old URL.
- fast/css/dashboard-regions-attr-crash-expected.txt: Ditto.
WebCore:
Reviewed by Tim Hatcher.
- fix http://bugs.webkit.org/show_bug.cgi?id=13439 4 problems found in dashboard-region parser and serializer
Test: fast/css/dashboard-region-parser.html
- css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText): Fix code that overwrote each additional region with the previous one to instead build a space-separated list. Check for the case of an identifier that's invalid, since that's (accidentally) how we represent a region value that doesn't have explicit top/right/bottom/left values. The old code would end up writing out four spaces after the region type.
- css/cssparser.cpp: (WebCore::CSSParser::parseDashboardRegions): Fail to parse if there is something after the "none" identifier or after the arguments inside the dashboard-region "function". Also replaced code that produced a identifier with CSS_VAL_INVALID in a roundabout way with code that does it explicitly.
- 3:12 PM Changeset in webkit [21007] by
-
- 2 edits in trunk/WebKit
Reviewed by Mitz.
Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
http://bugs.webkit.org/show_bug.cgi?id=13436
Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
and -right also recursively expands and collapses the sub-tree.
- WebInspector/webInspector/treeoutline.js:
- 3:05 PM Changeset in webkit [21006] by
-
- 2 edits in trunk/WebKit
Reviewed by Mitz.
Bug 13437: Inspector does not update when navigating to a different page
http://bugs.webkit.org/show_bug.cgi?id=13437
- WebInspector/webInspector/inspector.js: Correctly update to a new root node if the new focus node and the old focus node don't have a common ancestor.
- 1:28 PM Changeset in webkit [21005] by
-
- 4 edits1 add in branches/wx-port-alpha/trunk
Get JavaScriptCore tests running on the wxWebKit branch. (use run-wxwebkit-tests to run them)
- 10:24 AM Changeset in webkit [23330] by
-
- 2 edits in branches/WindowsMerge/LayoutTests
- win/Skipped: Added a new test that requires emacs key bindings that we don't have implemented in Boomer.
- 10:17 AM Changeset in webkit [21004] by
-
- 5 edits4 adds in trunk
LayoutTests:
Reviewed by Adele.
- test for <rdar://problem/5100240> REGRESSION: Control-O broken
- editing/input/emacs-ctrl-o-expected.checksum: Added.
- editing/input/emacs-ctrl-o-expected.png: Added.
- editing/input/emacs-ctrl-o-expected.txt: Added.
- editing/input/emacs-ctrl-o.html: Added.
WebCore:
Reviewed by Adele.
- support for fix for <rdar://problem/5100240> REGRESSION: Control-O broken
- dom/KeyboardEvent.h: Include a vector of command names in the KeypressCommand object instead of a single command name.
WebKit:
Reviewed by Adele.
- fix for <rdar://problem/5100240> REGRESSION: Control-O broken
- WebView/WebHTMLView.mm: (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of command names instead of a single command. (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector and also so that the interpretKeyEvents parameters are still intact for a second call to doCommandBySelector:, since the key bindings mechanism can do more than one. (-[WebHTMLView insertText:]): Added comment.
- 1:23 AM Changeset in webkit [21003] by
-
- 7 edits in trunk/WebCore
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=13115
REGRESSION: 1000% performance regression in DOM access by index, which was already slow
- dom/NodeList.h: Move cached data into a separate class, so it can be shared.
- dom/Node.h: Replace the set of registered NodeLists with a struct that also contains a shared NodeList::Caches (so the size of Node doesn't change).
- dom/NodeList.cpp: (WebCore::NodeList::NodeList): (WebCore::NodeList::~NodeList): (WebCore::NodeList::recursiveLength): (WebCore::NodeList::itemForwardsFromCurrent): (WebCore::NodeList::itemBackwardsFromCurrent): (WebCore::NodeList::recursiveItem): (WebCore::NodeList::itemWithName): (WebCore::NodeList::rootNodeChildrenChanged): (WebCore::NodeList::NodeListInfo::NodeListInfo): (WebCore::NodeList::NodeListInfo::reset):
- dom/ChildNodeList.cpp: (WebCore::ChildNodeList::ChildNodeList): (WebCore::ChildNodeList::length): (WebCore::ChildNodeList::item): (WebCore::ChildNodeList::nodeMatches):
- dom/ChildNodeList.h:
- dom/Node.cpp: (WebCore::Node::childNodes): (WebCore::Node::registerNodeList): (WebCore::Node::unregisterNodeList): (WebCore::Node::notifyLocalNodeListsAttributeChanged): (WebCore::Node::notifyLocalNodeListsChildrenChanged): Adjust for the above changes.