Timeline


and

10/06/08:

23:58 Changeset [37371] by hyatt@apple.com
  • 31 edits in trunk

WebCore:

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

Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).

Reviewed by Sam Weinig

  • WebCore.base.exp:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::hasWebView):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadWithDocumentLoader): (WebCore::FrameLoader::transitionToCommitted):
  • loader/FrameLoaderClient.h:
  • page/FocusController.cpp: (WebCore::FocusController::setActive):
  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::init): (WebCore::FrameView::layoutIfNeededRecursive):
  • page/FrameView.h:

WebKit/gtk:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

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

WebKit/mac:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::windowResizerRect): (WebChromeClient::repaint): (WebChromeClient::screenToWindow): (WebChromeClient::windowToScreen): (WebChromeClient::platformWindow):
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::forceLayoutForNonHTML): (WebFrameLoaderClient::dispatchDidCommitLoad): (WebFrameLoaderClient::transitionToCommittedForNewPage): (WebFrameLoaderClient::createFrame):
  • WebView/WebFrame.mm: (-[WebFrame _drawRect:contentsOnly:]):
  • WebView/WebFrameInternal.h:
  • WebView/WebFrameView.mm:
  • WebView/WebFrameViewInternal.h:
  • WebView/WebHTMLView.mm: (-[WebHTMLView drawSingleRect:]): (-[WebHTMLView drawRect:]):
  • WebView/WebView.mm: (-[WebView isFlipped]): (-[WebView _boundsChanged]): (-[WebView _mustDrawUnionedRect:singleRects:count:]): (-[WebView drawSingleRect:]): (-[WebView drawRect:]): (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): (-[WebView initWithFrame:frameName:groupName:]): (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]): (-[WebView initWithCoder:]): (-[WebView removeSizeObservers]): (-[WebView viewWillMoveToWindow:]): (-[WebView viewWillMoveToSuperview:]): (-[WebView _usesDocumentViews]):
  • WebView/WebViewInternal.h:

WebKit/qt:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):

WebKit/win:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::createFrame):
  • WebCoreSupport/WebFrameLoaderClient.h:

WebKit/wx:

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

Enable viewless Mac WebKit to paint some basic pages.


Reviewed by Sam Weinig

  • WebKitSupport/FrameLoaderClientWx.cpp:
  • WebKitSupport/FrameLoaderClientWx.h:
22:43 Changeset [37370] by weinig@apple.com
  • 10 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21415
Improve the division between PropertyStorageArray and PropertyMap

  • Rework ProperyMap to store offsets in the value so that they don't change when rehashing. This allows us not to have to keep the PropertyStorageArray in sync and thus not have to pass it in.
  • Rename PropertyMap::getOffset -> PropertyMap::get since put/remove now also return offsets.
  • A Vector of deleted offsets is now needed since the storage is out of band.

1% win on SunSpider. Wash on V8 suite.

  • JavaScriptCore.exp:
  • VM/CTI.cpp: (JSC::transitionWillNeedStorageRealloc):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): Transition logic can be greatly simplified by the fact that the storage capacity is always known, and is correct for the inline case.
  • kjs/JSObject.cpp: (JSC::JSObject::put): Rename getOffset -> get. (JSC::JSObject::deleteProperty): Ditto. (JSC::JSObject::getPropertyAttributes): Ditto. (JSC::JSObject::removeDirect): Use returned offset to clear the value in the PropertyNameArray. (JSC::JSObject::allocatePropertyStorage): Add assert.
  • kjs/JSObject.h: (JSC::JSObject::getDirect): Rename getOffset -> get (JSC::JSObject::getDirectLocation): Rename getOffset -> get (JSC::JSObject::putDirect): Use propertyStorageCapacity to determine whether or not to resize. Also, since put now returns an offset (and thus addPropertyTransition does also) setting of the PropertyStorageArray is now done here. (JSC::JSObject::transitionTo):
  • kjs/PropertyMap.cpp: (JSC::PropertyMap::checkConsistency): PropertyStorageArray is no longer passed in. (JSC::PropertyMap::operator=): Copy the delete offsets vector. (JSC::PropertyMap::put): Instead of setting the PropertyNameArray explicitly, return the offset where the value should go. (JSC::PropertyMap::remove): Instead of removing from the PropertyNameArray explicitly, return the offset where the value should be removed. (JSC::PropertyMap::get): Switch to using the stored offset, instead of the implicit one. (JSC::PropertyMap::insert): (JSC::PropertyMap::expand): This is never called when m_table is null, so remove that branch and add it as an assertion. (JSC::PropertyMap::createTable): Consistency checks no longer take a PropertyNameArray. (JSC::PropertyMap::rehash): No need to rehash the PropertyNameArray now that it is completely out of band.
  • kjs/PropertyMap.h: (JSC::PropertyMapEntry::PropertyMapEntry): Store offset into PropertyNameArray. (JSC::PropertyMap::get): Switch to using the stored offset, instead of the implicit one.
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): Initialize the propertyStorageCapacity to JSObject::inlineStorageCapacity. (JSC::StructureID::growPropertyStorageCapacity): Grow the storage capacity as described below. (JSC::StructureID::addPropertyTransition): Copy the storage capacity. (JSC::StructureID::toDictionaryTransition): Ditto. (JSC::StructureID::changePrototypeTransition): Ditto. (JSC::StructureID::getterSetterTransition): Ditto.
  • kjs/StructureID.h: (JSC::StructureID::propertyStorageCapacity): Add propertyStorageCapacity which is the current capacity for the JSObjects PropertyStorageArray. It starts at the JSObject::inlineStorageCapacity (currently 2), then when it first needs to be resized moves to the JSObject::nonInlineBaseStorageCapacity (currently 16), and after that doubles each time.
