23:18 Changeset [31750] by mjs@apple.com

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

Reviewed by Geoff.

  • initial preparatory work for JS constructors

1) Allocate registers for the returnInfo block and "this" value when generating code for
op_construct. These are not used yet, but the JS branch of op_construct will use them.

2) Adjust argc and argv appropriately for native constructor calls.

3) Assign return value in a more straightforward way in op_ret since this is actually
a bit faster (and makes up for the allocation of extra registers above).

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitConstruct):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
23:18 Changeset [31749] by mrowe@apple.com

2008-04-08 Mark Rowe <mrowe@apple.com>

Export WTF::initializeThreading() from JavaScriptCore.

22:13 Changeset [31748] by weinig@apple.com

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

Reviewed by Timothy Hatcher.

Fix for http://bugs.webkit.org/show_bug.cgi?id=18373
REGRESSION: Can't drag the Web Inspector when grabbing in the toolbar area

  • page/inspector/inspector.css:
20:21 squirrelfish edited by oliver@apple.com
20:21 Changeset [31747] by alp@webkit.org

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

Reviewed by Alp Toker.

"missing sentinel" warnings in PluginDatabaseGtk.cpp

Use NULL, not 0 as sentinel in varargs calls.

  • plugins/gtk/PluginDatabaseGtk.cpp: (WebCore::PluginDatabase::getPluginPathsInDirectories): (WebCore::PluginDatabase::defaultPluginDirectories):
20:21 squirrelfish edited by oliver@apple.com
19:17 Changeset [31746] by weinig@apple.com


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

Reviewed by Geoffrey Garen.

First step in implementing the "split window"

  • Add a GlobalThisValue to ExecState which should be used in places that used to implement the "use the global object as this if null" rule.
  • Factor out lookupGetter/lookupSetter into virtual methods on JSObject so that they can be forwarded.
  • Make defineGetter/defineSetter virtual methods for the same reason.
  • Have PrototypeReflexiveFunction store the globalObject used to create it so that it can be used to get the correct thisObject for eval.
  • API/JSObjectRef.cpp: (JSObjectCallAsFunction):
  • JavaScriptCore.exp:
  • kjs/Activation.h:
  • kjs/ExecState.cpp: (KJS::ExecState::ExecState): (KJS::GlobalExecState::GlobalExecState):
  • kjs/ExecState.h: (KJS::ExecState::globalThisValue):
  • kjs/ExecStateInlines.h: (KJS::ExecState::ExecState): (KJS::FunctionExecState::FunctionExecState):
  • kjs/JSGlobalObject.cpp: (KJS::JSGlobalObject::reset): (KJS::JSGlobalObject::toGlobalObject):
  • kjs/JSGlobalObject.h: (KJS::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): (KJS::JSGlobalObject::JSGlobalObject):
  • kjs/array_instance.cpp: (KJS::CompareWithCompareFunctionArguments::CompareWithCompareFunctionArguments): (KJS::compareWithCompareFunctionForQSort):
  • kjs/array_object.cpp: (KJS::arrayProtoFuncSort): (KJS::arrayProtoFuncFilter): (KJS::arrayProtoFuncMap): (KJS::arrayProtoFuncEvery): (KJS::arrayProtoFuncForEach): (KJS::arrayProtoFuncSome):
  • kjs/function.cpp: (KJS::FunctionImp::callAsFunction): (KJS::ActivationImp::toThisObject): (KJS::globalFuncEval): (KJS::PrototypeReflexiveFunction::PrototypeReflexiveFunction): (KJS::PrototypeReflexiveFunction::mark):
  • kjs/function.h: (KJS::PrototypeReflexiveFunction::cachedGlobalObject):
  • kjs/function_object.cpp: (KJS::functionProtoFuncApply): (KJS::functionProtoFuncCall):
  • kjs/nodes.cpp: (KJS::ExpressionNode::resolveAndCall): (KJS::FunctionCallValueNode::evaluate): (KJS::LocalVarFunctionCallNode::inlineEvaluate): (KJS::ScopedVarFunctionCallNode::inlineEvaluate): (KJS::FunctionCallBracketNode::evaluate): (KJS::FunctionCallDotNode::inlineEvaluate):
  • kjs/object.cpp: (KJS::JSObject::call): (KJS::JSObject::put): (KJS::tryGetAndCallProperty): (KJS::JSObject::lookupGetter): (KJS::JSObject::lookupSetter): (KJS::JSObject::toThisObject): (KJS::JSObject::toGlobalObject): (KJS::JSObject::fillGetterPropertySlot):
  • kjs/object.h:
  • kjs/object_object.cpp: (KJS::objectProtoFuncLookupGetter): (KJS::objectProtoFuncLookupSetter):
  • kjs/string_object.cpp: (KJS::replace):


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

Reviewed by Geoffrey Garen.

First step in implementing the "split window"

  • This patch takes the first step in changing the window navigation model from clearing the window properties on navigation, to replacing an inner window. This is necessary to safely perform security checks using the lexical global object.

This first step adds a new class called JSDOMWindowWrapper, which wraps
the real window object. All JS calls that would go to the window object
now go to it, which it forwards to the current inner window. To accomplish
this, the wrapper window is used as the ThisValue wherever the window was used

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase): (WebCore::JSDOMWindowBase::clear): Reset the wrapper windows prototype too. (WebCore::JSDOMWindowBase::toThisObject): (WebCore::JSDOMWindowBase::wrapper): (WebCore::windowProtoFuncAToB): (WebCore::windowProtoFuncBToA): (WebCore::windowProtoFuncOpen): (WebCore::windowProtoFuncSetTimeout): (WebCore::windowProtoFuncClearTimeout): (WebCore::windowProtoFuncSetInterval): (WebCore::windowProtoFuncAddEventListener): (WebCore::windowProtoFuncRemoveEventListener): (WebCore::windowProtoFuncShowModalDialog): (WebCore::windowProtoFuncNotImplemented): (WebCore::toJS):
  • bindings/js/JSDOMWindowBase.h: Fix to expect the wrapper as the thisObj.
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage): (WebCore::toDOMWindow):
  • bindings/js/JSDOMWindowWrapper.cpp: Added. (WebCore::): (WebCore::JSDOMWindowWrapper::JSDOMWindowWrapper): (WebCore::JSDOMWindowWrapper::~JSDOMWindowWrapper): (WebCore::JSDOMWindowWrapper::mark): (WebCore::JSDOMWindowWrapper::className): (WebCore::JSDOMWindowWrapper::getOwnPropertySlot): (WebCore::JSDOMWindowWrapper::put): (WebCore::JSDOMWindowWrapper::deleteProperty): (WebCore::JSDOMWindowWrapper::getPropertyNames): (WebCore::JSDOMWindowWrapper::getPropertyAttributes): (WebCore::JSDOMWindowWrapper::defineGetter): (WebCore::JSDOMWindowWrapper::defineSetter): (WebCore::JSDOMWindowWrapper::lookupGetter): (WebCore::JSDOMWindowWrapper::lookupSetter): (WebCore::JSDOMWindowWrapper::toGlobalObject): (WebCore::JSDOMWindowWrapper::impl): (WebCore::JSDOMWindowWrapper::disconnectFrame): (WebCore::JSDOMWindowWrapper::clear): (WebCore::toJS):
  • bindings/js/JSDOMWindowWrapper.h: Added. (WebCore::JSDOMWindowWrapper::innerWindow): (WebCore::JSDOMWindowWrapper::setInnerWindow): (WebCore::JSDOMWindowWrapper::classInfo): Forward methods to the innerWindow.
  • bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/kjs_events.cpp: (WebCore::JSAbstractEventListener::handleEvent):
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::~KJSProxy): (WebCore::KJSProxy::evaluate): (WebCore::KJSProxy::clear): (WebCore::KJSProxy::initScript): (WebCore::KJSProxy::clearDocumentWrapper): (WebCore::KJSProxy::processingUserGesture): (WebCore::KJSProxy::attachDebugger):
  • bindings/js/kjs_proxy.h: (WebCore::KJSProxy::haveWindowWrapper): (WebCore::KJSProxy::windowWrapper): (WebCore::KJSProxy::globalObject): (WebCore::KJSProxy::initScriptIfNeeded): Hold onto the wrapper window instead of global object. As a convenience, keep the globalObject() as a forward to the inner window.
  • bindings/objc/DOMUtility.mm: (KJS::createDOMWrapper):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.cpp: (WebCore::Document::domWindow):
  • dom/Document.h: (WebCore::Document::defaultView):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::dispatchWindowObjectAvailable):
  • page/DOMWindow.idl:
  • page/Frame.cpp: (WebCore::Frame::~Frame): (WebCore::Frame::pageDestroyed):
