Timeline


and

10/04/08:

23:13 Changeset [37314] by jmalonzo@webkit.org

2008-10-04 Alp Toker <alp@nuanti.com>

Reviewed by David Hyatt. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20924
[Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3

https://bugs.webkit.org/show_bug.cgi?id=19578
[CURL] problem in parseDataUrl

De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
This patch also fixes encoding support in escaped (non-Base64) data
URLs. All manual data URL tests now pass in both GLib and non-GLib
code paths.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::parseDataUrl):
21:12 Changeset [37313] by timothy@apple.com

Makes breakpoints and debugging code during page load work in the
Web Inspector's debugger. Specifically, this makes the source
code for loading resources show up in the Scripts panel.

https://bugs.webkit.org/show_bug.cgi?id=19053
rdar://problem/5933408

Reviewed by Mark Rowe.

  • WebCore.xcodeproj/project.pbxproj: Mark the inspector group as not using tabs and a tab width of 8.
  • inspector/InspectorController.cpp: (WebCore::addResourceSourceToFrame): Return a bool to report if the source was added successfully or not. (WebCore::addSourceToFrame): Ditto.
  • inspector/front-end/ScriptView.js: (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Return early if the InspectorController.addSourceToFrame fails. Moved the delete of the _frameNeedsSetup property after that call so if the source wasn't added it will be attempted again.
  • inspector/front-end/SourceView.js: (WebInspector.SourceView.prototype.detach): Move a comment. (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): Don't check if the resource is finished or failed, just attempt to add the source to the frame. WebCore has the source, but the finished property hasn't been set yet. Return early if the InspectorController.addSourceToFrame fails. Moved the delete of the _frameNeedsSetup property after that call so if the source wasn't added it will be attempted again. (WebInspector.SourceView.prototype._resourceLoadingFinished): Clear the _frameNeedsSetup and _sourceFrameSetup properties so the source frame will we populated again now that the resource load has finished.
  • manual-tests/inspector/debugger-pause-during-load.html: Added.
20:04 Changeset [37312] by mrowe@apple.com

Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.

Reviewed by Tim Hatcher.

20:04 Changeset [37311] by mrowe@apple.com

Update check-for-weak-vtables to check only the final linked image for weak vtables.
This gives more useful results than checking each object file independently.

Reviewed by Tim Hatcher.

19:55 Changeset [37310] by hyatt@apple.com

Fix Qt build bustage.

19:21 Changeset [37309] by mrowe@apple.com

Upgrade to WordPress 2.6.2.

  • blog:
18:38 Changeset [37308] by mrowe@apple.com

Update format of CFBundleShortVersionString for <rdar://problem/6269394>.

18:04 Changeset [37307] by hyatt@apple.com

Fix build bustage I just introduced.

17:55 Changeset [37306] by hyatt@apple.com

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

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

Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
is still present.

Reviewed by Mark Rowe

  • page/FrameView.cpp: (WebCore::FrameView::~FrameView):
17:22 Changeset [37305] by mrowe@apple.com

Versioning.

17:21 Changeset [37304] by mrowe@apple.com

Merge r35278.

16:33 Changeset [37303] by hyatt@apple.com

Fix Qt bustage.

16:15 Changeset [37302] by hyatt@apple.com

Fix Qt bustage.

15:52 Changeset [37301] by weinig@apple.com

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

Reviewed by Dan Bernstein.

Avoid copying a Vector when using getSupportedKeySizes.

  • html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::HTMLKeygenElement):
  • platform/SSLKeyGenerator.h:
  • platform/gtk/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/mac/SSLKeyGeneratorMac.mm: (WebCore::getSupportedKeySizes):
  • platform/qt/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/win/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
  • platform/wx/TemporaryLinkStubs.cpp: (WebCore::getSupportedKeySizes):
14:57 Changeset [37300] by weinig@apple.com

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

Reviewed by Oliver Hunt.

Fix https://bugs.webkit.org/show_bug.cgi?id=21320
leaks of PropertyNameArrayData seen on buildbot

  • Fix RefPtr cycle by making PropertyNameArrayData's pointer back to the StructureID a weak pointer.
  • kjs/PropertyNameArray.h: (JSC::PropertyNameArrayData::setCachedStructureID): (JSC::PropertyNameArrayData::cachedStructureID):
  • kjs/StructureID.cpp: (JSC::StructureID::getEnumerablePropertyNames): (JSC::StructureID::clearEnumerationCache): (JSC::StructureID::~StructureID):
14:56 Changeset [37299] by hyatt@apple.com

Speculative fix for Qt bustage from inspector directory move.

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

Fix build bustage from the inspector directory move on Windows.

14:12 Changeset [37297] by darin@apple.com

JavaScriptCore:

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

Reviewed by Cameron Zwarich.

10% faster on Richards; other v8 benchmarks faster too.
A wash on SunSpider.

This does the minimum necessary to get the speedup. Next step in
cleaning this up is to replace ExecState with a CallFrame class,
and be more judicious about when to pass a call frame and when
to pass a global data pointer, global object pointer, or perhaps
something else entirely.

  • VM/CTI.cpp: Remove the debug-only check of the exception in ctiVMThrowTrampoline -- already checked in the code the trampoline jumps to, so not all that useful. Removed the exec argument from ctiTrampoline. Removed emitDebugExceptionCheck -- no longer needed. (JSC::CTI::emitCall): Removed code to set ExecState::m_callFrame. (JSC::CTI::privateCompileMainPass): Removed code in catch to extract the exception from ExecState::m_exception; instead, the code that jumps into catch will make sure the exception is already in eax.
  • VM/CTI.h: Removed exec from the ctiTrampoline. Also removed the non-helpful "volatile". Temporarily left ARG_exec in as a synonym for ARG_r; I'll change that on a future cleanup pass when introducing more use of the CallFrame type. (JSC::CTI::execute): Removed the ExecState* argument.
  • VM/ExceptionHelpers.cpp: (JSC::InterruptedExecutionError::InterruptedExecutionError): Take JSGlobalData* instead of ExecState*. (JSC::createInterruptedExecutionException): Ditto.
  • VM/ExceptionHelpers.h: Ditto. Also removed an unneeded include.
  • VM/Machine.cpp: (JSC::slideRegisterWindowForCall): Removed the exec and exceptionValue arguments. Changed to return 0 when there's a stack overflow rather than using a separate exception argument to cut down on memory accesses in the calling convention. (JSC::Machine::unwindCallFrame): Removed the exec argument when constructing a DebuggerCallFrame. Also removed code to set ExecState::m_callFrame. (JSC::Machine::throwException): Removed the exec argument when construction a DebuggerCallFrame. (JSC::Machine::execute): Updated to use the register instead of ExecState and also removed various uses of ExecState. (JSC::Machine::debug): (JSC::Machine::privateExecute): Put globalData into a local variable so it can be used throughout the interpreter. Changed the VM_CHECK_EXCEPTION to get the exception in globalData instead of through ExecState. (JSC::Machine::retrieveLastCaller): Turn exec into a registers pointer by calling registers() instead of by getting m_callFrame. (JSC::Machine::callFrame): Ditto. Tweaked exception macros. Made new versions for when you know you have an exception. Get at global exception with ARG_globalData. Got rid of the need to pass in the return value type. (JSC::Machine::cti_op_add): Update to use new version of exception macros. (JSC::Machine::cti_op_pre_inc): Ditto. (JSC::Machine::cti_timeout_check): Ditto. (JSC::Machine::cti_op_instanceof): Ditto. (JSC::Machine::cti_op_new_func): Ditto. (JSC::Machine::cti_op_call_JSFunction): Optimized by using the ARG values directly instead of through local variables -- this gets rid of code that just shuffles things around in the stack frame. Also get rid of ExecState and update for the new way exceptions are handled in slideRegisterWindowForCall. (JSC::Machine::cti_vm_compile): Update to make exec out of r since they are both the same thing now. (JSC::Machine::cti_op_call_NotJSFunction): Ditto. (JSC::Machine::cti_op_init_arguments): Ditto. (JSC::Machine::cti_op_resolve): Ditto. (JSC::Machine::cti_op_construct_JSConstruct): Ditto. (JSC::Machine::cti_op_construct_NotJSConstruct): Ditto. (JSC::Machine::cti_op_resolve_func): Ditto. (JSC::Machine::cti_op_put_by_val): Ditto. (JSC::Machine::cti_op_put_by_val_array): Ditto. (JSC::Machine::cti_op_resolve_skip): Ditto. (JSC::Machine::cti_op_resolve_global): Ditto. (JSC::Machine::cti_op_post_inc): Ditto. (JSC::Machine::cti_op_resolve_with_base): Ditto. (JSC::Machine::cti_op_post_dec): Ditto. (JSC::Machine::cti_op_call_eval): Ditto. (JSC::Machine::cti_op_throw): Ditto. Also rearranged to return the exception value as the return value so it can be used by op_catch. (JSC::Machine::cti_op_push_scope): Ditto. (JSC::Machine::cti_op_in): Ditto. (JSC::Machine::cti_op_del_by_val): Ditto. (JSC::Machine::cti_vm_throw): Ditto. Also rearranged to return the exception value as the return value so it can be used by op_catch.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::functionName): Pass globalData. (JSC::DebuggerCallFrame::evaluate): Eliminated code to make a new ExecState.
  • kjs/DebuggerCallFrame.h: Removed ExecState argument from constructor.
  • kjs/ExecState.h: Eliminated all data members and made ExecState inherit privately from Register instead. Also added a typedef to the future name for this class, which is CallFrame. It's just a Register* that knows it's a pointer at a call frame. The new class can't be constructed or copied. Changed all functions to use the this pointer instead of m_callFrame. Changed exception-related functions to access an exception in JSGlobalData. Removed functions used by CTI to pass the return address to the throw machinery -- this is now done directly with a global in the global data.
  • kjs/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): Pass globalData instead of exec.
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::name): Take globalData instead of exec.
  • kjs/InternalFunction.h: Ditto.
  • kjs/JSGlobalData.cpp: Initialize the new exception global to 0.
  • kjs/JSGlobalData.h: Declare two new globals. One for the current exception and another for the return address used by CTI to implement the throw operation.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): Removed code to set up globalExec, which is now the same thing as globalCallFrame. (JSC::JSGlobalObject::reset): Get globalExec from our globalExec function so we don't have to repeat the logic twice. (JSC::JSGlobalObject::mark): Removed code to mark the exception; the exception is now stored in JSGlobalData and marked there. (JSC::JSGlobalObject::globalExec): Return a pointer to the end of the global call frame.
  • kjs/JSGlobalObject.h: Removed the globalExec data member.
  • kjs/JSObject.cpp: (JSC::JSObject::putDirectFunction): Pass globalData instead of exec.
  • kjs/collector.cpp: (JSC::Heap::collect): Mark the global exception.
  • profiler/ProfileGenerator.cpp: (JSC::ProfileGenerator::addParentForConsoleStart): Pass globalData instead of exec to createCallIdentifier.
  • profiler/Profiler.cpp: (JSC::Profiler::willExecute): Pass globalData instead of exec to createCallIdentifier. (JSC::Profiler::didExecute): Ditto. (JSC::Profiler::createCallIdentifier): Take globalData instead of exec. (JSC::createCallIdentifierFromFunctionImp): Ditto.
  • profiler/Profiler.h: Change interface to take a JSGlobalData instead of an ExecState.

WebKit/mac:

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

Reviewed by Cameron Zwarich.

  • WebView/WebScriptDebugger.mm: (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
14:10 Changeset [37296] by darin@apple.com

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

Reviewed by Cameron Zwarich.

  • bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Remove bogus "const".
  • bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
14:03 Changeset [37295] by hyatt@apple.com

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

Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.

Reviewed by Darin Adler

  • WebCore.xcodeproj/project.pbxproj:
  • platform/PopupMenuClient.h:
  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show):
  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::populate): (WebCore::PopupMenu::show):
  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::populate):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::calculatePositionAndSize): (WebCore::PopupMenu::paint): (WebCore::PopupWndProc):
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::itemStyle): (WebCore::RenderMenuList::menuStyle): (WebCore::RenderMenuList::hostWindow):
  • rendering/RenderMenuList.h:
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::itemStyle): (WebCore::RenderTextControl::menuStyle): (WebCore::RenderTextControl::hostWindow):
  • rendering/RenderTextControl.h:
13:32 Changeset [37294] by cwzwarich@webkit.org

2008-10-04 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 21369: Add opcode documentation for all undocumented opcodes
<https://bugs.webkit.org/show_bug.cgi?id=21369>

This patch adds opcode documentation for all undocumented opcodes, and
it also renames op_init_arguments to op_create_arguments.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_create_arguments):
  • VM/Machine.h:
  • VM/Opcode.h:
11:41 Changeset [37293] by pewtermoose@webkit.org

2008-10-04 Matt Lilek <webkit@mattlilek.com>

Build fix - restore Private role to headers that had it before the move.

  • WebCore.xcodeproj/project.pbxproj:
11:37 Changeset [37292] by darin@apple.com

Fix ChangeLog.

11:37 Changeset [37291] by darin@apple.com

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

  • try to fix build
  • DerivedSources.make: Add new inspector directory to VPATH.
  • GNUmakefile.am:
10:28 Changeset [37290] by pewtermoose@webkit.org

2008-10-04 Matt Lilek <webkit@mattlilek.com>

Not reviewed, attempt to fix Gtk build.

  • GNUmakefile.am:
01:10 Changeset [37289] by timothy@apple.com

Move the Web Inspector files into a top-level "inspector" folder.

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

Reviewed by Dave Hyatt.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
  • inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
  • inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
  • inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
  • inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
  • inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
  • inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
  • inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
  • inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
  • inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
  • inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
  • inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
  • inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
  • inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
  • inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
  • inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
  • inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
  • inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
  • inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
  • inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
  • inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
  • inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
  • inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
  • inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
  • inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
  • inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
  • inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
  • inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
  • inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
  • inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
  • inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
  • inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
  • inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
  • inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
  • inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
  • inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
  • inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
  • inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
  • inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
  • inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
  • inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
  • inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
  • inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
  • inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
  • inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
  • inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
  • inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
  • inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
  • inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
  • inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
  • inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
  • inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
  • inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
  • inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
  • inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
  • inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
  • inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
  • inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
  • inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
  • inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
  • inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
  • inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
  • inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
  • inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
  • inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
  • inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
  • inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
  • inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
  • inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
  • inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
  • inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
  • inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
  • inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
  • inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
  • inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
  • inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
  • inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
  • inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
  • inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
  • inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
  • inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
  • inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
  • inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
  • inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
  • inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
  • inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
  • inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
  • inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
  • inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
  • inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
  • inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
  • inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
  • inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
  • inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
  • inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
  • inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
  • inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
  • inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
  • inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
  • inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
  • inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
  • inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
  • inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
  • inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
  • inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
  • inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
  • inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
  • inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
  • inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
  • inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
  • inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
  • inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
  • inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
  • inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
  • inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
  • inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
  • inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
  • inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
  • inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
  • inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
  • inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
  • inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
  • inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
  • inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
  • inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
  • inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
  • inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
  • inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
  • inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
  • inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
  • inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
  • inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
  • inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
  • inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
  • inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
  • inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
  • inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
  • inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
  • inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
  • inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
  • inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
  • inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
  • inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
  • inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
  • inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
  • inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
  • inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
  • inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
  • inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
  • inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
  • inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