21:42 Changeset [37369] by mitz@apple.com
  • 2 edits in trunk/WebCore
  • build fix
  • bindings/objc/DOMEvents.h:
21:16 Changeset [37368] by mrowe@apple.com
  • 4 edits
    3 adds in branches/Safari-3-2-branch

Merge r33567.

21:16 Changeset [37367] by mrowe@apple.com
  • 3 edits
    2 adds in branches/Safari-3-2-branch/WebCore

Merge r36108.

20:53 Changeset [37366] by cwzwarich@webkit.org
  • 8 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Bug 21396: Remove the OptionalCalleeActivation call frame slot
<https://bugs.webkit.org/show_bug.cgi?id=21396>

Remove the OptionalCalleeActivation call frame slot. We have to be
careful to store the activation object in a register, because objects
in the scope chain do not get marked.

This is a 0.3% speedup on both SunSpider and the V8 benchmark.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitReturn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::dumpRegisters): (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::cti_op_call_JSFunction): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_construct_JSConstruct):
  • VM/Machine.h: (JSC::Machine::initializeCallFrame):
  • VM/RegisterFile.h: (JSC::RegisterFile::):
19:15 Changeset [37365] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/WebKit/mac/Misc

Merge _webkit_localCacheDirectoryWithBundleIdentifier:.

18:21 Changeset [37364] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-06 Tony Chang <tony@chromium.org>

Reviewed by Alexey Proskuryakov.

Chromium doesn't use pthreads on windows, so make its use conditional.

Also convert a WORD to a DWORD to avoid a compiler warning. This
matches the other methods around it.

  • wtf/ThreadingWin.cpp: (WTF::wtfThreadEntryPoint): (WTF::ThreadCondition::broadcast):
18:15 Changeset [37363] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Tim Hatcher.

Allow ENABLE_DASHBOARD_SUPPORT and ENABLE_MAC_JAVA_BRIDGE to be
disabled on the Mac.

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

  • wtf/Platform.h:
18:14 Changeset [37362] by eric@webkit.org
  • 6 edits in trunk/WebCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Tim Hatcher.

Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
Platform.h is not available, in preference to #ifdef ENABLE_feature.
#ifdef is wrong now that features are disabled by #defining
ENABLE_feature to 0.

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

  • bindings/objc/DOMEvents.h:
  • bindings/objc/PublicDOMInterfaces.h:
  • dom/Document.idl:
  • page/DOMWindow.idl:
  • svg/svgtags.in:
18:11 Changeset [37361] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-06 Mark Mentovai <mark@moxienet.com>

Reviewed by Sam Weinig.

  • platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h> to get the declaration for isMainThread().
18:10 Changeset [37360] by mrowe@apple.com
  • 2 edits in branches/Safari-3-2-branch/WebCore

Merge r36811.

18:10 Changeset [37359] by mrowe@apple.com
  • 7 edits
    2 adds in branches/Safari-3-2-branch

Merge r37008.

18:09 Changeset [37358] by eric@webkit.org
  • 2 edits
    1 move in trunk/WebCore

2008-10-06 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Tim Hatcher.

WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
to reflect that.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/WebCoreObjCExtras.c: Removed.
  • platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
18:05 Changeset [37357] by eric@webkit.org
  • 2 edits in trunk/WebCore

2008-10-06 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by Dan Bernstein.

Added C++ forward declaration for the NSURLAuthenticationChallenge class
so that the m_currentMacChallenge variable doesn't cause a
compilation error when ResourceHandleInternal.h is included from a C++ file.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411

  • platform/network/ResourceHandleInternal.h:
17:38 Changeset [37356] by mrowe@apple.com
  • 3 edits
    3 adds in branches/Safari-3-2-branch

Merge r36810.

17:38 Changeset [37355] by mrowe@apple.com
  • 4 edits
    3 adds in branches/Safari-3-2-branch

Merge r33972.

17:17 Changeset [37354] by sfalken@apple.com
  • 2 edits in trunk/WebCore

Windows build fix.

16:47 Changeset [37353] by sfalken@apple.com
  • 4 edits in trunk

JavaScriptCore:

https://bugs.webkit.org/show_bug.cgi?id=21416
Pass 0 for size to VirtualAlloc, as documented by MSDN.
Identified by Application Verifier.