18:02 Changeset [31745] by beidson@apple.com


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

Encourage Windows to rebuild - AGAIN...

  • kjs/DateMath.cpp:


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

Encourage Windows to rebuild - AGAIN...

  • WebCore.vcproj/build-generated-files.sh:
  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • config.h:
17:10 Changeset [31744] by beidson@apple.com

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

OMG release builds didn't have this flag Windows build bots I'm so
sorry will you ever forgive me?

(Found by Stephanie, rubberstamped and landed by Brady)

  • WebCore.vcproj/WebCore.vcproj: Add ENABLE_DOM_STORAGE for release builds
17:06 Changeset [31743] by timothy@apple.com

Fixes a crash in KJS::JSValue::toObject when closing
Safari with Inspector open.


Reviewed by Adam Roben.

  • page/InspectorController.cpp:

(WebCore::inspectedWindow): NULL check the result of toJSDOMWindow.
Return JSNull if JSDOMWindow is 0.

  • page/inspector/ElementsPanel.js:

(ElementsPanel.prototype.reset): NULL check the result of

16:57 Changeset [31742] by aroben@apple.com

Export callOnMainThread from WebKit.dll

Rubberstamped by Anders.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
16:07 Changeset [31741] by dino@apple.com

Add some updated proposals for CSS specifications, such as
Transforms and Transitions which are already implemented in TOT.

14:57 Changeset [31740] by aroben@apple.com

Wx build fix

  • webcore-wx.bkl: Removed entry for non-existent file.
14:52 Changeset [31739] by aroben@apple.com

qmake build fixes

  • WebCore.pro: Removed entries for non-existent files.
14:34 Changeset [31738] by aroben@apple.com

Mac build fix

14:28 Changeset [31737] by beidson@apple.com

Strongly encourage Windows bots to rebuild with DOM_STORAGE enabled

14:04 Changeset [31736] by timothy@apple.com

Implements the majority of the Inspector UI refresh as shown at:


A few areas that have not been re-implemented with the new UI are:

  • Search and search results.
  • Request and response headers in the Resources panel.
  • Changing the sorting, grouping or toggling small rows in Resources.
  • Image and font previews in the icon of resources.

Reviewed by Adam Roben.

  • English.lproj/InspectorLocalizedStrings.js: Updated to match actual strings.
  • WebCore.vcproj/WebCore.vcproj: Added new files.
  • page/InspectorController.cpp:

(WebCore::InspectorController::setWindowVisible): Call resetScriptObjects()
instead of individual clear functions.
(WebCore::InspectorController::populateScriptObjects): Renamed from
(WebCore::InspectorController::addDatabaseScriptResource): Call
addDatabase instead of addResource.
(WebCore::InspectorController::removeDatabaseScriptResource): Call
removeDatabase instead of removeResource.
(WebCore::InspectorController::resetScriptObjects): Renamed from
(WebCore::InspectorController::didCommitLoad): Call resetScriptObjects()
instead of individual clear functions.

  • page/InspectorController.h: Rename functions.
  • page/inspector/Console.js: Changed the object name to Console from

ConsolePanel. Made it inherit the prototype from View. Added code
to animate in and out.

  • page/inspector/Database.js: Removed title updating and Resource

pseudo-subclassing. Made more of a Model object that just encapsulates
data. Add a getter for table names.

  • page/inspector/DatabaseQueryView.js: Added. Implements the view seen

when selecting a Database in the DatabasesPanel. Implemented as an
interactive console-like area.

  • page/inspector/DatabaseTableView.js: Added. Implements the view seen

when selecting a Database Table in the DatabasesPanel. Matches the old
Browse view of Database panels.

  • page/inspector/DatabasesPanel.js: Changed the object name to DatabasesPanel

from DatabasePanel. Implements a panel that shows a sidebar of Databases
and Database Tables.

  • page/inspector/ElementsPanel.js: Changed the object name to ElementsPanel

from DocumentPanel. Implements the DOM tree that shows the DOM rooted at the
main resource.

  • page/inspector/FontView.js: Use this.contentElement instead of this.element.
  • page/inspector/ImageView.js: Ditto.
  • page/inspector/Images/clearConsoleButtons.png: Added.
  • page/inspector/Images/consoleButtons.png: Added.
  • page/inspector/Images/darkShadow.png: Flipped.
  • page/inspector/Images/database.png: Modified to be 32x32.
  • page/inspector/Images/databaseTable.png: Added.
  • page/inspector/Images/databasesIcon.png: Added.
  • page/inspector/Images/disclosureTriangleSmallDown.png: Added.
  • page/inspector/Images/disclosureTriangleSmallDownBlack.png: Added.
  • page/inspector/Images/disclosureTriangleSmallDownWhite.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRight.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightBlack.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightDown.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightDownBlack.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightDownWhite.png: Added.
  • page/inspector/Images/disclosureTriangleSmallRightWhite.png: Added.
  • page/inspector/Images/dockButtons.png: Added.
  • page/inspector/Images/elementsIcon.png: Added.
  • page/inspector/Images/gradientHighlightBottom.png:
  • page/inspector/Images/resourceCSSIcon.png: Added.
  • page/inspector/Images/resourceDocumentIcon.png: Added.
  • page/inspector/Images/resourcePlainIcon.png: Added.
  • page/inspector/Images/resourcesIcon.png: Added.
  • page/inspector/Images/resourcesSizeGraphIcon.png: Added.
  • page/inspector/Images/resourcesTimeGraphIcon.png: Added.
  • page/inspector/Images/scriptsIcon.png: Added.
  • page/inspector/Images/segment.png: Modified to fit the taller status bar.
  • page/inspector/Images/segmentEnd.png: Ditto.
  • page/inspector/Images/segmentHover.png: Ditto.
  • page/inspector/Images/segmentHoverEnd.png: Ditto.
  • page/inspector/Images/segmentSelected.png: Ditto.
  • page/inspector/Images/segmentSelectedEnd.png: Ditto.
  • page/inspector/Images/sidebarSelectionBackground.png: Added.
  • page/inspector/Images/sidebarSelectionBackgroundFocused.png: Added.
  • page/inspector/Images/sidebarSelectionBackgroundInactive.png: Added.
  • page/inspector/Images/sidebarSmallSelectionBackground.png: Added.
  • page/inspector/Images/sidebarSmallSelectionBackgroundFocused.png: Added.
  • page/inspector/Images/sidebarSmallSelectionBackgroundInactive.png: Added.
  • page/inspector/Images/statusbarBackground.png: Added.
  • page/inspector/Images/statusbarBottomBackground.png: Added.
  • page/inspector/Images/statusbarButtons.png: Added.
  • page/inspector/Images/statusbarResizerVertical.png: Added.
  • page/inspector/Images/toolbarItemSelected.png: Added.
  • page/inspector/Panel.js: Added support for toolbar items and status bar items.

Inherits from the View prototype.

  • page/inspector/Resource.js: Removed title updating and the ResourceTreeElement.

Made more of a Model object that just encapsulates data.

  • page/inspector/ResourceCategory.js: Removed the ResourceCategoryTreeElement.

Made more of a Model object that just encapsulates data.

  • page/inspector/ResourceView.js: A simple base object for Resource views