01:09 Changeset [37288] by timothy@apple.com

Adds support to the Web Inspector's Elements panel for fast tag name,
class name, id and attribute name searching. The panel first tries
using getElementById, getElementsByClassName and getElementsByTagName
with the search query. Then does a slower search using XPath for partial
matches, text and comment matches.

Adds support for search queries like "<div>", "<h" and "frame>".
These forms limit the search to tag names, text and comment matches.

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

Reviewed by Maciej Stachowiak.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax support. Add new search functions that try exact matches first.
01:09 Changeset [37287] by timothy@apple.com

Changes how searching works in the Web Inspector's Elements
panel. The search tasks are divided into chunks that are small
units of work that are performed at a time interval. This
change also prevents queries that will select all elements,
since that isn't useful.

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

Reviewed by Oliver Hunt.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.prototype.searchCancled): Remove the searchResultsProperty form results since there might be an unfinished search. (WebInspector.ElementsPanel.prototype.performSearch): Divide the documents and search functions into chunks that are performed on a interval of 25ms. Prevent searches for "*" and "*".
01:00 Changeset [37286] by timothy@apple.com

Fix a typo.

00:15 Changeset [37285] by mjs@apple.com

JavaScriptCore:

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

Reviewed by Cameron Zwarich.


I changed things so that functions which use "this" do a fast
version of toThisObject conversion if needed. Currently we miss
the conversion entirely, at least for primitive types. Using
TypeInfo and the primitive check, I made the fast case bail out
pretty fast.


This is inexplicably an 1.007x SunSpider speedup (and a wash on V8 benchmarks).


Also renamed some opcodes for clarity:


init ==> enter
init_activation ==> enter_with_activation


  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_convert_this):
  • VM/Machine.h:
  • VM/Opcode.h:
  • kjs/JSActivation.cpp: (JSC::JSActivation::JSActivation):
  • kjs/JSActivation.h: (JSC::JSActivation::createStructureID):
  • kjs/JSCell.h: (JSC::JSValue::needsThisConversion):
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData):
  • kjs/JSGlobalData.h:
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::createStructureID):
  • kjs/JSStaticScopeObject.h: (JSC::JSStaticScopeObject::JSStaticScopeObject): (JSC::JSStaticScopeObject::createStructureID):
  • kjs/JSString.h: (JSC::JSString::createStructureID):
  • kjs/JSValue.h:
  • kjs/TypeInfo.h: (JSC::TypeInfo::needsThisConversion):
  • kjs/nodes.h: (JSC::ScopeNode::usesThis):

WebCore:

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

Reviewed by Cameron Zwarich.

Updated so toThis conversion for the split window is handled properly.

  • bindings/scripts/CodeGeneratorJS.pm:

LayoutTests:

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

Reviewed by Cameron Zwarich.


  • test case for: "this" object in methods called on primitives should be wrapper object
  • fast/js/primitive-method-this-expected.txt: Added.
  • fast/js/primitive-method-this.html: Added.
  • fast/js/resources/primitive-method-this.js: Added.

10/03/08:

23:40 Changeset [37284] by hyatt@apple.com

Fix Qt bustage.

22:47 Changeset [37283] by cwzwarich@webkit.org

2008-10-03 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21356: The size of the RegisterFile differs depending on 32-bit / 64-bit and Debug / Release
<https://bugs.webkit.org/show_bug.cgi?id=21356>

The RegisterFile decreases in size (measured in terms of numbers of
Registers) as the size of a Register increases. This causes

js1_5/Regress/regress-159334.js

to fail in 64-bit debug builds. This fix makes the RegisterFile on all
platforms the same size that it is in 32-bit Release builds.

  • VM/RegisterFile.h: (JSC::RegisterFile::RegisterFile):
22:16 Changeset [37282] by weinig@apple.com

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

Reviewed by David "The Motivator" Hyatt.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
Move SecurityOrigin out of platform/ to page/.

It was a layering violation for SecurityOrigin to be in platform
as it depended on FrameLoader.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
  • page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
  • page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
  • platform/SecurityOrigin.cpp: Removed.
  • platform/SecurityOrigin.h: Removed.
  • platform/SecurityOriginHash.h: Removed.
21:24 Changeset [37281] by jmalonzo@webkit.org

2008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=18832
[curl] file upload does not work

The curl_off_t integer type has a different size depending if large
file support is enabled or not. There is no different public API for
the two cases, so the same function accepts a different type based on
a compilation option the could be different in WebKit and libcurl.
To fix the bug we query libcurl at runtime for large file support and
pass the right type based on that.

  • platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::setupPOST):
21:02 Changeset [37280] by jmalonzo@webkit.org

2008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by David Hyatt.

Gtk build fixes.

  • platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::openFileChooser):
  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth): (WebCore::screenDepthPerComponent): (WebCore::screenAvailableRect):
  • platform/gtk/PopupMenuGtk.cpp: (WebCore::PopupMenu::show):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild):
  • platform/gtk/WidgetGtk.cpp: (WebCore::Widget::setCursor):
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getValue): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::init):
20:31 Changeset [37279] by hyatt@apple.com

Fix Qt bustage.

19:02 Changeset [37278] by hyatt@apple.com

Fix Windows bustage in WebKit side.

19:01 Changeset [37277] by hyatt@apple.com

Fix Windows bustage in WebKit side.

18:50 Changeset [37276] by hyatt@apple.com

Fix Win bustage.

18:39 Changeset [37275] by mjs@apple.com

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

Reviewed by Cameron Zwarich.


  • Some code cleanup to how we handle code features.


1) Rename FeatureInfo typedef to CodeFeatures.
2) Rename NodeFeatureInfo template to NodeInfo.
3) Keep CodeFeature bitmask in ScopeNode instead of trying to break it out into individual bools.
4) Rename misleadingly named "needsClosure" method to "containsClosures", which better describes the meaning
of ClosureFeature.
5) Make setUsersArguments() not take an argument since it only goes one way.

  • JavaScriptCore.exp:
  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • kjs/NodeInfo.h:
  • kjs/Parser.cpp: (JSC::Parser::didFinishParsing):
  • kjs/Parser.h: (JSC::Parser::parse):
  • kjs/grammar.y:
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::create):
  • kjs/nodes.h: (JSC::ScopeNode::usesEval): (JSC::ScopeNode::containsClosures): (JSC::ScopeNode::usesArguments): (JSC::ScopeNode::setUsesArguments):
18:11 Changeset [37274] by hyatt@apple.com

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

Fix Gtk bustage from use of containingWindow() over on the WebKit side. Replace with HostWindow use.

  • webkit/webkitwebview.cpp:
18:09 Changeset [37273] by hyatt@apple.com

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

Fix Qt bustage from missing include.

  • platform/qt/PlatformScreenQt.cpp:
18:08 Changeset [37272] by hyatt@apple.com

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

Fix Windows scrollbar bustage in popup menus.

  • platform/win/PopupMenuWin.cpp: (WebCore::PopupWndProc):
18:07 Changeset [37271] by hyatt@apple.com

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

Fix Windows bustage.

  • platform/win/FileChooserWin.cpp: (WebCore::FileChooser::openFileChooser):
  • platform/win/PlatformScreenWin.cpp: (WebCore::monitorInfoForWidget):
  • platform/win/WidgetWin.cpp:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::getValue): (WebCore::PluginView::forceRedraw): (WebCore::PluginView::init):
17:21 Changeset [37270] by simon.fraser@apple.com

2008-10-03 Pierre-Olivier Latour <pol@apple.com>

Reviewed by Darin Adler

Render images to RGBA8 bitmaps independently of platform endianness.

Create image difference bitmap in reference image colorspace instead of device colorspace
(which depends on the main display profile), so that no color matching happens.

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

  • DumpRenderTree/cg/ImageDiffCG.cpp: (createDifferenceBitmap): (computePercentageDifferent): (compareImages):
17:16 Changeset [37269] by simon.fraser@apple.com

2008-10-02 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

Fix hang when running with --pixel --reset, which occurs
because DRT spews PNG data when the script does not expect it.

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

  • Scripts/run-webkit-tests:
17:10 Changeset [37268] by cwzwarich@webkit.org

2008-10-03 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21343: REGRESSSION (r37160): ecma_3/ExecutionContexts/10.1.3-1.js and js1_4/Functions/function-001.js fail on 64-bit
<https://bugs.webkit.org/show_bug.cgi?id=21343>

A fix was landed for this issue in r37253, and the ChangeLog assumes
that it is a compiler bug, but it turns out that it is a subtle issue
with mixing signed and unsigned 32-bit values in a 64-bit environment.
In order to properly fix this bug, we should convert our signed offsets
into the register file to use ptrdiff_t.

This may not be the only instance of this issue, but I will land this
fix first and look for more later.

  • VM/Machine.cpp: (JSC::Machine::getArgumentsData):
  • VM/Machine.h:
  • kjs/Arguments.cpp: (JSC::Arguments::getOwnPropertySlot):
  • kjs/Arguments.h: (JSC::Arguments::init):
16:15 Changeset [37267] by sullivan@apple.com

2008-10-03 John Sullivan <sullivan@apple.com>

Fixed Release build

  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::destroyStream): added !LOG_DISABLED guard around declaration of npErr used only in LOG
15:55 Changeset [37266] by darin@apple.com

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

  • bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure seen on some machines but not others by adding an include.
15:41 Changeset [37265] by darin@apple.com

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

  • Qt build fix
  • bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and execute functions. Declarations for these relied on the CodeType enumeration, which used to be in ExecState.h; but the functions aren't needed at all.
  • bridge/qt/qt_runtime.h: Ditto.
15:29 Changeset [37264] by darin@apple.com

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

  • VM/CTI.cpp: Another Windows build fix. Change the args of ctiTrampoline.
  • kjs/JSNumberCell.h: A build fix for newer versions of gcc. Added declarations of JSGlobalData overloads of jsNumberCell.
15:24 Changeset [37263] by hyatt@apple.com

Fix wx bustage.

15:24 Changeset [37262] by hyatt@apple.com

Fix Qt bustage.

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

Fix Gtk bustage.

14:58 Changeset [37260] by andersca@apple.com

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

Reviewed by David Hyatt.


Convert destroyStream over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::destroyStream): (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): (-[WebBaseNetscapePluginStream _deliverData]):
14:54 Changeset [37259] by darin@apple.com

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

  • try to fix Windows build
  • kjs/ScopeChain.h: Add forward declaration of JSGlobalData.
14:45 Changeset [37258] by andersca@apple.com

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

Reviewed by David Hyatt.

Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream _destroyStream]): (-[WebBaseNetscapePluginStream _deliverData]): (WebNetscapePluginStream::deliverDataTimerFired):
14:39 Changeset [37257] by darin@apple.com

JavaScriptCore:

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

Reviewed by Geoff Garen.

Remove m_globalObject and m_globalData from ExecState.

SunSpider says this is a wash (slightly faster but not statistically
significant); which is good enough since it's a preparation step and
not supposed to be a spedup.

  • API/JSCallbackFunction.cpp: (JSC::JSCallbackFunction::JSCallbackFunction):
  • kjs/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor):
  • kjs/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor):
  • kjs/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • kjs/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor):
  • kjs/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype):
  • kjs/JSFunction.cpp: (JSC::JSFunction::JSFunction):
  • kjs/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor::NativeErrorConstructor):
  • kjs/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor):
  • kjs/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor):
  • kjs/PrototypeFunction.cpp: (JSC::PrototypeFunction::PrototypeFunction):
  • kjs/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor):
  • kjs/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor): Pass JSGlobalData* instead of ExecState* to the InternalFunction constructor.
  • API/OpaqueJSString.cpp: Added now-needed include.
  • VM/CTI.cpp: (JSC::CTI::emitSlowScriptCheck): Changed to use ARGS_globalData instead of ARGS_exec.
  • VM/CTI.h: Added a new argument to the CTI, the global data pointer. While it's possible to get to the global data pointer using the ExecState pointer, it's slow enough that it's better to just keep it around in the CTI arguments.
  • VM/CodeBlock.h: Moved the CodeType enum here from ExecState.h.
  • VM/Machine.cpp: (JSC::Machine::execute): Pass fewer arguments when constructing ExecState, and pass the global data pointer when invoking CTI. (JSC::Machine::firstCallFrame): Added. Used to get the dynamic global object, which is in the scope chain of the first call frame. (JSC::Machine::cti_op_add): Use globalData instead of exec when possible, to keep fast cases fast, since it's now more expensive to get to it through the exec pointer. (JSC::Machine::cti_timeout_check): Ditto. (JSC::Machine::cti_op_put_by_id_second): Ditto. (JSC::Machine::cti_op_get_by_id_second): Ditto. (JSC::Machine::cti_op_mul): Ditto. (JSC::Machine::cti_vm_compile): Ditto. (JSC::Machine::cti_op_get_by_val): Ditto. (JSC::Machine::cti_op_sub): Ditto. (JSC::Machine::cti_op_put_by_val): Ditto. (JSC::Machine::cti_op_put_by_val_array): Ditto. (JSC::Machine::cti_op_negate): Ditto. (JSC::Machine::cti_op_div): Ditto. (JSC::Machine::cti_op_pre_dec): Ditto. (JSC::Machine::cti_op_post_inc): Ditto. (JSC::Machine::cti_op_lshift): Ditto. (JSC::Machine::cti_op_bitand): Ditto. (JSC::Machine::cti_op_rshift): Ditto. (JSC::Machine::cti_op_bitnot): Ditto. (JSC::Machine::cti_op_mod): Ditto. (JSC::Machine::cti_op_post_dec): Ditto. (JSC::Machine::cti_op_urshift): Ditto. (JSC::Machine::cti_op_bitxor): Ditto. (JSC::Machine::cti_op_bitor): Ditto. (JSC::Machine::cti_op_call_eval): Ditto. (JSC::Machine::cti_op_throw): Ditto. (JSC::Machine::cti_op_is_string): Ditto. (JSC::Machine::cti_op_debug): Ditto. (JSC::Machine::cti_vm_throw): Ditto.
  • VM/Machine.h: Added firstCallFrame.
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Pass fewer arguments when constructing ExecState.
  • kjs/ExecState.cpp: Deleted contents. Later we'll remove the file altogether.
  • kjs/ExecState.h: Removed m_globalObject and m_globalData. Moved CodeType into another header. (JSC::ExecState::ExecState): Take only a single argument, a call frame pointer. (JSC::ExecState::dynamicGlobalObject): Get the object from the first call frame since it's no longer stored. (JSC::ExecState::globalData): Get the global data from the scope chain, since we no longer store a pointer to it here. (JSC::ExecState::identifierTable): Ditto. (JSC::ExecState::propertyNames): Ditto. (JSC::ExecState::emptyList): Ditto. (JSC::ExecState::lexer): Ditto. (JSC::ExecState::parser): Ditto. (JSC::ExecState::machine): Ditto. (JSC::ExecState::arrayTable): Ditto. (JSC::ExecState::dateTable): Ditto. (JSC::ExecState::mathTable): Ditto. (JSC::ExecState::numberTable): Ditto. (JSC::ExecState::regExpTable): Ditto. (JSC::ExecState::regExpConstructorTable): Ditto. (JSC::ExecState::stringTable): Ditto. (JSC::ExecState::heap): Ditto.
  • kjs/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor): Pass JSGlobalData* instead of ExecState* to the InternalFunction constructor. (JSC::constructFunction): Pass the global data pointer when constructing a new scope chain.
  • kjs/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): Take a JSGlobalData* instead of an ExecState*. Later we can change more places to work this way -- it's more efficient to take the type you need since the caller might already have it.
  • kjs/InternalFunction.h: Ditto.
  • kjs/JSCell.h: (JSC::JSCell::operator new): Added an overload that takes a JSGlobalData* so you can construct without an ExecState*.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): Moved creation of the global scope chain in here, since it now requires a pointer to the global data. Moved the initialization of the call frame in here since it requires the global scope chain node. Removed the extra argument to ExecState when creating the global ExecState*.
  • kjs/JSGlobalObject.h: Removed initialization of globalScopeChain and the call frame from the JSGlobalObjectData constructor. Added a thisValue argument to the init function.
  • kjs/JSNumberCell.cpp: Added versions of jsNumberCell that take JSGlobalData* rather than ExecState*.
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::operator new): Added a version that takes JSGlobalData*. (JSC::JSNumberCell::JSNumberCell): Ditto. (JSC::jsNumber): Ditto.
  • kjs/JSString.cpp: (JSC::jsString): Ditto. (JSC::jsSubstring): Ditto. (JSC::jsOwnedString): Ditto.
  • kjs/JSString.h: (JSC::JSString::JSString): Changed to take JSGlobalData*. (JSC::jsEmptyString): Added a version that takes JSGlobalData*. (JSC::jsSingleCharacterString): Ditto. (JSC::jsSingleCharacterSubstring): Ditto. (JSC::jsNontrivialString): Ditto. (JSC::JSString::getIndex): Ditto. (JSC::jsString): Ditto. (JSC::jsSubstring): Ditto. (JSC::jsOwnedString): Ditto.
  • kjs/ScopeChain.h: Added a globalData pointer to each node. (JSC::ScopeChainNode::ScopeChainNode): Initialize the globalData pointer. (JSC::ScopeChainNode::push): Set the global data pointer in the new node. (JSC::ScopeChain::ScopeChain): Take a globalData argument.
  • kjs/SmallStrings.cpp: (JSC::SmallStrings::createEmptyString): Take JSGlobalData* instead of ExecState*. (JSC::SmallStrings::createSingleCharacterString): Ditto.
  • kjs/SmallStrings.h: (JSC::SmallStrings::emptyString): Ditto. (JSC::SmallStrings::singleCharacterString): Ditto.