Reviewed by Darin Adler.

  • kjs/collector.cpp: (KJS::freeBlock):

WebCore:

https://bugs.webkit.org/show_bug.cgi?id=21416
Add missing null checks identified by Application Verifier.


Reviewed by Darin Adler.

  • platform/win/SharedTimerWin.cpp: (WebCore::clearTimer):
16:15 Changeset [37352] by kmccullough@apple.com
  • 2 edits in trunk/WebCore

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

Reviewed by Tim Hatcher.

Removed accidentally left in debugging statement.

  • inspector/front-end/inspector.js:
16:10 Changeset [37351] by kmccullough@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

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

Reviewed by Tim Hatcher and Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • inspector/InspectorController.cpp: Keep track of the user-initiated profiles here now. (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling):
  • inspector/InspectorController.h: The front end will now need to check for the existence of the user- initiated profile title and use its count instead of keeping its own.
  • inspector/front-end/ProfilesPanel.js:
16:09 Changeset [37350] by kmccullough@apple.com
  • 1 edit in trunk/JavaScriptCore/ChangeLog

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

Reviewed by Tim Hatcheri and Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • Export UString::from for use with creating the profile title.
16:08 Changeset [37349] by kmccullough@apple.com
  • 6 edits in trunk

JavaScriptCore:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • Export UString::from for use with creating the profile title.

WebCore:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable

  • inspector/InspectorController.cpp: Keep track of the user-initiated profiles here now. (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::startUserInitiatedProfiling): (WebCore::InspectorController::stopUserInitiatedProfiling):
  • inspector/InspectorController.h: The front end will now need to check for the existence of the user- initiated profile title and use its count instead of keeping its own.
  • inspector/front-end/ProfilesPanel.js:
15:41 Changeset [37348] by kdecker@apple.com
  • 5 edits in trunk/WebKit/mac

Rubber-stamped by Anders Carlsson.

Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.


  • Misc/WebKitNSStringExtras.h:
  • Misc/WebKitNSStringExtras.m: (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
  • WebView/WebDataSource.mm: (-[WebDataSource _transferApplicationCache:]):
  • WebView/WebView.mm: (WebKitInitializeApplicationCachePathIfNecessary):
15:22 Changeset [37347] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.


  • Plugins/WebBaseNetscapePluginStream.h: (WebNetscapePluginStream::~WebNetscapePluginStream):
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::didReceiveResponse): (-[WebBaseNetscapePluginStream startStreamWithResponse:]): (WebNetscapePluginStream::wantsAllStreams): (-[WebBaseNetscapePluginStream wantsAllStreams]): (WebNetscapePluginStream::didFail): (-[WebBaseNetscapePluginStream destroyStreamWithError:]): (WebNetscapePluginStream::didFinishLoading): (-[WebBaseNetscapePluginStream finishedLoading]): (WebNetscapePluginStream::didReceiveData): (-[WebBaseNetscapePluginStream receivedData:]):
14:56 Changeset [37346] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Bring back the stop method. It was called through performSelector, which
is why I couldn't find any references to it.

  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream stop]):
14:28 Changeset [37345] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

More conversion and cleanup.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::startStream): (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
14:05 Changeset [37344] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Fold initWithRequestURL into initWithRequest.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
13:57 Changeset [37343] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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

Reviewed by Sam Weinig.

Change the init methods not to return nil on failures. (These failures never occur anyway)


Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.


  • Plugins/WebBaseNetscapePluginStream.mm: (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]): (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
13:34 Changeset [37342] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

Convert more methods over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::ownerForStream): (WebNetscapePluginStream::pluginCancelledConnectionError): (WebNetscapePluginStream::errorForReason): (-[WebBaseNetscapePluginStream errorForReason:]): (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError): (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): (WebNetscapePluginStream::deliverData): (WebNetscapePluginStream::deliverDataTimerFired): (WebNetscapePluginStream::deliverDataToFile): (-[WebBaseNetscapePluginStream finishedLoading]): (-[WebBaseNetscapePluginStream receivedData:]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView destroyStream:reason:]):
13:25 Changeset [37341] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Sam Weinig.

  • separate GDI text drawing into its own function
  • platform/graphics/win/FontCGWin.cpp: (WebCore::drawGDIGlyphs): (WebCore::Font::drawGlyphs):
13:13 Changeset [37340] by hyatt@apple.com
  • 3 edits in trunk/WebKit/mac

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

Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no
views created except for the outermost WebView.

Reviewed by Tim Hatcher

  • WebView/WebView.mm:
  • WebView/WebViewInternal.h:
13:02 Changeset [37339] by andersca@apple.com
  • 4 edits in trunk/WebKit/mac

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

Reviewed by David Hyatt.