shown in ResourcesPanel. Inherits from the View prototype.

  • page/inspector/ResourcesPanel.js: Changed the object name to ResourcesPanel

from NetworkPanel. Implements the timeline graph, size graph and resource
viewing by using ResourceViews.

  • page/inspector/SidebarTreeElement.js: Added. Inherits from TreeElement and implements

a section element and a regular element that has an icon, title and optional subtitle.

  • page/inspector/SourceView.js: Use this.contentElement instead of this.element.
  • page/inspector/StylesSidebarPane.js: Null check WebInspector.mainResource.
  • page/inspector/View.js: Added. A simple object to manage showing and hiding an element.
  • page/inspector/WebKit.qrc: Added new files.
  • page/inspector/inspector.css: New and changed style rules to support the new UI.
  • page/inspector/inspector.html: New and changed HTML for the UI. The search field

is disabled until search is reimplemented.

  • page/inspector/inspector.js: Removed code related to the sidebar and back-forward lists.

Also removed code related to navigation to panels. Added code to instantiate the new
panels and setup the toolbar.

13:59 Changeset [31735] by mitz@apple.com

Reviewed by Antti Koivisto.

  • fix a regression from r31313 which made the inspector highlight and yellow find highlight for table cells with extra top appear in the wrong position
  • rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): Changed absolutePosition() to absolutePositionForContent(), to get the right position for children of table cells. This is the correct fix for this part of r31313.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::absolutePosition): Reverted the change from r31313 by changing absolutePosition() to absolutePositionForContent() here too.
  • rendering/RenderObject.h: (WebCore::RenderObject::absolutePositionForContent): Changed to return the result from absolutePosition().
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::absoluteClippedOverflowRect): Turned the "else" case into an early return. (WebCore::RenderTableCell::absolutePosition): Reverted the change from r31313.
13:58 Changeset [31734] by mitz@apple.com


Reviewed by Antti Koivisto.

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

  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): The existing code for handling a float-clearing <br> in incremental layout had several bugs in it: it only applied when the <br> was on the last line of the block; it assumed that the <br> was always the rightmost box on the line (which is false in right-to-left runs); and in some places it looked at the last child of the block instead of the last box on the line. Fixed these bugs.


Reviewed by Antti Koivisto.

  • fast/block/float/br-with-clear-2.html: Added.
  • platform/mac/fast/block/float/br-with-clear-2-expected.checksum: Added.
  • platform/mac/fast/block/float/br-with-clear-2-expected.png: Added.
  • platform/mac/fast/block/float/br-with-clear-2-expected.txt: Added.
13:50 Changeset [31733] by aroben@apple.com

Mac build fix

  • WebCore.xcodeproj/project.pbxproj: Removed MainThread* files which were moved to WTF.
13:36 Changeset [31732] by timothy@apple.com

Change WebInspector.elementDragStart and WebInspector.elementDragEnd to have more
state, so calling elementDragEnd does not need the listener functions. Also makes
calling elementDragStart again without elementDragEnd work correctly.

Reviewed by Adam Roben.

  • page/inspector/ElementsPanel.js:

(DocumentPanel.prototype.rightSidebarResizerDragStart): Just call WebInspector.elementDragStart.
Removed code that stored away the listeners now that elementDragStart does it.
(DocumentPanel.prototype.rightSidebarResizerDragEnd): Just call WebInspector.elementDragEnd.
Removed code that deleted listeners properties now that elementDragEnd does it.

  • page/inspector/inspector.js:

(WebInspector.sidebarResizerDragEnd): Pass less arguments to elementDragEnd.
(WebInspector.searchResultsResizerDragEnd): Ditto.
(WebInspector.elementDragStart): Store the listeners as private properties on WebInspector.
If the properties are already defined, call elementDragEnd first.
(WebInspector.elementDragEnd): Remove the event listeners using the stored properties.
Delete the private listener properties.

13:30 Changeset [31731] by aroben@apple.com

Build fix

  • ForwardingHeaders/wtf/MainThread.h: Added. Forgot to commit this.
13:12 Changeset [31730] by aroben@apple.com

Move callOnMainThread to WTF


Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • wtf/MainThread.cpp:
  • wtf/MainThread.h:
  • wtf/gtk/MainThreadGtk.cpp:
  • wtf/mac/MainThreadMac.mm:
  • wtf/qt/MainThreadQt.cpp:
  • wtf/win/MainThreadWin.cpp:
  • wtf/wx/MainThreadWx.cpp: Moved here from WebCore/platform. Replaced all instances of "WebCore" with "WTF".
  • kjs/bool_object.cpp: Touched to force JavaScriptCore.vcproj to build. to the WTF namespace.
  • wtf/ThreadingWin.cpp: (WTF::initializeThreading): Call initializeMainThread.


Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl: Removed MainThread files.
  • bindings/js/JSCustomSQLTransactionCallback.cpp:
  • loader/icon/IconDatabase.cpp: (WebCore::iconDatabase):
  • storage/Database.cpp: (WebCore::Database::Database):
  • storage/DatabaseTracker.cpp: Updated #includes and replaced calls to WebCore::initializeThreadingAndMainThread with calls to KJS::initializeThreading.
  • platform/MainThread.cpp: Removed.
  • platform/MainThread.h: Removed.
  • platform/gtk/MainThreadGtk.cpp: Removed.
  • platform/mac/MainThreadMac.mm: Removed.
  • platform/qt/MainThreadQt.cpp: Removed.
  • platform/win/MainThreadWin.cpp: Removed.
  • platform/wx/MainThreadWx.cpp: Removed.


Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • webkit/webkitprivate.cpp: Updated #include. (webkit_init): Changed to call KJS::initializeThreading.


Move callOnMainThread to WTF

Reviewed by Alexey Proskuryakov.

  • WebIconDatabase.cpp: Updated #include
12:48 Changeset [31729] by mrowe@apple.com

2008-04-08 Mark Rowe <mrowe@apple.com>

Clean up after Brady.

  • DumpRenderTree/mac/DumpRenderTree.mm: Add an include so that NSInteger can be found.
11:56 Changeset [31728] by aroben@apple.com

Combine :equal operations with the following operation if they are fewer than 3 characters long

This keeps us from showing lots of small changes on long lines, just
because some letters happened to be the same.

Inspired by

  • PrettyPatch/PrettyPatch.rb: (PrettyPatch::DiffSection.initialize): Remove :equal operations fewer than 3 characters long. The characters from the removed operations become part of the subsequent operation. (PrettyPatch::CodeLine.text_as_html): Don't wrap 0-length strings in <ins>/<del> tags. Also removed the @fromLineNumber.nil? and @toLineNumber.nil? checks as they are no longer reliable now that we're removing operations.
11:28 Changeset [31727] by sfalken@apple.com

Fix ChangeLog

11:28 Changeset [31726] by sfalken@apple.com

Add missing increment/decrement COM class counts to detect leaks.

Reviewed by Adam Roben.

  • CFDictionaryPropertyBag.cpp: (CFDictionaryPropertyBag::CFDictionaryPropertyBag): (CFDictionaryPropertyBag::~CFDictionaryPropertyBag):
  • CFDictionaryPropertyBag.h:
  • HTTPHeaderPropertyBag.cpp: (HTTPHeaderPropertyBag::HTTPHeaderPropertyBag): (HTTPHeaderPropertyBag::~HTTPHeaderPropertyBag):
  • HTTPHeaderPropertyBag.h:
  • WebActionPropertyBag.cpp: (WebActionPropertyBag::WebActionPropertyBag): (WebActionPropertyBag::~WebActionPropertyBag):
  • WebDocumentLoader.cpp: (WebDocumentLoader::WebDocumentLoader): (WebDocumentLoader::~WebDocumentLoader):
  • WebDropSource.cpp: (WebDropSource::WebDropSource): (WebDropSource::~WebDropSource):
  • WebDropSource.h:
  • WebElementPropertyBag.cpp: (WebElementPropertyBag::WebElementPropertyBag): (WebElementPropertyBag::~WebElementPropertyBag):
  • WebTextRenderer.cpp: (WebTextRenderer::WebTextRenderer): (WebTextRenderer::~WebTextRenderer):
  • WebView.cpp: (WebView::updateActiveState):