WebCore:

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

Reviewed by Geoff Garen.

Remove m_globalObject and m_globalData from ExecState.

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): Removed an argument now that JSGlobalObject doesn't need it any more. (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from the JSDOMWindowBaseData constructor, and added the this argument to the JSGlobalObject constructor. This is because a couple key bits of initialization moved from the data constructor to the JSGlobalObject constructor.
  • bindings/js/JSDOMWindowBase.h: Ditto.
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
  • bridge/runtime_method.cpp: (JSC::RuntimeMethod::RuntimeMethod): Pass JSGlobalData* instead of ExecState* to the InternalFunction constructor.
14:34 Changeset [37256] by simon.fraser@apple.com

2008-10-03 Simon Fraser <simon.fraser@apple.com>

Reviewed by Darin Adler

Testcase for "white-space: -webkit-nowrap" only being converted to
"white-space: nowrap" on <td> and <th> now, not any element with a table-cell
dispay type.

See https://bugs.webkit.org/show_bug.cgi?id=21287#c3

  • fast/table/td-display-nowrap-expected.txt: Added.
  • fast/table/td-display-nowrap.html: Added.
14:34 Changeset [37255] by andersca@apple.com

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

Reviewed by David Hyatt.

More plug-in stream cleanup.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::create): (WebNetscapePluginStream::WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithFrameLoader:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream dealloc]): (-[WebBaseNetscapePluginStream finalize]): (-[WebBaseNetscapePluginStream setPlugin:]): (WebNetscapePluginStream::setPlugin): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (-[WebBaseNetscapePluginStream _destroyStream]):
14:16 Changeset [37254] by hyatt@apple.com

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

Fix Windows/Qt build bustage.

Reviewed by ggaren

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::platformWindow):
  • page/Chrome.cpp: (WebCore::Chrome::platformWindow):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/HostWindow.h:
  • platform/qt/PlatformScreenQt.cpp: (WebCore::screenDepth): (WebCore::screenDepthPerComponent): (WebCore::screenIsMonochrome): (WebCore::screenRect): (WebCore::screenAvailableRect):
  • platform/qt/PopupMenuQt.cpp: (WebCore::PopupMenu::show):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show): (WebCore::PopupMenu::calculatePositionAndSize): (WebCore::PopupWndProc):
13:56 Changeset [37253] by cwzwarich@webkit.org

2008-10-03 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Bug 21343: REGRESSSION (r37160): ecma_3/ExecutionContexts/10.1.3-1.js and js1_4/Functions/function-001.js fail on 64-bit
<https://bugs.webkit.org/show_bug.cgi?id=21343>

Add a workaround for a bug in GCC, which affects GCC 4.0, GCC 4.2, and
llvm-gcc 4.2. I put it in an #ifdef because it was a slight regression
on SunSpider in 32-bit, although that might be entirely random.

  • kjs/Arguments.cpp: (JSC::Arguments::getOwnPropertySlot):
13:20 Changeset [37252] by simon.fraser@apple.com

2008-10-03 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Make setStyle() take a const RenderStyle, to ensure that an
earlier RenderStyle::diff() remains valid.

13:10 Changeset [37251] by hyatt@apple.com

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

Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
that will work properly for hit testing. This patch just stubs out that method to return the same
event untransformed.

Reviewed by Darin Adler

  • page/EventHandler.cpp: (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseMoveEvent): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::EventHandler::passMousePressEventToScrollbar):
  • page/gtk/EventHandlerGtk.cpp:
  • page/mac/EventHandlerMac.mm:
  • page/qt/EventHandlerQt.cpp:
  • page/win/EventHandlerWin.cpp:
  • page/wx/EventHandlerWx.cpp:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::mouseMoved): (WebCore::Scrollbar::mouseExited): (WebCore::Scrollbar::mouseUp): (WebCore::Scrollbar::mouseDown): (WebCore::Scrollbar::transformEvent):
  • platform/Scrollbar.h:
13:00 Changeset [37250] by simon.fraser@apple.com

2008-10-03 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyat

Clean up code that changes the RenderStyle passed in to
table renderer setStyle() methods.

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

  • fast/table/floating-th.html: Added.
  • fast/table/table-display-types-strict.html: Added.
  • fast/table/table-display-types.html: Added.
  • platform/mac/fast/table/floating-th-expected.txt: Added.
  • platform/mac/fast/table/table-display-types-expected.txt: Added.
  • platform/mac/fast/table/table-display-types-strict-expected.txt: Added.
12:17 Changeset [37249] by hyatt@apple.com

WebCore:

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

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


Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.


Reviewed by Dan Bernstein & Darin Adler


  • platform/ScrollView.cpp: (WebCore::ScrollView::addChild):
  • platform/Widget.cpp: (WebCore::Widget::init):
  • platform/Widget.h:
  • platform/mac/WidgetMac.mm:
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::show):

WebKit/gtk:

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

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


Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.

Reviewed by Dan Bernstein & Darin Adler


  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):

WebKit/win:

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

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


Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.


Reviewed by Dan Bernstein & Darin Adler

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::transitionToCommittedForNewPage):
  • WebScrollBar.cpp: (WebScrollBar::WebScrollBar): (WebScrollBar::init): (WebScrollBar::invalidateScrollbarRect):
  • WebScrollBar.h:
12:06 Changeset [37248] by adele@apple.com

2008-10-03 Adele Peterson <adele@apple.com>

Reviewed by Sam Weinig.

  • css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if settings is nil.
12:00 Changeset [37247] by rwlbuis@webkit.org

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=20134
REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)

Make sure the input element gets the right default value when no value is set.

Test: fast/forms/range-default-value.html

11:50 Changeset [37246] by hyatt@apple.com

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

Fix scroll method on Qt. The delta was supposed to use .width()/.height() and not .x()/.y().

Fix the QtPluginWidget to do an invalidate properly.

Reviewed by ggaren

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::scroll):
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::):
11:42 Changeset [37245] by hyatt@apple.com

Remove commented out method.

11:29 Changeset [37244] by hyatt@apple.com

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

Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
destructor that calls them, switch to having a cross-platform constructor/destructor that calls
platform-specific init/destroy methods.

With this change, ScrollViewWin.cpp can be removed from the build (yay!).

Reviewed by Darin Adler

  • WebCore.vcproj/WebCore.vcproj:
  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy):
  • platform/mac/ScrollViewMac.mm:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy):
  • platform/win/ScrollViewWin.cpp: Removed.
  • platform/wx/ScrollViewWx.cpp: (WebCore::ScrollView::platformInit): (WebCore::ScrollView::platformDestroy): (WebCore::ScrollView::setPlatformWidget):
11:13 Changeset [37243] by adele@apple.com

2008-10-03 Adele Peterson <adele@apple.com>

Reviewed by Dan Bernstein.

Fix for <rdar://problem/6012018>
https://bugs.webkit.org/show_bug.cgi?id=21335
CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8

  • css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
10:27 Changeset [37242] by darin@apple.com

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

Rubber stamped by Alexey Proskuryakov.

  • kjs/Shell.cpp: (main): Don't delete JSGlobalData. Later, we need to change this tool to use public JavaScriptCore API instead.
10:01 Changeset [37241] by vestbo@webkit.org

2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>

Build fix. Remove addToDirtyRegion from the header file.

  • WebCoreSupport/ChromeClientQt.h:
09:09 Changeset [37240] by darin@apple.com

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

Suggested by Alexey Proskuryakov.

  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::~JSGlobalData): Remove call to heap.destroy() because it's too late to ref the JSGlobalData object once it's already being destroyed. In practice this is not a problem because WebCore's JSGlobalData is never destroyed and JSGlobalContextRelease takes care of calling heap.destroy() in advance.
09:02 Changeset [37239] by hausmann@webkit.org

2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>

Build fix.

  • platform/qt/WidgetQt.cpp: (WebCore::Widget::invalidateRect):

2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>

Build fix.

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::scroll):
  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::): (WebCore::FrameLoaderClientQt::createPlugin):
06:36 Changeset [37238] by alp@webkit.org

2008-10-03 Alp Toker <alp@nuanti.com>

Remove some left-over GTK+ includes. No change in functionality.

05:59 Changeset [37237] by alp@webkit.org

2008-10-03 Alp Toker <alp@nuanti.com>

Build fix following r37234. Remove addToDirtyRegion from the header
too.

  • WebCoreSupport/ChromeClientGtk.h:
05:38 Changeset [37236] by alp@webkit.org

2008-10-03 Alp Toker <alp@nuanti.com>

Build fix for trailing comment after #endif

  • dom/ElementRareData.h:
04:11 Changeset [37235] by oliver@apple.com

Replace SSE3 check with an SSE2 check, and implement SSE2 check on windows.

Reviewed by Maciej Stachowiak

5.6% win on SunSpider on windows.

02:03 Changeset [37234] by hyatt@apple.com

WebCore:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • page/Chrome.cpp:
  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:

WebKit/gtk:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebCoreSupport/ChromeClientGtk.cpp:

WebKit/mac:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt


  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

WebKit/qt:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebCoreSupport/ChromeClientQt.cpp:

WebKit/win:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebCoreSupport/WebChromeClient.cpp:

WebKit/wx:

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

Remove addToDirtyRegion.


Reviewed by Oliver Hunt

  • WebKitSupport/ChromeClientWx.cpp:
02:00 Changeset [37233] by mitz@apple.com

Reviewed by Maciej Stachowiak.

  • fix a CachedResource leak introduced in r37176

Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
afterwards bail out of the outer pruneDeadResources().

  • loader/Cache.cpp: (WebCore::Cache::Cache): (WebCore::Cache::pruneDeadResources): (WebCore::Cache::remove):
  • loader/Cache.h:
01:50 Changeset [37232] by hyatt@apple.com

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

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

Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
scrollbars.


Reviewed by Oliver Hunt

  • platform/ScrollView.cpp: (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): (WebCore::ScrollView::platformHasHorizontalAdjustment): (WebCore::ScrollView::platformHasVerticalAdjustment):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::adjustmentChanged): (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::setGtkAdjustments): (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):
01:15 Changeset [37231] by jchaffraix@webkit.org

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

Reviewed by Maciej Stachowiak.

Bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

Change "upperCase" to "interfaceName" per-tag parameter as
discussed on the mailing list. Removed the per-attribute version
as it was not used.

Also add the "Element" suffix to all interfaceName parameter to match
the class name (and thus remove it from make_names.pl).

  • dom/make_names.pl:
  • html/HTMLTagNames.in:
  • svg/svgtags.in:
00:52 Changeset [37230] by hyatt@apple.com

Another speculative Gtk scrolling fix.

00:52 Changeset [37229] by hyatt@apple.com

Another speculative Gtk scrolling fix.

00:51 Changeset [37228] by hyatt@apple.com

Another speculative Gtk scrolling fix.

00:47 Changeset [37227] by mjs@apple.com

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

Rubber stamped by Cameron Zwarich.


fix mistaken change of | to
which caused a big perf regression on EarleyBoyer
  • kjs/grammar.y:
00:44 Changeset [37226] by hyatt@apple.com

Fix Qt bustage.

00:41 Changeset [37225] by hyatt@apple.com

Speculative fix for gtk not painting on scroll.

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

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

Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
Hopefully this is a temporary hack that could eventually be removed.

Reviewed by Sam Weinig

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents):
  • platform/ScrollView.h: (WebCore::ScrollView::rootPreventsBlitting):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView): (WebCore::ScrollView::platformAddChild): (WebCore::ScrollView::platformRemoveChild):
00:06 Changeset [37223] by hyatt@apple.com