Convert more methods over to C++.


  • Plugins/WebBaseNetscapePluginStream.h:
  • Plugins/WebBaseNetscapePluginStream.mm: (WebNetscapePluginStream::reasonForError): (WebNetscapePluginStream::destroyStreamWithReason): (WebNetscapePluginStream::cancelLoadWithError): (-[WebBaseNetscapePluginStream cancelLoadWithError:]): (WebNetscapePluginStream::destroyStreamWithError): (-[WebBaseNetscapePluginStream destroyStreamWithError:]): (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]): (-[WebBaseNetscapePluginStream _deliverDataToFile:]): (-[WebBaseNetscapePluginStream finishedLoading]):
  • Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
12:55 Changeset [37338] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<rdar://problem/6249833> Fix default button appearance


Reviewed by Adele Peterson.

  • rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::supportsFocus): (WebCore::RenderThemeWin::determineClassicState): (WebCore::RenderThemeWin::determineButtonState): (WebCore::RenderThemeWin::getClassicThemeData): (WebCore::RenderThemeWin::getThemeData): (WebCore::drawControl):
  • rendering/RenderThemeWin.h:
11:31 Changeset [37337] by mjs@apple.com
  • 21 edits in trunk

JavaScriptCore:

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

Not reviewed. Build fix.


  • revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
  • API/JSValueRef.cpp: (JSValueToBoolean):
  • ChangeLog:
  • JavaScriptCore.exp:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue):
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncSome):
  • kjs/BooleanConstructor.cpp: (JSC::constructBoolean): (JSC::callBooleanConstructor):
  • kjs/GetterSetter.h:
  • kjs/JSCell.h: (JSC::JSValue::toBoolean):
  • kjs/JSNumberCell.cpp: (JSC::JSNumberCell::toBoolean):
  • kjs/JSNumberCell.h:
  • kjs/JSObject.cpp: (JSC::JSObject::toBoolean):
  • kjs/JSObject.h:
  • kjs/JSString.cpp: (JSC::JSString::toBoolean):
  • kjs/JSString.h:
  • kjs/JSValue.h:
  • kjs/RegExpConstructor.cpp: (JSC::setRegExpConstructorMultiline):
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::match):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncToString):

JavaScriptGlue:

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

Not reviewed. Build fix.

  • revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
11:19 Changeset [37336] by mjs@apple.com
  • 2 edits in trunk/JavaScriptGlue

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

Not reviewed.


  • fix build; toBoolean no longer takes an ExecState
  • JSUtils.cpp: (KJSValueToCFTypeInternal):
11:11 Changeset [37335] by vestbo@webkit.org
  • 7 edits in trunk/WebCore

2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Add native virtual keycode to PlatformKeyboardEvent

10:51 Changeset [37334] by vestbo@webkit.org
  • 5 edits in trunk/WebCore

2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac

10:50 Changeset [37333] by mjs@apple.com
  • 19 edits in trunk/JavaScriptCore

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

Reviewed by Sam Weinig.



1) Make JSValue::toBoolean nonvirtual and completely inline by
making use of the StructureID type field.


2) Make JSValue::toBoolean not take an ExecState; doesn't need it.