11:08 Changeset [31725] by aroben@apple.com

Change PrettyPatch to use DiffBuilder for intra-line diffs

This gives us much prettier intra-line diffs, largely because it can
distinguish multiple changes on the same line. e.g., if a line changes

const int myConstant = 0;


static const unsigned myConstant;

You will see that "static " was inserted, "int" changed to "unsigned",
and " = 0" was deleted.

This seems to have also gotten rid of some spurious instances of
"<ins></ins>" and "<del></del>" at the end of a line.

  • PrettyPatch/PrettyPatch.rb: (PrettyPatch::DiffSection.initialize): Use DiffBuilder instead of setChangeExtentFromLine (which had been copied from Trac's diffing code). (PrettyPatch::CodeLine):
    • Removed the changeExtent attribute
    • Added the operations attribute
    • Removed the setChangeExtentFromLine method

(PrettyPatch::CodeLine.text_as_html): Uses @operations to determine
what text to wrap in <ins> and <del> tags.

  • PrettyPatch/diff.rb: Deleted a bunch of code we don't use. (HTMLDiff::DiffBuilder.initialize): Moved code here from the old build method, but left out the calls to perform_operation, since we build the diff HTML outside of this class. (HTMLDiff::DiffBuilder.split_inputs_to_words): Removed calls to convert_html_to_list_of_words, since we're not diffing HTML.
11:06 Changeset [31724] by aroben@apple.com

Check in diff.rb

This came from
revision 28521

  • PrettyPatch/diff.rb: Added.
11:06 Changeset [31723] by timothy@apple.com

Makes the Network timeline graph resource sizes on the bar graph
when Transfer Size is selected.


Reviewed by Adam Roben.

  • page/inspector/Resource.js:

(WebInspector.Resource.CompareByTime): Array sorting function for time.
Copied from WebInspector.NetworkPanel.timelineEntryCompare.

  • page/inspector/ResourcesPanel.js:

(WebInspector.NetworkPanel): Set the selectedIndex of graphModeSelectElement to
make Transfer Time the default graph.
(WebInspector.NetworkPanel.prototype.changeGraphMode): Call calculator.reset,
_refreshAllResources and _updateGraphDividersIfNeeded.
(WebInspector.NetworkPanel.prototype.get totalDuration): Removed.
(WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded): Removed boundary
checking code and just call calculator.updateBoundries.
(WebInspector.NetworkPanel.prototype._updateGraphDividersIfNeeded): Add a force argument.
Use calculator.boundarySpan when computing the slice. If the slice is NaN, don't make a label.
Ask the calculator to format the label values for each slice.
(WebInspector.NetworkPanel.prototype.clearTimeline): Call calculator.reset.
(WebInspector.NetworkPanel.timelineEntryCompare): Call WebInspector.Resource.CompareByTime.

(WebInspector.NetworkTimelineEntry.prototype.refresh): Ask the panel's calculator to compute
bar graph percentages for a resource. Use those percentages to change the bar style.

(WebInspector.ResourceCalculator): Renamed from WebInspector.TimelineValueCalculator.
(WebInspector.ResourceCalculator.prototype.computeSummaryValues): Changed the Array.forEach
to a normal for loop. Work with resources instead of TimelineEntries.
(WebInspector.ResourceCalculator.prototype.computeBarGraphPercentages): Return basic bar graph
percents with start always being zero.
(WebInspector.ResourceCalculator.prototype.get boundarySpan): Return the difference between
maximumBoundary and minimumBoundary.
(WebInspector.ResourceCalculator.prototype.updateBoundries): Update maximumBoundary based on _value.
The minimumBoundary is always zero.
(WebInspector.ResourceCalculator.prototype.reset): Delete maximumBoundary and minimumBoundary.
(WebInspector.ResourceCalculator.prototype._value): Takes a Resource instead of TimelineEntry.

(WebInspector.ResourceTransferTimeCalculator): Renamed from TransferTimeCalculator.
(WebInspector.ResourceTransferTimeCalculator.prototype.computeSummaryValues): Work with resources
instead of entries. Changed the Array.forEach to a normal for loop.
(WebInspector.ResourceTransferTimeCalculator.prototype.computeBarGraphPercentages): Return percents
just like WebInspector.NetworkTimelineEntry.prototype.refresh was doing before.
(WebInspector.ResourceTransferTimeCalculator.prototype.updateBoundries): Update minimumBoundary and
maximumBoundary just like the checks WebInspector.NetworkPanel.prototype._updateGraphBoundriesIfNeeded was doing.

(WebInspector.ResourceTransferSizeCalculator): Renamed from TransferSizeCalculator.
(WebInspector.ResourceTransferSizeCalculator.prototype._value): Takes a Resource instead of TimelineEntry.

10:29 Changeset [31722] by beidson@apple.com


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

Reviewed by Mitzpettel

Fixed http://bugs.webkit.org/show_bug.cgi?id=18302
-WebArchive subresources dump in random order, intermittent failures

  • DumpRenderTree/mac/DumpRenderTree.mm: (compareResourceURLs): Sorting function based on the resource URLs (serializeWebArchiveToXML): Sort the subresource array


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

Reviewed by Mitzpettel

Fixed http://bugs.webkit.org/show_bug.cgi?id=18302
-WebArchive subresources dump in random order, intermittent failures

Now that a DRT fix has set the order, these 3 tests needed new results

  • webarchive/test-css-import-expected.txt:
  • webarchive/test-duplicate-resources-expected.txt:
  • webarchive/test-frameset-expected.txt:
10:27 Changeset [31721] by rwlbuis@webkit.org

Fix the SVG build.

  • svg/SVGFEFloodElement.cpp: (WebCore::SVGFEFloodElement::filterEffect):
09:50 Changeset [31720] by alice.liu@apple.com

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

Reviewed by Dan Bernstein.

fixed http://bugs.webkit.org/show_bug.cgi?id=18329
REGRESSION: Assertion failure in -[WebViewFactory endOfTextMarkerRange:]
when invoking the Dictionary pop-up

  • page/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): In the section of code where WebCore-equivalents of mac-specific types are prepared, some functions weren't meant to operate on the default initialized values. Checking for nil in certain places will better maintain the original pre-refactoring code path.
01:15 Changeset [31719] by mitz@apple.com

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

  • fix most of the Windows layout test regressions from the font-weight patch
  • platform/graphics/win/FontCacheWin.cpp: (WebCore::matchImprovingEnumProc): Changed to be symmetric with respect to italics: always prefer (reject) a candidate that changes the italics trait to (from) the desired value. (WebCore::createGDIFont): Added code to set more members of the LOGFONT structure before creating the font.
00:20 Changeset [31718] by rwlbuis@webkit.org

Reviewed by Ollie.

feFlood in attribute should be removed according to SVG 1.1 Errata

Remove the in attribute from SVGFEFlood DOM.


23:24 Changeset [31717] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.

A little more love for --squirrelfish mode:

Fixed a misplaced sort. Results properly sort now.

Added a test list just for squirrelfish, and updated it to include
all currently passing SunSpider tests.

Fixed the pruning regexp to match 3d-morph.js.

  • sunspider:
23:13 Changeset [31716] by ggaren@apple.com

fix changelog, bokay?

23:12 Changeset [31715] by ggaren@apple.com

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

Reviewed by Maciej Stachowiak.

Fixed crasing SunSpider tests.

Let's just pretend this never happened, bokay?

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::CodeGenerator):
  • VM/CodeGenerator.h:
  • VM/RegisterFile.cpp: (KJS::RegisterFile::addGlobals):
22:24 Changeset [31714] by ggaren@apple.com

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

Reviewed by Oliver Hunt.

Restored dumping of generated code as a command-line switch:
run-testkjs -d will do it.

22:20 Changeset [31713] by beidson@apple.com

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