WebCore:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make widget invalidation more cross-platform.


(1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.


(2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.


(3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.


(4) FrameViews now do a repaintRectangle on their owner element's renderer.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::invalidateRect): (WebCore::FrameView::invalidateScrollbarRect):
  • page/FrameView.h:
  • platform/PopupMenu.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents):
  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::setEnabled): (WebCore::Scrollbar::invalidateRect):
  • platform/Scrollbar.h:
  • platform/ScrollbarClient.h:
  • platform/Widget.h:
  • platform/gtk/WidgetGtk.cpp:
  • platform/mac/WidgetMac.mm:
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::invalidateScrollbarRect):
  • platform/win/WidgetWin.cpp:
  • plugins/PluginView.cpp: (WebCore::PluginView::invalidateTimerFired): (WebCore::PluginView::invalidateWindowlessPluginRect):
  • plugins/PluginView.h:
  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::invalidateRect):
  • plugins/qt/PluginViewQt.cpp: (WebCore::PluginView::invalidateRect):
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::invalidateRect): (WebCore::PluginView::invalidateRegion):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::invalidateScrollbarRect):
  • rendering/RenderLayer.h:
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintObject): (WebCore::RenderListBox::paintScrollbar): (WebCore::RenderListBox::invalidateScrollbarRect):
  • rendering/RenderListBox.h:

WebKit/mac:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make widget invalidation more cross-platform.


(1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.


(2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.


(3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.


(4) FrameViews now do a repaintRectangle on their owner element's renderer.

Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.mm: (PluginWidget::PluginWidget): (PluginWidget::invalidateRect): (NetscapePluginWidget::NetscapePluginWidget): (WebFrameLoaderClient::createPlugin):

WebKit/win:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make widget invalidation more cross-platform.


(1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.


(2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.


(3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.


(4) FrameViews now do a repaintRectangle on their owner element's renderer.

Reviewed by Sam Weinig

  • WebCoreSupport/EmbeddedWidget.cpp: (EmbeddedWidget::invalidateRect):
  • WebCoreSupport/EmbeddedWidget.h:
  • WebScrollBar.cpp: (WebScrollBar::invalidateScrollbarRect):
  • WebScrollBar.h:

10/02/08:

23:20 Changeset [37222] by mitz@apple.com

WebCore:

Reviewed by Geoffrey Garen and Sam Weinig.

  • fix SVGFontFaceElement leaks seen in Acid3
  • make font-face elements take effect only when they are in the document tree

Test: svg/custom/font-face-not-in-document.svg

  • svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a RefPtr to a plain pointer to break a ref cycle. (WebCore::SVGFontData::svgFontFaceElement):
  • svg/SVGFontFaceElement.cpp: Changed to insert and remove the @font-face rule from the document's mapped element sheet when the element is inserted and removed from the document, and to update it only when the element is in the document. (WebCore::SVGFontFaceElement::SVGFontFaceElement): (WebCore::SVGFontFaceElement::parseMappedAttribute): (WebCore::SVGFontFaceElement::rebuildFontFace): (WebCore::SVGFontFaceElement::insertedIntoDocument): (WebCore::SVGFontFaceElement::removedFromDocument): (WebCore::SVGFontFaceElement::childrenChanged): (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
  • svg/SVGFontFaceElement.h:

LayoutTests:

Reviewed by Geoffrey Garen and Sam Weinig.

  • svg/custom/font-face-not-in-document-expected.txt: Added.
  • svg/custom/font-face-not-in-document.svg: Added.
18:59 Changeset [37221] by mrowe@apple.com

Merge r31824.

17:43 Changeset [37220] by simon.fraser@apple.com

2008-10-01 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Fix RenderFileUploadControl::setStyle() and
RenderMenuList::setStyle() to not touch the style; replace
with html4.css and CSSStyleSelector changes.

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

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
  • css/html4.css:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::setStyle):
  • rendering/RenderFileUploadControl.cpp:
  • rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::setStyle):
17:41 Changeset [37219] by simon.fraser@apple.com

2008-10-01 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Clean up code that changes the RenderStyle passed in to
table renderer setStyle() methods.

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

Tests: fast/table/floating-th.html

fast/table/table-display-types-strict.html
fast/table/table-display-types.html

  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::setStyle):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::setStyle):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setStyle):
17:28 Changeset [37218] by darin@apple.com

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

  • fix build
  • bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too. Not just locally in my generated file!
17:25 Changeset [37217] by adele@apple.com

WebCore:

2008-10-02 Adele Peterson <adele@apple.com>

Reviewed by Dan Bernstein.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
REGRESSION: <input> color specified in inline style applies to placeholder

I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
is more appropriate. This change adds "-webkit-input-placeholder".

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added definition for "-webkit-input-placeholder" pseudo element.
  • css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case for PseudoInputPlaceholder.
  • css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
  • rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility. (WebCore::HTMLInputElement::setValueFromRenderer): ditto. (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer. setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible. (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so the text will be updated correctly.
  • rendering/RenderTextControl.h:

LayoutTests:

2008-10-02 Adele Peterson <adele@apple.com>

Reviewed by Dan Bernstein.

Update tests for https://bugs.webkit.org/show_bug.cgi?id=21299
REGRESSION: <input> color specified in inline style applies to placeholder

  • fast/forms/placeholder-pseudo-style.html:
  • platform/mac/fast/forms/password-placeholder-expected.txt:
  • platform/mac/fast/forms/password-placeholder-text-security-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
16:59 Changeset [37216] by cfleizach@apple.com

<rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables

16:48 Changeset [37215] by darin@apple.com

JavaScriptCore:

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

Reviewed by Geoff Garen.

1.019x as fast on SunSpider.

  • API/JSBase.cpp: (JSEvaluateScript): Use heap. instead of heap-> to work with the heap. (JSCheckScriptSyntax): Ditto. (JSGarbageCollect): Ditto. (JSReportExtraMemoryCost): Ditto.
  • API/JSContextRef.cpp: (JSGlobalContextRetain): Ditto. (JSGlobalContextRelease): Destroy the heap with the destroy function instead of the delete operator. (JSContextGetGlobalObject): Use heap. instead of heap-> to work with the heap.
  • API/JSObjectRef.cpp: (JSObjectMake): Use heap. instead of heap-> to work with the heap. (JSObjectMakeFunctionWithCallback): Ditto. (JSObjectMakeConstructor): Ditto. (JSObjectMakeFunction): Ditto. (JSObjectMakeArray): Ditto. (JSObjectMakeDate): Ditto. (JSObjectMakeError): Ditto. (JSObjectMakeRegExp): Ditto. (JSObjectHasProperty): Ditto. (JSObjectGetProperty): Ditto. (JSObjectSetProperty): Ditto. (JSObjectGetPropertyAtIndex): Ditto. (JSObjectSetPropertyAtIndex): Ditto. (JSObjectDeleteProperty): Ditto. (JSObjectCallAsFunction): Ditto. (JSObjectCallAsConstructor): Ditto. (JSObjectCopyPropertyNames): Ditto. (JSPropertyNameAccumulatorAddName): Ditto.
  • API/JSValueRef.cpp: (JSValueIsEqual): Ditto. (JSValueIsInstanceOfConstructor): Ditto. (JSValueMakeNumber): Ditto. (JSValueMakeString): Ditto. (JSValueToNumber): Ditto. (JSValueToStringCopy): Ditto. (JSValueToObject): Ditto. (JSValueProtect): Ditto. (JSValueUnprotect): Ditto.
  • kjs/ExecState.h: (JSC::ExecState::heap): Update to use the & operator.
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Update to initialize a heap member instead of calling new to make a heap. (JSC::JSGlobalData::~JSGlobalData): Destroy the heap with the destroy function instead of the delete operator.
  • kjs/JSGlobalData.h: Change from Heap* to a Heap.
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::mark): Use the & operator here. (JSC::JSGlobalObject::operator new): Use heap. instead of heap-> to work with the heap.

WebCore:

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

Reviewed by Geoff Garen.

  • bindings/js/GCController.cpp: (WebCore::collect): Use heap. instead of heap-> to work with the heap. (WebCore::GCController::gcTimerFired): Ditto. (WebCore::GCController::garbageCollectNow): Ditto.
  • bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::operator new): Ditto.
  • storage/Database.cpp: (WebCore::Database::Database): Ditto.

WebKit/mac:

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

Reviewed by Geoff Garen.

  • Misc/WebCoreStatistics.mm: (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to work with the heap. (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto. (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto. (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto. (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto. (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.

WebKit/win:

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

  • WebCoreStatistics.cpp: (WebCoreStatistics::javaScriptObjectsCount): Use heap. instead of heap-> to work with the heap. (WebCoreStatistics::javaScriptGlobalObjectsCount): Ditto. (WebCoreStatistics::javaScriptProtectedObjectsCount): Ditto. (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount): Ditto. (WebCoreStatistics::javaScriptProtectedObjectTypeCounts): Ditto.
  • WebJavaScriptCollector.cpp: (WebJavaScriptCollector::objectCount): Ditto.
16:05 Changeset [37214] by hyatt@apple.com

Fix Gtk bustage.

15:19 Changeset [37213] by cwzwarich@webkit.org

2008-10-02 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Bug 21317: Replace RegisterFile size and capacity information with Register pointers
<https://bugs.webkit.org/show_bug.cgi?id=21317>

This is a 2.3% speedup on the V8 DeltaBlue benchmark, a 3.3% speedup on
the V8 Raytrace benchmark, and a 1.0% speedup on SunSpider.

  • VM/Machine.cpp: (JSC::slideRegisterWindowForCall): (JSC::Machine::callEval): (JSC::Machine::execute): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/RegisterFile.cpp: (JSC::RegisterFile::~RegisterFile):
  • VM/RegisterFile.h: (JSC::RegisterFile::RegisterFile): (JSC::RegisterFile::start): (JSC::RegisterFile::end): (JSC::RegisterFile::size): (JSC::RegisterFile::shrink): (JSC::RegisterFile::grow): (JSC::RegisterFile::lastGlobal): (JSC::RegisterFile::markGlobals): (JSC::RegisterFile::markCallFrames):
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::copyGlobalsTo):
14:54 Changeset [37212] by adele@apple.com

2008-10-02 Adele Peterson <adele@apple.com>

Update results for mac-tiger.

  • platform/mac-tiger/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
  • platform/mac-tiger/svg/hixie/perf/001-expected.txt:
  • platform/mac-tiger/svg/hixie/perf/002-expected.txt:
  • platform/mac-tiger/svg/hixie/text/003-expected.txt:
  • platform/mac-tiger/svg/hixie/text/003a-expected.txt:
  • platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:
  • platform/mac-tiger/svg/text/text-path-01-b-expected.txt:
14:33 Changeset [37211] by hyatt@apple.com

Fix scrolling=no iframe regression on Windows.

14:03 Changeset [37210] by hyatt@apple.com

Fix Win build bustage.

13:46 Changeset [37209] by mitz@apple.com

Reviewed by Alexey Proskuryakov.

  • fix a Database leak that resulted in Document leaks
  • storage/Database.cpp: (WebCore::Database::openDatabase): Account for the fact that RefCounted objects start out with a ref count of 1.
13:29 Changeset [37208] by weinig@apple.com

2008-10-02 Sam Weinig <sam@webkit.org>

Reviewed by Mr. Geoffrey Garen.

Always mark your parent before marking members.

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark):
13:26 Changeset [37207] by aroben@apple.com
  • template/en/custom/attachment/reviewform.html.tmpl: Fix typo.
13:23 Changeset [37206] by aroben@apple.com
  • template/en/custom/attachment/review.html.tmpl: Fix URLs
13:21 Changeset [37205] by aroben@apple.com

Fix Bug 21315: bugs.webkit.org should have a nicer patch review interface

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

Reviewed by Tim Hatcher.

  • attachment.cgi: (top level): Added support for the "review" and "reviewform" actions. (sub edit): Accept the template name as a parameter. If no name is give, use "edit" as before.
  • template/en/custom/attachment/list.html.tmpl: Added a "Review Patch" link for all patch attachments.
  • template/en/custom/attachment/review.html.tmpl: Added. Simple <frameset> page to show the patch on the top and a comment form on the bottom.
  • template/en/custom/attachment/reviewform.html.tmpl: Added. Simple comment form for reviewing patches.
13:17 Changeset [37204] by hyatt@apple.com

WebCore:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::repaint): (WebCore::EmptyChromeClient::scroll):
  • page/Chrome.cpp: (WebCore::Chrome::repaint): (WebCore::Chrome::scroll):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::handleAutoscroll):
  • platform/HostWindow.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::addPanScrollIcon): (WebCore::ScrollView::removePanScrollIcon):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): (WebCore::ScrollView::~ScrollView):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::ScrollView): (WebCore::ScrollView::~ScrollView):

WebKit/gtk:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::repaint): (WebKit::ChromeClient::scroll):
  • WebCoreSupport/ChromeClientGtk.h:

WebKit/mac:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::repaint): (WebChromeClient::scroll):

WebKit/qt:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::repaint): (WebCore::ChromeClientQt::scroll):
  • WebCoreSupport/ChromeClientQt.h:

WebKit/win:

2008-10-02 David Hyatt <hyatt@apple.com>

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


Make scrollBackingStore cross-platform.

Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::repaint): (WebChromeClient::scroll):
  • WebCoreSupport/WebChromeClient.h:
  • WebView.cpp: (WebView::repaint):
  • WebView.h:
12:59 Changeset [37203] by kevino@webkit.org

wx build fixes after Frame/ScrollView changes.

12:33 Changeset [37202] by brettw@chromium.org

Reviewed by Sam Weinig.

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

Revert the changes to enclosingIntRect made in r12530 since the new code
doesn't round correctly.

11:48 Changeset [37201] by mitz@apple.com

Reviewed by Anders Carlsson and Eric Seidel.

  • fix HTMLCanvaseElement leak from -webkit-canvas() values

Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
pointer, as the document owns the canvas elements. Added code to release
those elements in Document::removedLastRef() because they reference
the document.

  • css/CSSCanvasValue.cpp: (WebCore::CSSCanvasValue::element):
  • css/CSSCanvasValue.h: (WebCore::CSSCanvasValue::CSSCanvasValue):
  • dom/Document.cpp: (WebCore::Document::removedLastRef):
11:40 Changeset [37200] by ap@webkit.org

A typo fix for ChangeLog.

11:39 Changeset [37199] by ap@webkit.org

Reviewed by Maciej Stachowiak.

Build fix for platform that don't implement WTF::ThreadSpecific.

  • bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this code is only needed for JS bindings in worker threads.
11:23 Changeset [37198] by hyatt@apple.com

WebCore:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
will make that cross-platform.


The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).