3) Make op_not, op_loop_if_true and op_jtrue not read the
ExecState (toBoolean doesn't need it any more) and not check
exceptions (toBoolean can't throw).

  • API/JSValueRef.cpp: (JSValueToBoolean):
  • JavaScriptCore.exp:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/Machine.cpp: (JSC::Machine::privateExecute): (JSC::Machine::cti_op_loop_if_true): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_jtrue):
  • kjs/ArrayPrototype.cpp: (JSC::arrayProtoFuncFilter): (JSC::arrayProtoFuncEvery): (JSC::arrayProtoFuncSome):
  • kjs/BooleanConstructor.cpp: (JSC::constructBoolean): (JSC::callBooleanConstructor):
  • kjs/GetterSetter.h:
  • kjs/JSCell.h: (JSC::JSValue::toBoolean):
  • kjs/JSNumberCell.cpp:
  • kjs/JSNumberCell.h: (JSC::JSNumberCell::toBoolean):
  • kjs/JSObject.cpp:
  • kjs/JSObject.h: (JSC::JSObject::toBoolean): (JSC::JSCell::toBoolean):
  • kjs/JSString.cpp:
  • kjs/JSString.h: (JSC::JSString::toBoolean):
  • kjs/JSValue.h:
  • kjs/RegExpConstructor.cpp: (JSC::setRegExpConstructorMultiline):
  • kjs/RegExpObject.cpp: (JSC::RegExpObject::match):
  • kjs/RegExpPrototype.cpp: (JSC::regExpProtoFuncToString):
10:46 Changeset [37332] by vestbo@webkit.org
  • 3 edits in trunk/WebCore

2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Use bundles on QtWebKit/Mac for platform modules

10:00 Changeset [37331] by hausmann@webkit.org
  • 6 edits in trunk

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

Reviewed by Simon.

Build fix for MinGW.

  • platform/win/SystemTimeWin.cpp:
  • plugins/win/PluginViewWin.cpp: (WebCore::PluginView::invalidateRect):

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

Reviewed by Simon.

Build fix for MinGW.

08:44 Changeset [37330] by aroben@apple.com
  • 2 edits in trunk/WebCore

Mimic the inspector/ directory structure in WebCore.vcproj

  • WebCore.vcproj/WebCore.vcproj:
08:39 Changeset [37329] by aroben@apple.com
  • 2 edits in trunk/WebCore

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Update the Include path for all configurations to include WebCore/inspector.
01:23 Changeset [37328] by eric@webkit.org
  • 938 edits in trunk

Reviewed by Darin Adler.

SVG should support ascent and descent properties <font-face> instead of <font>!
https://bugs.webkit.org/show_bug.cgi?id=21365

Tested by many many existing SVG tests.

  • svg/SVGFontFaceElement.cpp: (WebCore::SVGFontFaceElement::ascent): (WebCore::SVGFontFaceElement::descent):

10/05/08:

23:44 Changeset [37327] by mjs@apple.com
  • 2 edits in trunk/WebCore

2008-10-05 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

REGRESSION: crash in ScriptElement::notifyFinished
Fixes https://bugs.webkit.org/show_bug.cgi?id=21329

  • dom/ScriptElement.cpp: (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to ensure that the ScriptElementData object is not destroyed prematurely.
23:33 Changeset [37326] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.

Remove ScopeNode::containsClosures() now that it is unused.

  • kjs/nodes.h: (JSC::ScopeNode::containsClosures):
23:05 Changeset [37325] by mjs@apple.com
  • 3 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.


  • fix releas-only test failures caused by the fix to bug 21375
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): Update ExecState while unwinding call frames; it now matters more to have a still-valid ExecState, since dynamicGlobalObject will make use of the ExecState's scope chain.
  • VM/Machine.h:
23:00 Changeset [37324] by cwzwarich@webkit.org
  • 15 edits in trunk

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

Reviewed by Oliver Hunt.

Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>

Use information from the parser to detect whether an activation is
needed or 'arguments' is used, and emit explicit instructions to tear
them off before op_ret. This allows a branch to be removed from op_ret
and simplifies some other code. This does cause a small change in the
behaviour of 'f.arguments'; it is no longer live when 'arguments' is not
mentioned in the lexical scope of the function.

It should now be easy to remove the OptionaCalleeActivation slot in the
call frame, but this will be done in a later patch.

JavaScriptCore:

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitReturn):
  • VM/CodeGenerator.h:
  • VM/Machine.cpp: (JSC::Machine::unwindCallFrame): (JSC::Machine::privateExecute): (JSC::Machine::retrieveArguments): (JSC::Machine::cti_op_create_arguments): (JSC::Machine::cti_op_tear_off_activation): (JSC::Machine::cti_op_tear_off_arguments):
  • VM/Machine.h:
  • VM/Opcode.h:
  • kjs/Arguments.cpp: (JSC::Arguments::mark):
  • kjs/Arguments.h: (JSC::Arguments::isTornOff): (JSC::Arguments::Arguments): (JSC::Arguments::copyRegisters): (JSC::JSActivation::copyRegisters):
  • kjs/JSActivation.cpp: (JSC::JSActivation::argumentsGetter):
  • kjs/JSActivation.h:

LayoutTests:

  • fast/js/function-dot-arguments-expected.txt:
  • fast/js/resources/function-dot-arguments.js:
19:48 Changeset [37323] by mjs@apple.com
  • 8 edits in trunk/JavaScriptCore

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

Reviewed by Oliver Hunt.



The problem is that dynamicGlobalObject had become O(N) in number
of call frames, but unwinding the stack for an exception called it
for every call frame, resulting in O(N2) behavior for an
exception thrown from inside deep recursion.

Instead of doing it that way, stash the dynamic global object in JSGlobalData.


  • JavaScriptCore.exp:
  • VM/Machine.cpp: (JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Helper class to temporarily store and later restore a dynamicGlobalObject in JSGlobalData. (JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope): (JSC::Machine::execute): In each version, establish a DynamicGlobalObjectScope. For ProgramNode, always establish set new dynamicGlobalObject, for FunctionBody and Eval, only if none is currently set.
  • VM/Machine.h:
  • kjs/ExecState.h:
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Ininitalize new dynamicGlobalObject field to 0.
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.h: (JSC::ExecState::dynamicGlobalObject): Moved here from ExecState for benefit of inlining. Return lexical global object if this is a globalExec(), otherwise look in JSGlobalData for the one stashed there.
18:43 Changeset [37322] by jmalonzo@webkit.org
  • 3 edits in trunk/WebCore

2008-10-05 Chris Lord <chris@openedhand.com>

Reviewed by Alp Toker. Landed by Jan Alonzo.

https://bugs.webkit.org/show_bug.cgi?id=20624
WebKit-gtk uses deprecated GtkType/GtkObject

  • plugins/gtk/gtk2xtbin.c: (gtk_xtbin_get_type):
  • plugins/gtk/gtk2xtbin.h:
17:58 Changeset [37321] by weinig@apple.com
  • 5 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Avoid an extra lookup when transitioning to an existing StructureID
by caching the offset of property that caused the transition.

1% win on V8 suite. Wash on SunSpider.

  • kjs/PropertyMap.cpp: (JSC::PropertyMap::put):
  • kjs/PropertyMap.h:
  • kjs/StructureID.cpp: (JSC::StructureID::StructureID): (JSC::StructureID::addPropertyTransition):
  • kjs/StructureID.h: (JSC::StructureID::setCachedTransistionOffset): (JSC::StructureID::cachedTransistionOffset):
15:47 Changeset [37320] by cwzwarich@webkit.org
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Maciej Stachowiak.

Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>

This patch does not yet remove the branch, but it does a bit of refactoring
so that a CodeGenerator now knows whether the associated CodeBlock will need
a full scope before doing any code generation. This makes it possible to emit
explicit tear-off instructions before every op_ret.

  • VM/CodeBlock.h: (JSC::CodeBlock::CodeBlock):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::generate): (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitPushScope): (JSC::CodeGenerator::emitPushNewScope):
  • kjs/nodes.h: (JSC::ScopeNode::needsActivation):