Rubberstamped by Geoff Garen

Forgot to update these results after I added the Prototype

  • fast/dom/Window/window-properties-expected.txt:
21:53 Changeset [31712] by ggaren@apple.com

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

Reviewed by Oliver Hunt.

Next step toward supporting re-entrant evaluation: Moved register file
maintenance code into a proper "RegisterFile" class.

There's a subtle change to the register file's internal layout: for
global code / the global object, registerOffset is always 0 now. In
other words, all register counting starts at 0, not 0 + (number of
global variables). The helps simplify accounting when the number of
global variables changes.

20:12 Changeset [31711] by alice.liu@apple.com

build fix for gtk. hopefully the only one

20:01 Changeset [31710] by beidson@apple.com

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

I can't fathom why the new storage tests could be hanging, but alas they are on Windows
Disable until I can figure out why

  • platform/win/Skipped:
20:00 Changeset [31709] by alice.liu@apple.com

I "objeect" to that previous build fix

19:56 squirrelfish edited by ggaren@apple.com
19:54 Changeset [31708] by beidson@apple.com

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

OMG, BUILD - please!

  • Scripts/build-webkit:
19:50 squirrelfish edited by oliver@apple.com
18:57 Changeset [31707] by beidson@apple.com

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

Touch JSStorageCustom.cpp to try to FORCE a recompile on bots that haven't gotten the message

  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::customPut):
18:28 Changeset [31706] by alice.liu@apple.com

qt build fix. third time is hopefully the charm.

18:23 Changeset [31705] by alice.liu@apple.com

attempt at wx build fix

18:16 Changeset [31704] by alice.liu@apple.com

another attempt at qt build fix

18:08 Changeset [31703] by alice.liu@apple.com

attempt at fixing qt build

18:01 Changeset [31702] by beidson@apple.com


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

Reviewed by John Honeycutt


  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/build-generated-files.sh:


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

Reviewed by John Honeycutt


  • WebKit.vcproj/WebKit.vcproj:
17:44 Changeset [31701] by oliver@apple.com

Bug 18338: Support exceptions in SquirrelFish <http://bugs.webkit.org/show_bug.cgi?id=18338>

Reviewed by Geoff

Initial support for exceptions in SquirrelFish, only supports finalisers in the
simple cases (eg. exceptions and non-goto/return across finaliser boundaries).
This doesn't add the required exception checks to existing code, it merely adds
support for throw, catch, and the required stack unwinding.

17:21 Changeset [31700] by beidson@apple.com


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

Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project

  • Configurations/JavaScriptCore.xcconfig:


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

Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project

  • Configurations/WebKit.xcconfig:
17:16 Changeset [31699] by beidson@apple.com

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

Fix build for builds without DOM_STORAGE enabled

  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchStorageEvent):
  • dom/EventTargetNode.h:
16:47 Changeset [31698] by alice.liu@apple.com

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

Reviewed by Beth Dakin.

  • WebCore.vcproj/WebCore.vcproj:

Added a few cross-platform accessibility source files

  • WebCore.xcodeproj/project.pbxproj:

Added AXObjectCache.cpp

  • page/AXObjectCache.cpp: Added.

These were made cross-platform:


  • page/AXObjectCache.h:

These were made platform-specific


  • page/AccessibilityObject.cpp: (WebCore::AccessibilityObject::detach):

Since only the mac has a wrapper for now, so temporarily
wrapping this line in #if PLATFORM(MAC)


Since only the mac has uses Accessibility Object IDs,
wrap this line in #if PLATFORM(MAC)

  • page/mac/AXObjectCacheMac.mm:

Detaching and attaching the wrapper is platform-specific
since each wrapper class is platform-specific.


16:11 Changeset [31697] by beidson@apple.com


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

Lovingly reviewed by Sam Weinig

<rdar://problem/5797684> - HTML5 SessionStorage and underpinnings for LocalStorage

Tests: storage/domstorage/sessionstorage/iframe-events.html


  • Configurations/WebCore.xcconfig: Define to enable DOM_STORAGE
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Add optionalSessionStorage case
  • bindings/js/JSEventCustom.cpp: (WebCore::toJS): Add StorageEvent case
  • bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::canGetItemsForName): (WebCore::JSStorage::nameGetter): If the property doesn't exist on the object, call through to getItem() (WebCore::JSStorage::customPut): If the property doesn't exist on the object, call through to setItem()
  • dom/Event.cpp: (WebCore::Event::isStorageEvent):
  • dom/Event.h:
  • dom/EventNames.h: Add "storage"
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchStorageEvent):
  • dom/EventTargetNode.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): After a new page has been created, set its SessionStorage object to a copy of the previous Page's
  • page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): Accessor to pull the appropriate OriginStorage out of the Page's SessionStorage. (WebCore::DOMWindow::localStorage): To be filled in later
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalSessionStorage): Return the session Storage object for this window to mark, if any exists
  • page/DOMWindow.idl:
  • page/Page.cpp: (WebCore::Page::sessionStorage): Create and/or return the SessionStorage for this Page. (WebCore::Page::setSessionStorage): Set the SessionStorage for this Page - used in FrameLoader after a Window.open();
  • page/Page.h:
  • storage/OriginStorage.cpp: Intermediate layer between individual Storage objects, and shared StorageMap objects. There is one OriginStorage object per SecurityOrigin in each "unique set of storage areas", such as the SessionStorage. This layer forwards DOM-level calls down to the backing StorageMap, handles copy-on-write along with the StorageMap, fires StorageEvents to the DOM when a value is changed, and will eventually handle quota enforcement. (WebCore::OriginStorage::create): (WebCore::OriginStorage::OriginStorage): (WebCore::OriginStorage::~OriginStorage): (WebCore::OriginStorage::copy): (WebCore::OriginStorage::length): (WebCore::OriginStorage::key): (WebCore::OriginStorage::getItem): (WebCore::OriginStorage::setItem): (WebCore::OriginStorage::removeItem): (WebCore::OriginStorage::contains): (WebCore::OriginStorage::dispatchStorageEvent):
  • storage/OriginStorage.h:
  • storage/SessionStorage.cpp: From the HTML5 spec: "Each top-level browsing context has a unique set of session storage areas, one for each origin." This object represents that "unique set of session storage areas", and creates or returns the Storage object for the requested SecurityOrigin (WebCore::SessionStorage::create): (WebCore::SessionStorage::SessionStorage): (WebCore::SessionStorage::copy): (WebCore::SessionStorage::originStorage):
  • storage/SessionStorage.h: (WebCore::SessionStorage::page):
  • storage/Storage.cpp: Representation of the DOM-level object, wrapped by JSStorage. There is a unique Storage object per Window (per-Frame) that wraps a specific shared OriginStorage object. (WebCore::Storage::create): (WebCore::Storage::Storage): (WebCore::Storage::length): (WebCore::Storage::key): (WebCore::Storage::getItem): (WebCore::Storage::setItem): (WebCore::Storage::removeItem): (WebCore::Storage::contains):
  • storage/Storage.h:
  • storage/Storage.idl:
  • storage/StorageEvent.cpp: (WebCore::StorageEvent::StorageEvent): (WebCore::StorageEvent::initStorageEvent):
  • storage/StorageEvent.h: (WebCore::StorageEvent::isStorageEvent):
  • storage/StorageMap.cpp: The physical map of key/value pairs that is shared between OriginStorage objects, and implements copy-on-write semantics whenever a value is changed (WebCore::StorageMap::create): (WebCore::StorageMap::StorageMap): (WebCore::StorageMap::copy): (WebCore::StorageMap::invalidateIterator): Used to support the key(unsigned i) part of the API (WebCore::StorageMap::setIteratorToIndex): Ditto (WebCore::StorageMap::length): (WebCore::StorageMap::key): (WebCore::StorageMap::getItem): (WebCore::StorageMap::setItem): (WebCore::StorageMap::removeItem): (WebCore::StorageMap::contains):
  • storage/StorageMap.h:


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

Begrudgingly reviewed by Sam Weinig