Reviewed by Sam Weinig

  • page/FrameView.cpp: (WebCore::FrameView::windowClipRect): (WebCore::FrameView::isActive):
  • page/FrameView.h: (WebCore::FrameView::visibleContentsResized):
  • platform/PopupMenu.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::destroy): (WebCore::ScrollView::setHasHorizontalScrollbar): (WebCore::ScrollView::setHasVerticalScrollbar): (WebCore::ScrollView::valueChanged): (WebCore::ScrollView::updateScrollbars): (WebCore::ScrollView::scrollContents): (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):
  • platform/ScrollView.h:
  • platform/Scrollbar.cpp: (WebCore::Scrollbar::windowClipRect):
  • platform/ScrollbarClient.h:
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::scrollContents):
  • platform/win/PopupMenuWin.cpp: (WebCore::PopupMenu::windowClipRect):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::scrollContents):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::windowClipRect):
  • rendering/RenderLayer.h:
  • rendering/RenderListBox.cpp: (WebCore::RenderListBox::panScroll): (WebCore::RenderListBox::windowClipRect):
  • rendering/RenderListBox.h:

WebKit/win:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
will make that cross-platform.


The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).

Reviewed by Sam Weinig

  • WebScrollBar.cpp: (WebScrollBar::windowClipRect):
  • WebScrollBar.h:
10:54 Changeset [37197] by sfalken@apple.com

Merge r31212 for fix <rdar://problem/6168976> visitCount not updated in History.plist

10:03 Changeset [37196] by aroben@apple.com

Remove references to some backup files I created when implementing PrettyPatch in Bugzilla

Reviewed by Tim Hatcher.

  • attachment-aroben.cgi: Removed.
  • template/en/default/attachment/edit-aroben.html.tmpl: Removed.
  • template/en/custom/attachment/edit.html.tmpl: Removed an erroneous reference to attachment-aroben.cgi. attachment.cgi will work just fine.
10:00 Changeset [37195] by cwzwarich@webkit.org

2008-10-02 Cameron Zwarich <zwarich@apple.com>

Rubber-stamped by Darin Adler.

Change bitwise operations introduced in r37166 to boolean operations. We
only use bitwise operations over boolean operations for increasing
performance in extremely hot code, but that does not apply to anything
in the parser.

  • kjs/grammar.y:
09:45 Changeset [37194] by barraclough@apple.com

JavaScriptCore:

2008-10-02 Gavin Barraclough <barraclough@apple.com>

Reviewed by Darin Adler.

Fix for bug #21232 - should reset m_isPendingDash on flush,
and should allow '\-' as beginning or end of a range (though
not to specifiy a range itself).

  • ChangeLog:
  • wrec/CharacterClassConstructor.cpp: (JSC::CharacterClassConstructor::put): (JSC::CharacterClassConstructor::flush):
  • wrec/CharacterClassConstructor.h: (JSC::CharacterClassConstructor::flushBeforeEscapedHyphen):
  • wrec/WREC.cpp: (JSC::WRECGenerator::generateDisjunction): (JSC::WRECParser::parseCharacterClass): (JSC::WRECParser::parseDisjunction):
  • wrec/WREC.h:

LayoutTests:

2008-10-02 Gavin Barraclough <barraclough@apple.com>

Reviewed by Darin Adler.

Layout tests for for bug #21232 - plus a range of tests for, um, ranges.

  • fast/js/regexp-ranges-and-escaped-hyphens-expected.txt: Added.
  • fast/js/regexp-ranges-and-escaped-hyphens.html: Added.
  • fast/js/resources/regexp-ranges-and-escaped-hyphens.js: Added.
09:45 Changeset [37193] by ap@webkit.org

Forgot to land JavaScriptCore.exp with the previous check-in.

09:39 Changeset [37192] by darin@apple.com

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

Reviewed by Sam Weinig.

  • remove the "static" from declarations in a header file, since we don't want them to have internal linkage
  • VM/Machine.h: Remove the static keyword from the constant and the three inline functions that Geoff just moved here.
09:22 Changeset [37191] by ggaren@apple.com

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

Reviewed by Sam Weinig.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21283.
Profiler Crashes When Started

  • VM/Machine.cpp:
  • VM/Machine.h: (JSC::makeHostCallFramePointer): (JSC::isHostCallFrame): (JSC::stripHostCallFrameBit): Moved some things to the header so JSGlobalObject could use them.
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObjectData::JSGlobalObjectData): Call the new makeHostCallFramePointer API, since 0 no longer indicates a host call frame.
09:18 Changeset [37190] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21304
Stop using a static wrapper map for WebCore JS bindings

The static domObjects map was not thread safe.

  • dom/Document.h: (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message ports. (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
  • dom/Document.cpp: (WebCore::Document::createdXMLHttpRequest): (WebCore::Document::destroyedXMLHttpRequest): Moved XMLHttpRequest tracking from a global map to Document.
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • webcore-base.bkl:
  • bindings/DOMProtect.cpp: Removed.
  • bindings/DOMProtect.h: Removed. Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference, so they can no longer protect bindings objects.
  • dom/MessagePort.cpp: (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): (WebCore::CloseMessagePortTimer::fired): (WebCore::MessagePort::MessagePort): (WebCore::MessagePort::queueCloseEvent): (WebCore::MessagePort::setPendingActivity): (WebCore::MessagePort::unsetPendingActivity):
  • dom/MessagePort.h: (WebCore::MessagePort::hasPendingActivity): MessagePort now counts outstanding async events, so JSDocument::mark can decide whether to protect it.
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::hasPendingActivity):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::XMLHttpRequest): (WebCore::XMLHttpRequest::~XMLHttpRequest): (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): (WebCore::XMLHttpRequest::didFinishLoadingPreflight): (WebCore::XMLHttpRequest::cancelRequests): (WebCore::XMLHttpRequest::detachRequests): (WebCore::XMLHttpRequest::setPendingActivity): (WebCore::XMLHttpRequest::unsetPendingActivity): Moved XMLHttpRequest tracking from a global map to Document.
  • bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): (WebCore::DOMObjectWrapperMap::mapFor): (WebCore::DOMObjectWrapperMap::get): (WebCore::DOMObjectWrapperMap::set): (WebCore::DOMObjectWrapperMap::remove): (WebCore::getCachedDOMObjectWrapper): (WebCore::cacheDOMObjectWrapper): (WebCore::forgetDOMObject): (WebCore::getCachedDOMNodeWrapper): (WebCore::forgetDOMNode): (WebCore::cacheDOMNodeWrapper): (WebCore::markActiveObjectsForDocument):
  • bindings/js/JSDOMBinding.h: (WebCore::createDOMObjectWrapper): (WebCore::getDOMObjectWrapper): Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug). WebCore objects can never migrate between threads.
  • bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): Call markActiveObjectsForDocument() from JSDOMBinding.
  • bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJS):
  • bindings/js/JSCSSValueCustom.cpp: (WebCore::toJS):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObjectWrapper): (WebCore::JSDOMWindow::mark):
  • bindings/js/JSEventCustom.cpp: (WebCore::toJS):
  • bindings/js/JSEventTarget.cpp: (WebCore::toJS):
  • bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJS):
  • bindings/js/JSImageDataCustom.cpp: (WebCore::toJS):
  • bindings/js/JSMessageChannelCustom.cpp: (WebCore::JSMessageChannel::mark):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::mark):
  • bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::mark):
  • bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJS):
  • bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJS):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::finishedWithEvent):
  • bindings/scripts/CodeGeneratorJS.pm: Pass a JSGlobalData reference to functions that track JS wrapper objects.

JavaScriptCore:

  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): (JSC::JSGlobalData::~JSGlobalData): (JSC::JSGlobalData::ClientData::~ClientData):
  • kjs/JSGlobalData.h: Added a client data member to JSGlobalData. WebCore will use it to store bindings-related global data.
00:52 Changeset [37189] by mitz@apple.com
  • build fix
  • page/JavaScriptCallFrame.idl:
00:35 Changeset [37188] by oliver@apple.com

Add new file to project files

Reviewed by NOBODY (Build fix)

00:15 Changeset [37187] by ggaren@apple.com

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

Not reviewed.

Try to fix some more builds.

  • GNUmakefile.am:
  • WebCore.pro:
00:13 Changeset [37186] by ggaren@apple.com

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

Not reviewed.


Try to fix Windows build.

  • WebCore.vcproj/WebCore.vcproj:
00:04 Changeset [37185] by ggaren@apple.com

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

Not reviewed.


Try to fix Qt build.

  • kjs/Error.h:

10/01/08:

23:44 Changeset [37184] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Darin Adler and Cameron Zwarich.

Preliminary step toward dynamic recompilation: Standardized and
simplified the parsing interface.


The main goal in this patch is to make it easy to ask for a duplicate
compilation, and get back a duplicate result -- same source URL, same
debugger / profiler ID, same toString behavior, etc.


The basic unit of compilation and evaluation is now SourceCode, which
encompasses a SourceProvider, a range in that provider, and a starting
line number.

A SourceProvider now encompasses a source URL, and *is* a source ID,
since a pointer is a unique identifier.

  • API/JSBase.cpp: (JSEvaluateScript): (JSCheckScriptSyntax): Provide a SourceCode to the Interpreter, since other APIs are no longer supported.


  • VM/CodeBlock.h: (JSC::EvalCodeCache::get): Provide a SourceCode to the Interpreter, since other APIs are no longer supported. (JSC::CodeBlock::CodeBlock): ASSERT something that used to be ASSERTed by our caller -- this is a better bottleneck.
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): Updated for the fact that FunctionBodyNode's parameters are no longer a WTF::Vector.
  • kjs/Arguments.cpp: (JSC::Arguments::Arguments): ditto
  • kjs/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): Provide a SourceCode to the Parser, since other APIs are no longer supported.
  • kjs/FunctionConstructor.cpp: (JSC::constructFunction): Provide a SourceCode to the Parser, since other APIs are no longer supported. Adopt FunctionBodyNode's new "finishParsing" API.
  • kjs/JSFunction.cpp: (JSC::JSFunction::lengthGetter): (JSC::JSFunction::getParameterName): Updated for the fact that FunctionBodyNode's parameters are no longer a wtf::Vector.
  • kjs/JSFunction.h: Nixed some cruft.
  • kjs/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): Provide a SourceCode to the Parser, since other APIs are no longer supported.
  • kjs/Parser.cpp: (JSC::Parser::parse): Require a SourceCode argument, instead of a bunch of broken out parameters. Stop tracking sourceId as an integer, since we use the SourceProvider pointer for this now. Don't clamp the startingLineNumber, since SourceCode does that now.
  • kjs/Parser.h: (JSC::Parser::parse): Standardized the parsing interface to require a SourceCode.
  • kjs/Shell.cpp: (functionRun): (functionLoad): (prettyPrintScript): (runWithScripts): (runInteractive): Provide a SourceCode to the Interpreter, since other APIs are no longer supported.
  • kjs/SourceProvider.h: (JSC::SourceProvider::SourceProvider): (JSC::SourceProvider::url): (JSC::SourceProvider::asId): (JSC::UStringSourceProvider::create): (JSC::UStringSourceProvider::UStringSourceProvider): Added new responsibilities described above.
  • kjs/SourceRange.h: (JSC::SourceCode::SourceCode): (JSC::SourceCode::toString): (JSC::SourceCode::provider): (JSC::SourceCode::firstLine): (JSC::SourceCode::data): (JSC::SourceCode::length): Added new responsibilities described above. Renamed SourceRange to SourceCode, based on review feedback. Added a makeSource function for convenience.
  • kjs/debugger.h: Provide a SourceCode to the client, since other APIs are no longer supported.
  • kjs/grammar.y: Provide startingLineNumber when creating a SourceCode.
  • kjs/debugger.h: Treat sourceId as intptr_t to avoid loss of precision on 64bit platforms.
  • kjs/interpreter.cpp: (JSC::Interpreter::checkSyntax): (JSC::Interpreter::evaluate):
  • kjs/interpreter.h: Require a SourceCode instead of broken out arguments.
  • kjs/lexer.cpp: (JSC::Lexer::setCode):
  • kjs/lexer.h: (JSC::Lexer::sourceRange): Fold together the SourceProvider and line number into a SourceCode. Fixed a bug where the Lexer would accidentally keep alive the last SourceProvider forever.
  • kjs/nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ProgramNode::ProgramNode): (JSC::ProgramNode::create): (JSC::EvalNode::EvalNode): (JSC::EvalNode::generateCode): (JSC::EvalNode::create): (JSC::FunctionBodyNode::FunctionBodyNode): (JSC::FunctionBodyNode::finishParsing): (JSC::FunctionBodyNode::create): (JSC::FunctionBodyNode::generateCode): (JSC::ProgramNode::generateCode): (JSC::FunctionBodyNode::paramString):
  • kjs/nodes.h: (JSC::ScopeNode::): (JSC::ScopeNode::sourceId): (JSC::FunctionBodyNode::): (JSC::FunctionBodyNode::parameterCount): (JSC::FuncExprNode::): (JSC::FuncDeclNode::): Store a SourceCode in all ScopeNodes, since SourceCode is now responsible for tracking URL, ID, etc. Streamlined some ad hoc FunctionBodyNode fixups into a "finishParsing" function, to help make clear what you need to do in order to finish parsing a FunctionBodyNode.
  • wtf/Vector.h: (WTF::::releaseBuffer): Don't ASSERT that releaseBuffer() is only called when buffer is not 0, since FunctionBodyNode is more than happy to get back a 0 buffer, and other functions like RefPtr::release() allow for 0, too.

JavaScriptGlue:

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

Reviewed by Darin Adler and Cameron Zwarich.

  • JSRun.cpp: (JSRun::Evaluate): (JSRun::CheckSyntax): Provide a SourceCode to the Interpreter, since other APIs are no longer supported.

WebCore:

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

Reviewed by Darin Adler and Cameron Zwarich.

Updated for JavaScriptCore API changes: use a SourceCode instead of
broken out parameters; treat sourceId as intptr_t.

  • ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::send):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluate):
  • bindings/js/StringSourceProvider.h: (WebCore::StringSourceProvider::create): (WebCore::StringSourceProvider::StringSourceProvider):