14:57 Changeset [37319] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>

Reviewed by David Hyatt.

GTK_WINDOW_HWND not GTK_WINDOWING_HWND
https://bugs.webkit.org/show_bug.cgi?id=20725

Updated to ToT by Jan Alonzo.

  • plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::getValue):
14:50 Changeset [37318] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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

Reviewed by Darin Adler.

Invalid cast from GdkWindow to GtkWidget
https://bugs.webkit.org/show_bug.cgi?id=21391

Fix a misplaced closing parenthesis to actually cast the widget, not the window

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth):
12:12 Changeset [37317] by abarth@webkit.org
  • 11 edits
    30 adds in trunk

WebCore:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Alder.

Attach the Origin header to POST requests to help defend against
cross-site request forgery.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

Tests: http/tests/security/originHeader/origin-header-for-data.html

http/tests/security/originHeader/origin-header-for-empty.html
http/tests/security/originHeader/origin-header-for-get.html
http/tests/security/originHeader/origin-header-for-https.html
http/tests/security/originHeader/origin-header-for-post.html

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::createWindow):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::createWindow): (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::outgoingOrigin): (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::addExtraFieldsToRequest): (WebCore::FrameLoader::loadPostRequest): (WebCore::FrameLoader::loadResourceSynchronously): (WebCore::FrameLoader::loadItem):
  • loader/FrameLoader.h:
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create):
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
  • platform/SecurityOrigin.cpp: (WebCore::SecurityOrigin::toHTTPOrigin):
  • platform/SecurityOrigin.h:
  • platform/network/ResourceRequestBase.h: (WebCore::ResourceRequestBase::httpOrigin): (WebCore::ResourceRequestBase::setHTTPOrigin): (WebCore::ResourceRequestBase::clearHTTPOrigin):
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::didReceiveResponsePreflight):

LayoutTests:

2008-10-04 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

Tests for the new Origin header.

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

Collin Jackson <collinj@webkit.org> also contributed to this patch.

  • http/tests/security/originHeader: Added.
  • http/tests/security/originHeader/origin-header-for-data-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-data.html: Added.
  • http/tests/security/originHeader/origin-header-for-empty-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-empty.html: Added.
  • http/tests/security/originHeader/origin-header-for-get-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-get.html: Added.
  • http/tests/security/originHeader/origin-header-for-https-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-https.html: Added.
  • http/tests/security/originHeader/origin-header-for-post-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-post.html: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest-expected.txt: Added.
  • http/tests/security/originHeader/origin-header-for-xmlhttprequest.html: Added.
  • http/tests/security/originHeader/resources: Added.
  • http/tests/security/originHeader/resources/origin-header-post-to-http.html: Added.
  • http/tests/security/originHeader/resources/print-origin.cgi: Added.
10:38 Changeset [37316] by barraclough@apple.com
  • 4 edits in trunk/JavaScriptCore

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

Reviewed by Cameron Zwarich.

Fix for bug #21387 - using SamplingTool with CTI.

(1) A repatch offset offset changes due to an additional instruction to update SamplingTool state.
(2) Fix an incusion order problem due to ExecState changes.
(3) Change to a MACHINE_SAMPLING macro, use of exec should now be accessing global data.

  • VM/CTI.h: (JSC::CTI::execute):
  • VM/SamplingTool.h: (JSC::SamplingTool::privateExecuteReturned):
  • kjs/Shell.cpp:
01:28 Changeset [37315] by oliver@apple.com
  • 3 edits
    2 adds in trunk

Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
<https://bugs.webkit.org/show_bug.cgi?id=21381>

Reviewed by Tim Hatcher.

If we hit a parsing boundary (end of a packet, etc) in the middle of a
<script> element when we are doing an incremental parse, we exit the
parser, and reenter later when more data is available. During this
reentry we incorrectly reset the scriptStartLineno to the current line
in the parser, which is now part way through the script element.