Initial suite of layout tests for HTML5 key/value SessionStorage (<rdar://problem/5797684>)

  • fast/dom/Window/window-properties-expected.txt:
  • storage/domstorage: Added.
  • storage/domstorage/localstorage: Added.
  • storage/domstorage/sessionstorage: Added.
  • storage/domstorage/sessionstorage/iframe-events-expected.txt: Added.
  • storage/domstorage/sessionstorage/iframe-events.html: Added.
  • storage/domstorage/sessionstorage/index-get-and-set-expected.txt: Added.
  • storage/domstorage/sessionstorage/index-get-and-set.html: Added.
  • storage/domstorage/sessionstorage/resources: Added.
  • storage/domstorage/sessionstorage/resources/clearSessionStorage.js: Added.
  • storage/domstorage/sessionstorage/resources/iframe-events-second.html: Added.
  • storage/domstorage/sessionstorage/resources/window-open-second.html: Added.
  • storage/domstorage/sessionstorage/simple-events-expected.txt: Added.
  • storage/domstorage/sessionstorage/simple-events.html: Added.
  • storage/domstorage/sessionstorage/simple-usage-expected.txt: Added.
  • storage/domstorage/sessionstorage/simple-usage.html: Added.
  • storage/domstorage/sessionstorage/window-open-expected.txt: Added.
  • storage/domstorage/sessionstorage/window-open.html: Added.
  • storage/domstorage/window-attributes-exist-expected.txt: Added.
  • storage/domstorage/window-attributes-exist.html: Added.
15:18 Changeset [31696] by timothy@apple.com

Renamed various functions that are internal to the Console object to have an underscore prefix.

Rubber-stamped by Adam Roben.

  • page/inspector/Console.js:
15:10 Changeset [31695] by timothy@apple.com

Renamed various functions and properties that are internal to an object to have an underscore prefix.

Rubber-stamped by Adam Roben.

  • page/inspector/Resource.js:
  • page/inspector/ResourcesPanel.js:
15:04 Changeset [31694] by aroben@apple.com

Windows build fix

  • wtf/ThreadingWin.cpp: Back out some changes I didn't mean to land.
14:45 Changeset [31693] by timothy@apple.com

Fixes coding style for two utility getters.

  • page/inspector/utilities.js: Fix coding style for the

totalOffsetLeft and totalOffsetTop getters.

14:34 Changeset [31692] by sullivan@apple.com

2008-04-07 John Sullivan <sullivan@apple.com>

Reviewed by Tim

  • made the JavaScript text input panel not block Quit (part of 4133196)
  • English.lproj/WebJavaScriptTextInputPanel.nib/classes.nib:
  • English.lproj/WebJavaScriptTextInputPanel.nib/info.nib:
  • English.lproj/WebJavaScriptTextInputPanel.nib/keyedobjects.nib: Made the panel be a NonBlockingPanel
14:20 squirrelfish edited by oliver@apple.com
14:04 Changeset [31691] by aroben@apple.com

Export some more WTF functions from WebKit.dll

Reviewed by Alexey Proskuryakov.

  • WebKit.vcproj/WebKit.def:
  • WebKit.vcproj/WebKit_debug.def:
14:04 Changeset [31690] by aroben@apple.com

Add WTF::isMainThread

Reviewed by Alexey Proskuryakov.

  • wtf/Threading.h: Declare the new function.
  • wtf/ThreadingGtk.cpp: (WTF::initializeThreading): Initialize the main thread identifier. (WTF::isMainThread): Added.
  • wtf/ThreadingNone.cpp: Ditto ThreadingGtk.cpp. (WTF::initializeThreading): (WTF::isMainThread):
  • wtf/ThreadingPthreads.cpp: Ditto. (WTF::initializeThreading): (WTF::isMainThread):
  • wtf/ThreadingWin.cpp: Ditto. (WTF::initializeThreading): (WTF::isMainThread):
13:08 Changeset [31689] by mitz@apple.com

Reviewed by Dave Hyatt.

  • platform/mac/WebFontCache.mm: (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Changed to match by family name first, and only if that fails, look for a match by full (PostScript) name. Reverted the full name-based match logic to only distinguish between the broad categories of "bold" and "not bold".
13:01 Changeset [31688] by timothy@apple.com

When the WebInspector.currentFocusElement changes, move the caret selection to be inside the focused element. This makes sure the caret moves in and out of the console when the focus changes.

Reviewed by Adam Roben.

  • page/inspector/TextPrompt.js:

(TextPrompt.prototype.isCaretInsidePrompt): Just call isInsertionCaretInside.

  • page/inspector/inspector.js:

(WebInspector.set currentFocusElement): Make a caret selection inside
the focused element if there isn't a range selection and there isn't
already a caret selection inside.

  • page/inspector/utilities.js:

(Element.prototype.isInsertionCaretInside): Added. Tests if the
selection is collapsed and is inside the element.

12:17 Changeset [31687] by beidson@apple.com

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

Reviewed by Tim Hatcher

Add 1 more empty file for upcoming work, as a separate step, to keep all build-systems working

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSStorageCustom.cpp: Added.
11:50 Changeset [31686] by ap@webkit.org

Reviewed by Dan Bernstein.

<rdar://problem/5574946> Inline frame ISO-8859-1 even though parent character set is UTF-8

Test: fast/loader/inherit-charset-to-empty-frame.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::write): Treat an empty m_encoding the same as null one.
10:33 Changeset [31685] by timothy@apple.com

Rename some Inspector panel objects to facilitate the up-coming
UI refresh changes.

Reviewed by Adam Roben.

  • page/inspector/DatabasesPanel.js: Renamed ResourcePanel to ResourceView.
  • page/inspector/ElementsPanel.js: Renamed SourcePanel to SourceView.
  • page/inspector/FontView.js: Renamed FontPanel to FontView.
  • page/inspector/ImageView.js: Renamed ImagePanel to ImageView.
  • page/inspector/Resource.js: Instantiate the new "View" named objects.
  • page/inspector/ResourceView.js: Renamed ResourcePanel to ResourceView.
  • page/inspector/SourceView.js: Renamed SourcePanel to SourceView.
10:14 Changeset [31684] by timothy@apple.com

Fix an exception and remove code that was missed when TextPrompt
was added. This makes the Console work again.

Reviewed by Adam Roben.

  • page/inspector/Console.js: Removed code that used non-existent


09:41 Changeset [31683] by timothy@apple.com

Remove the workaround for bug 11399 now that it is fixed.

Reviewed by Adam Roben.

  • page/inspector/Console.js: Removed the 'with' statement

around the eval and call eval directly on the inspected window.

06:34 Changeset [31682] by alp@webkit.org

2008-04-07 Luca Bruno <lethalman88@gmail.com>

Reviewed by Alp Toker.

Bug #18297 - Acid2/Acid3 -tests don't load load with soup.

Fixes in the libsoup backend: data url parsing, acid tests, redirects,
response headers handling and re-entrancy issues on job cancellation.
Thanks to Dan Winship for libsoup hints.

  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): add m_cancelled and remove unuseful m_session
  • platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback): added to route redirects to webkit (WebCore::dataCallback): add response headers, some checks and fix re-entrancy (WebCore::parseDataUrl): be an idle callback for the main loop (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::cancel): fixed re-entrancy
05:34 HackingGtk edited by alp@atoker.com
Typo fixes from timeless (diff)
05:24 Changeset [31681] by ap@webkit.org

Build fix, rubber-stamped and landed by ap.

  • configure.ac: Add autoconf flag for HTML5 client-side session and persistent storage support.


  • GNUmakefile.am: Fix dom_storage conditional and typo: ENABLE_DOM_STORAG.
00:07 Changeset [31680] by beidson@apple.com

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

Whoops, idls don't go in the vcproj!

  • WebCore.vcproj/WebCore.vcproj:


23:55 Changeset [31679] by beidson@apple.com

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

Attempt to tickle Windows build into accepting this idl

  • storage/StorageEvent.idl:
23:39 Changeset [31678] by beidson@apple.com

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

Reviewed by Sam

HTML5 Session and Local Storage

Land a bunch of empty files and interfaces to keep things building while
I finish off the rest of the implementation of SessionStorage

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • storage/OriginStorage.cpp: Added.
  • storage/OriginStorage.h: Added.
  • storage/SessionStorage.cpp: Added.
  • storage/SessionStorage.h: Added.
  • storage/Storage.cpp: Added. (WebCore::Storage::length): (WebCore::Storage::key): (WebCore::Storage::getItem): (WebCore::Storage::setItem): (WebCore::Storage::removeItem):
  • storage/Storage.h: Added.
  • storage/Storage.idl: Added.
  • storage/StorageEvent.cpp: Added.
  • storage/StorageEvent.h: Added. (WebCore::StorageEvent::key): (WebCore::StorageEvent::oldValue): (WebCore::StorageEvent::newValue): (WebCore::StorageEvent::uri): (WebCore::StorageEvent::source): (WebCore::StorageEvent::initStorageEvent):
  • storage/StorageEvent.idl: Added.
  • storage/StorageMap.cpp: Added.
  • storage/StorageMap.h: Added.
23:33 Changeset [31677] by ap@webkit.org

Reviewed by Darin.

Make UString thread-safe.

No change on SunSpider total, although individual tests have changed a lot, up to 3%.

  • kjs/InitializeThreading.cpp: (KJS::initializeThreading): Call UString::null() to initialize a static.

  • kjs/identifier.cpp: (KJS::CStringTranslator::translate): (KJS::UCharBufferTranslator::translate): Use "true" for a boolean value instead of 1, because it's C++.
  • kjs/ustring.h: (KJS::CString::adopt): Added a method to create from a char* buffer without copying. (KJS::UString::Rep::ref): Removed an assertion for JSLock::lockCount, as it's no longer necessary to hold JSLock when working with strings. (KJS::UString::Rep::deref): Ditto. (KJS::UString::Rep::isStatic): Added a field to quickly determine that this is an empty or null static string.
  • kjs/ustring.cpp: (KJS::): Removed normalStatBufferSize and statBufferSize, as there is no reason to have such an advanced implementation of a debug-only ascii() method. Removed a long-obsolete comment about UChar. (KJS::UString::Rep::createCopying): Removed an assertion for JSLock::lockCount. (KJS::UString::Rep::create): Ditto. (KJS::UString::Rep::destroy): Ditto. Do not do anything for static null and empty strings, as refcounting is not reliable for those. Reordered branches for a noticeable speed gain - apparently this functiton is hot enough for SunSpider to see an effect from this! (KJS::UString::null): Moved a star, added a comment. (KJS::UString::cstring): Reimplemented to not call ascii(), which is not thread-safe. (KJS::UString::ascii): Simplified statBuffer handling logic. (KJS::UString::toDouble): Use cstring() instead of ascii().
17:09 Changeset [31676] by alp@webkit.org

2008-04-06 Luca Bruno <lethalman88@gmail.com>

Reviewed by Alp Toker.

Fix webkit_web_view_get_transparent() return value.

  • webkit/webkitwebview.cpp:
17:06 Changeset [31675] by ggaren@apple.com

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

Reviewed by Oliver Hunt.

First step toward supporting re-entrant evaluation: Switch register
clients from using "registers", a pointer to a register vector, to
"registerBase", an indirect pointer to the logical first entry in the
register file. (The logical first entry is the first entry that is not
a global variable).

With a vector, offsets into the register file remain good when the
underlying buffer reallocates, but they go bad when the logical
first entry moves. (The logical first entry moves when new global
variables get added to the beginning of the register file.) With an
indirect pointer to the logical first entry, offsets will remain good

1.4% speedup on sunspider --squirrelfish. I suspect this is due to
reduced allocation when creating closures, and reduced indirection
through the register vector.

  • wtf/Vector.h: Added an accessor for an indirect pointer to the vector's buffer, which we currently use (incorrectly) for registerBase. This is temporary scaffolding to allow us to change client code without changing behavior.
15:26 squirrelfish edited by weinig@apple.com
Remove ReadModifyDotNode (diff)
15:25 Changeset [31674] by weinig@apple.com

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

Reviewed by Oliver Hunt.

Implement codegen for ReadModifyDotNode.

  • kjs/nodes.cpp: (KJS::ReadModifyDotNode::emitCode):
  • kjs/nodes.h:
15:19 squirrelfish edited by weinig@apple.com
Re-add NewExprNode as it still needs a bit of love (diff)
14:51 squirrelfish edited by weinig@apple.com
Remove another LocalVar nodes as we don't need to emit anything for them (diff)
14:50 squirrelfish edited by weinig@apple.com
Remove more nods (diff)
14:49 Changeset [31673] by weinig@apple.com

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

Reviewed by Oliver Hunt.

Fix codegen for PostIncDotNode and implement codegen for PostIncBracketNode,
PostDecBracketNode and PostDecDotNode.

  • kjs/nodes.cpp: (KJS::PostIncBracketNode::emitCode): (KJS::PostDecBracketNode::emitCode): (KJS::PostIncDotNode::emitCode): (KJS::PostDecDotNode::emitCode):
  • kjs/nodes.h:
12:35 squirrelfish edited by weinig@apple.com
Remove more nodes that now have emitCode support (diff)
12:34 squirrelfish edited by weinig@apple.com
Remove LocalVar nodes as we don't need to emit anything for them (diff)
12:27 Changeset [31672] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Implement codegen for PreDecResolveNode, PreIncBracketNode, PreDecBracketNode,
PreIncDotNode and PreDecDotNode. This required adding one new op code, op_pre_dec.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitPreDec):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::PreDecResolveNode::emitCode): (KJS::PreIncBracketNode::emitCode): (KJS::PreDecBracketNode::emitCode): (KJS::PreIncDotNode::emitCode): (KJS::PreDecDotNode::emitCode):
  • kjs/nodes.h:
10:51 Changeset [31671] by ggaren@apple.com

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

Reviewed by Sam Weinig.

Improved register dumping, plus a liberal smattering of "const". Here's
what the new format looks like:

(gdb) call (void)dumpCallFrame(codeBlock, scopeChain, registers->begin(), r)
4 instructions; 48 bytes at 0x509210; 3 locals (2 parameters); 1 temporaries

[ 0] load lr1, undefined(@k0)
[ 3] load lr1, 2(@k1)
[ 6] add tr0, lr2, lr1
[ 10] ret tr0


k0 = undefined
k1 = 2

Register frame:


use | address | value

[return info] | 0x80ac08 | 0x5081c0
[return info] | 0x80ac0c | 0x508e90
[return info] | 0x80ac10 | 0x504acc
[return info] | 0x80ac14 | 0x2
[return info] | 0x80ac18 | 0x0
[return info] | 0x80ac1c | 0x7
[return info] | 0x80ac20 | 0x0
[param] | 0x80ac24 | 0x1
[param] | 0x80ac28 | 0x7
[var] | 0x80ac2c | 0xb
[temp] | 0x80ac30 | 0xf

00:58 Changeset [31670] by ggaren@apple.com

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

Reviewed by Sam Weinig.

Support for evaluating multiple scripts in the same global environment.
(Still don't support re-entrant evaluation yet.)

The main changes here are:

(1) Obey the ECMA 10.1.3 rules regarding how to resolve collisions when
a given symbol is declared more than once. (This patch fixes the same
issue for function code, too.)

(2) In the case of var and/or function collisions, reuse the existing
storage slot. For global code, this is required for previously
generated instructions to continue to work. For function code, it's
more of a "nice to have": it makes register layout in the case of
collisions easier to understand, and has the added benefit of saving

(3) Allocate slots in the CodeGenerator's m_locals vector in parallel
to register indexes in the symbol table. This ensures that, given an
index in the symbol table, we can find the corresponding RegisterID
without hashing, which speeds up codegen.

I moved responsibility for emitting var and function initialization
instructions into the CodeGenerator, because bookkeeping in cases where
var, function, and/or parameter names collide requires a lot of
internal knowledge about the CodeGenerator.

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::addVar): Removed responsibility for checking whether a var declaration overwrites "arguments", because the check is inappropriate for global code, which may not have a pre-existing "arguments" symbol in scope. Also changed this function to return a boolean indicating whether addVar actually created a new RegisterID, or just reused an old one.