(WebCore::makeSource): Added a makeSource function for convenience.

  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]):
  • bridge/NP_jsobject.cpp: (_NPN_Evaluate):
  • bridge/jni/jni_jsobject.mm: (JavaJSObject::call): (JavaJSObject::eval): (JavaJSObject::getMember): (JavaJSObject::setMember): (JavaJSObject::removeMember):
  • bridge/jni/jni_runtime.h: (JSC::Bindings::JavaString::operator UString): Replaced the explicit ustring() function with an implicit operator because this class already holds a UString::rep.
  • page/Console.cpp: (WebCore::retrieveLastCaller): (WebCore::Console::trace):
  • page/InspectorController.cpp: (WebCore::jsStringRef): (WebCore::InspectorController::addBreakpoint): (WebCore::InspectorController::removeBreakpoint): (WebCore::InspectorController::didParseSource): (WebCore::InspectorController::failedToParseSource):
  • page/InspectorController.h:
  • page/JavaScriptCallFrame.cpp: (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
  • page/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::create): (WebCore::JavaScriptCallFrame::sourceIdentifier): (WebCore::JavaScriptCallFrame::update):
  • page/JavaScriptDebugListener.h:
  • page/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::addBreakpoint): (WebCore::JavaScriptDebugServer::removeBreakpoint): (WebCore::JavaScriptDebugServer::hasBreakpoint): (WebCore::dispatchDidParseSource): (WebCore::dispatchFailedToParseSource): (WebCore::JavaScriptDebugServer::sourceParsed): (WebCore::JavaScriptDebugServer::callEvent): (WebCore::JavaScriptDebugServer::atStatement): (WebCore::JavaScriptDebugServer::returnEvent): (WebCore::JavaScriptDebugServer::exception): (WebCore::JavaScriptDebugServer::willExecuteProgram): (WebCore::JavaScriptDebugServer::didExecuteProgram): (WebCore::JavaScriptDebugServer::didReachBreakpoint):
  • page/JavaScriptDebugServer.h:
  • page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and sourceIdentifier to sourceID.

WebKit/mac:

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

Reviewed by Darin Adler and Cameron Zwarich.

Updated for JavaScriptCore API changes: use a SourceCode instead of
broken out parameters; treat sourceId as intptr_t.


We still treat sourceId as int in some cases because of DashCode. See
<rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
sourceId, not int.

  • WebView/WebScriptDebugger.h:
  • WebView/WebScriptDebugger.mm: (toNSString): (WebScriptDebugger::sourceParsed): (WebScriptDebugger::callEvent): (WebScriptDebugger::atStatement): (WebScriptDebugger::returnEvent): (WebScriptDebugger::exception): (WebScriptDebugger::willExecuteProgram): (WebScriptDebugger::didExecuteProgram): (WebScriptDebugger::didReachBreakpoint):
23:08 Changeset [37183] by mitz@apple.com

Reviewed by Geoffrey Garen.

  • fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html

Broke a ref cycle by changing the m_svgFontFaceElement members of
CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
pointers. Also made sure that the @font-face rule added by
SVGFontFaceElement to the document's mapped element sheet is removed
when the font-face element is deleted or moved to another document.

  • css/CSSFontFaceSource.cpp: (WebCore::CSSFontFaceSource::CSSFontFaceSource): (WebCore::CSSFontFaceSource::getFontData):
  • css/CSSFontFaceSource.h: (WebCore::CSSFontFaceSource::svgFontFaceElement):
  • css/CSSFontFaceSrcValue.h: (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::~SVGFontFaceElement): (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument): (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument): (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
  • svg/SVGFontFaceElement.h:
22:06 Changeset [37182] by cwzwarich@webkit.org

2008-10-01 Cameron Zwarich <zwarich@apple.com>

Reviewed by Maciej Stachowiak.

Bug 21289: REGRESSION (r37160): Inspector crashes on load
<https://bugs.webkit.org/show_bug.cgi?id=21289>

The code in Arguments::mark() in r37160 was wrong. It marks indices in
d->registers, but that makes no sense (they are local variables, not
arguments). It should mark those indices in d->registerArray instead.

This patch also changes Arguments::copyRegisters() to use d->numParameters
instead of recomputing it.

  • kjs/Arguments.cpp: (JSC::Arguments::mark):
  • kjs/Arguments.h: (JSC::Arguments::copyRegisters):
22:02 Changeset [37181] by oliver@apple.com

Bug 20315: Memory leak with Canvas getImageData
<https://bugs.webkit.org/show_bug.cgi?id=20315>

Reviewed by Maciej Stachowiak

This wasn't a leak, the issue was that we were reporting the cost
of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
and we should have been reporting the cost when we create the
JSImageData wrapper.

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

Reviewed by Mark Rowe.

  • svg/SVGMarkerElement.cpp: (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so that renderer destruction happens before the SVGMarkerElement is destroyed.
  • svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
19:48 Changeset [37179] by hyatt@apple.com

Fix Win32 bustage.

18:47 Changeset [37178] by eric@webkit.org

2008-10-01 Evan Martin <evan@chromium.org>

Reviewed by Eric Seidel.

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

  • css/makeprop.pl: Die if gperf fails.
18:43 Changeset [37177] by eric@webkit.org

2008-10-01 Evan Martin <evan@chromium.org>

Reviewed by Eric Seidel.

  • loader/icon/IconDatabase.h: IconDatabase uses HashMap, so it needs to #include the header.
18:35 Changeset [37176] by mitz@apple.com

Reviewed by Mark Rowe.

  • fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
  • loader/Cache.cpp: (WebCore::Cache::remove): Disable pruning temporarily during CachedResource deletion.
18:30 Changeset [37175] by darin@apple.com

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

Reviewed by Eric Seidel.

Eliminate some unneeded uses of dynamicGlobalObject.

  • API/JSClassRef.cpp: (OpaqueJSClass::contextData): Changed to use a map in the global data instead of on the global object. Also fixed to use only a single hash table lookup.
  • API/JSObjectRef.cpp: (JSObjectMakeConstructor): Use lexicalGlobalObject rather than dynamicGlobalObject to get the object prototype.
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncToString): Use arrayVisitedElements set in global data rather than in the global object. (JSC::arrayProtoFuncToLocaleString): Ditto. (JSC::arrayProtoFuncJoin): Ditto.
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Don't initialize opaqueJSClassData, since it's no longer a pointer. (JSC::JSGlobalData::~JSGlobalData): We still need to delete all the values, but we don't need to delete the map since it's no longer a pointer.
  • kjs/JSGlobalData.h: Made opaqueJSClassData a map instead of a pointer to a map. Also added arrayVisitedElements.
  • kjs/JSGlobalObject.h: Removed arrayVisitedElements.
  • kjs/Shell.cpp: (functionRun): Use lexicalGlobalObject instead of dynamicGlobalObject. (functionLoad): Ditto.
18:05 Changeset [37174] by hyatt@apple.com

Fix Gtk repaint method finally. Should fix build bustage.

17:56 Changeset [37173] by hyatt@apple.com

Fix Gtk bustage from removal of update(). Make sure to include HostWindow.h

17:56 Changeset [37172] by hyatt@apple.com

Fix Gtk bustage from removal of update().

17:48 Changeset [37171] by mitz@apple.com

Reviewed by Mark Rowe.

  • fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::rebuildFontFace):
  • svg/SVGFontFaceElement.h: (WebCore::SVGFontFaceElement::associatedFontElement):
17:40 Changeset [37170] by hyatt@apple.com

Fix Win bustage.

17:22 Changeset [37169] by hyatt@apple.com

Fix Gtk bustage.

17:21 Changeset [37168] by hyatt@apple.com

Fix Qt bustage.

17:20 Changeset [37167] by hyatt@apple.com

Fix Win bustage.

16:38 Changeset [37166] by cwzwarich@webkit.org

2008-10-01 Cameron Zwarich <zwarich@apple.com>

Not reviewed.

Speculative Windows build fix.

  • kjs/grammar.y:
15:43 Changeset [37165] by hyatt@apple.com

Fix Qt bustage.

15:43 Changeset [37164] by hyatt@apple.com

Fix Qt bustage.

15:34 Changeset [37163] by brettw@chromium.org

Reviewed by Maciej Stachowiak.

Document the rounding behavior of the mapRect(IntRect) function in
AffineTransform.h.

  • platform/graphics/AffineTransform.h:
15:30 Changeset [37162] by hyatt@apple.com

WebCore:

2008-10-01 David Hyatt <hyatt@apple.com>

Move prohibitsScrolling from the Frame to the ScrollView.

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • page/Frame.cpp: (WebCore::FramePrivate::FramePrivate):
  • page/Frame.h:
  • page/FramePrivate.h:
  • page/FrameView.cpp: (WebCore::FrameView::scrollRectIntoViewRecursively): (WebCore::FrameView::setScrollPosition):
  • platform/ScrollView.cpp: (WebCore::ScrollView::init): (WebCore::ScrollView::scrollRectIntoViewRecursively): (WebCore::ScrollView::setScrollPosition):
  • platform/ScrollView.h: (WebCore::ScrollView::setProhibitsScrolling): (WebCore::ScrollView::prohibitsScrolling):
  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/qt/ScrollViewQt.cpp: (WebCore::ScrollView::updateScrollbars):
  • platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::updateScrollbars):

WebKit/mac:

2008-10-01 David Hyatt <hyatt@apple.com>

Move prohibitsScrolling from the Frame to the ScrollView.

Reviewed by Sam Weinig

  • WebView/WebView.mm: (-[WebView setProhibitsMainFrameScrolling:]):
15:24 Changeset [37161] by mrowe@apple.com

Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.

Reviewed by Geoff Garen.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
that we do during the loadRequestAsynchronously of the preflight request with a deref and
GC unprotect.

15:18 Changeset [37160] by cwzwarich@webkit.org

2008-10-01 Cameron Zwarich <zwarich@apple.com>

Reviewed by Darin Adler.

Bug 21123: using "arguments" in a function should not force creation of an activation object
<https://bugs.webkit.org/show_bug.cgi?id=21123>

Make the 'arguments' object not require a JSActivation. We store the
'arguments' object in the OptionalCalleeArguments call frame slot. We
need to be able to get the original 'arguments' object to tear it off
when returning from a function, but 'arguments' may be assigned to in a
number of ways.

Therefore, we use the OptionalCalleeArguments slot when we want to get
the original activation or we know that 'arguments' was not assigned a
different value. When 'arguments' may have been assigned a new value,
we use a new local variable that is initialized with 'arguments'. Since
a function parameter named 'arguments' may overwrite the value of
'arguments', we also need to be careful to look up 'arguments' in the
symbol table, so we get the parameter named 'arguments' instead of the
local variable that we have added for holding the 'arguments' object.

This is a 19.1% win on the V8 Raytrace benchmark using the SunSpider
harness, and a 20.7% win using the V8 harness. This amounts to a 6.5%
total speedup on the V8 benchmark suite using the V8 harness.

JavaScriptCore:

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_init_arguments): (JSC::Machine::cti_op_ret_activation_arguments):
  • VM/Machine.h:
  • VM/RegisterFile.h: (JSC::RegisterFile::):
  • kjs/Arguments.cpp: (JSC::Arguments::mark): (JSC::Arguments::fillArgList): (JSC::Arguments::getOwnPropertySlot): (JSC::Arguments::put):
  • kjs/Arguments.h: (JSC::Arguments::setRegisters): (JSC::Arguments::init): (JSC::Arguments::Arguments): (JSC::Arguments::copyRegisters): (JSC::JSActivation::copyRegisters):
  • kjs/JSActivation.cpp: (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
  • kjs/grammar.y:
  • kjs/nodes.h: (JSC::ScopeNode::setUsesArguments):
  • masm/X86Assembler.h: (JSC::X86Assembler::): (JSC::X86Assembler::orl_mr):

LayoutTests:

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js:
15:12 Changeset [37159] by hyatt@apple.com

2008-10-01 David Hyatt <hyatt@apple.com>

Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.

Reviewed by Tim Hatcher

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::setCanHaveScrollbars):
  • page/FrameView.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::setCanHaveScrollbars): (WebCore::ScrollView::wheelEvent):
  • platform/ScrollView.h: (WebCore::ScrollView::canHaveScrollbars):
14:48 Changeset [37158] by hyatt@apple.com

Fix Win bustage.

14:19 Changeset [37157] by mitz@apple.com

Reviewed by Mark Rowe.

  • fix some CachedResource leaks seen on buildbot

The issue here was that emptying the cache was a no-op when it only
contained resources with no data. Changed to go after those
resources when the desired cache capacity is zero.

  • loader/Cache.cpp: (WebCore::Cache::pruneLiveResources): (WebCore::Cache::pruneDeadResources):
  • loader/Cache.h: (WebCore::Cache::prune):
14:11 Changeset [37156] by hyatt@apple.com

2008-10-01 David Hyatt <hyatt@apple.com>

Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)

Reviewed by Adam Roben

  • platform/ScrollView.cpp: (WebCore::ScrollView::isOffscreen): (WebCore::ScrollView::platformIsOffscreen):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformIsOffscreen):
  • platform/qt/ScrollViewQt.cpp:
  • platform/wx/ScrollViewWx.cpp:
13:58 Changeset [37155] by hyatt@apple.com

2008-10-01 David Hyatt <hyatt@apple.com>

Make show/hide/setParentVisible cross-platform on ScrollView.

Reviewed by Adam Roben

  • platform/ScrollView.cpp: (WebCore::ScrollView::setParentVisible): (WebCore::ScrollView::show): (WebCore::ScrollView::hide):
  • platform/ScrollView.h:
  • platform/win/ScrollViewWin.cpp:
13:41 Changeset [37154] by kmccullough@apple.com

WebCore:

2008-10-01 Kevin McCullough <kmccullough@apple.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=21284
Bug 21284: Max height affects max width

  • Looks like a cut and paste bug
  • Added layout test fast/css/max-height-and-max-width.html
  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

LayoutTests:

2008-10-01 Kevin McCullough <kmccullough@apple.com>

Reviewed by Dan Bernstein.

https://bugs.webkit.org/show_bug.cgi?id=21284
Bug 21284: Max height affects max width

  • Looks like a cut and paste bug
  • fast/css/max-height-and-max-width-expected.txt: Added.
  • fast/css/max-height-and-max-width.html: Added.
13:34 Changeset [37153] by hyatt@apple.com

WebCore:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::screenToWindow): (WebCore::EmptyChromeClient::windowToScreen):
  • page/Chrome.cpp: (WebCore::Chrome::screenToWindow): (WebCore::Chrome::windowToScreen):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • platform/HostWindow.h:
  • platform/ScrollView.cpp: (WebCore::ScrollView::contentsToScreen): (WebCore::ScrollView::screenToContents): (WebCore::ScrollView::platformContentsToScreen): (WebCore::ScrollView::platformScreenToContents):
  • platform/ScrollView.h:
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformContentsToScreen): (WebCore::ScrollView::platformScreenToContents):
  • platform/win/ScrollViewWin.cpp:

WebKit/gtk:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::windowToScreen): (WebKit::ChromeClient::screenToWindow):
  • WebCoreSupport/ChromeClientGtk.h:

WebKit/mac:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::repaint): (WebChromeClient::screenToWindow): (WebChromeClient::windowToScreen):

WebKit/qt:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::windowToScreen): (WebCore::ChromeClientQt::screenToWindow):
  • WebCoreSupport/ChromeClientQt.h:

WebKit/win:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::windowToScreen): (WebChromeClient::screenToWindow):
  • WebCoreSupport/WebChromeClient.h:

WebKit/wx:

2008-10-01 David Hyatt <hyatt@apple.com>

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


Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.


Reviewed by Adam Roben

  • WebKitSupport/ChromeClientWx.cpp: (WebCore::ChromeClientWx::windowToScreen): (WebCore::ChromeClientWx::screenToWindow):
  • WebKitSupport/ChromeClientWx.h:
13:31 Changeset [37152] by mitz@apple.com

WebCore:

Reviewed by Darin Adler.

  • fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)

Test: fast/parser/residual-style-close-across-removed-block.html

  • html/HTMLParser.cpp: (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed an assertion that turned out to be wrong in this case, and changed to terminate the algorithm at the first empty block.

LayoutTests:

Reviewed by Darin Adler.

  • test for <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
  • fast/parser/residual-style-close-across-removed-block-expected.txt: Added.
  • fast/parser/residual-style-close-across-removed-block.html: Added.
12:24 Changeset [37151] by hyatt@apple.com

Fix Mac bustage. Make sure the setFrameRect method is moved outside the ifdef in the header.

12:23 Changeset [37150] by hyatt@apple.com

2008-10-01 David Hyatt <hyatt@apple.com>

Make setFrameRect on ScrollView cross-platform.

Reviewed by Sam Weinig

  • page/FrameView.h: (WebCore::FrameView::contentsResized):
  • platform/ScrollView.cpp: (WebCore::ScrollView::setFrameRect):
  • platform/ScrollView.h:
  • platform/gtk/ScrollViewGtk.cpp:
  • platform/qt/ScrollViewQt.cpp:
  • platform/win/ScrollViewWin.cpp:
12:17 Changeset [37149] by weinig@apple.com

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

Reviewed by Adele Peterson.

Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
to JSDOMWindow from JSDOMWindowBase.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::removeTimeout):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::setTimeoutOrInterval): (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::clearTimeout): (WebCore::JSDOMWindow::setInterval): (WebCore::JSDOMWindow::clearInterval): (WebCore::JSDOMWindow::atob): (WebCore::JSDOMWindow::btoa):
  • page/DOMWindow.idl:
11:40 Changeset [37148] by kmccullough@apple.com

2008-10-01 Kevin McCullough <kmccullough@apple.com>

Rubberstamped by Geoff .

Remove BreakpointCheckStatement because it's not used anymore.
No effect on sunspider or the jsc tests.

  • kjs/nodes.cpp:
  • kjs/nodes.h:
11:12 Changeset [37147] by mitz@apple.com
  • Mac build fix
  • WebCore.base.exp:
10:51 Changeset [37146] by hyatt@apple.com

Make ScrollView::paint cross-platform.

10:33 Changeset [37145] by timothy@apple.com

Prevent stealing focus from the search field when focusing a DOM node.

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

Reviewed by Kevin McCullough.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged): Don't steal focus if the current focus element is the search field.
06:32 QtWebKitJournal edited by hausmann@webkit.org
(diff)
00:59 Changeset [37144] by hyatt@apple.com

Speculative fix for Gtk bustage.

00:55 Changeset [37143] by hyatt@apple.com

Fix Qt bustage.

00:27 Changeset [37142] by weinig@apple.com

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

Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.

Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Generate getting/setting of EventListeners.
  • Adding a new named EventListener now has the same process as adding any other DOM attribute. (Add a method with the same name in the c++ file).

(The EventListeners for MessagePort have been intentionally left custom so that we
can continue to experiment with making those EventListeners work in a frame-less world.)

  • bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
  • bindings/js/JSDOMWindowCustom.cpp: ditto.
  • bindings/js/JSEventTargetNodeCustom.cpp: ditto.
  • bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener getter/setters
  • dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
  • dom/EventTargetNode.h: ditto.
  • dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator will use JSEventListerner instead of JSUnprotectedEventListener.
  • loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
  • page/DOMWindow.cpp: Add getter/setters for named EventListener
  • page/DOMWindow.h: ditto.
  • page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator will use JSEventListerner instead of JSUnprotectedEventListener.
  • xml/XMLHttpRequest.idl: Remove custom attributes.
  • xml/XMLHttpRequestUpload.idl: ditto.

09/30/08:

23:57 Changeset [37141] by mrowe@apple.com

A-Z.

23:53 Changeset [37140] by mrowe@apple.com

Add a leak counter for CachedResources since we've had two recent leaks involving them.

Reviewed by Dan Bernstein.

23:25 Changeset [37139] by mitz@apple.com

Reviewed by Dave Hyatt.