The solution is to track whether we are entering or reentering the parsing
of a script element. We do this simply by 0 checking scriptStartLineno,
and resetting it after we complete parsing of each script element.

Test: http/tests/incremental/pause-in-script-element.pl

10/04/08:

23:13 Changeset [37314] by jmalonzo@webkit.org
  • 2 edits in trunk/WebCore

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
  • 5 edits
    1 add in trunk/WebCore

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
  • 8 edits in trunk

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
  • 2 edits in trunk/WebKitTools

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
  • 1 edit in trunk/WebCore/platform/qt/WidgetQt.cpp

Fix Qt build bustage.

19:21 Changeset [37309] by mrowe@apple.com
  • 12 edits in trunk/WebKitSite

Upgrade to WordPress 2.6.2.

  • blog:
18:38 Changeset [37308] by mrowe@apple.com
  • 4 edits in branches/Safari-3-2-branch

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

18:04 Changeset [37307] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix build bustage I just introduced.

17:55 Changeset [37306] by hyatt@apple.com
  • 3 edits in trunk/WebCore

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
  • 4 edits in branches/Safari-3-2-branch

Versioning.

17:21 Changeset [37304] by mrowe@apple.com
  • 12 edits in branches/Safari-3-2-branch

Merge r35278.

16:33 Changeset [37303] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/QWebPopup.cpp

Fix Qt bustage.

16:15 Changeset [37302] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/qt/QWebPopup.cpp

Fix Qt bustage.

15:52 Changeset [37301] by weinig@apple.com
  • 8 edits in trunk/WebCore

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
  • 3 edits in trunk/JavaScriptCore

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
  • 1 edit in trunk/WebCore/WebCore.pro

Speculative fix for Qt bustage from inspector directory move.

14:53 Changeset [37298] by hyatt@apple.com
  • 1 edit in trunk/WebCore/WebCore.vcproj/WebCore.vcproj

Fix build bustage from the inspector directory move on Windows.

14:12 Changeset [37297] by darin@apple.com
  • 24 edits in trunk

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
  • 3 edits in trunk/WebCore

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
  • 12 edits
    1 add in trunk/WebCore

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
  • 7 edits in trunk/JavaScriptCore

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
  • 2 edits in trunk/WebCore

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
  • 1 edit in trunk/WebCore/ChangeLog

Fix ChangeLog.

11:37 Changeset [37291] by darin@apple.com
  • 3 edits in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 6 edits
    156 moves
    3 adds in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 1 edit in trunk/WebCore/page/inspector/Panel.js

Fix a typo.

00:15 Changeset [37285] by mjs@apple.com
  • 21 edits
    3 adds in trunk

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
  • 1 edit in trunk/WebCore/platform/qt/WidgetQt.cpp

Fix Qt bustage.

22:47 Changeset [37283] by cwzwarich@webkit.org
  • 2 edits in trunk/JavaScriptCore

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
  • 6 edits
    3 moves in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 7 edits in trunk/WebCore

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
  • 1 edit in trunk/WebCore/platform/qt/PopupMenuQt.cpp

Fix Qt bustage.

19:02 Changeset [37278] by hyatt@apple.com
  • 1 edit in trunk/WebKit/win/WebCoreSupport/WebChromeClient.h

Fix Windows bustage in WebKit side.

19:01 Changeset [37277] by hyatt@apple.com
  • 3 edits in trunk/WebKit/win

Fix Windows bustage in WebKit side.

18:50 Changeset [37276] by hyatt@apple.com
  • 1 edit in trunk/WebCore/platform/win/FileChooserWin.cpp

Fix Win bustage.

18:39 Changeset [37275] by mjs@apple.com
  • 9 edits in trunk/JavaScriptCore

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
  • 2 edits in trunk/WebKit/gtk

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
  • 2 edits in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 5 edits in trunk/WebCore

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
  • 2 edits in trunk/WebKitTools

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
  • 2 edits in trunk/WebKitTools

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
  • 5 edits in trunk/JavaScriptCore

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
  • 2 edits in trunk/WebKit/mac

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
  • 2 edits in trunk/WebCore

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
  • 3 edits in trunk/WebCore

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
  • 3 edits in trunk/JavaScriptCore

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
  • 1 edit in trunk/WebKit/wx/WebKitSupport/ChromeClientWx.cpp

Fix wx bustage.

15:24 Changeset [37262] by hyatt@apple.com
  • 1 edit in trunk/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp

Fix Qt bustage.

15:23 Changeset [37261] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Fix Gtk bustage.