(KJS::CodeGenerator::CodeGenerator): Split out the constructors for
function code and global code, since they're quite different now.

(KJS::CodeGenerator::registerForLocal): This function does its job
without any hashing now.

  • VM/Machine.cpp: Move old globals and update "r" before executing a new script. That way, old globals stay at a constant offset from "r", and previously optimized code still works.

  • VM/RegisterID.h: Added the ability to allocate a RegisterID before initializing its index field. We use this for parameters now.
  • kjs/JSVariableObject.h: (KJS::JSVariableObject::symbolTableGet): Changed the ungettable getter ASSERT to account for the fact that symbol indexes are all negative.


23:50 squirrelfish edited by weinig@apple.com
Remove InNode (diff)
23:50 Changeset [31669] by weinig@apple.com

Fix ChangeLog

23:48 Changeset [31668] by weinig@apple.com

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

Reviewed by Geoffrey Garen.

Implement codegen for ForInNode.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitIn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::InNode::emitCode):
  • kjs/nodes.h:
17:56 Changeset [31667] by kevino@webkit.org

Rubber stamped by Mark Rowe.

Don't assume wxWebKit to be part of the wx package. This allows us to run it from any directory on the PYTHONPATH rather than having to copy files into the wxPython directory.

17:38 Changeset [31666] by kevino@webkit.org

Reviewed by Mark Rowe.

Add CSS to the MIMETypeRegistry, which ensures CSS files get the right MIMEType when loaded from disk.

16:17 squirrelfish edited by weinig@apple.com
DeleteNodes now work (diff)
15:58 Changeset [31665] by weinig@apple.com

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

Reviewed by Oliver Hunt.

  • Implement codegen for DeleteResolveNode, DeleteBracketNode, DeleteDotNode and DeleteValueNode.
  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitGetPropId): (KJS::CodeGenerator::emitPutPropId): (KJS::CodeGenerator::emitDeletePropId): (KJS::CodeGenerator::emitDeletePropVal): (KJS::CodeGenerator::emitPutPropIndex):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.h:
  • kjs/nodes.cpp: (KJS::DeleteResolveNode::emitCode): (KJS::DeleteBracketNode::emitCode): (KJS::DeleteDotNode::emitCode): (KJS::DeleteValueNode::emitCode):
  • kjs/nodes.h:
13:43 Changeset [31664] by rwlbuis@webkit.org

Reviewed by Eric.

Incorrect style resolution in CSS styled SVG, with multiple style sheets
Fix the style resolution on the svg by ensuring xml-stylesheet pseudo
attributes title and alternate are transferred to the stylesheet
created from the ProcessingInstruction.

09:05 Changeset [31663] by mitz@apple.com


Reviewed by Darin Adler.

  • fix <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height

Test: fast/repaint/table-two-pass-layout-overpaint.html

  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Changed the first pass over the sections to only call calcRowHeight() and recalcOuterBorder() but not layoutRows(), because the section's final height is unknown yet. Removed caching of m_height before the call to calcHeight(), because for non-positioned tables, calcHeight() only calculates the vertical margins and does not change m_height. Added a second pass over the sections, after the table height is known, to call layoutRows() on each section, with additional height if needed. Did minimal cleanup including caching the value of collapseBorders() in a local variable and changing a while loop into a for loop.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): Changed to return the height of the section based on row height calculations. (WebCore::RenderTableSection::layoutRows): Removed a call to recalcOuterBorder(), which is now done by RenderTable::layout().
  • rendering/RenderTableSection.h: Changed calcRowHeight() to have a return value.


Reviewed by Darin Adler.

  • repaint test for <rdar://problem/5843719> Excessive repainting of cells in tables with non-auto height
  • fast/repaint/table-two-pass-layout-overpaint.html: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.checksum: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png: Added.
  • platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.txt: Added.
05:33 Changeset [31662] by hausmann@webkit.org

Simon Hausmann <shausman@trolltech.com>

Fixes: Disable "unimplemented" warnings when building WebKit inside Qt.

05:24 Changeset [31661] by hausmann@webkit.org

Olivier Goffart <ogoffart@trolltech.com>

Fixes: Right clicking an image and choosing "copy image" doesnt put anything in the clipboard.

05:24 Changeset [31660] by hausmann@webkit.org

Olivier Goffart <ogoffart@trolltech.com>

Fixes: Right click, and "Open image" open the link instead of the image.

05:23 Changeset [31659] by hausmann@webkit.org

Simon Hausmann <hausmann@webkit.org>

Rubber-stamped by Holger

Revert "* Load images incrementally. This will show warnings on the console"
This rolls out -r29739.

This unfortunately caused some crashes and drawing errors. Backing out for now.

05:01 QtWebKitContrib edited by hausmann@webkit.org
04:56 Changeset [31658] by hausmann@webkit.org

Benjamin Meyer <bmeyer@trolltech.com>

Added doc stub for QWebSettings so class docs are generated

04:56 Changeset [31657] by hausmann@webkit.org

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

  • Propose the addition of updateRequest and scrollRequest to the QWebPage.
  • The question is if these signals belong to QWebPage or QWebFrame.

-It is more easy to have them in QWebPage because ScrollView is invoking

the ChromeClient with the right coordinates

-On the other hand someone wants to render frames separately. But this is partly

doomed as you can have overlapping frames and what you paint would not relate to
what you normally see on webpages.


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

Only delete the backing store of background windows.

Reviewed by Ada Chan.

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

Fix tooltip window leak.

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

Reviewed by Ada Chan.

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

Add GradientWx.cpp to the wx build process.

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

Reviewed by Sam Weinig.

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

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

Reviewed by Oliver.

Replace AccessibilityObject::isRenderImage() with a virtual

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

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

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

Reviewed by Ada Chan.

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

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

Reviewed by Beth.

Some more clean-up of AccessibilityObject:

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

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

Reviewed by Adam Roben.

  • page/inspector/TextPrompt.js:

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

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

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

Reviewed by Oliver Hunt.

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

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

Reviewed by Adam Roben.

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

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

Reviewed by Adam Roben.

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

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

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js:

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

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

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

Reviewed by Beth.

Some clean up of AccessibilityObject:

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

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

Reviewed by Adam Roben.

  • page/inspector/treeoutline.js:

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

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

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

Reviewed by Adam Roben.

  • page/inspector/inspector.js:

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

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

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

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

Reviewed by Beth

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

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

Reviewed by Adam Roben.

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

in-sync with inspector.css.

  • page/inspector/ElementsPanel.js:

Add a case for Node.DOCUMENT_TYPE_NODE.

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

(nodeTitleInfo): Use the webkit-html-doctype class for nodes

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

Make WebKit use WebCore's copy of the ICU headers


Copy icu/ to PrivateHeaders for WebKit's benefit

Rubberstamped by Tim Hatcher.

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


Use WebCore's ICU headers instead of our own copy

Rubberstamped by Tim Hatcher.

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

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


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

Patch by Tim Hatcher, typed by me.

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


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

Patch by Tim Hatcher, typed by me.

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


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

Reviewed by Dan.

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


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

Reviewed by Dan.

  • English.lproj/Localizable.strings:


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

Reviewed by Dan.

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

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

Reviewed by Dan.

  • English.lproj/Localizable.strings: Updated.
  • WebCoreLocalizedStrings.cpp: (WebCore::imageTitle):
00:54 squirrelfish edited by ggaren@apple.com
00:52 QtWebKitContrib edited by hausmann@webkit.org
00:42 squirrelfish edited by ggaren@apple.com
Note: See TracTimeline for information about the timeline view.