If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
the font name in memory.

  • WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to OpenTypeUtilities.*.
  • platform/graphics/win/FontCustomPlatformData.cpp: (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is used. (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path for fonts loaded using AddFontMemResourceEx. (WebCore::createFontCustomPlatformData): Added a call to renameAndActivateFont() if TTLoadEmbeddedFont fails. If TTLoadEmbeddedFont succeeds, set the font name to the null string, as fontPlatformData() will retrieve the name from the font reference.
  • platform/graphics/win/FontCustomPlatformData.h: (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a font name member.
  • platform/graphics/win/GetEOTHeader.cpp: Renamed.
  • platform/graphics/win/GetEOTHeader.h: Renamed.
  • platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp. (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor. (WebCore::BigEndianULong::BigEndianULong): Ditto. (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of the font data and modifies it to have the given name, then activates it using AddFontMemResourceEx.
  • platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
23:16 Changeset [37138] by oliver@apple.com

Improve performance of CTI on windows.

Reviewed by Geoff Garen

Currently on platforms where the compiler doesn't allow us to safely
index relative to the address of a parameter we need to actually
provide a pointer to CTI runtime call arguments. This patch improves
performance in this case by making the CTI logic for restoring this
parameter much less conservative by only resetting it before we actually
make a call, rather than between each and every SF bytecode we generate
code for.

This results in a 3.6% on the v8 benchmark when compiled with MSVC.

23:09 Changeset [37137] by mrowe@apple.com

Fix many leaks seen on fast/backgrounds/svg-as-mask.html.

Reviewed by Dan Bernstein.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
with calls to removeClient when we're being destroyed.

22:45 Changeset [37136] by eric.carlson@apple.com

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

Reviewed by Antti

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

Fix loopstart and loopend default values.

Tests: media/loopend-limits.html

media/loopstart-limits.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value

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

Reviewed by Antti

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

Test default loopstart and loopend values.

  • media/loopend-limits-expected.txt: Added.
  • media/loopend-limits.html: Added.
  • media/loopstart-limits-expected.txt: Added.
  • media/loopstart-limits.html: Added.
  • media/video-test.js:
22:29 Changeset [37135] by mrowe@apple.com

Fix many leaks seen on fast/backgrounds/svg-as-background-1.html.

JavaScript wrappers were keeping DOM objects alive, which was leading to the SVG background image
being kept alive in the memory cache past our last attempt to empty the cache prior to quitting.
We need to empty the memory cache after forcing a JavaScript garbage collection to ensure that
any live JavaScript wrappers are collected and their corresponding DOM objects have a chance to be
torn down before we exit.

Rubber-stamped by Dan Bernstein.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(dumpRenderTree):
(main):

22:04 Changeset [37134] by kevino@webkit.org

wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.

21:43 Changeset [37133] by mitz@apple.com

Reviewed by Sam Weinig.

  • fix HTMLViewSourceDocument leaks by breaking a ref cycle which was fixed in r17249 and re-introduced in r31435.
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): (WebCore::HTMLViewSourceDocument::addSpanWithClassName): (WebCore::HTMLViewSourceDocument::addLine): (WebCore::HTMLViewSourceDocument::addLink):
  • html/HTMLViewSourceDocument.h:
19:57 Changeset [37132] by mjs@apple.com

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

Reviewed by Oliver Hunt.

  • track uses of "this", "with" and "catch" in the parser


Knowing this up front will be useful for future optimizations.


Perf and correctness remain the same.


  • kjs/NodeInfo.h:
  • kjs/grammar.y:
18:05 Changeset [37131] by kdecker@apple.com

Reviewed by Anders Carlsson.

Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
ever supported it.


  • Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
  • Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks. Also removed many methods AGL/CGL support methods that are no longer necessary. (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code. (-[WebBaseNetscapePluginView restorePortState:]): Ditto. (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto. (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto. (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto. (-[WebBaseNetscapePluginView stop]): Ditto. (-[WebBaseNetscapePluginView dealloc]): Ditto. (-[WebBaseNetscapePluginView drawRect:]): (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto. (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto. (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL. (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code. (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
18:00 Changeset [37130] by dino@apple.com

2008-09-30 Dean Jackson <dino@apple.com>

Reviewed by Simon Fraser.

Remove console output that can cause test to fail on slow
machines.

  • animations/transition-and-animation-2-expected.txt:
  • animations/transition-and-animation-2.html:
17:43 Changeset [37129] by simon.fraser@apple.com

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

Reviewed by Dan Bernstein

Don't run pixel comparison for text-only tests.
https://bugs.webkit.org/show_bug.cgi?id=21124

  • DumpRenderTree/mac/DumpRenderTree.mm: (dump):
  • Scripts/run-webkit-tests:
17:39 Changeset [37128] by weinig@apple.com

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

Reviewed by Eric Seidel.

More for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Make EventListener getter/setters names in c++ files match those in JS (ie. onLoadListener -> onload).
  • Add standard way to access the frame associated with the EventTarget for EventListener lookup.
  • Autogenerate dispatchEvent, it wasn't doing anything custom.
  • bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::mark): (WebCore::JSDOMApplicationCache::addEventListener): (WebCore::JSDOMApplicationCache::removeEventListener): (WebCore::JSDOMApplicationCache::setOnchecking): (WebCore::JSDOMApplicationCache::onchecking): (WebCore::JSDOMApplicationCache::setOnerror): (WebCore::JSDOMApplicationCache::onerror): (WebCore::JSDOMApplicationCache::setOnnoupdate): (WebCore::JSDOMApplicationCache::onnoupdate): (WebCore::JSDOMApplicationCache::setOndownloading): (WebCore::JSDOMApplicationCache::ondownloading): (WebCore::JSDOMApplicationCache::setOnprogress): (WebCore::JSDOMApplicationCache::onprogress): (WebCore::JSDOMApplicationCache::setOnupdateready): (WebCore::JSDOMApplicationCache::onupdateready): (WebCore::JSDOMApplicationCache::setOncached): (WebCore::JSDOMApplicationCache::oncached):
  • bindings/js/JSEventTargetNodeCustom.cpp: (WebCore::JSEventTargetNode::addEventListener): (WebCore::JSEventTargetNode::removeEventListener): (WebCore::JSEventTargetNode::getListener): (WebCore::JSEventTargetNode::setListener):
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::mark): (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::onmessage): (WebCore::JSMessagePort::setOnclose): (WebCore::JSMessagePort::onclose):
  • bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::mark): (WebCore::JSXMLHttpRequest::onreadystatechange): (WebCore::JSXMLHttpRequest::setOnreadystatechange): (WebCore::JSXMLHttpRequest::onabort): (WebCore::JSXMLHttpRequest::setOnabort): (WebCore::JSXMLHttpRequest::onerror): (WebCore::JSXMLHttpRequest::setOnerror): (WebCore::JSXMLHttpRequest::onload): (WebCore::JSXMLHttpRequest::setOnload): (WebCore::JSXMLHttpRequest::onloadstart): (WebCore::JSXMLHttpRequest::setOnloadstart): (WebCore::JSXMLHttpRequest::onprogress): (WebCore::JSXMLHttpRequest::setOnprogress): (WebCore::JSXMLHttpRequest::addEventListener): (WebCore::JSXMLHttpRequest::removeEventListener):
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): (WebCore::JSXMLHttpRequestUpload::onabort): (WebCore::JSXMLHttpRequestUpload::setOnabort): (WebCore::JSXMLHttpRequestUpload::onerror): (WebCore::JSXMLHttpRequestUpload::setOnerror): (WebCore::JSXMLHttpRequestUpload::onload): (WebCore::JSXMLHttpRequestUpload::setOnload): (WebCore::JSXMLHttpRequestUpload::onloadstart): (WebCore::JSXMLHttpRequestUpload::setOnloadstart): (WebCore::JSXMLHttpRequestUpload::onprogress): (WebCore::JSXMLHttpRequestUpload::setOnprogress): (WebCore::JSXMLHttpRequestUpload::addEventListener): (WebCore::JSXMLHttpRequestUpload::removeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTarget.h:
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::associatedFrame):
  • dom/EventTargetNode.h:
  • dom/EventTargetNode.idl:
  • dom/MessagePort.cpp: (WebCore::MessagePort::associatedFrame):
  • dom/MessagePort.h: (WebCore::MessagePort::setOnmessage): (WebCore::MessagePort::onmessage): (WebCore::MessagePort::setOnclose): (WebCore::MessagePort::onclose):
  • dom/MessagePort.idl:
  • loader/appcache/DOMApplicationCache.h: (WebCore::DOMApplicationCache::setOnchecking): (WebCore::DOMApplicationCache::onchecking): (WebCore::DOMApplicationCache::setOnerror): (WebCore::DOMApplicationCache::onerror): (WebCore::DOMApplicationCache::setOnnoupdate): (WebCore::DOMApplicationCache::onnoupdate): (WebCore::DOMApplicationCache::setOndownloading): (WebCore::DOMApplicationCache::ondownloading): (WebCore::DOMApplicationCache::setOnprogress): (WebCore::DOMApplicationCache::onprogress): (WebCore::DOMApplicationCache::setOnupdateready): (WebCore::DOMApplicationCache::onupdateready): (WebCore::DOMApplicationCache::setOncached): (WebCore::DOMApplicationCache::oncached): (WebCore::DOMApplicationCache::associatedFrame):
  • loader/appcache/DOMApplicationCache.idl:
  • svg/EventTargetSVGElementInstance.cpp: (WebCore::EventTargetSVGElementInstance::associatedFrame): (WebCore::EventTargetSVGElementInstance::addEventListener): (WebCore::EventTargetSVGElementInstance::removeEventListener): (WebCore::EventTargetSVGElementInstance::dispatchEvent):
  • svg/EventTargetSVGElementInstance.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::associatedFrame):
  • xml/XMLHttpRequest.h: (WebCore::XMLHttpRequest::setOnreadystatechange): (WebCore::XMLHttpRequest::onreadystatechange): (WebCore::XMLHttpRequest::setOnabort): (WebCore::XMLHttpRequest::onabort): (WebCore::XMLHttpRequest::setOnerror): (WebCore::XMLHttpRequest::onerror): (WebCore::XMLHttpRequest::setOnload): (WebCore::XMLHttpRequest::onload): (WebCore::XMLHttpRequest::setOnloadstart): (WebCore::XMLHttpRequest::onloadstart): (WebCore::XMLHttpRequest::setOnprogress): (WebCore::XMLHttpRequest::onprogress):
  • xml/XMLHttpRequest.idl:
  • xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::associatedFrame):
  • xml/XMLHttpRequestUpload.h: (WebCore::XMLHttpRequestUpload::setOnabort): (WebCore::XMLHttpRequestUpload::onabort): (WebCore::XMLHttpRequestUpload::setOnerror): (WebCore::XMLHttpRequestUpload::onerror): (WebCore::XMLHttpRequestUpload::setOnload): (WebCore::XMLHttpRequestUpload::onload): (WebCore::XMLHttpRequestUpload::setOnloadstart): (WebCore::XMLHttpRequestUpload::onloadstart): (WebCore::XMLHttpRequestUpload::setOnprogress): (WebCore::XMLHttpRequestUpload::onprogress):
  • xml/XMLHttpRequestUpload.idl:
17:38 Changeset [37127] by darin@apple.com

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

  • roll out assertion breaking regression tests
  • platform/ScrollView.cpp: (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion that fires in regression tests. Hyatt can add it back later. The assertion fires in the regression test because of layout that triggers repaint occuring during the process of removing a frame.
16:58 Changeset [37126] by weinig@apple.com

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

Reviewed by Mark Rowe.

Add WebKitAvailability macros for JSObjectMakeArray, JSObjectMakeDate, JSObjectMakeError,
and JSObjectMakeRegExp

  • API/JSObjectRef.h:
16:46 Changeset [37125] by darin@apple.com

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

Reviewed by Geoff Garen.

Replaced the m_prev field of ExecState with a bit in the
call frame pointer to indicate "host" call frames.

  • VM/Machine.cpp: (JSC::makeHostCallFramePointer): Added. Sets low bit. (JSC::isHostCallFrame): Added. Checks low bit. (JSC::stripHostCallFrameBit): Added. Clears low bit. (JSC::Machine::unwindCallFrame): Replaced null check that was formerly used to detect host call frames with an isHostCallFrame check. (JSC::Machine::execute): Pass in a host call frame pointer rather than always passing 0 when starting execution from the host. This allows us to follow the entire call frame pointer chain when desired, or to stop at the host calls when that's desired. (JSC::Machine::privateExecute): Replaced null check that was formerly used to detect host call frames with an isHostCallFrame check. (JSC::Machine::retrieveCaller): Ditto. (JSC::Machine::retrieveLastCaller): Ditto. (JSC::Machine::callFrame): Removed the code to walk up m_prev pointers and replaced it with code that uses the caller pointer and uses the stripHostCallFrameBit function.
  • kjs/ExecState.cpp: Removed m_prev.
  • kjs/ExecState.h: Ditto.
16:24 Changeset [37124] by hyatt@apple.com

Fix Qt bustage.

16:21 Changeset [37123] by adele@apple.com

WebCore:

2008-09-30 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
<rdar://problem/6222134> add a way to set color for input placeholder text

Test: fast/forms/placeholder-pseudo-style.html

This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
input elements when they are displaying the placeholder text.

  • css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
  • css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
  • css/html4.css: Add rule to make placeholder text default to darkGray.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible. (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility. (WebCore::HTMLInputElement::dispatchBlurEvent): ditto. (WebCore::HTMLInputElement::parseMappedAttribute): ditto. (WebCore::HTMLInputElement::setValue): ditto. (WebCore::HTMLInputElement::setValueFromRenderer): ditto. (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state. This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the renderer will just ask the node if it should draw the placeholder.
  • html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
  • rendering/RenderTextControl.cpp: (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color, just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast. If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme. (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none". This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which is called directly from updateFromElement. updateFromElement will immediately update the text displayed. (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed. (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
  • rendering/RenderTextControl.h:

LayoutTests:

2008-09-30 Adele Peterson <adele@apple.com>

Reviewed by Darin Adler.

Tests for https://bugs.webkit.org/show_bug.cgi?id=21227
<rdar://problem/6222134> add a way to set color for input placeholder text

  • fast/forms/password-placeholder-text-security.html: Added.
  • fast/forms/placeholder-pseudo-style.html: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.checksum: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.png: Added.
  • platform/mac/fast/forms/password-placeholder-text-security-expected.txt: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.checksum: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.png: Added.
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt: Added.

Updated results. The placeholder color is now reflected on the RenderTextControl, not just on an inner element.

  • platform/mac/fast/forms/input-disabled-color-expected.checksum:
  • platform/mac/fast/forms/input-disabled-color-expected.png:
  • platform/mac/fast/forms/input-disabled-color-expected.txt:
  • platform/mac/fast/forms/password-placeholder-expected.checksum:
  • platform/mac/fast/forms/password-placeholder-expected.png:
  • platform/mac/fast/forms/password-placeholder-expected.txt:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.checksum:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.png:
  • platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
16:19 Changeset [37122] by bdakin@apple.com

WebCore:

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

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
by failed allocation due to invalid counter/attr
and corresponding: <rdar://problem/6152371>

  • css/CSSParser.cpp: (WebCore::CSSParser::parseCounterContent): The spec indicates that only identifiers should be accepted here.

LayoutTests:

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

Reviewed by Darin Adler.

Test for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
by failed allocation due to invalid counter/attr
and corresponding: <rdar://problem/6152371>

  • fast/css/counters/counter-number-input-expected.txt: Added.
  • fast/css/counters/counter-number-input.html: Added.
15:33 Changeset [37121] by kmccullough@apple.com

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

Reviewed by Oliver Hunt.

Bug 21255: console.profileEnd() without a console.profile() crashes the
web inspector

  • page/Console.cpp: (WebCore::Console::profileEnd):
15:31 Changeset [37120] by kmccullough@apple.com

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

Reviewed by Tim Hatcher.

Bug 21252: calling console.profile() with a title that is 2 chars or
shorter does not linkify it

  • Previously we tried to not linkify very short URLs but since profile titles can be any length this is not always true.
  • page/inspector/inspector.js:
15:30 Changeset [37119] by mrowe@apple.com

Remove bogus executable bit from some source files.

15:28 Changeset [37118] by mrowe@apple.com

Remove bogus executable bit from some source files.

15:17 Changeset [37117] by cwzwarich@webkit.org

2008-09-30 Cameron Zwarich <zwarich@apple.com>

Reviewed by Geoff Garen.

Move all detection of 'arguments' in a lexical scope to the parser, in
preparation for fixing

Bug 21123: using "arguments" in a function should not force creation of an activation object
<https://bugs.webkit.org/show_bug.cgi?id=21123>

JavaScriptCore:

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator):
  • kjs/NodeInfo.h:
  • kjs/grammar.y:

LayoutTests:

  • fast/js/arguments-expected.txt:
  • fast/js/function-dot-arguments-expected.txt: Added.
  • fast/js/function-dot-arguments.html: Added.
  • fast/js/resources/arguments.js:
  • fast/js/resources/function-dot-arguments.js: Added.
14:46 Changeset [37116] by ggaren@apple.com

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

Not reviewed.

  • kjs/Shell.cpp: (runWithScripts): Fixed indentation.
14:34 Changeset [37115] by timothy@apple.com

Add the image/png mime-type to the Web Inspector images to make Mark and Dan happy.

14:31 Changeset [37114] by hyatt@apple.com

Tweak the Gtk/Qt ChromeClient methods structurally to make sure immediate displays/flushes can happen even if the content doesn't change.

14:30 Changeset [37113] by hyatt@apple.com

Eliminate the ScrollView update() method.

14:04 Changeset [37112] by mrowe@apple.com

Roll out r37060 as it introduced many, many leaks.

13:57 Changeset [37111] by timothy@apple.com

Focus the DOM tree in the Web Inspector when a node is inspected.
So when the search field has focus, the focus moves to the tree,
allowing the arrow keys work. This can happen when using the new
find in page feature.

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

Reviewed by Geoff Garen.

  • page/inspector/ElementsPanel.js: (WebInspector.ElementsPanel): Set currentFocusElement to the main-panels element if the panel is visible. (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Remove a set of currentFocusElement since this moved.
  • page/inspector/inspector.js: (WebInspector.set currentFocusElement): Always focus the element. This ensures that when focus changes in the page and we don't catch it, we will still focus the elements even if we think it was already focused.
13:57 Changeset [37110] by timothy@apple.com

Make the Web Inspector's toolbar icons darker when the mouse is
pressed on them. This matches the standard NSToolbar look.

https://bugs.webkit.org/show_bug.cgi?id=21249
rdar://problem/6033752

Reviewed by Adam Roben.

  • page/inspector/Images/databasesIcon.png:
  • page/inspector/Images/elementsIcon.png:
  • page/inspector/Images/profilesIcon.png:
  • page/inspector/Images/resourcesIcon.png:
  • page/inspector/Images/scriptsIcon.png:
  • page/inspector/Panel.js:
  • page/inspector/inspector.css:
13:56 Changeset [37109] by hyatt@apple.com

Fix qt bustage.

13:27 Changeset [37108] by mrowe@apple.com

Build fix.

13:27 Changeset [37107] by mrowe@apple.com

Build fix.

13:26 Changeset [37106] by kmccullough@apple.com

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

Reviewed by Tim Hatcher.

Bug 21139: Profiler log message is wrong

  • Correctly fix =( Don't call _format twice.
  • page/Page.h:
  • page/inspector/Console.js:
  • page/inspector/ProfilesPanel.js:
  • page/inspector/inspector.js:
13:09 Changeset [37105] by hyatt@apple.com

Make ScrollView's updateContents method cross-platform.

12:42 Changeset [37104] by mrowe@apple.com

Merge r37103.

12:38 Changeset [37103] by mrowe@apple.com

Build fix.

Move InternalFunction::classInfo implementation into the .cpp file to
prevent the vtable for InternalFunction being generated as a weak symbol.
Has no effect on SunSpider.

Rubber-stamped by Sam Weinig.

  • kjs/InternalFunction.cpp:

(JSC::InternalFunction::classInfo):

  • kjs/InternalFunction.h:
12:29 Changeset [37102] by andersca@apple.com

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

Reviewed by Mark Rowe and Adam Roben.

No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
store them directly.


  • Configurations/Base.xcconfig: Set GCC_OBJC_CALL_CXX_CDTORS to YES.


  • WebView/WebView.mm: (-[WebViewPrivate init]): (-[WebViewPrivate dealloc]): (-[WebViewPrivate finalize]): (-[WebView _preferencesChangedNotification:]): (-[WebView setApplicationNameForUserAgent:]): (-[WebView setCustomUserAgent:]): (-[WebView customUserAgent]): (-[WebView WebCore::_userAgentForURL:WebCore::]): (-[WebView _addObject:forIdentifier:]): (-[WebView _objectForIdentifier:]): (-[WebView _removeObjectForIdentifier:]):
11:05 Changeset [37101] by mrowe@apple.com

Versioning.

11:02 Changeset [37100] by mrowe@apple.com

Merge r36902.

11:00 Changeset [37099] by mrowe@apple.com

New tag.

10:58 Changeset [37098] by ap@webkit.org

Non-Mac build fixes.

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
  • webcore-base.bkl: Added DOMProtect.{cpp,h}.
10:40 Changeset [37097] by kdecker@apple.com

Reviewed by John Sullivan.

  • bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
10:05 Changeset [37096] by jchaffraix@webkit.org

2008-09-29 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Maciej Stachowiak.

Bug 21106: .in format discussed changes
https://bugs.webkit.org/show_bug.cgi?id=21106

  • Removed "cppNamespace" global parameter and hard-coded "WebCore" as it is the only namespace used.
  • Removed "generateFactory" and "generateWrapperFactory" parameters and re-introduced the command line options.
  • Cleaned up the output of make_names.pl (removed unneeded new line).
  • DerivedSources.make: Added factories command line options.
  • GNUmakefile.am: Ditto.
  • WebCore.pro: Ditto and removed some arguments that were migrated to the .in files.
  • dom/make_names.pl: Clean up (see above).
  • html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory" and "generateWrapperFactory" occurences.
  • html/HTMLTagNames.in: Ditto.
  • svg/svgattrs.in: Ditto.
  • svg/svgtags.in: Ditto.
  • svg/xlinkattrs.in: Ditto.
  • xml/xmlattrs.in: Ditto.
09:19 Changeset [37095] by cfleizach@apple.com

<rdar://problem/6255456> AX: <file> input button shouldn't have children exposed

08:52 Changeset [37094] by ap@webkit.org

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21213
MessagePort crash when GC collects an object with a pending close event

Test: fast/events/message-channel-gc-2.html

fast/events/message-channel-listener-circular-ownership.html

  • bindings/DOMProtect.cpp: Added. (WebCore::gcProtectDOMObject): (WebCore::gcUnprotectDOMObject):
  • bindings/DOMProtect.h: Added. Added an abstraction for GC protection to avoid the need to call JS bindings code from DOM objects directly.
  • dom/MessagePort.cpp: (WebCore::CloseMessagePortTimer::fired): (WebCore::MessagePort::queueCloseEvent): GC protect MessagePort wrapper while there is a pending close event. This may be necessary for message events, too, but that case is not a crasher, and actually behaves to the letter of the current HTML5 text, so I'll consider it later.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestAsynchronously): (WebCore::XMLHttpRequest::dropProtection): Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
  • bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::addEventListener): (WebCore::JSMessagePort::removeEventListener): (WebCore::JSMessagePort::setOnmessage): (WebCore::JSMessagePort::setOnclose): Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::mark): While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not from XMLHttpRequest.
07:17 Changeset [37093] by aroben@apple.com

Windows build fix

  • DerivedSources.cpp: Add JSEventTargetNode.cpp.
00:42 Changeset [37092] by hyatt@apple.com

Fix gtk qt bustage.

00:10 Changeset [37091] by cwzwarich@webkit.org

2008-09-30 Cameron Zwarich <zwarich@apple.com>

Not reviewed.

Add the performance improvement to the ChangeLog entry for r37050.

  • ChangeLog
00:01 Changeset [37090] by weinig@apple.com

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

Reviewed by Tim Hatcher.

Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
Autogenerate JS event listeners

  • Generate EventTargetNode.
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventTarget.cpp: Added. (WebCore::toJS):
  • bindings/js/JSEventTarget.h: Added.
  • bindings/js/JSEventTargetBase.cpp: Removed.
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNode.cpp: Removed.
  • bindings/js/JSEventTargetNode.h: Removed.
  • bindings/js/JSEventTargetNodeCustom.cpp: Added. (WebCore::JSEventTargetNode::addEventListener): (WebCore::JSEventTargetNode::removeEventListener): (WebCore::JSEventTargetNode::dispatchEvent): (WebCore::JSEventTargetNode::getListener): (WebCore::JSEventTargetNode::setListener): (WebCore::JSEventTargetNode::pushEventHandlerScope):
  • bindings/js/JSEventTargetSVGElementInstance.cpp: (WebCore::): (WebCore::JSEventTargetSVGElementInstancePrototype::self): (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot): (jsEventTargetAddEventListener): (jsEventTargetRemoveEventListener): (jsEventTargetDispatchEvent):
  • bindings/js/JSEventTargetSVGElementInstance.h: (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype): (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/EventTargetNode.idl: Added.
Note: See TracTimeline for information about the timeline view.