14:58 Changeset [37260] by andersca@apple.com
  • 3 edits in trunk/WebKit/mac

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
  • 2 edits in trunk/JavaScriptCore

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
  • 3 edits in trunk/WebKit/mac

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
  • 42 edits in trunk

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
  • 1 edit
    2 adds in trunk/LayoutTests

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
  • 3 edits in trunk/WebKit/mac

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
  • 19 edits in trunk

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
  • 2 edits in trunk/JavaScriptCore

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
  • 46 edits in trunk/WebCore

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
  • 10 edits in trunk/WebCore

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
  • 1 edit
    6 adds in trunk/LayoutTests

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
  • 12 edits in trunk

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
  • 2 edits in trunk/WebCore

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
  • 3 edits
    2 adds in trunk

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
  • 3 edits in trunk/WebKit/qt

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
  • 1 edit in trunk/WebCore/platform/win/WidgetWin.cpp

Remove commented out method.

11:29 Changeset [37244] by hyatt@apple.com
  • 9 edits
    1 delete in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 2 edits in trunk/JavaScriptCore

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
  • 2 edits in trunk/WebKit/qt

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
  • 2 edits in trunk/JavaScriptCore

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
  • 5 edits in trunk

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
  • 6 edits in trunk

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
  • 2 edits in trunk/WebKit/gtk

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
  • 2 edits in trunk/WebCore

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
  • 2 edits in trunk/JavaScriptCore

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
  • 19 edits in trunk

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
  • 3 edits in trunk/WebCore

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
  • 4 edits in trunk/WebCore

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
  • 4 edits in trunk/WebCore

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
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Another speculative Gtk scrolling fix.

00:52 Changeset [37229] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Another speculative Gtk scrolling fix.

00:51 Changeset [37228] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Another speculative Gtk scrolling fix.

00:47 Changeset [37227] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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
  • 1 edit in trunk/WebCore/platform/ScrollView.h

Fix Qt bustage.

00:41 Changeset [37225] by hyatt@apple.com
  • 1 edit in trunk/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp

Speculative fix for gtk not painting on scroll.

00:38 Changeset [37224] by hyatt@apple.com
  • 4 edits in trunk/WebCore

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
  • 31 edits in trunk

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
  • 5 edits
    2 adds in trunk

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
  • 2 edits in branches/Safari-3-2-branch/JavaScriptCore

Merge r31824.

17:43 Changeset [37220] by simon.fraser@apple.com
  • 6 edits in trunk/WebCore

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
  • 7 edits in trunk

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
  • 2 edits in trunk/WebCore

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
  • 15 edits in trunk

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
  • 6 edits in trunk

<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
  • 20 edits in trunk

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
  • 1 edit in trunk/WebCore/platform/gtk/ScrollViewGtk.cpp

Fix Gtk bustage.

15:19 Changeset [37213] by cwzwarich@webkit.org
  • 5 edits in trunk/JavaScriptCore

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
  • 8 edits in trunk/LayoutTests

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
  • 2 edits in trunk/WebKit/win

Fix scrolling=no iframe regression on Windows.

14:03 Changeset [37210] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Fix Win build bustage.

13:46 Changeset [37209] by mitz@apple.com
  • 2 edits in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 2 edits in trunk/BugsSite
  • template/en/custom/attachment/reviewform.html.tmpl: Fix typo.
13:23 Changeset [37206] by aroben@apple.com
  • 2 edits in trunk/BugsSite
  • template/en/custom/attachment/review.html.tmpl: Fix URLs
13:21 Changeset [37205] by aroben@apple.com
  • 3 edits
    2 adds in trunk/BugsSite

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
  • 26 edits in trunk

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
  • 5 edits in trunk

wx build fixes after Frame/ScrollView changes.

12:33 Changeset [37202] by brettw@chromium.org
  • 92 edits in trunk

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
  • 4 edits in trunk/WebCore

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
  • 1 edit in trunk/WebCore/ChangeLog

A typo fix for ChangeLog.

11:39 Changeset [37199] by ap@webkit.org
  • 2 edits in trunk/WebCore

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
  • 23 edits in trunk

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
  • 2 edits in branches/Safari-3-2-branch/WebKit/win

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

10:03 Changeset [37196] by aroben@apple.com
  • 2 edits
    2 deletes in trunk/BugsSite

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
  • 2 edits in trunk/JavaScriptCore

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
  • 6 edits
    3 adds in trunk

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
  • 1 edit in trunk/JavaScriptCore/JavaScriptCore.exp

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

09:39 Changeset [37192] by darin@apple.com
  • 2 edits in trunk/JavaScriptCore

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
  • 4 edits in trunk/JavaScriptCore

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
  • 35 edits
    2 deletes in trunk

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
  • 2 edits in trunk/WebCore
  • build fix
  • page/JavaScriptCallFrame.idl:
00:35 Changeset [37188] by oliver@apple.com
  • 4 edits in trunk/WebCore

Add new file to project files

Reviewed by NOBODY (Build fix)

00:15 Changeset [37187] by ggaren@apple.com
  • 3 edits in trunk/WebCore

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
  • 2 edits in trunk/WebCore

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
  • 2 edits in trunk/JavaScriptCore

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

Not reviewed.


Try to fix Qt build.

  • kjs/Error.h:
Note: See TracTimeline for information about the timeline view.